diff --git a/.checkpackageignore b/.checkpackageignore new file mode 100644 index 00000000000..d7681a4db64 --- /dev/null +++ b/.checkpackageignore @@ -0,0 +1,1467 @@ +board/aarch64-efi/post-image.sh Shellcheck +board/amarula/vyasa/post-build.sh Shellcheck +board/andes/ae350/patches/uboot/0001-mmc-ftsdc010_mci-Support-DTS-of-ftsdc010-driver-for-.patch Upstream +board/andes/ae350/patches/uboot/0002-spl-Align-device-tree-blob-address-at-8-byte-boundar.patch Upstream +board/andes/ae350/post-build.sh Shellcheck +board/arcturus/aarch64-ucls1012a/post-build.sh Shellcheck +board/arcturus/aarch64-ucls1012a/post-image.sh Shellcheck +board/aspeed/common/post-image.sh Shellcheck +board/asus/tinker/post-build.sh Shellcheck +board/atmel/flasher.sh Shellcheck +board/beaglebone/patches/linux/0001-keep-jtag-clock-alive-for-debugger.patch Upstream +board/beaglebone/post-build.sh Shellcheck +board/beagleboneai/patches/uboot/0001-am57xx_evm-fixes.patch Upstream +board/beagleboneai/post-build.sh Shellcheck +board/beaglev/post-build.sh Shellcheck +board/beelink/gs1/post-build.sh Shellcheck +board/boundarydevices/common/post-build.sh Shellcheck +board/boundarydevices/common/post-image.sh Shellcheck +board/broadcom/northstar/post-image.sh Shellcheck +board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh EmptyLastLine Shellcheck +board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh Shellcheck +board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh Shellcheck +board/bsh/imx8mn-bsh-smm-s2/flash.sh EmptyLastLine Shellcheck +board/bsh/imx8mn-bsh-smm-s2/post-build.sh Shellcheck +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 ApplyOrder Upstream +board/chromebook/snow/sign.sh Shellcheck +board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch Upstream +board/cubietech/cubieboard2/post-image.sh Shellcheck +board/freescale/common/imx/imx8-bootloader-prepare.sh Shellcheck +board/freescale/common/mxs/post-image.sh Shellcheck +board/freescale/imx6sabre/patches/uboot/0001-mx6qsabre_common-boot-Linux-to-init-in-mfgtools-mode.patch Upstream +board/friendlyarm/nanopi-r2s/post-build.sh Shellcheck +board/hardkernel/odroidc2/post-image.sh Shellcheck +board/hardkernel/odroidc2/rootfs_overlay/etc/init.d/S09modload Shellcheck Variables +board/hardkernel/odroidxu4/post-image.sh EmptyLastLine Shellcheck +board/intel/galileo/patches/linux/0001-x86-relocs-Make-per_cpu_load_addr-static.patch Upstream +board/intel/galileo/post-build.sh Shellcheck +board/intel/galileo/rootfs_overlay/etc/init.d/S09modload Shellcheck Variables +board/kontron/bl-imx8mm/post-build.sh Shellcheck +board/kontron/pitx-imx8m/patches/uboot/2022.04/0001-tools-mkeficapsule-use-pkg-config-to-get-luuid-and-l.patch NumberedSubject Upstream +board/kontron/pitx-imx8m/post-build.sh Shellcheck +board/kontron/smarc-sal28/post-build.sh Shellcheck +board/lego/ev3/post-image.sh Shellcheck +board/lemaker/bananapro/patches/linux/0001-arch-arm-boot-dts-sun7i-a20-bananapro.dts-disable-00.patch Upstream +board/lemaker/bananapro/post-build.sh Shellcheck +board/lemaker/bananapro/post-image.sh Shellcheck +board/mender/x86_64/post-image-efi.sh ConsecutiveEmptyLines +board/minnowboard/post-build.sh Shellcheck +board/nexbox/a95x/post-build.sh Shellcheck +board/nexbox/a95x/post-image.sh Shellcheck +board/octavo/osd32mp1-brk/patches/uboot/0001-Add-OSD32MP1-BRK-device-tree-support.patch NumberedSubject Upstream +board/octavo/osd32mp1-brk/patches/uboot/0002-Add-OSD32MP1-BRK-build-config.patch NumberedSubject Upstream +board/octavo/osd32mp1-red/patches/uboot/0001-Add-OSD32MP1-RED-Device-Tree-support.patch NumberedSubject Upstream +board/octavo/osd32mp1-red/patches/uboot/0002-configs-stm32mp15_trusted_defconfig-disable-environm.patch NumberedSubject Upstream +board/olimex/a13_olinuxino/post-build.sh Shellcheck +board/olimex/a20_olinuxino/post-build.sh Shellcheck +board/olimex/a33_olinuxino/post-build.sh Shellcheck +board/olpc/post-build.sh Shellcheck +board/orangepi/common/post-build.sh Shellcheck +board/orangepi/orangepi-lite2/post-build.sh Shellcheck +board/orangepi/orangepi-one-plus/post-build.sh Shellcheck +board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch Upstream +board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch Upstream +board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch Upstream +board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch Upstream +board/pine64/rock64/patches/uboot/0001-Makefile-rk3328-needs-itb-image-to-boot-properly.patch Upstream +board/pine64/rock64/post-build.sh Shellcheck +board/pine64/rockpro64/post-build.sh Shellcheck +board/qemu/aarch64-sbsa/assemble-flash-images Shellcheck +board/qemu/x86/post-build.sh Shellcheck +board/qemu/x86_64/post-build.sh Shellcheck +board/radxa/rockpi-n8/post-build.sh Shellcheck +board/raspberrypi/post-build.sh Shellcheck +board/raspberrypi/post-image.sh Shellcheck +board/roseapplepi/patches/uboot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch Upstream +board/roseapplepi/post-build.sh Shellcheck +board/seeed/stm32mp157c-odyssey/patches/linux/0001-ARM-dts-stm32-fix-stm32mp157c-odyssey-card-detect.patch Upstream +board/sheevaplug/patches/uboot/0001-Remove-redundant-YYLOC-global-declaration.patch Upstream +board/sifive/hifive-unleashed/post-build.sh Shellcheck +board/solidrun/clearfog/post-build.sh Shellcheck +board/solidrun/macchiatobin/post-build-mainline.sh Shellcheck +board/solidrun/macchiatobin/post-build.sh Shellcheck +board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh Shellcheck +board/stmicroelectronics/common/stm32mp157/post-image.sh Shellcheck +board/stmicroelectronics/stm32f429-disco/flash.sh Shellcheck +board/stmicroelectronics/stm32f469-disco/flash_sd.sh Shellcheck +board/stmicroelectronics/stm32f469-disco/flash_xip.sh Shellcheck +board/stmicroelectronics/stm32f469-disco/post-build.sh Shellcheck +board/synopsys/axs10x/post-build.sh Shellcheck +board/technologic/ts4900/post-image.sh Shellcheck +board/toradex/apalis-imx6/post-image.sh Shellcheck +board/udoo/common/post-build.sh Shellcheck +board/udoo/mx6qdl/patches/linux/0000-udoo-disable-usbh1.patch Upstream +boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch Upstream +boot/at91bootstrap/0001-eabi-fix.patch Upstream +boot/at91bootstrap/0002-gcc-4.6.x-ldscript-fix.patch Upstream +boot/at91bootstrap/0003-u-boot-relocation-fix.patch Upstream +boot/at91dataflashboot/0001-do-not-install.patch Upstream +boot/at91dataflashboot/0002-eabi-fixes.patch Upstream +boot/optee-os/3.13.0/0001-core-zlib-fix-build-warning-when-_LFS64_LARGEFILE-is.patch Upstream +boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch Upstream +boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch Upstream +boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch Upstream +boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch Upstream +boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch Upstream +boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch Upstream +boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch Upstream +boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch Upstream +boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch Upstream +boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch Upstream +boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch Upstream +boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch Upstream +boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch Upstream +boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch Upstream +linux/5.10.162-cip24-rt10/0001-arch-microblaze-mm-init.c-fix-build.patch Upstream +package/18xx-ti-utils/0001-plt.h-fix-build-with-gcc-10.patch Upstream +package/4th/0001-avoid-regen-during-install.patch Upstream +package/acl/0001-Build-with-old-GCC-versions.patch Upstream +package/acpid/0001-dont-use-isfdtype.patch Upstream +package/alchemy/0001-toolchains-remove-hash-style-management.patch Upstream +package/alsamixergui/0001-misc-fixes.patch Sob Upstream +package/alsamixergui/0002-configure-fix-detection-of-fltk-libs.patch Upstream +package/am335x-pru-package/0001-install-does-not-build.patch Upstream +package/am33x-cm3/0001-fix-makefile.patch Upstream +package/am33x-cm3/0002-Makefile-unconditionally-disable-SSP.patch Upstream +package/am33x-cm3/0003-Makefile-unconditionally-disable-PIE.patch Upstream +package/am33x-cm3/0004-Makefile-add-fno-builtin.patch Upstream +package/am33x-cm3/S93-am335x-pm-firmware-load Variables +package/android-tools/0001-Fix-makefiles-for-out-of-tree-build.patch Upstream +package/android-tools/0002-Fix-adbd-for-non-Ubuntu-systems.patch Upstream +package/android-tools/0003-Fix-build-issue-with-uclibc.patch Upstream +package/android-tools/0004-Fix-build-issue-with-musl.patch Upstream +package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch Upstream +package/android-tools/0006-fix-big-endian-build.patch Upstream +package/android-tools/0007-include-cdefs-h-when-needed.patch Upstream +package/android-tools/0008-Include-sysmacros.h-to-compile-with-glibc-2.28.patch Sob Upstream +package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch Upstream +package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch Upstream +package/aoetools/0001-Change-shell-script-interpreter-from-bin-bash-to-bin.patch Upstream +package/apache/0001-cross-compile.patch Upstream +package/apache/0002-nios2_is_not_os2.patch Upstream +package/apache/S50apache Indent Shellcheck Variables +package/apitrace/0001-thirdparty-libbacktrace-backtrace-h-include-config.h.patch Upstream +package/apitrace/0002-gltrace-Avoid-__libc_dlsym-and-__libc_dlopen_mode-on-GLIBC-2-34.patch Upstream +package/apr-util/0001-remove-checkapr.patch Upstream +package/apr/0001-sys-param-h.patch Upstream +package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch Upstream +package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch Upstream +package/arptables/0001-Fix-musl-build-issue.patch Upstream +package/arptables/0002-libarptc-libarptc_incl.c-fix-build-with-O0.patch Upstream +package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch Upstream +package/asterisk/0002-configure-fix-detection-of-libcrypt.patch Upstream +package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch Upstream +package/asterisk/0004-install-samples-need-the-data-files.patch Upstream +package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch Upstream +package/at/S99at Indent Variables +package/attr/0001-build-with-older-GCCs.patch Upstream +package/audit/S02auditd Shellcheck Variables +package/aufs-util/0001-remove-user-settings.patch Upstream +package/aufs-util/0002-no-check-ver.patch Upstream +package/aufs-util/0003-no-strip-lib.patch Upstream +package/aumix/0001-fix-incorrect-makefile-am.patch Upstream +package/autoconf/0001-dont-add-dirty-to-version.patch Upstream +package/automake/0001-noman.patch Upstream +package/avahi/0001-Fix-NULL-pointer-crashes-from-175.patch Upstream +package/avahi/S05avahi-setup.sh Indent Variables +package/avahi/S50avahi-daemon Indent Variables +package/babeld/S50babeld Indent Shellcheck Variables +package/babeltrace2/0001-configure-simplify-warning-flags-detection.patch Upstream +package/bandwidthd/0001-src-bandwidthd.h-fix-build-with-gcc-10.patch Upstream +package/bash/0001-input.h-add-missing-include-on-stdio.h.patch Upstream +package/bash/0002-parse.y-fix-compilation-for-non-multibyte-builds.patch Upstream +package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch Upstream +package/bc/0001-bc-use-MAKEINFO-variable-for-docs.patch Upstream +package/bc/0002-notice-read-and-write-errors-on-input-and-output.patch Upstream +package/bc/0003-dc-fix-exit-code-of-q-command.patch Upstream +package/bc/0004-no-gen-libmath.patch Upstream +package/bcache-tools/0001-Don-t-inline-crc64-for-gcc-5-compatability.patch Upstream +package/bctoolbox/0001-Fix-Libs.private-flags-for-mbedtls.patch Upstream +package/bcusdk/0001-fd_set-requires-inclusion-of-sys-select.h.patch Upstream +package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch Upstream +package/bearssl/0001-Fix-missing-objdir-dependency.patch Upstream +package/beecrypt/0001-cppglue.cxx-cplusplus-only.patch Upstream +package/beecrypt/0002-build-system.patch Upstream +package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch Upstream +package/benejson/0001-c-std.patch Upstream +package/benejson/0002-Use-print-as-a-function-for-Py3-compatibility.patch Upstream +package/berkeleydb/0001-cwd-db_config.patch Upstream +package/berkeleydb/0002-atomic_compare_exchange.patch Upstream +package/bind/0001-cross.patch Upstream +package/bind/S81named Indent Shellcheck Variables +package/binutils/2.39/0001-sh-conf.patch Upstream +package/binutils/2.39/0002-poison-system-directories.patch Upstream +package/binutils/2.39/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch Upstream +package/bird/0001-configure.ac-fix-build-with-autoconf-2.70.patch Upstream +package/bmx7/0001-Fix-schedule.c-378-36-error-SIOCGSTAMP-undeclared.patch Upstream +package/bmx7/0002-Fix-linking-error.patch Upstream +package/bmx7/0003-Reorder-includes-to-avoid-ethhdr-collision.patch Upstream +package/boinc/S99boinc-client Indent Shellcheck Variables +package/brickd/S70brickd Indent Shellcheck Variables +package/bridge-utils/0001-fix-build-on-musl.patch Upstream +package/brltty/0001-Fix-linking-error-on-mips64el.patch Upstream +package/brltty/S10brltty Indent Shellcheck Variables +package/bsdiff/0001-Add-missing-header-for-u_char.patch Upstream +package/bustle/0001-Makefile-fix-pcap-config-call.patch Upstream +package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch Upstream +package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch Upstream +package/busybox/0003-libbb-sockaddr2str-ensure-only-printable-characters-.patch Upstream +package/busybox/0004-nslookup-sanitize-all-printed-strings-with-printable.patch Upstream +package/busybox/S02sysctl Variables +package/busybox/S10mdev ConsecutiveEmptyLines Indent Shellcheck +package/busybox/S15watchdog Indent Variables +package/busybox/S50telnet Indent Shellcheck Variables +package/busybox/udhcpc.script Shellcheck +package/bzip2/0001-build-objects-twice.patch Upstream +package/bzip2/0002-improve-build-system.patch Upstream +package/c-icap/0001-Required-fixes-to-compile-and-run-under-cygwin.patch Upstream +package/c-icap/S96cicap Indent Shellcheck Variables +package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch Upstream +package/cache-calibrator/0001-Fix-conflicting-round-function.patch Upstream +package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch Upstream +package/cairo/0002-Fix-mask-usage-in-image-compositor.patch Upstream +package/caps/0001-Fix-stdint-types-with-musl.patch Upstream +package/cdrkit/0001-no-rcmd.patch Upstream +package/cdrkit/0002-define-__THROW-to-avoid-build-issue-with-musl.patch Upstream +package/cdrkit/0003-Add-extern-to-char-outfile-declaration-to-fix-build-.patch Upstream +package/cfm/S65cfm Indent Variables +package/cgic/0001-prepare_makefile.patch Upstream +package/cgic/0002-file_enhancements.patch Upstream +package/cgic/0003-restore-cgiFormFileGetTempfileName.patch Upstream +package/cgroupfs-mount/S30cgroupfs Indent Shellcheck Variables +package/chipmunk/0001-Fix-build-failure-on-musl.patch Upstream +package/chocolate-doom/0001-Remove-redundant-demoextend-definition.patch Upstream +package/chrony/S49chrony Indent Shellcheck Variables +package/cmake/0001-rename-cmake-rootfile.patch Upstream +package/cmocka/0001-Don-t-redefine-uintptr_t.patch Upstream +package/collectd/0001-src-netlink.c-remove-REG_NOERROR.patch Upstream +package/connman/S45connman Variables +package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch Upstream +package/coremark-pro/coremark-pro.sh.in Shellcheck +package/cppdb/0001-mysql-library-suffix.patch Upstream +package/cpulimit/0001-Fix-crash-and-compiler-warnings.patch Upstream +package/cpulimit/0002-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch Upstream +package/cpulimit/0003-Fix-an-infrequent-crash.patch Upstream +package/cpulimit/0004-Remove-procfs.h-inclusion.patch Upstream +package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch Upstream +package/crda/0002-drop-ldconfig-call.patch Upstream +package/crda/0003-drop-werror.patch Upstream +package/ctorrent/0001-fix-musl-build.patch Upstream +package/cups/0001-Remove-man-from-BUILDDIRS-in-configure.patch Upstream +package/cups/0002-Do-not-use-genstrings.patch Upstream +package/cups/0003-Sanitize-the-installation-process.patch Upstream +package/cups/0004-Remove-PIE-flags-from-the-build.patch Upstream +package/curlftpfs/0001-fix-CURLOPT_INFILESIZE.patch Sob Upstream +package/curlftpfs/0002-free_ftpfs_file-memleak-fix.patch Sob Upstream +package/curlftpfs/0003-nocache-memleak-fix.patch Sob Upstream +package/curlftpfs/0004-fix-musl-build-off-t.patch Upstream +package/cutelyst/0001-server-CMakeLists.txt-don-t-override-CMAKE_EXE_LINKE.patch Upstream +package/cwiid/0001-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch Upstream +package/cwiid/0002-configure-make-wmgui-build-optional.patch Upstream +package/dahdi-tools/0001-no-build-docs.patch Upstream +package/dahdi-tools/0002-no-perl-manpages.patch Upstream +package/dante/0001-fix-sparc-compile.patch Upstream +package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch Upstream +package/dante/S50dante Indent Shellcheck Variables +package/daq/0001-Fix-build-against-the-musl-C-library.patch Upstream +package/daq/0002-parallel-grammar.patch Upstream +package/darkhttpd/S50darkhttpd Indent Shellcheck Variables +package/davfs2/0001-src-Makefile.am-do-not-hardcode-fstack-protector-str.patch Upstream +package/dbus-cpp/0001-gcc4.7.patch Upstream +package/dbus-cpp/0002-cross-compile-tools.patch Upstream +package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch Upstream +package/dbus/S30dbus Indent Shellcheck TrailingSpace Variables +package/dc3dd/0001-no_man.patch Upstream +package/dc3dd/0002-fix-autoreconf.patch Upstream +package/dc3dd/0003-fix-for-glibc-2.28.patch Upstream +package/dcron/0001-main.c-add-newline-to-logfile-openning-error-message.patch Upstream +package/dcron/S90dcron Variables +package/dhcp/S80dhcp-relay Shellcheck Variables +package/dhcp/S80dhcp-server Shellcheck Variables +package/dhcp/dhclient-script Shellcheck TrailingSpace +package/dhcpcd/S41dhcpcd Indent Variables +package/dhcpdump/0001-use-non-bsd-structures.patch Upstream +package/dhrystone/0001-cmdline-nruns.patch Sob Upstream +package/dhrystone/0002-HZ.patch Sob Upstream +package/dhrystone/0003-exit.patch Sob Upstream +package/dhrystone/0004-headers.patch Sob Upstream +package/dhrystone/0005-prototypes.patch Sob Upstream +package/dht/0001-cmake.patch Upstream +package/dillo/0001-usr-local-include.patch Upstream +package/dillo/0002-Fix-openssl-detection.patch Upstream +package/dillo/0004-fix-build-with-gcc-10.patch Upstream +package/directfb-examples/0001-remove-bzero.patch Sob Upstream +package/directfb/0001-fix-missing-davinci-voodoo-header.patch Upstream +package/directfb/0002-imlib2-config.patch Upstream +package/directfb/0003-setregion-lock.patch Upstream +package/directfb/0004-use-gcc-link.patch Upstream +package/directfb/0005-add-missing-idivine-header.patch Upstream +package/directfb/0006-fix-client-gfx_state-initialisation.patch Upstream +package/dmalloc/0001-configure-fix-build-on-mips.patch Upstream +package/dmalloc/0003-configure-allow-overriding-some-tests.patch Upstream +package/dmalloc/0004-Makefile-use-the-configure-detected-or-user-supplied.patch Upstream +package/dmalloc/0005-configure-use-LD-instead-of-hard-coding-ld.patch Upstream +package/dmraid/0001-fix-compilation-under-musl.patch Upstream +package/dmraid/S20dmraid Variables +package/docker-engine/S60dockerd Indent Shellcheck Variables +package/docopt-cpp/0001-only-build-one-target-use-BUILD_SHARED_LIBS-where-appropriate.patch Upstream +package/domoticz/S99domoticz Shellcheck +package/dovecot/0001-auth-Fix-handling-passdbs-with-identical-driver-args.patch Upstream +package/dracut/0001-dracut.sh-don-t-unset-LD_PRELOAD.patch Upstream +package/dracut/merged-usr-module-setup.sh Shellcheck +package/dropbear/S50dropbear Indent Shellcheck Variables +package/dt/0001-adjust-os-symlink.patch Upstream +package/dt/0002-dt-default-source-define.patch Upstream +package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch Upstream +package/dvb-apps/0001-Fix-generate-keynames.patch Upstream +package/dvb-apps/0002-Fix-compiler-warning-flags.patch Upstream +package/dvb-apps/0003-handle-static-shared-only-build.patch Upstream +package/dvb-apps/0004-Makefile-remove-test.patch Upstream +package/dvb-apps/0005-utils-fix-build-with-kernel-headers-4.14.patch Upstream +package/dvb-apps/0006-fix-glibc-2.31.patch Upstream +package/dvblast/0001-missing-lm.patch Upstream +package/dvblast/0002-fix-int-types.patch Upstream +package/dvbsnoop/0001-musl-types-h.patch Upstream +package/dvdrw-tools/0001-limits.h.patch Upstream +package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch Upstream +package/earlyoom/0001-main.c-fix-build-with-kernel-4.3.patch Upstream +package/earlyoom/S02earlyoom Indent Shellcheck +package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch Upstream +package/ebtables/0002-ebtables.h-restore-KERNEL_64_USERSPACE_32-checks.patch Upstream +package/ebtables/0003-configure.ac-add-option-enable-kernel-64-userland-32.patch Upstream +package/ecryptfs-utils/0001-musl.patch Upstream +package/ecryptfs-utils/0002-openssl110.patch Upstream +package/ecryptfs-utils/0003-fix-parallel-build-issue.patch Upstream +package/efl/0001-ecore_evas-engines-drm-meson.build-use-gl_deps-as-en.patch Upstream +package/efl/0002-ecore_evas-engines-drm-meson.build-fix-gl_drm-includ.patch Upstream +package/efl/0003-ecore_fb-fix-build-with-tslib.patch Upstream +package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-components.patch Upstream +package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch Upstream +package/ejabberd/0002-fix-ejabberdctl.patch Upstream +package/ejabberd/0003-correct-includes.patch Upstream +package/ejabberd/S50ejabberd Indent Shellcheck Variables +package/ejabberd/check-erlang-lib Shellcheck +package/elftosb/0001-fixes-includes.patch Upstream +package/elftosb/0002-force-cxx-compiler.patch Upstream +package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch Upstream +package/elfutils/0002-Really-make-Werror-conditional-to-BUILD_WERROR.patch Upstream +package/empty/0001-respect-LDFLAGS.patch Upstream +package/erlang-p1-sip/0001-correct-include.patch Upstream +package/erlang-p1-xmpp/0001-fix-includes.patch Upstream +package/erlang-rebar/0001-src-rebar_port_compiler-add-fPIC-to-LDFLAGS-by-defau.patch Upstream +package/espeak/0001-Fix-build-of-shared-library-on-architectures-needing.patch Upstream +package/espeak/0002-tr_languages-cast-string_ordinal-init-values.patch Upstream +package/eudev/S10udev ConsecutiveEmptyLines Indent Shellcheck Variables +package/evemu/0001-Include-limits.h-for-PATH_MAX.patch Upstream +package/evemu/0002-evemu-Update-struct-input_event.patch Upstream +package/evemu/0003-src-evemu.c-fix-build-with-kernels-4.16.patch Upstream +package/evemu/0004-src-evemu.c-fix-build-with-kernels-4.16.patch Upstream +package/exim/0001-Build-buildconfig-for-the-host.patch Upstream +package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch Upstream +package/exim/0003-Skip-version-check-and-symlink-installation.patch Upstream +package/exim/0004-exim_lock-fix-lstat-related-build-errors.patch Upstream +package/exim/0005-sieve-fix-build-errors.patch Upstream +package/exim/S86exim Indent Variables +package/expect/0001-enable-cross-compilation.patch Upstream +package/expect/0002-allow-tcl-build-directory.patch Upstream +package/faifa/0001-sha2.c-explicitly-include-endian.h-for-BYTE_ORDER-ma.patch Upstream +package/faifa/0002-hpav_cfg.c-do-not-include-linux-if_ether.h-for-musl-.patch Upstream +package/faifa/0003-Makefile.in-fix-asbolute-symlink-of-libfaifa.so.patch Upstream +package/fail2ban/S60fail2ban Shellcheck Variables +package/fakedate/fakedate Shellcheck +package/falcosecurity-libs/0001-cmake-Permit-setting-GRPC_CPP_PLUGIN.patch Upstream +package/fbgrab/0001-fix-static-build.patch Upstream +package/fbset/0001-Fix-musl-compile.patch Upstream +package/fbterm/0001-fbio.cpp-improxy.cpp-fbterm.cpp-fix-musl-compile.patch Upstream +package/fbterm/0002-mouse.cpp-fix-musl-compile.patch Upstream +package/fbterm/0003-C++11-compliance.patch Upstream +package/fbterm/0004-iconv.patch Upstream +package/fbv/0001-cross.patch Sob Upstream +package/fbv/0002-fix-24bpp-support-on-big-endian.patch Sob Upstream +package/fbv/0003-fix-bgr555.patch Upstream +package/fbv/0004-giflib.patch Upstream +package/fbv/0005-include.patch Sob Upstream +package/fbv/0006-libpng15.patch Upstream +package/fbv/0007-gif.c-fic-build-with-gcc-10.patch Upstream +package/fcgiwrap/0001-use-LIBS-from-configure.patch Upstream +package/fcgiwrap/0002-link-with-libsystemd-instead-of-libsystemd-daemon.patch Upstream +package/ffmpeg/0001-swscale-x86-yuv2rgb-Fix-build-without-SSSE3.patch Upstream +package/ffmpeg/0002-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch Upstream +package/ffmpeg/0003-libavutil-Fix-mips-build.patch Upstream +package/ffmpeg/0004-configure-add-extralibs-to-extralibs_xxx.patch Upstream +package/ficl/0001-fix-Makefile.patch Upstream +package/ficl/0002-Makefile.linux-pass-LDFLAGS.patch Upstream +package/flatbuffers/0001-include-flatbuffers-base.h-fix-build-on-musl.patch Upstream +package/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch Upstream +package/flex/0002-build-make-it-possible-to-disable-the-build-of-the-f.patch Upstream +package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch Upstream +package/flite/0001-fix-alsa-static.patch Upstream +package/fltk/0001-disable-tests.patch Upstream +package/fluxbox/0001-fixes-bug-1138.patch Upstream +package/freeradius-client/0001-fix-for-nettle.patch Upstream +package/freescale-imx/imx-kobs/0001-Fix-musl-build.patch Upstream +package/freescale-imx/imx-kobs/0002-Fix-build-for-recent-toolchains.patch Upstream +package/freescale-imx/imx-uuc/S80imx-uuc Indent Shellcheck Variables +package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch Upstream +package/freescale-imx/imx-vpu-hantro/0002-Fix-build-with-uclibc-toolchain.patch Upstream +package/freescale-imx/imx-vpu-hantro/0003-Fix-Linux-kernel-version-header.patch Upstream +package/freeswitch/0001-libs-srtp-crypto-hash-hmac_ossl.c-fix-build-with-lib.patch Upstream +package/frr/S50frr Shellcheck +package/fstrcmp/0001-disable-rpath.patch Upstream +package/ftop/0001-overflow.patch Upstream +package/fwts/0001-build-do-not-use-Werror.patch Upstream +package/fxdiv/0001-CMake-don-t-enable-CXX-unless-building-tests-benchma.patch Upstream +package/fxload/0001-fix-static-build.patch Upstream +package/gamin/0001-no-abstract-sockets.patch Upstream +package/gamin/0002-no-const-return.patch Sob Upstream +package/gamin/0003-fix-missing-PTHREAD_MUTEX_RECURSIVE_NP.patch Upstream +package/gcc/11.4.0/0001-or1k-Add-mcmodel-option-to-handle-large-GOTs.patch Upstream +package/gcc/11.4.0/0004-disable-split-stack-for-non-thread-builds.patch Upstream +package/gcc/12.3.0/0001-disable-split-stack-for-non-thread-builds.patch Upstream +package/gcc/13.3.0/0001-disable-split-stack-for-non-thread-builds.patch Upstream +package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch Upstream +package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch Upstream +package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch Upstream +package/gcc/8.4.0/0004-disable-split-stack-for-non-thread-builds.patch Upstream +package/gcr/0001-meson-Fix-unknown-kw-argument-in-gnome.generate_gir.patch Upstream +package/gdb/12.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream +package/gdb/12.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream +package/gdb/12.1/0003-use-asm-sgidefs.h.patch Upstream +package/gdb/12.1/0004-gdbserver-fix-build-for-m68k.patch Upstream +package/gdb/12.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream +package/gdb/12.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream +package/gdb/12.1/0007-fix-musl-build-on-riscv.patch Upstream +package/gdb/12.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream +package/gdb/12.1/0009-gdb-Fix-native-build-on-xtensa.patch Upstream +package/gdb/13.2/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream +package/gdb/13.2/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream +package/gdb/13.2/0003-use-asm-sgidefs.h.patch Upstream +package/gdb/13.2/0004-gdbserver-fix-build-for-m68k.patch Upstream +package/gdb/13.2/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream +package/gdb/13.2/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream +package/gdb/13.2/0007-fix-musl-build-on-riscv.patch Upstream +package/gdb/13.2/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream +package/gdb/13.2/0009-gdb-Fix-native-build-on-xtensa.patch Upstream +package/gdb/14.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch Upstream +package/gdb/14.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch Upstream +package/gdb/14.1/0003-use-asm-sgidefs.h.patch Upstream +package/gdb/14.1/0004-gdbserver-fix-build-for-m68k.patch Upstream +package/gdb/14.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch Upstream +package/gdb/14.1/0006-Fix-getrandom-compile-for-uclibc-v1.0.35.patch Upstream +package/gdb/14.1/0007-fix-musl-build-on-riscv.patch Upstream +package/gdb/14.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch Upstream +package/gdb/14.1/0009-gdb-Fix-native-build-on-xtensa.patch Upstream +package/gengetopt/0001-configure.ac-add-disable-doc-option.patch Upstream +package/genpart/0001-fix-return-code.patch Upstream +package/genromfs/0001-build-system.patch Sob Upstream +package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch Upstream +package/gerbera/S99gerbera Indent +package/giblib/0001-fix-imlib2-detection.patch Upstream +package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch Upstream +package/glog/0001-added-emscripten-support.patch Upstream +package/glorytun/0001-Add-support-for-Apple-silicon.patch Upstream +package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch Upstream +package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch Upstream +package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch Upstream +package/gnuplot/0001-configure-add-without-demo-option.patch Upstream +package/go/0001-build.go-explicit-option-for-crosscompilation.patch Upstream +package/gob2/0001-dont-include-from-prefix.patch Upstream +package/gobject-introspection/0001-disable-tests.patch Upstream +package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch Upstream +package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch Upstream +package/gpm/0001-Added-musl-support-to-libgpm-and-the-daemon.patch Upstream +package/gpm/0002-Install-unversioned-solibrary.patch Upstream +package/gpm/0003-src-Makefile.in-Really-install-unversioned-solibrary.patch Upstream +package/gpm/0004-Use-sigemptyset-API-instead-of-__sigemptyset.patch Upstream +package/gpm/0005-fix-building-w-newer-glibc.patch Upstream +package/gpm/0006-src-headers-daemon.h-avoid-redefinition-of-last_sele.patch Upstream +package/gpsd/S50gpsd Indent Shellcheck Variables +package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch Upstream +package/gptfdisk/0002-Fix-failure-crash-of-sgdisk-when-compiled-with-lates.patch Upstream +package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch Upstream +package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch Upstream +package/grpc/0003-host-grpc-only-cpp-plugin.patch Upstream +package/grpc/0004-disable-unconditionally-downloading-api-repos.patch Upstream +package/gstreamer1/gstd/0001-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch Upstream +package/guile/0001-calculate-csqrt_manually.patch Upstream +package/guile/0002-Makefile.am-fix-build-without-makeinfo.patch Upstream +package/gumbo-parser/0001-configure.ac-fix-build-without-C.patch Upstream +package/gutenprint/0001-use-pregen-xmli18n-header.patch Upstream +package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch Upstream +package/gvfs/0001-build-Remove-incorrect-i18n.merge_file-argument.patch Upstream +package/harfbuzz/0001-meson.build-check-for-pthread.h.patch Upstream +package/haserl/0001-add-haserl_lualib.inc.patch Upstream +package/haveged/S21haveged Shellcheck Variables +package/heirloom-mailx/0001-fix-libressl-support.patch Upstream +package/hplip/0001-build-use-pkg-config-to-discover-libusb.patch Upstream +package/hplip/0002-configure.in-fix-AM_INIT_AUTOMAKE-call.patch Upstream +package/htpdate/S43htpdate Shellcheck +package/httping/0001-fix-math-library-linking.patch Upstream +package/httping/0002-Makefile-allow-build-without-gettext.patch Upstream +package/i2pd/S99i2pd Indent Shellcheck Variables +package/i7z/0001-fix-build-with-gcc-10.patch Upstream +package/ibm-sw-tpm2/0001-Use-LONG_BIT-to-define-RADIX_BITS.patch Upstream +package/ibrcommon/0001-ibrcommon-data-File.cpp-support-POSIX-basename-call.patch Upstream +package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch Upstream +package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch Upstream +package/icu/0001-dont-build-static-dynamic-twice.patch Upstream +package/icu/0002-workaround-toolchain-bugs.patch Upstream +package/icu/0003-link-icudata-as-data-only.patch Upstream +package/icu/0004-fix-static-linking-with-icu-uc.patch Upstream +package/ifmetric/0001-Fix-issue-NETLINK-Packet-too-small-or-truncated-92-1.patch Upstream +package/ifplugd/0001-cross.patch Sob Upstream +package/ifplugd/0002-fix-headers.patch Sob Upstream +package/ifplugd/0003-no-cxx.patch Upstream +package/ifplugd/0004-musl-fix-types.patch Upstream +package/ifplugd/0005-src-interface.h-fix-build-with-gcc-10.patch Upstream +package/iftop/0001-ui_common.h-fix-build-with-gcc-10.patch Upstream +package/iftop/0002-Rename-pcap_filter-to-iftop_pcap_filter.patch Upstream +package/ifupdown-scripts/S40network EmptyLastLine Indent Shellcheck Variables +package/ifupdown-scripts/network/if-pre-up.d/wait_iface EmptyLastLine Shellcheck +package/ifupdown-scripts/nfs_check Shellcheck +package/ifupdown/0001-archcommon-define-GNU-only-FNM_EXTMATCH-to-zero-on-n.patch Upstream +package/ifupdown/0001-dont-use-dpkg-architecture.patch Upstream +package/igd2-for-linux/S99upnpd Indent Shellcheck Variables +package/imx-mkimage/0001-Add-unused-fake-version.patch Upstream +package/inadyn/S70inadyn Indent NotExecutable +package/initscripts/init.d/rcK ConsecutiveEmptyLines EmptyLastLine Shellcheck +package/initscripts/init.d/rcS ConsecutiveEmptyLines EmptyLastLine Shellcheck +package/input-event-daemon/S99input-event-daemon ConsecutiveEmptyLines Indent Variables +package/intel-gmmlib/0001-Drop-hardening-related-flags.patch Upstream +package/intel-mediasdk/0001-Don-t-force-fstack-protector.patch Upstream +package/intltool/0001-perl-5.26-compatibility.patch Upstream +package/iotop/0001-Fix-build-error-with-Python-3.patch Upstream +package/iozone/0001-Add-new-targets-for-iozone.patch Upstream +package/ipmitool/0001-configure.ac-fix-readline-static-build.patch Upstream +package/ipmitool/0002-Fix-enterprise-numbers-URL.patch Upstream +package/ipmitool/0003-Do-not-require-the-IANA-PEN-registry-file.patch Upstream +package/ipmitool/0004-configure.ac-allow-disabling-registry-downloads.patch Upstream +package/iprutils/0001-configure.ac-add-AC_USE_SYSTEM_EXTENSIONS.patch Upstream +package/iptables/S35iptables Shellcheck +package/irda-utils/0001-daemon.patch Sob Upstream +package/irda-utils/0002-nommu.patch Sob Upstream +package/irda-utils/0003-subdir.patch Sob Upstream +package/irda-utils/0004-musl.patch Upstream +package/irqbalance/S13irqbalance Indent Shellcheck Variables +package/irrlicht/0001-override-CPPFLAGS-CXXFLAGS-and-CFLAGS-in-Makefile.patch Upstream +package/irrlicht/0002-makefile-override-LDFLAGS-and-remove-obsolete-X11R6-.patch Upstream +package/iucode-tool/S00iucode-tool Variables +package/iwd/S40iwd Shellcheck Variables +package/janus-gateway/0001-disable-ssp.patch Upstream +package/janus-gateway/0002-Add-test-for-Wunused-but-set-variable.patch Upstream +package/jose/0001-lib-hsh.c-rename-hsh-local-variable.patch Upstream +package/jose/0002-man-add-option-to-skip-building-man-pages.patch Upstream +package/kexec-lite/0001-clean-restart.patch Upstream +package/keyutils/0001-fix-install-rule.patch Upstream +package/keyutils/0002-cifs.patch Sob Upstream +package/kmod/0001-fix-O_CLOEXEC.patch Upstream +package/kodi-texturepacker/0001-texturepacker.patch Upstream +package/kodi-texturepacker/0002-fix-texture-packer-cmake-source-dir.patch Upstream +package/kodi/S50kodi Shellcheck Variables +package/latencytop/0001-makefile.patch Upstream +package/lbase64/0001-retro-compatible-with-Lua-5.1.patch Upstream +package/lcdproc/0001-LCDd.conf.patch Upstream +package/lcdproc/0002-Add-missing-ioctl-header.patch Upstream +package/lcdproc/0003-Fixcompilation-with-GCC-10-x.patch Upstream +package/leafnode2/0001-cross_makefile.patch Upstream +package/let-me-create/0001-fix-build-with-musl-C-library.patch Upstream +package/leveldb/0001-Fix-compilation-with-g-4.8.2.patch Upstream +package/leveldb/0002-CMake-install-libmemenv.a.patch Upstream +package/leveldb/0003-CMakeLists.txt-check-for-atomic-library.patch Upstream +package/lftp/0001-Fix-build-with-LibreSSL-following-commit-537f37898.patch Upstream +package/lftp/0002-src-lftp_ssl.c-fix-build-with-libressl-2.7.0.patch Upstream +package/libabseil-cpp/0001-force-position-independent-code.patch Upstream +package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch Upstream +package/libart/0001-art-config-cross.patch Sob Upstream +package/libatasmart/0001-strpool-cross-flags.patch Upstream +package/libavl/0001-fix-makefile.patch Upstream +package/libb64/0001-Integer-overflows.patch Upstream +package/libb64/0002-Initialize-C++-objects.patch Upstream +package/libcdaudio/0001-libcdaudio-enable-autoreconf.patch Upstream +package/libcec/0001-cecloader-h-fix-null-return.patch Upstream +package/libcgi/0001-CMakeLists.txt-honour-BUILD_TESTING.patch Upstream +package/libcgicc/0001-disable-documentation-option.patch Sob Upstream +package/libconfuse/0001-Fix-163-unterminated-username-used-with-getpwnam.patch Upstream +package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch Upstream +package/libcuefile/0001-fix-static-link.patch Upstream +package/libdaemon/0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch Upstream +package/libdnet/0001-python-makefile.patch Upstream +package/libdrm/0001-tests-meson.build-disable-nouveau-tests-for-static-b.patch Upstream +package/libdvbcsa/0001-altivec-powerpc64.patch Upstream +package/libeXosip2/0001-src-eXtl_dtls.c-fix-build-with-libressl-3.4.1.patch Upstream +package/libedit/0001-check-bsd-functions-in-libbsd.patch Upstream +package/libevent/0001-Don-t-define-BIO_get_init-for-LibreSSL-3-5.patch Upstream +package/libfcgi/0001-link-against-math.patch Upstream +package/libfcgi/0002-disable-examples.patch Sob Upstream +package/libffi/0001-Fix-installation-location-of-libffi.patch Upstream +package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch Upstream +package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch Upstream +package/libfm/0001-modules-fix-cross-compilation.patch Upstream +package/libfreeimage/0001-no-root-install.patch Upstream +package/libfreeimage/0002-fix-cpuid-x86.patch Upstream +package/libfreeimage/0003-fix-big-endian-os.patch Upstream +package/libfreeimage/0004-fixed-C-11-warnings.patch Upstream +package/libftdi/0001-pkgconfig_libusb.patch Sob Upstream +package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch Sob Upstream +package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch Upstream +package/libftdi1/0002-CMakeLists.txt-fix-paths-when-FTDIPP-is-set.patch Upstream +package/libftdi1/0003-CMakeLists.txt-fix-static-build-with-libusb-and-lato.patch Upstream +package/libfuse/0001-fix-aarch64-build.patch Upstream +package/libfuse/0002-util-ulockmgr_server-c-conditionally-define-closefrom-fix-glibc-2-34.patch Upstream +package/libgcrypt/0001-configure.ac-add-an-option-to-disable-tests.patch Upstream +package/libglfw/0001-Wayland-Remove-extra-cmake-modules-dependency.patch Upstream +package/libglfw/0002-src-CMakeLists.txt-allow-override-of-wayland-pkgdata.patch Upstream +package/libgpiod/0001-build-add-a-configure-switch-for-building-examples.patch Upstream +package/libgsm/0001-misc-fixes-from-archlinux.patch Upstream +package/libgtk2/0001-reduce-dependencies.patch Upstream +package/libgtk3/0001-Remove-Gdk-dependency-from-gtk-encode-symbolic-svg.patch Upstream +package/libhdhomerun/0001-dont-strip.patch Upstream +package/libhid/0001-dont-fiddle-with-debug-flags.patch Upstream +package/libhid/0002-no-newline-in-ldflags.patch Upstream +package/libhid/0003-uclinux.patch Upstream +package/libical/0001-no-tests.patch Upstream +package/libical/0002-icaltypes-c-icalreqstattype_from_string-copy-the-reqstattype.patch Upstream +package/libiio/S99iiod Shellcheck Variables +package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch Upstream +package/libiqrf/0002-use-only-c-language.patch Upstream +package/libjson/0001-fix-broken-makefile.patch Upstream +package/libks/0001-CMakeLists.txt-honour-BUILD_TESTING.patch Upstream +package/liblinear/0001-build-static-lib.patch Upstream +package/liblockfile/0001-Makefile.in-fix-cross-compilation.patch Upstream +package/liblog4c-localtime/0001-log4c.m4-fix-underquoted-definition-of-AM_PATH_LOG4C.patch Upstream +package/liblog4c-localtime/0002-Fix-linking-error-without-pthread.patch Upstream +package/liblog4c-localtime/0003-Fix-debug-mode-build-with-uClibc.patch Upstream +package/liblog4c-localtime/0004-Add-AC_CONFIG_MACRO_DIR-to-configure.in.patch Upstream +package/liblog4c-localtime/0005-Fix-C-support.patch Upstream +package/libloki/0001-allow-to-install-to-a-specific-location-using-DESTDI.patch Upstream +package/libloki/0002-use-ln-snf.patch Upstream +package/libmad/0001-mips-h-constraint-removal.patch Sob Upstream +package/libmad/0002-configure-ac-automake-foreign.patch Upstream +package/libmng/0001-jpeg-9a.patch Upstream +package/libmodsecurity/0001-configure.ac-drop-usage-of-git-at-configure-time.patch Upstream +package/libmodsecurity/0002-modsecurity.pc.in-add-lstdc.patch Upstream +package/libmpeg2/0001-altivec.patch Upstream +package/libmpeg2/0002-armv4l.patch Upstream +package/libmpeg2/0003-fix-arm-detection.patch Upstream +package/libmpeg2/0004-fix-sparc.patch Upstream +package/libnetfilter_conntrack/0001-conntrack-fix-build-with-kernel-5-15-and-musl.patch Upstream +package/libnfc/0001-autotools-make-example-build-optional.patch Upstream +package/libnids/0001-libpcap-use-pkg-config.patch Upstream +package/libnl/0001-Add-musl-workaround-to-the-libc-compat.h-copy.patch Upstream +package/libnss/0001-Bug-1801182-Allow-overriding-OS_ARCH-OS_TEST-and-OS_.patch Upstream +package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch Upstream +package/libodb-mysql/0001-fix-syntax-issue-while-checking-ldflags.patch Upstream +package/libodb-mysql/0002-mariadb-FTBFS-fix.patch Upstream +package/libopenssl/0001-Reproducible-build-do-not-leak-compiler-path.patch Upstream +package/libopenssl/0002-Configure-use-ELFv2-ABI-on-some-ppc64-big-endian-sys.patch Upstream +package/liboping/0001-fix-utf8-support.patch Upstream +package/liboping/0002-Open-raw-sockets-when-adding-hosts-not-when-doing-th.patch Upstream +package/liboping/0003-Fix-compile-break-with-GCC-7-buffer-overflow-with-snprintf.patch Upstream +package/liboping/0004-Fix-compile-error-on-GCC-7.patch Upstream +package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch Upstream +package/libp11/0001-src-p11_attr.c-fix-build-with-gcc-4.8.patch Upstream +package/libplatform/0001-cmake-require-c-11-as-the-minimum-standard.patch Upstream +package/libpthsem/0001-fix-build-on-linux-3.x-host.patch Upstream +package/libressl/0001-always-expose-SSL_OP_NO_TLSv1_3.patch Upstream +package/libroxml/0001-src-roxml_mem.h-add-missing-extern.patch Upstream +package/librsvg/0001-gdk-pixbuf-loader-Makefile.am-set-GDK_PIXBUF_MODULED.patch Upstream +package/librtlsdr/0001-Makefile.am-respect-DESTDIR-with-install-udev-rules.patch Upstream +package/libselinux/0001-fix-musl-build.patch Upstream +package/libselinux/0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch Upstream +package/libsepol/0001-support-static-only.patch Upstream +package/libserial/0001-SerialPort.cpp-fix-build-when-size_t-is-an-unsigned-.patch Upstream +package/libserial/0002-SerialPort.cpp-don-t-use-high-baudrates-when-not-ava.patch Upstream +package/libserialport/0001-uclinux-detection.patch Upstream +package/libshdata/0001-backend-Add-missing-include-files.patch Upstream +package/libshdata/0002-examples-stress_test-Fix-build-with-musl-libc.patch Upstream +package/libsidplay2/0001-sidplay2-libs-2.1.1.patch Upstream +package/libsidplay2/0002-pkg-config.patch Upstream +package/libsidplay2/0003-gcc6.patch Upstream +package/libsigrok/0001-Support-glibmm-2.68.patch Upstream +package/libsigrokdecode/0001-configure-ac-Add-support-for-Python-3-9.patch Upstream +package/libsigrokdecode/0002-configure-Add-python-3-10-support.patch Upstream +package/libsigrokdecode/0003-configure-ac-Use-python3-embed-pc-as-a-fallback.patch Upstream +package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch Upstream +package/libsoxr/0001-Add-Libs.private-for-static-linking.patch Upstream +package/libspatialindex/0001-allow-building-static-libs.patch Upstream +package/libspatialindex/0002-CMakeLists.txt-fix-CMAKE_BUILD_TYPE.patch Upstream +package/libsquish/0001-Makefile-add-f-option-for-ln-to-remove-existing-dest.patch Upstream +package/libsvg/0001-fix-expat-static-declaration.patch Upstream +package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch Upstream +package/libsvgtiny/0001-disable-debug-printfs.patch Upstream +package/libsvgtiny/0002-Remove-Werror.patch Upstream +package/libsvgtiny/0003-Hopefully-silence-warnings-about-inlines-and-non-inlines-calling-one.patch Upstream +package/libsvgtiny/0004-Build-Include-gperf-generated-code-directly.patch Upstream +package/libtalloc/0001-buildtools-wafsamba-add-disable-stack-protector-opti.patch Upstream +package/libtelnet/0001-fix-compilation-without-zlib.patch Upstream +package/libtheora/0001-link-libtheoradec.patch Upstream +package/libtheora/0002-fix-autoreconf.patch Upstream +package/libtomcrypt/0001-fix-CVE-2019-17362.patch Upstream +package/libtommath/0001-Build-test-bn_mp_set_double-c-on-more-platforms.patch Upstream +package/libtorrent/0001-libtorrent.pc.in-add-Libs.Private.patch Upstream +package/libubootenv/0001-src-CMakeLists.txt-do-not-force-the-build-of-a-share.patch Upstream +package/libuhttpd/0001-add-compatibility-for-wolfssl-5-0.patch Upstream +package/libuio/0001-configure.ac-set-automake-strictness-to-foreign.patch Upstream +package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch Upstream +package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch Upstream +package/libvpx/0001-vpx_mem-vpx_mem.h-Fix-compilation-with-uClibc.patch Upstream +package/libwebsock/0001-Switch-to-use-pkg-config-to-detect-libevent-and-open.patch Upstream +package/libwebsock/0002-fix-ssl.patch Upstream +package/libwebsock/0003-fix-incorrect-inline.patch Upstream +package/libyuv/0001-i386-sse2.patch Upstream +package/lighttpd/0001-Modify-the-default-lighttpd-configuration-file-to-ha.patch Upstream +package/lighttpd/S50lighttpd EmptyLastLine Indent Shellcheck Variables +package/linknx/0001-configure-ac-tweak-CPPUNIT-conditional.patch Upstream +package/linknx/0002-src-Makefile.am-fix-linking-with-log4cpp.patch Upstream +package/linphone/0001-src-core-paths-paths.cpp-fix-powerpc-build.patch Upstream +package/linux-fusion/0001-fix-for-linux-4-and-above.patch Upstream +package/linux-fusion/0002-Fix-mismatched-conversion-spec-and-value-in-printk.patch Upstream +package/linux-fusion/0003-Fix-fusion-Unknown-symbol-tasklist_lock-err-0.patch Upstream +package/linux-fusion/0004-Port-one-one_udp.c-to-Linux-4.1.patch Upstream +package/linux-zigbee/0001-test-serial-Remove-test-serial.patch Upstream +package/linux-zigbee/0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch Upstream +package/linuxptp/S65ptp4l Indent Shellcheck +package/linuxptp/S66phc2sys Indent Shellcheck +package/lirc-tools/0001-plugins-devinput.c-fix-build-with-musl-1.2.0.patch Upstream +package/lirc-tools/0002-configure-add-disable-doc-option.patch Upstream +package/lirc-tools/S25lircd Indent Variables +package/lite/0001-dfbspy-stat.patch Sob Upstream +package/lite/0002-no-tests.patch Sob Upstream +package/lite/0003-pkg-config.patch Sob Upstream +package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch Upstream +package/lldpd/S60lldpd Indent Shellcheck Variables +package/llvm-project/clang/0001-lib-Driver-ToolChains-Gnu-Use-GCC_INSTALL_PREFIX-in-.patch Upstream +package/llvm-project/libclc/0001-support-out-of-tree-build.patch Upstream +package/lm-sensors/0001-static-build.patch Upstream +package/lm-sensors/0002-no-host-ldconfig.patch Upstream +package/lmbench/0001-scripts-build-use-bin-bash-as-shell.patch Upstream +package/lmbench/0002-src-Makefile-add-lmbench-to-list-of-executables.patch Upstream +package/lmbench/0003-TOO_LONG-100-usec-to-prevent-memsize-from-timingout-.patch Upstream +package/lmbench/0004-Fix-garbage-pointer-for-lat_rpc-S-localhost.patch Upstream +package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch Upstream +package/lockdev/0001-Makefile-install-static-library-and-headers-separate.patch Upstream +package/lockfile-progs/0001-sus3v-legacy.patch Sob Upstream +package/lshw/0001-solve-Compile-error-when-g-version-is-less-than-5.patch Upstream +package/ltrace/0001-arm-plt.patch Upstream +package/ltrace/0002-sparc-add-missing-library.h-include.patch Upstream +package/ltrace/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch Upstream +package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch Upstream +package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch Upstream +package/lttng-libust/0001-configure.ac-add-disable-tests.patch Upstream +package/lttng-tools/0001-configure.ac-add-disable-tests.patch Upstream +package/lua-gd/0001-Protect-declaration-of-LgdImageCreateFromPng-with-GD.patch Upstream +package/lua-lunix/0001-remove-link-with-librt.patch Upstream +package/lua-sdl2/0001-Do-not-reference-host-directory-for-headers.patch Upstream +package/lua-sdl2/0002-CMakeLists-do-not-require-C.patch Upstream +package/lua/5.1.5/0001-root-path.patch Upstream +package/lua/5.1.5/0002-shared-libs-for-lua.patch Upstream +package/lua/5.1.5/0011-linenoise.patch Upstream +package/lua/5.1.5/0012-fix-reader-at-eoz.patch Upstream +package/lua/5.3.6/0001-root-path.patch Upstream +package/lua/5.3.6/0002-shared-libs-for-lua.patch Upstream +package/lua/5.3.6/0003-linenoise.patch Upstream +package/lua/5.4.6/0001-root-path.patch Upstream +package/lua/5.4.6/0002-shared-libs-for-lua.patch Upstream +package/lua/5.4.6/0011-linenoise.patch Upstream +package/luajit/0001-no-bin-symlink.patch Upstream +package/luajit/0002-install-inc.patch Upstream +package/luasyslog/0001-remove-AX_LUA_LIBS.patch Upstream +package/luasyslog/0002-build-ax_lua.m4-fix-cross-compilation.patch Upstream +package/lugaru/0001-ImageIO-fix-invalid-conversion.patch Upstream +package/lugaru/0002-Fix-mismatched-usage-length-build-fail-on-g.patch Upstream +package/lvm2/0001-clang-possible-better-compilation-with-musl-c.patch Upstream +package/lvm2/0002-mm-preallocate-memory-only-with-glibc.patch Upstream +package/lvm2/0003-cmdline-use-freopen-to-reopen-standard-streams.patch Upstream +package/lvm2/0004-log-use-freopen-to-reopen-standard-streams.patch Upstream +package/lz4/0001-build-Support-BUILD_SHARED-no.patch Upstream +package/lzma/0001-Remove-static-from-LDFLAGS.patch Upstream +package/lzop/0001-allow-overriding-modification-time.patch Upstream +package/macchanger/0001-Fix-missing-include-for-caddr_t.patch Upstream +package/madplay/0001-switch-to-new-alsa-api.patch Sob Upstream +package/madplay/0002-configure-ac-automake-foreign.patch Upstream +package/madplay/0003-configure-ac-use-pkg-config-to-find-id3tag.patch Upstream +package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch Upstream +package/makedumpfile/0002-Handle-__mips64.patch Upstream +package/mariadb/0001-add-extra-check-for-librt.patch Upstream +package/mariadb/S97mysqld Indent Shellcheck Variables +package/matchbox-keyboard/mb-applet-kbd-wrapper.sh Shellcheck TrailingSpace +package/matchbox-lib/0001-index-is-legacy.patch Upstream +package/matchbox-panel/0001-index-is-legacy.patch Upstream +package/matchbox-panel/0002-mb-applet-wireless.patch Upstream +package/matchbox-panel/0003-mb-applet-battery.patch Upstream +package/matchbox-startup-monitor/0001-true-false.patch Upstream +package/matchbox/0001-defaulttheme.patch Upstream +package/matchbox/0002-src-Fix-build-with-gcc-10.patch Upstream +package/mediastreamer/0001-src-videofilters-nowebcam.c-fix-build-without-ffmpeg.patch Upstream +package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch Upstream +package/memstat/0001-PATH_MAX.patch Upstream +package/mender-connect/S43mender-connect Shellcheck +package/menu-cache/0001-Support-gcc10-compilation.patch Upstream +package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch Upstream +package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch Upstream +package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch Upstream +package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch Upstream +package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch Upstream +package/metacity/0001-add-libm-reference.patch Upstream +package/metacity/0002-gconf.patch Upstream +package/metacity/0003-mag-add-libm-reference.patch Upstream +package/mfgtools/0001-lnx_def.h-fix-conflicting-declaration-of-__time64_t.patch Upstream +package/midori/0001-disable-vala-fatal-warnings.patch Upstream +package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch Upstream +package/mii-diag/0001-strchr.patch Sob Upstream +package/mimic/0001-Fix-linking-on-gcc-10.2.0-or-newer.patch Upstream +package/mini-snmpd/0001-linux.c-fix-musl-build.patch Upstream +package/minidlna/S60minidlnad Indent Shellcheck Variables +package/minissdpd/S50minissdpd Indent Shellcheck Variables +package/modem-manager/S44modem-manager Shellcheck Variables +package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch Upstream +package/mongodb/0002-src-mongo-db-exec-plan_stats.h-fix-build-with-gcc-11.patch Upstream +package/mongrel2/0001-Do-not-run-tests.patch Upstream +package/mongrel2/0002-Fix-Makefiles-for-cross-compilation.patch Upstream +package/mongrel2/0003-fix-build-with-gcc-4.8.patch Upstream +package/monit/0001-no-force-static.patch Upstream +package/mono-gtksharp3/0001-Fixes-MONO_PROFILE_ENTER_LEAVE-undeclared.patch Upstream +package/mono-gtksharp3/0002-Mono-compilation-error-branch.patch Upstream +package/mono/0001-Fix-linkage-with-a-system-libatomic_ops-shared-library.patch Upstream +package/mono/0002-Ongoing-work-on-the-cmake-build.patch Upstream +package/mosquitto/S50mosquitto Indent Shellcheck Variables +package/motion/S99motion Indent Shellcheck Variables +package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch Upstream +package/mpd/S95mpd Variables +package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch Upstream +package/mpv/0001-fix-powerpc64-altivec.patch Upstream +package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch Upstream +package/mrouted/S41mrouted NotExecutable +package/mrp/S65mrp Indent Variables +package/mstpd/0001-bridge-stp.in-support-different-versions-of-pidof-13.patch Upstream +package/multipath-tools/S60multipathd Shellcheck +package/musepack/0001-shared.patch Upstream +package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch Upstream +package/musepack/0003-include-fpu-control-with-glibc-only.patch Upstream +package/musepack/0004-missing-sys-select.patch Upstream +package/musepack/0005-fix-build-with-gcc-10.patch Upstream +package/musl/0001-avoid-kernel-if_ether.h.patch Upstream +package/musl/0002-package-musl-Make-scheduler-functions-Linux-compatib.patch Upstream +package/nano/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch Upstream +package/nanocom/0001-fix-build-with-gcc-10.patch Upstream +package/ncftp/0001-fix-gcc-10.patch Upstream +package/ncmpc/0001-meson.build-add-atomic-dependency-for-sparc.patch Upstream +package/ne10/0001-CMakeLists-don-t-hard-code-thumb-code-generation.patch Upstream +package/ne10/0002-fix-build-without-C.patch Upstream +package/neard/S53neard Indent Shellcheck Variables +package/neardal/0001-lib-neardal.h-fix-build-with-gcc-10.patch Upstream +package/netatalk/S50netatalk EmptyLastLine Indent Variables +package/netcat/0001-signed-bit-counting.patch Sob Upstream +package/netopeer2/S52netopeer2 Shellcheck Variables +package/netperf/0001-src-nettest_omni.c-fix-compilation-with-GCC10.patch Upstream +package/netplug/0001-makefile-flags.patch Sob Upstream +package/netplug/0002-add-missing-time-include.patch Upstream +package/netplug/0003-remove-assert-fail.patch Upstream +package/netplug/S29netplug Indent Shellcheck Variables +package/netplug/netplug-script ConsecutiveEmptyLines Shellcheck +package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch Upstream +package/netsnmp/S59snmpd Indent Shellcheck Variables +package/netsurf/0001-avoid-system-perl-dependencies.patch Upstream +package/netsurf/0002-do-not-cross-compile-nsgenbind.patch Upstream +package/netsurf/0003-fix-compilation-without-curl.patch Upstream +package/netsurf/0004-framebuffer-Fix-internal-font-generated-source-for-GCC-10.patch Upstream +package/nettle/0001-disable-testsuite-examples.patch Upstream +package/network-manager/S45network-manager ConsecutiveEmptyLines EmptyLastLine Shellcheck Variables +package/nfs-utils/S60nfs ConsecutiveEmptyLines Shellcheck Variables +package/nginx-modsecurity/0001-config-use-pkg-config.patch Upstream +package/nginx/0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch Upstream +package/nginx/0002-auto-feature-add-mechanism-allowing-to-force-feature.patch Upstream +package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch Upstream +package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch Upstream +package/nginx/0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch Upstream +package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch Upstream +package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch Upstream +package/nginx/0008-src-os-unix-ngx_linux_config.h-only-include-dlfcn.h-.patch Upstream +package/nginx/0009-auto-os-linux-fix-build-with-libxcrypt.patch Upstream +package/nginx/0010-Allow-forcing-of-endianness-for-cross-compilation.patch Upstream +package/nginx/S50nginx Indent Variables +package/nilfs-utils/0001-nilfs_cleanerd-link-dynamically.patch Upstream +package/nmap/0001-libdnet-wrapper-configure.patch Upstream +package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch Upstream +package/nodejs/nodejs-src/0002-check-if-uclibc-has-backtrace-support.patch Upstream +package/nodejs/nodejs-src/0003-include-obj-name-in-shared-intermediate.patch Upstream +package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch Upstream +package/nodm/S90nodm Indent Shellcheck Variables +package/norm/0001-protolib-drop-linux-version-check.patch Upstream +package/norm/0002-Use-print-as-function-call-for-Python3-compatibility.patch Upstream +package/norm/0003-Fix-mixed-tabs-spaces-in-protolib-wscript.patch Upstream +package/nss-pam-ldapd/S45nslcd EmptyLastLine Indent Shellcheck Variables +package/ntp/0001-nano.patch Upstream +package/ntp/0002-ntp-syscalls-fallback.patch Upstream +package/ntp/S49ntp.in Variables +package/ntpsec/0001-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch Upstream +package/numactl/0001-link-with-latomic-if-needed-again.patch Upstream +package/nuttcp/0001-susv3-legacy.patch Upstream +package/nvidia-driver/0001-use-LDFLAGS.patch Upstream +package/octave/0001-Fix-BLAS-library-integer-size-detection.patch Upstream +package/odb/0001-tm.h-include-in-gcc.hxx-appears-to-be-no-longer-nece.patch Upstream +package/odb/0002-Remove-gratuitous-classes.patch Upstream +package/odb/0003-Initial-work-to-make-ODB-compatible-with-GCC-6.patch Upstream +package/odb/0004-Make-compilable-with-GCC-6-in-C-14-mode.patch Upstream +package/odb/0005-Fix-bug-in-GCC-6-input_location-translation.patch Upstream +package/odb/0006-Adapt-to-changes-in-GCC-8.patch Upstream +package/odb/0007-Switch-to-C-11-get-rid-of-auto_ptr-use.patch Upstream +package/odb/0008-Fix-GCC-8-adaptation-to-be-compatible-with-previous-.patch Upstream +package/odb/0009-Handle-namespace-aliases-when-parsing-GCC-tree.patch Upstream +package/odb/0010-Add-initial-support-for-GCC-9.patch Upstream +package/odb/0011-Adjust-to-changes-in-GCC-10.patch Upstream +package/odb/0012-Adjust-to-changes-in-GCC-11.patch Upstream +package/odb/0013-Resolve-name-lookup-ambiguity-causing-error-with-GCC.patch Upstream +package/ofono/0001-uclibc-backtrace.patch Upstream +package/ofono/S46ofono Variables +package/ola/0001-ola-fix-compilation-with-musl-1-2-3.patch Upstream +package/olsr/0001-olsrd-migrate-to-using-bison-3.7.1.patch Upstream +package/olsr/0002-lib-pud-Makefile-fix-parallel-build.patch Upstream +package/olsr/0003-pud-adapt-to-API-changes-in-gpsd-3-20.patch Upstream +package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch Upstream +package/olsr/0006-build-patch-for-gpsd-3-25.patch Upstream +package/olsr/S50olsr Indent Shellcheck Variables +package/omxplayer/0001-Update-Makefile-to-be-compatible-with-buildroot.patch Upstream +package/open-plc-utils/0001-Remove-OWNER-and-GROUPS-parameters-to-install.patch Upstream +package/open2300/0001-fix-makefile.patch Upstream +package/openjdk/17.0.9+9/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch Upstream +package/openjdk/21.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch Upstream +package/openldap/0001-fix-bignum.patch Upstream +package/openldap/0002-disable-docs.patch Upstream +package/openntpd/S49ntp Shellcheck Variables +package/openocd/0001-configure-enable-build-on-uclinux.patch Upstream +package/openpgm/0001-Rename-openpgm-5.2.pc.in.patch Upstream +package/openpgm/0002-openpgm-pgm-checksum.c-fix-build-with-32-bits-MMX.patch Upstream +package/openpgm/0003-fix-build-on-macOS-ARM.patch Upstream +package/openpowerlink/0001-install-the-stack-libraries-to-lib-subdirectory.patch Upstream +package/openpowerlink/0002-cmake-install-oplk-headers-files.patch Upstream +package/openpowerlink/0003-Add-top-level-CMakeLists.txt.patch Upstream +package/openrc/0001-init.d-sysctl.in-add-support-for-busybox-sysctl.patch Upstream +package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch Upstream +package/openrc/0003-init.d-agetty-replace-sbin-agetty-by-sbin-getty.patch Upstream +package/openrc/0004-init.d-agetty-start-agetty-after-all-sevices.patch Upstream +package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch Upstream +package/openrc/0006-Also-create-run-lock-subsys-directory.patch Upstream +package/openssh/S50sshd EmptyLastLine Indent Variables +package/openswan/0001-lib-libopenswan-constants.c-workaround-missing-ns_t_.patch Upstream +package/opentyrian/0001-Move-definitions-that-don-t-need-to-be-exposed-from-opl-h-to-opl-c.patch Upstream +package/openvmtools/0001-no_cflags_werror.patch Upstream +package/openvmtools/0002-dont-force-cppflags.patch Upstream +package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch Upstream +package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch Upstream +package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch Upstream +package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch Upstream +package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch Upstream +package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch Upstream +package/openvmtools/0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch Upstream +package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch Upstream +package/openvmtools/shutdown Shellcheck +package/openvpn/S60openvpn Indent Shellcheck Variables +package/oprofile/0001-musl.patch Upstream +package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch Upstream +package/owfs/S55owserver Shellcheck Variables +package/owfs/S60owfs Shellcheck Variables +package/owl-linux/0001-fix-for-linux-3.3.x.patch Upstream +package/patch/0001-Fix-segfault-with-mangled-rename-patch.patch Upstream +package/patch/0002-Allow-input-files-to-be-missing-for-ed-style-patches.patch Upstream +package/patch/0003-Fix-arbitrary-command-execution-in-ed-style-patches-.patch Upstream +package/patch/0004-Invoke-ed-directly-instead-of-using-the-shell.patch Upstream +package/patch/0005-Don-t-follow-symlinks-unless--follow-symlinks-is-given.patch Upstream +package/patchelf/0001-Add-option-to-make-the-rpath-relative-under-a-specif.patch Upstream +package/paxtest/0001-genpaxtest-move-log-location.patch Upstream +package/paxtest/0002-paxtest-page-alignment-ARM-and-NIOS2-arch.patch Upstream +package/pcm-tools/0001-pmu-query.py-fix-python3-errors-add-linux-platform-s.patch Upstream +package/pcmanfm/0001-po-de-po-fix-build-with-gettext-tiny.patch Upstream +package/pcre/0001-Kill-compatibility-bits.patch Upstream +package/pcre/0002-Disable-C-unit-tests.patch Upstream +package/pdmenu/0001-autoconf-makeinfo.in-link-with-INTLLIBS-if-needed.patch Upstream +package/pdmenu/0002-Makefile-autoconf-makeinfo.in-support-build-install-.patch Upstream +package/perl-net-ssleay/0001-fix-build-system.patch Upstream +package/perl-sys-cpu/0001-remove-extraneous-include.patch Upstream +package/perl-xml-libxml/0001-Makefile-PL.patch Upstream +package/php-geoip/0001-add-build-support-for-php8.patch Upstream +package/php-lua/0001-ZEND_ACC_ALLOW_STATIC-ZEND_ACC_STATIC-for-static-met.patch Upstream +package/php-lua/0002-php8-explicitly-declare-arginfo.patch Upstream +package/php-zmq/0001-updates-for-php7.4-and-php8.0.patch Upstream +package/php-zmq/0002-fix-for-php-7.3.patch Upstream +package/php-zmq/0003-fix-for-php-8.0.0beta2.patch Upstream +package/php/0001-acinclude.m4-don-t-unset-variables.patch Upstream +package/php/0002-iconv-tweak-iconv-detection.patch Upstream +package/php/0003-configure-disable-the-phar-tool.patch Upstream +package/php/0004-Call-apxs-with-correct-prefix.patch Upstream +package/php/0005-allow-opcache-cross-compiling.patch Upstream +package/pifmrds/0001-Makefile-cross-compile-friendly.patch Upstream +package/pifmrds/0002-Makefile-use-LDFLAGS.patch Upstream +package/pifmrds/0003-Makefile-fix-static-link.patch Upstream +package/pigpio/S50pigpio Shellcheck Variables +package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch Upstream +package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch Upstream +package/pixman/0001-Disable-tests.patch Upstream +package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch Upstream +package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch Upstream +package/pkgconf/pkg-config.in Shellcheck +package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch Upstream +package/poke/0002-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch Upstream +package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch Upstream +package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch Upstream +package/postgresql/S50postgresql Variables +package/pptp-linux/0001-susv3-legacy.patch Upstream +package/pptp-linux/0002-fix-parallel-build.patch Upstream +package/prboom/0001-libpng-1.4.patch Upstream +package/prboom/0002-configure-remove-predefined-O2-optimization-flag.patch Upstream +package/prelink-cross/0001-src-rtld-dl-tls.c-Fix-TLS-offsets-computation-for-s3.patch Upstream +package/procps-ng/0001-configure-Add--disable-w.patch Upstream +package/procps-ng/0002-escape-c-Fix-missing-nl_langinfo-on-certain-configs.patch Upstream +package/procps-ng/0003-fix-pifd_open-check.patch Upstream +package/procps-ng/S02sysctl Variables +package/proftpd/S50proftpd Indent Shellcheck Variables +package/prosody/0001-enable-syslog.patch Upstream +package/prosody/0002-add-pidfile.patch Upstream +package/prosody/S50prosody Indent Shellcheck Variables +package/protozero/0001-CMakeLists.txt-protobuf-is-only-needed-for-tests.patch Upstream +package/proxychains-ng/0001-add-configure-check-for-non-POSIX-compliant-getnameinfo-signature.patch Upstream +package/ptpd/S65ptpd Indent Shellcheck Variables +package/ptpd2/0001-musl.patch Upstream +package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch Upstream +package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch Upstream +package/ptpd2/S65ptpd2 Indent Shellcheck Variables +package/pulseaudio/0001-shm.c-use-_Static_assert-instead-of-static_assert-fo.patch Upstream +package/pulseaudio/S50pulseaudio ConsecutiveEmptyLines EmptyLastLine Indent Variables +package/pulseview/0001-Replace-obsolete-deprecated-Qt-methods.patch Upstream +package/pulseview/0002-Fix-broken-build-due-to-C-template-behind-C-linkage.patch Upstream +package/pulseview/0003-Support-glibmm-2.68.patch Upstream +package/python-aiohttp-remotes/0001-Fix-flit_core-build-requires-backend.patch Upstream +package/python-automat/0001-Remove-uneeded-dependency-to-wheel.patch Upstream +package/python-daphne/0001-remove-pytest-runner-requirement.patch Upstream +package/python-pybind/0001-pybind11-commands.py-support-STAGING_DIR.patch Upstream +package/python-pylibftdi/0001-do-not-use-find-library.patch Upstream +package/python-pyqt5/0001-configure-skip-qtdetail.patch Upstream +package/python-pyqt5/0002-fix-QtCoremod.sip-syntax-error.patch Upstream +package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch Upstream +package/python-pyzmq/0001-detect.py-fix-the-ZMQ-version-check-to-the-ZMQ-versi.patch Upstream +package/python-scipy/0001-build-sh4-FE.patch Upstream +package/python-setuptools/0001-add-executable.patch Upstream +package/python-sip/0001-remove-join-from-sip-h-files-string.patch Upstream +package/python-web2py/S51web2py Shellcheck Variables +package/python-ws4py/0001-Adjust-ws4py-for-Python-3.7-syntax.patch Upstream +package/python3/0001-Make-the-build-of-pyc-files-conditional.patch Upstream +package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch Upstream +package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch Upstream +package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch Upstream +package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch Upstream +package/python3/0006-Don-t-add-multiarch-paths.patch Upstream +package/python3/0007-Abort-on-failed-module-build.patch Upstream +package/python3/0008-Serial-ioctl-workaround.patch Upstream +package/python3/0009-Do-not-adjust-the-shebang-of-Python-scripts-for-cros.patch Upstream +package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch Upstream +package/python3/0011-Add-an-option-to-disable-pydoc.patch Upstream +package/python3/0012-Add-an-option-to-disable-lib2to3.patch Upstream +package/python3/0013-Add-option-to-disable-the-sqlite3-module.patch Upstream +package/python3/0014-Add-an-option-to-disable-the-tk-module.patch Upstream +package/python3/0015-Add-an-option-to-disable-the-curses-module.patch Upstream +package/python3/0016-Add-an-option-to-disable-expat.patch Upstream +package/python3/0017-Add-an-option-to-disable-CJK-codecs.patch Upstream +package/python3/0018-Add-an-option-to-disable-NIS.patch Upstream +package/python3/0019-Add-an-option-to-disable-unicodedata.patch Upstream +package/python3/0020-Add-an-option-to-disable-IDLE.patch Upstream +package/python3/0021-Add-an-option-to-disable-decimal.patch Upstream +package/python3/0022-Add-an-option-to-disable-the-ossaudiodev-module.patch Upstream +package/python3/0023-Add-an-option-to-disable-openssl-support.patch Upstream +package/python3/0024-Add-an-option-to-disable-the-readline-module.patch Upstream +package/python3/0025-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch Upstream +package/python3/0026-python-config.sh-don-t-reassign-prefix.patch Upstream +package/python3/0027-Add-an-option-to-disable-uuid-module.patch Upstream +package/python3/0028-fix-building-on-older-distributions.patch Upstream +package/python3/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch Upstream +package/python3/0030-Add-an-option-to-disable-the-berkeleydb-module.patch Upstream +package/python3/0031-lib-crypt-uClibc-ng-doesn-t-set-errno-when-encryptio.patch Upstream +package/qemu/0002-softmmu-qemu-seccomp.c-add-missing-header-for-CLONE_.patch Upstream +package/qextserialport/0001-Create-a-main-include-file-QExtSerialPort.patch Upstream +package/qextserialport/0002-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch Upstream +package/qt5/qt5base/0001-qtbase-Fix-build-error-when-using-EGL.patch Upstream +package/qt5/qt5base/0002-double-conversion-enable-for-microblaze.patch Upstream +package/qt5/qt5base/0003-double-conversion-enable-for-nios2.patch Upstream +package/qt5/qt5base/0004-double-conversion-enable-for-xtensa.patch Upstream +package/qt5/qt5base/0005-eglfs-avoid-breaking-compilation-for-obscure-EGLNativeDisplayType-types.patch Upstream +package/qt5/qt5base/0006-Fix-build-on-riscv32.patch Upstream +package/qt5/qt5base/0007-src-corelib-configure.json-fix-atomicfptr-detection.patch Upstream +package/qt5/qt5base/0008-eglconvenience-add-missing-QList-include.patch Upstream +package/qt5/qt5declarative/0001-qsgtexture-fix-debug-build-with-uclibc.patch Upstream +package/qt5/qt5declarative/0002-qv4regexp_p-needs-c-limits-include-instead-of-plain-.patch Upstream +package/qt5/qt5enginio/0001-Do-not-use-deprecated-QLinkedList.patch Upstream +package/qt5/qt5location/0001-3rdparty-mapbox-gl-native-fix-musl-compile-pthread_g.patch Upstream +package/qt5/qt5script/0001-Detect-32-bits-armv8-a-architecture.patch Upstream +package/qt5/qt5tools/0001-Disable-designer-tool-fixes-configure-error.patch Upstream +package/qt5/qt5webengine-chromium/0001-Add-python3-build-support.patch Upstream +package/qt5/qt5webengine-chromium/0002-Don-t-rebase-sysroot-path.patch Upstream +package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch Upstream +package/qt5/qt5webengine/0002-Add-python3-build-support.patch Upstream +package/qt5/qt5webkit/0001-WinCairo-PlayStation-ICU-68.1-no-longer-exposes-FALS.patch Upstream +package/qt5/qt5webkit/0002-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch Upstream +package/qt5/qt5webkit/0003-Let-Bison-generate-the-header-directly-to-fix-build-.patch Upstream +package/qt5/qt5webkit/0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch Upstream +package/qt5/qt5webkit/0005-Add-support-for-ARC-processors.patch Upstream +package/qt5/qt5webkit/0006-Warnings-due-to-AppSinkCallbacks-struct-growth-https.patch Upstream +package/qt5cinex/0001-Fix-execution-problem-with-Qt5.3.patch Upstream +package/quagga/0001-fix-ipctl-forwarding.patch Upstream +package/quagga/0002-lib-prefix.h-fix-build-with-gcc-10.patch Upstream +package/quagga/0003-Fix-build-with-gcc-10.patch Upstream +package/quotatool/0001-fix-missing-__P-definition-for-musl-compile.patch Upstream +package/racehound/0001-Fix-module-install-path-lib-instead-of-usr-lib-prefi.patch Upstream +package/rapidxml/0001-ensure-internal-print-operations-are-declared-before.patch Upstream +package/raspberrypi-usbboot/0001-Makefile-allow-passing-CFLAGS-LDFLAGS.patch Upstream +package/rdesktop/0001-8bit-colors.patch Sob Upstream +package/read-edid/0001-Fix-install-file-list.patch Upstream +package/read-edid/0002-Fix-compiler-check.patch Upstream +package/read-edid/0003-fix-build-with-gcc-10.patch Upstream +package/readline/0001-curses-link.patch Upstream +package/redis/0001-uclibc.patch Upstream +package/redis/0002-largefile-conditional-define.patch Upstream +package/redis/0003-redis.conf-adjust-defauts-for-buildroot.patch Upstream +package/redis/S50redis Shellcheck Variables +package/restorecond/S02restorecond Shellcheck +package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch Upstream +package/riscv-isa-sim/0001-riscv-disable-precompiled-headers.patch Upstream +package/rng-tools/S21rngd Shellcheck Variables +package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch Upstream +package/rp-pppoe/0001-src-pppoe.h-fix-build-with-musl-libc.patch Upstream +package/rpcbind/0001-Remove-yellow-pages-support.patch Upstream +package/rpcbind/S30rpcbind EmptyLastLine Indent Variables +package/rpi-userland/0001-Add-.pc-files-for-the-OpenGLESv2-EGL-and-bcm_host-li.patch Upstream +package/rpi-userland/0002-interface-remove-faulty-assert-to-make-weston-happy-.patch Upstream +package/rpi-userland/0003-Disable-Werror-everywhere.patch Upstream +package/rpi-userland/0004-host-applications-disable-missing-applications.patch Upstream +package/rpi-userland/0005-dtmerge-add-missing-include-for-va_list.patch Upstream +package/rpi-userland/0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.patch Upstream +package/rpi-userland/0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch Upstream +package/rt-tests/0001-Fix-a-build-issue-with-uClibc-ng.patch Upstream +package/rt-tests/0002-Makefile-drop-explicit-undefine-PYLIB-for-compatibil.patch Upstream +package/rtmpdump/0001-include-limits.h.patch Upstream +package/rtorrent/0001-Added--disable-execinfo-option-to-configure.patch Upstream +package/rtty/0001-CMakeLists.txt-prefer-pkg_check_modules.patch Upstream +package/rubix/0001-dont-use-legacy-functions.patch Upstream +package/rubix/0002-misc-fixes.patch Sob Upstream +package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch Upstream +package/rygel/S99rygel Indent Shellcheck Variables +package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch Upstream +package/s6-linux-utils/0001-src-s6-linux-utils-rngseed.c-fix-build-with-glibc.patch Upstream +package/safeclib/0001-fix-armv7-asm-inline-error-GH-115.patch Upstream +package/samba4/0001-libreplace-disable-libbsd-support.patch Upstream +package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch Upstream +package/samba4/0003-ldap_message_test.c-include-stdint.h-before-cmoka.h.patch Upstream +package/samba4/S91smb Indent Shellcheck Variables +package/sane-backends/0001-sane_backend-add-missing-config.h.patch Upstream +package/screen/0001-Do-not-use-memcpy-as-an-alternative-for-bcopy-memmov.patch Upstream +package/screen/0002-Do-not-create-backup-of-old-installed-binary.patch Upstream +package/screen/0003-Change-binary-permission-flags-even-if-chown-fails.patch Upstream +package/screen/0004-Support-overriding-SCREEN-to-get-a-non-versioned-bin.patch Upstream +package/screen/0005-Renamed-sched.h-to-eventqueue.h.patch Upstream +package/screen/0006-comm.h-now-depends-on-term.h.patch Upstream +package/screen/0007-comm.h-needed-for-list_-display-generic-.o.patch Upstream +package/scrub/0001-configure-ac-make-sure-m4-macros-are-included-in-the-build.patch Upstream +package/sdl/0001-use-correct-directfb-config.patch Upstream +package/sdl/0002-fix-compilation-with-libx11.patch Upstream +package/sdl/0003-SDL_x11yuv.c-fix-possible-use-after-free.patch Upstream +package/sdl_mixer/0001-Add-Libs.private-field-to-pkg-config-file.patch Upstream +package/sdl_mixer/0002-configure__set_macro_directory.patch Upstream +package/sdl_mixer/0003-configure.ac-fix-static-linking-with-tremor.patch Upstream +package/sdl_sound/0001-fix-constness.patch Upstream +package/sdl_sound/0002-remove-werror.patch Upstream +package/sdl_sound/0003-renamed-physfs-export.patch Upstream +package/seatd/S70seatd NotExecutable Variables +package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch Upstream +package/sentry-native/0001-sentry.h-include-ucontext.h.patch Upstream +package/ser2net/S50ser2net Indent Shellcheck Variables +package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch Upstream +package/setserial/0001-build-system-fix.patch Upstream +package/setserial/0002-tiocghayesesp-build-fix.patch Upstream +package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch Upstream +package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch Upstream +package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch Upstream +package/shairport-sync/0001-configure.ac-find-sndfile-through-pkg-config.patch Upstream +package/shairport-sync/S99shairport-sync Indent Shellcheck Variables +package/shared-mime-info/0001-Remove-incorrect-dependency-from-install-data-hook.patch Upstream +package/shellinabox/0001-Makefile-disable-always-building-statically.patch Upstream +package/shellinabox/0002-CVE-2018-16789-fix-for-broken-multipart-form-data.patch Upstream +package/skeleton-init-systemd/fakeroot_tmpfiles.sh Shellcheck +package/slang/0001-slsh-libs.patch Upstream +package/smcroute/S41smcroute Indent NotExecutable Variables +package/smstools3/0001-fix-Makefile.patch Upstream +package/smstools3/0002-fix-build-with-gcc-10.x.patch Upstream +package/smstools3/S50smsd Shellcheck Variables +package/snmppp/0001-fix-build-without-v3.patch Upstream +package/snort/0001-configure.in-Avoid-path-poisoning-with-libpcap.patch Upstream +package/snort/0002-configure.in-Allow-to-override-the-INADDR_NONE-check.patch Upstream +package/snort/0003-configure.in-convert-AC_RUN_IFELSE-to-AC_CHECK_MEMBE.patch Upstream +package/snort/0004-configure.in-convert-AC_RUN_IFELSE-to-AC_COMPILE_IFE.patch Upstream +package/snort/0005-fix-sparc.patch Upstream +package/snort/0006-Fix-compile-error-when-building-against-uclibc-or-mu.patch Upstream +package/snort/0007-Fix-error-when-building-on-a-Fedora-host-machine.patch Upstream +package/snort/0008-Fix-NO-OPTIMIZE.patch Upstream +package/socketcand/0001-Fix-GCC10-build-failure.patch Upstream +package/softether/0001-Create-autotools-plumbing-for-SoftEther.patch Upstream +package/softether/0002-Create-libsoftether.so-and-dynamically-link.patch Upstream +package/softether/0003-use-fhs-install-directories.patch Upstream +package/softether/0004-create-non-forking-softetherd-for-upstart-and-systemd.patch Upstream +package/softether/0005-change-GetExeDir-to-GetStateDir-in-Cedar-and-Mayaqua.patch Upstream +package/softether/0006-cross-compile.patch Upstream +package/softether/0007-iconv.patch Upstream +package/softether/0008-librt.patch Upstream +package/softether/0009-uclibc-ai-addrconfig.patch Upstream +package/solarus/0001-cmake-remove-Werror.patch Upstream +package/solarus/0002-Add-a-basic-FindOpenGLES2.cmake.patch Sob Upstream +package/sox/0001-uclibc.patch Upstream +package/sox/0002-configure.ac-put-back-disable-stack-protector.patch Upstream +package/sox/0003-configure.ac-fix-static-linking-with-id3tag.patch Upstream +package/sox/0004-configure.ac-fix-static-linking-with-magic.patch Upstream +package/sox/0005-configure.ac-fix-static-linking-with-sndfile.patch Upstream +package/sp-oops-extract/0001-Make-the-Makefile-more-cross-compiler-friendly.patch Upstream +package/sp-oops-extract/0002-stdint-cleanup.patch Upstream +package/spandsp/0001-configure.ac-fix-AVX-SSE-and-MMX-options.patch Upstream +package/speex/0001-thumb2-support.patch Upstream +package/squid/S97squid Indent Shellcheck Variables +package/sredird/0001-termio.patch Upstream +package/sscep/0001-Fix-getopt-linking-error.patch Upstream +package/sshguard/S49sshguard Indent +package/sslh/S35sslh Indent Shellcheck Variables +package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch Upstream +package/start-stop-daemon/0002-just-warn-on-missing-arch.patch Upstream +package/statserial/0001-ncurses-link.patch Upstream +package/stunnel/S50stunnel Indent Shellcheck Variables +package/supervisor/S99supervisord Variables +package/suricata/0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch Upstream +package/suricata/S99suricata Shellcheck +package/swupdate/swupdate.sh Shellcheck +package/sylpheed/0001-harden-link-checker-before-accepting-click.patch Upstream +package/sysprof/0001-define-NT_GNU_BUILD_ID.patch Upstream +package/sysrepo/S51sysrepo-plugind Indent Shellcheck +package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch Upstream +package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch Upstream +package/targetcli-fb/S50target Shellcheck Variables +package/taskd/0001-Fix-missing-cmakedefine-HAVE_GET_CURRENT_DIR_NAME.patch Upstream +package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch Upstream +package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch Upstream +package/tcf-agent/S55tcf-agent Shellcheck Variables +package/tcl/0001-Disable-tcl-compatibility-layers.patch Upstream +package/tftpd/0001-Use-extern-qualifier-to-fix-gcc-10.x-build.patch Upstream +package/tftpd/S80tftpd-hpa Indent Shellcheck Variables +package/ti-gfx/0001-newclkapi.patch Upstream +package/ti-gfx/0002-fix-build-omaplfb-linux.patch Upstream +package/ti-gfx/0003-km_install_modules.patch Upstream +package/ti-gfx/S80ti-gfx Shellcheck Variables +package/ti-gfx/esrev.sh Shellcheck +package/ti-sgx-um/0001-Makefile-do-not-install-init-script.patch Upstream +package/ti-sgx-um/S80ti-sgx Variables +package/ti-utils/0001-plt.h-fix-build-with-gcc-10.patch Upstream +package/tinyalsa/0001-include-time.h-before-asound.h.patch Upstream +package/tinycbor/0001-Makefile-add-DISABLE_WERROR.patch Upstream +package/tinycompress/0001-wave-add-time.h-missing-header-inclusion.patch Upstream +package/tinydtls/0001-sha2-sha2.c-fix-build-on-big-endian.patch Upstream +package/tinyxml/0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch Upstream +package/tpm2-abrmd/S80tpm2-abrmd Indent Shellcheck Variables +package/tpm2-tss/0001-Temporary-fix-for-build-without-C.patch Upstream +package/transmission/S92transmission ConsecutiveEmptyLines Indent Shellcheck Variables +package/triggerhappy/S10triggerhappy Indent Shellcheck Variables +package/trinity/0001-Fix-build-with-GCC-10.patch Upstream +package/trinity/0002-net-proto-ip-raw.c-fix-build-with-kernel-5.13.patch Upstream +package/trinity/0003-Use-fcntl-h-for-dev_t-mode_t.patch Upstream +package/trinity/0004-drop-decnet.patch Upstream +package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch Upstream +package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch Upstream +package/trousers/0003-Fix-build-with-LibreSSL-2-7.patch Upstream +package/tstools/0001-build-get-along-with-buildroot.patch Upstream +package/tvheadend/0001-no-check_config.patch Upstream +package/tvheadend/S99tvheadend Indent Shellcheck Variables +package/uboot-tools/0001-drop-configh-from-tools.patch Upstream +package/uboot-tools/0002-tools-only-in-no-dot-config-targets.patch Upstream +package/uboot-tools/0003-tools-Makefile-fix-C-LD-FLAGS-with-CROSS_BUILD_TOOLS.patch Upstream +package/ubus/0001-Install-server-and-client-examples.patch Upstream +package/udpcast/0001-fix-musl-build.patch Upstream +package/uemacs/01-clear-ixon-termios-flag.patch Upstream +package/uhd/0001-host-CMakeLists-add-boost-unit_test_framework-requir.patch Upstream +package/uhttpd/0001-Remove-Werror.patch Upstream +package/uhttpd/0002-Fix-TCP_FASTOPEN-related-compile-error.patch Upstream +package/umtprd/0001-Fix-output_dir-make-dependency.patch Upstream +package/unbound/S70unbound Shellcheck +package/unifdef/0001-Makefile-fix-error-on-install.patch Upstream +package/unscd/S46unscd Indent Shellcheck Variables +package/unzip/0001-Add-a-CMakeFile.txt-to-ease-cross-compilation.patch Upstream +package/upmpdcli/S99upmpdcli Indent Shellcheck Variables +package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch Upstream +package/urg/0001-select-h.patch Upstream +package/urg/0002-urg-gcc6-fix-narrowing-conversion.patch Upstream +package/usb_modeswitch/0001-fix-systemd-detection.patch Upstream +package/usbguard/S20usbguard Indent Shellcheck Variables +package/usbmount/0001-rules-fix.patch Upstream +package/usbmount/0002-use-udev-environment-instead-of-blkid.patch Upstream +package/ushare/0001-Don-t-build-po-files-if-NLS-is-disabled.patch Upstream +package/ussp-push/0001-fix-build-against-bluez-4.patch Upstream +package/ussp-push/0002-fix-build-again-obex-bluez.patch Upstream +package/ussp-push/0003-add-OBEX_CharToUnicode.patch Upstream +package/vala/0001-dont-add-dirty-to-valac-version.patch Upstream +package/vala/vala-wrapper Shellcheck +package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch Upstream +package/valgrind/0002-Define-PTRACE_GETSIGINFO-on-PowerPC-when-not-availab.patch Upstream +package/vboot-utils/0001-Add-missing-definition-of-MTD_CHAR_MAJOR.patch Upstream +package/vboot-utils/0002-Add-missing-header-include-for-ssize_t.patch Upstream +package/vboot-utils/0003-Avoid-RSA-type-redefinition.patch Upstream +package/vboot-utils/0004-Disable-static-futility.patch Upstream +package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch Upstream +package/vboot-utils/0006-Update-for-openssl-1.1.patch Upstream +package/vboot-utils/0007-Make-vboot_version-extern-in-header.patch Upstream +package/vdr/0001-getloadavg.patch Upstream +package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch Upstream +package/vlc/0002-automake-add-subdir-objects-option.patch Upstream +package/vlc/0003-build-use-pkg-config-to-get-tremor-libs.patch Upstream +package/vlc/0004-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch Upstream +package/vlc/0005-Don-t-assume-strerror_l-is-available.patch Upstream +package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch Upstream +package/vlc/0007-Add-support-for-freerdp2.patch Upstream +package/vlc/0008-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch Upstream +package/vlc/0009-modules-video_filter-opencv_example.cpp-fix-build-wi.patch Upstream +package/vlc/0010-opengl-missing-library-check.patch Upstream +package/vpnc/0001-Makefile-allow-to-override-the-PREFIX-variable.patch Upstream +package/vpnc/0002-Makefile-allow-to-override-the-version.patch Upstream +package/vpnc/0003-Makefile-allow-passing-custom-CFLAGS-CPPFLAGS.patch Upstream +package/vpnc/0004-Makefile-provide-an-option-to-not-build-manpages.patch Upstream +package/vpnc/0005-Makefile-allow-passing-a-custom-path-to-libgcrypt-co.patch Upstream +package/vpnc/0006-config.c-Replace-deprecated-SUSv3-functions-with-POS.patch Upstream +package/vpnc/0007-sysdep.h-don-t-assume-error.h-is-available-on-all-Li.patch Upstream +package/vpnc/0008-sysdep.c-don-t-include-linux-if_tun.h-on-Linux.patch Upstream +package/vpnc/0009-config.c-add-missing-sys-ttydefaults.h-include.patch Upstream +package/vsftpd/0001-utmpx-builddef.patch Upstream +package/vsftpd/0002-fix-CVE-2015-1419.patch Upstream +package/vsftpd/0003-Prevent-hang-in-SIGCHLD-handler.patch Upstream +package/vsftpd/S70vsftpd Indent Shellcheck Variables +package/vte/0001-build-Fix-build-with-kernel-headers-from-linux-4-13.patch Upstream +package/vte/0002-build-Fix-check-for-fstack-protector-compiler-support.patch Upstream +package/vtun/0001-fix-installation.patch Upstream +package/vtun/0002-fix-ssl-headers-checks.patch Upstream +package/vtun/0003-openssl11.patch Upstream +package/w_scan/0001-musl.patch Upstream +package/w_scan/0002-si_types-h-fix-build-with-gcc-10.patch Upstream +package/waffle/0001-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch Upstream +package/waffle/0002-wayland-fix-build-against-version-1-20.patch Upstream +package/waffle/0003-drop-C-dependency.patch Upstream +package/wampcc/0001-Add-RISC-V-endian-detection.patch Upstream +package/wampcc/0002-include-wampcc-platform.h-fix-build-with-musl-1.2.0.patch Upstream +package/wampcc/0003-Broken-build-on-Windows.patch Upstream +package/watchdogd/S01watchdogd Indent NotExecutable +package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch Upstream +package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch Upstream +package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch Upstream +package/wilc-driver/0003-cfg80211.c-fix-build-failure-with-Linux-5.19-and-6.1.patch Upstream +package/wilc-driver/0004-Fix-struct-station_parameters-Linux-6.1-build-failur.patch Upstream +package/wilc-driver/0005-Fix-cast-warnings.patch Upstream +package/wipe/0001-musl.patch Upstream +package/wireless_tools/0001-remove-bzero.patch Upstream +package/wireshark/0001-cmake-lemon-wipe-CMAKE_-EXE_LINKER_FLAGS-SYSROOT-if-.patch Upstream +package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch Upstream +package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch Upstream +package/wpa_supplicant/ifupdown.sh Shellcheck +package/x11r7/xapp_luit/0001-posix-openpt.patch Upstream +package/x11r7/xapp_xdm/S99xdm Indent Variables +package/x11r7/xcursor-transparent-theme/0001-fix-symlink.patch Upstream +package/x11r7/xdriver_xf86-input-evdev/0001-build-get-rid-of-sdkdir.patch Upstream +package/x11r7/xdriver_xf86-input-joystick/0001-build-get-rid-of-sdkdir.patch Upstream +package/x11r7/xdriver_xf86-input-libinput/0001-build-get-rid-of-sdkdir.patch Upstream +package/x11r7/xdriver_xf86-input-mouse/0001-build-get-rid-of-sdkdir.patch Upstream +package/x11r7/xdriver_xf86-input-synaptics/0001-build-get-rid-of-sdkdir.patch Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0001-sunxi_x_g2d-drop-unused-dri2-include.patch Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0002-Use-own-thunk-functions-instead-of-fbdevHW-Weak.patch Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0003-Update-for-1.20-ABI.patch Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0004-xorg.conf-add-mandatory-modules-fb-shadow-fbdevhw.patch Upstream +package/x11r7/xdriver_xf86-video-fbturbo/0005-backing_store_tuner-struct-_Window-backStorage-is-go.patch Upstream +package/x11r7/xdriver_xf86-video-imx/0001-Update-to-newer-swap-macros.patch Upstream +package/x11r7/xdriver_xf86-video-imx/0002-Fix-error-unknown-type-name-uint.patch Upstream +package/x11r7/xdriver_xf86-video-imx/0003-support-glibc-2.20.patch Upstream +package/x11r7/xdriver_xf86-video-imx/0004-Make-video-API-forward-and-backward-compatible.patch Upstream +package/x11r7/xdriver_xf86-video-imx/0005-xf86-video-imxfb-fix-m4-hardcodded-paths.patch Upstream +package/x11r7/xdriver_xf86-video-imx/0006-xserver-1.14-compat.patch Upstream +package/x11r7/xdriver_xf86-video-mach64/0001-cross-compile.patch Sob Upstream +package/x11r7/xdriver_xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch Upstream +package/x11r7/xdriver_xf86-video-tdfx/0001-cross.patch Sob Upstream +package/x11r7/xserver_xorg-server/0001-include-misc.h-fix-uClibc-build.patch Upstream +package/x11r7/xserver_xorg-server/S40xorg Shellcheck Variables +package/x11vnc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch Upstream +package/x11vnc/0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch Upstream +package/x265/0001-fix-gcc-options.patch Upstream +package/xen/0001-9pfs-include-linux-limits.h-for-XATTR_SIZE_MAX.patch Upstream +package/xen/0002-Fix-build-with-64-bits-time_t.patch Upstream +package/xen/0003-libs-light-fix-tv_sec-printf-format.patch Upstream +package/xen/0004-libs-light-fix-tv_sec-fprintf-format.patch Upstream +package/xenomai/3.0.10/0001-lib-boilerplate-iniparser-Allow-building-with-GCC-10-2-2020101.patch Upstream +package/xenomai/3.0.10/0002-Add-disable-demo-testsuite-options.patch Upstream +package/xenomai/3.0.10/0003-lib-cobalt-copperplate-Use-valid-addresses-for-pthread_setspecific.patch Upstream +package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch Upstream +package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch Upstream +package/xinetd/0001-ar.patch Upstream +package/xinetd/0002-destdir.patch Upstream +package/xinetd/0003-rpc-fix.patch Upstream +package/xinetd/0004-configure-rlim_t.patch Upstream +package/xinetd/0005-CVE-2013-4342-xinetd-ignores-user-and-group-directiv.patch Upstream +package/xl2tp/xl2tpd TrailingSpace +package/xml-security-c/0001-fix-build-with-libressl-3.5.0.patch Upstream +package/yajl/0001-Let-the-shared-and-the-static-library-have-the-same-.patch Upstream +package/yajl/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch Upstream +package/yajl/0003-Link-with-shared-libyajl-in-a-shared-build.patch Upstream +package/yajl/0004-Link-libyajl-_s-with-libm-when-isnan-is-not-brought-.patch Upstream +package/ympd/0001-only-c-language.patch Upstream +package/ympd/0002-added-forward-declarations.patch Upstream +package/zabbix/0001-m4-netsnmp.m4-fix-shared-netsnmp-build.patch Upstream +package/zabbix/0002-fix-build-with-libressl-3.5.0.patch Upstream +package/zic/0001-remove-dependency-check-on-version-file.patch Upstream +package/zip/0001-configure-Remove-Check-C-compiler-type-optimization-.patch Upstream +package/zip/0002-configure-Don-t-use-host-CPP.patch Upstream +package/zip/0003-Makefile-Use-CFLAGS-from-command-line.patch Upstream +package/zip/0004-configure-use-LDFLAGS-from-command-line.patch Upstream +package/zip/0005-unix-configure-remove-GID-UID-size-check.patch Upstream +package/zip/0006-unix-configure-borrow-the-LFS-test-from-autotools.patch Upstream +package/zip/0007-timezone.c-needs-time.h-fixes-musl-compile.patch Upstream +package/zip/0008-fix-musl-static-build.patch Upstream +package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch Upstream +package/znc/0001-LibreSSL-3.5-opaqued-structures.patch Upstream +package/znc/0002-Fix-build-with-libressl.patch Upstream +package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch Upstream +package/zziplib/0001-implant-ZZIP_LIBLATEST-for-zzip_lib.patch Upstream +support/dependencies/check-host-asciidoc.sh Shellcheck +support/dependencies/check-host-cmake.sh Shellcheck +support/dependencies/check-host-gzip.sh Shellcheck +support/dependencies/check-host-lzip.sh Shellcheck +support/dependencies/check-host-make.sh Shellcheck +support/dependencies/check-host-python3.sh Shellcheck +support/dependencies/check-host-tar.sh Shellcheck +support/dependencies/check-host-xzcat.sh Shellcheck +support/dependencies/dependencies.sh Shellcheck +support/download/bzr ConsecutiveEmptyLines Shellcheck +support/download/cargo-post-process Shellcheck +support/download/cvs Shellcheck +support/download/dl-wrapper Shellcheck +support/download/file Shellcheck +support/download/go-post-process Shellcheck +support/download/hg Shellcheck +support/download/scp Shellcheck +support/download/sftp Shellcheck +support/download/wget Shellcheck +support/gnuconfig/update Shellcheck +support/libtool/buildroot-libtool-v1.5.patch ApplyOrder Sob Upstream +support/libtool/buildroot-libtool-v2.2.patch ApplyOrder Sob Upstream +support/libtool/buildroot-libtool-v2.4.4.patch ApplyOrder Upstream +support/libtool/buildroot-libtool-v2.4.patch ApplyOrder Sob Upstream +support/misc/relocate-sdk.sh Shellcheck +support/scripts/apply-patches.sh Shellcheck +support/scripts/br2-external Shellcheck +support/scripts/check-bin-arch Shellcheck +support/scripts/check-host-rpath Shellcheck +support/scripts/expunge-gconv-modules Shellcheck +support/scripts/fix-configure-powerpc64.sh EmptyLastLine +support/scripts/generate-gitlab-ci-yml Shellcheck +support/scripts/mkmakefile ConsecutiveEmptyLines Shellcheck +support/scripts/setlocalversion Shellcheck +support/testing/tests/core/post-build.sh Shellcheck +support/testing/tests/package/test_opkg/post-build.sh Shellcheck +support/testing/tests/utils/test_get_developers/0001-package-binutils-change-.mk.patch NumberedSubject Upstream diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000000..af6cf4b4494 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,37 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +tab_width = 8 +trim_trailing_whitespace = true +insert_final_newline = true + +[DEVELOPERS] +indent_style = tab +indent_size = tab + +[Config*.in*] +indent_style = tab +indent_size = tab + +[linux/Config.ext.in] +indent_style = tab +indent_size = tab + +[Makefile*] +indent_style = tab +indent_size = tab + +[*.mk] +indent_style = tab +indent_size = tab + +[S{0..9}{0..9}*] +indent_style = tab +indent_size = tab + +[*.adoc] +trim_trailing_whitespace = false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000000..319e67d8613 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,6 @@ +Please do not submit a Pull Request via GitHub. Buildroot makes use of a +[mailing list](http://lists.buildroot.org/mailman/listinfo/buildroot) for patch submission and review. +See [submitting your own patches](http://buildroot.org/manual.html#submitting-patches) for more info. + +Thanks for your help! + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cad35c96bc8..3d7719568f0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ # Configuration for Gitlab-CI. # Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines -image: $CI_REGISTRY/buildroot.org/buildroot/base:20220206.1756 +image: $CI_REGISTRY/buildroot.org/buildroot/base:20230207.1123 stages: - generate-gitlab-ci @@ -10,6 +10,11 @@ stages: generate-gitlab-ci-yml: stage: generate-gitlab-ci script: ./support/scripts/generate-gitlab-ci-yml support/misc/gitlab-ci.yml.in > generated-gitlab-ci.yml + retry: + max: 2 + when: + - runner_system_failure + - stuck_or_timeout_failure artifacts: when: always paths: diff --git a/CHANGES b/CHANGES index 6de79c7d351..91cc951a26d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,1352 @@ +2024.02.3, released June 10th, 2024 + + Important / security related fixes. + + Misc: + - Fixed a number of compilation issues for hosts using GCC + 14.x, including for kconfig. + + Download: + - Drop redundant --passive-ftp from default wget options and + migrate a number of packages using FTP upstreams to HTTP(S) + for compatibility with wget2 which does not have FTP support + + - Ensure downloads are correctly shared for host packages that + try to do so using _DL_SUBDIR and ensure the correct + toplevel directory name is used in generated tarballs when + downloads are shared. + + Arch: Enable SSE2 support for x86 Pentium M variant. + + Defconfigs: Orangepi PC/R1, Raspberrypi zero2w, Sipeed + licheepi nano, Wandboard: Fix compilation issues. PC x86-64 + bios/efi: add wireless regdb to fix kernel warning during + boot, iMX.8 boards: Adjust FIT external data position to match + imx-mkimage changes, fixing boot issues. + + Updated/fixed packages: am33x-cm, apcupsd, + arm-trusted-firmware, binutils-bare-metal, bpftool, catch2, + ccache, cjson, clamav, cog, coreutils, cryptodev-linux, + dhcpcd, dmraid, dnsmasq, docker-cli, docker-compose, + docker-engine, doom-wad, duma, elf2flt, ebtables, elfutils, + evemu, file, fluidsynth, freeradius-client, freeradius-server, + freerdp, fwts, gcc, gcc-bare-metal, git, gnuplot, go, + gr-osmosdr, gst1-plugins-good, hidapi, imagemagick, + intel-gmmlib, ivi-homescreen, janus-gateway, kexec, kmod, + kodi, libarchive, libdrm, libedit, libffi, libglib2, libhtp, + libjwt, libkrb5, libmanette, libmdbx, libmnl, + libnetfilter_acct, libnetfilter_log, libnpth, libopenssl, + libpng, libuhttpd, liburiparser, libutempter, libvncserver, + libwpe, lightning, linux-firmware, linux-pam, lua-cffi, + luajit, lvm2, lynx, mariadb, mesa3d, micropython, minisign, + musl, mutt, ncftp, network-manager, newlib-bare-metal, nfacct, + nfs-utils, octave, openjpeg, openocd, oprofile, + perl-dbd-mysql, php, postgresql, pppd, privoxy, procps-ng, + proftpd, proj, putty, python-ml-dtypes, python-pillow, + python-rds-py, qemu, qt5base, redis-plus-plus, rtl8189fs, + ruby, samba4, shadow, smcroute, speech, squid, sscep, + suricata, swupdate, systemd, ti-sgx-km, tinycbor, tinyproxy, + tor, tpm2-tss, ttyd, uboot-tools, ulogd, vala, weston, + wpewebkit, x11vnc, zbar, zeromq, zfs, zip, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #15766: BR2_PACKAGE_WESTON_XWAYLAND -- 12.0.1 -- fails to build.. + #15973: imx8m bootloader image generation broken since update.. + #16075: Cannot use linux kernel extensions from external tree.. + #16093: kmod and gcc-14 build error + +2024.02.2, released May 7th, 2024 + + Important / security related fixes. + + Security: The /dev/shm entry in the default /etc/fstab used + for busybox and sysv init systems was missing the sticky bit, + allowing users to delete and replace other users files. + + Defconfigs: Mangopi mq1rdw1: Lock kernel headers to 6.6.x. + + Updated/fixed packages: apache, botan, + brcmfmac_sdio-firmware-rpi, clamav, cmake, containerd, + crucible, dmenu-wayland, dmraid, docker-cli, docker-engine, + domoticz, fmc, freeipmi, gdal, gdb, giflib, gnupg2, go, + google-breakpad, googlefontdirectory, imx-gpu-viv, inih, + libassuan, libblockdev, libcurl, libdrm, libgpg-error, + libksba, libnpth, libressl, libtracefs, lxc, mbedtls, mesa3d, + oatpp, opensc, oprofile, perl-net-ssleay, petitboot, + php-xdebug, psplash, python-pypng, python-segno, + python-service-identity, python3, skeleton-init-sysv, systemd, + tcf-agent, tiff, uuu, wolfssl, xmrig, zic + + Issues resolved (http://bugs.uclibc.org): + + #14416: Mesa3D missing DRI3 support for various Gallium drivers + #16009: 'select' does not work with 'choice' + #16036: android-tools version is too old + +2024.02.1, released March 26th, 2024 + + Important / security related fixes. + + Toolchain: Dropped old Codesourcery ARM / AARCH64 and + Codescape MIPS external toolchains as they use old Glibc + versions not compatible with 64-bit time_t + + Defconfigs: Starfive visionfive2: Use correct genimage + configuration. TI am62x_sk / am64_sk: Use correct optee-os + platform setting and use a fixed ti-k3-r5-loader version. + + Infrastructure: Use git to fetch CVE data from the FKIE + repository to work around an issue with missing meta files in + the releases. + + Updated/fixed packages: axel, bash, bitcoin, botan, busybox, + containerd, cryptsetup, cvs, docker-compose, docker-engine, + ell, expat, giflib, gmp, go, harfbuzz, intel-gmmlib, + intel-mediadriver, iwd, kodi, kodi-pvr-hts, libcgroup, libdrm, + libgit2, libkrb5, libnfs, libunwind, libvpl, + libtorrent-rasterbar, libxml2, linux, mariadb, mesa3d, + mmc-utils, msmtp, multipath-tools, neon, onevpl-intel-gpu, + openssh, openvpn, osm2pgsql, owfs, php, poco, policycoreutils, + postgis, privoxy, pulseaudio, pure-ftpd, putty, + python-configshell-fb, python-rtslib-fb, rauc, restorecond, + spice, squid, targetcli-fb, tzdata, util-linux, vdr, xmrig, + xvisor, zic + + Issues resolved (http://bugs.uclibc.org): + + #15997: Build Squid with GCC12.3 in Buildroot 2024.02 will fail + +2024.02, released March 5th, 2024 + + Various fixes. + + Updated/fixed packages: botan, conmon, dash, efivar, expat, + fluent-bit, gcc, gst1-vaapi, libcoap, libselinux, liburing, + libva, libxml2, ltp-testsuite, luvi, newlib-bare-metal, + nginx-naxsi, octave, openblas, openvmtools, parted, poco, + powertop, python-aiohttp, python-cheroot, python-django, + python-grpcio, rauc, rauc-hawkbit-updater, rtl8822cs, rust, + sdl2, shadow, spirv-tools, strace, strongswan, tar, tllist, + vim + + Removed packages: mysql (virtual), oracle-mysql, + python-setuptools-scm-git-archive + +2024.02-rc2, released March 1st, 2024 + + Fixes all over the tree. + + Infrastructure: Various fixes for pkg-stats after moving to + the FKIE CVE feed and support for older python/ijson versions. + + Updated/fixed packages: ccache, dracut, erlang, freetype, + libheif, libpthsem, micropython, newlib-bare-metal, openssh, + poco, python3, redis, rhash, shim, squid, syslinux + +2024.02-rc1, released February 25th, 2024 + + Fixes all over the tree and new features. + + Toolchain: + + - GDB: Add version 14.1, default to 13.2. + + - uClibc-ng updated to 1.0.45 + + - Bootlin external toolchains updated to 2023.11-1, moving the + stable toolchains to GCC 12.3 / binutils 2.40 / GDB 13.2 / + glibc 2.38 / musl 1.2.4 / uClibc-ng 1.0.45 + + - Add support for building a bare metal toolchain suitable for + building firmware for certain (co-)processors, possibly + using a different CPU architecture than the main Buildroot + configuration. + + Default optimization level changed from optimize for size + (-Os) to optimize for speed (-O2). + + Support: Use the Fraunhofer FKIE JSON files for CVE matching + now that NVD is about to deprecate its feeds. + + New defconfigs: AMD Zynqmp kria kd240 and kr260, zcu104, Avnet + RZBoard V2L, Mangopi MQ1RDW2, NXP i.MX 93 11x11 EVK, QEMU + Riscv64 virt-efi, TI AM574x Industrial Development Kit + + Removed defconfigs: Zynq qmtech + + New packages: binutils-bare-metal, dmenu-wayland, fcft, foot, + firmware-ele-imx, ivi-homescreen, libjwt, libtraceevent, + libtracefs, libutempter, lua-ansicolors, lua-argparse, + lua-conciseserialization, lua-ubjson, minisign, + newlib-bare-metal, python-aiosqlite, python-annotated-types, + python-anyio, python-asyncssh, python-bitarray, + python-cachetools, python-contourpy, python-decouple, + python-fastapi-sessions, python-fastapi, + python-google-api-core, python-google-auth, + python-googleapis-common-protos, python-grpc-requests, + python-grpcio-reflection, python-grpcio, python-httpcore, + python-httpx, python-matplotlib-inline, python-ml-dtypes, + python-multipart, python-pydantic-core, python-pypng, + python-starlette, python-tcolorpy, python-trafaret, + python-urwid-readline, python-uvicorn, rlwrap, tllist + + Removed packages: davinci-bootcount (renamed to + uboot-bootcount), flickcurl, gmpc, libmpd, micropython-lib, + python-crossbar, python-pygame, tinymembench + + Issues resolved (http://bugs.uclibc.org): + + #10096: SH4 toolchain does not build Linux kernel magicpanelr2_.. + #15889: please update meson + #15898: Unable to boot syslinux.efi produced by buildroot (EFI 64-.. + #15910: USB keyboard is not working by default "raspberrypicm4io_.. + #15952: Grub fails to load large rootfs files + +2023.11.2, released March 1st, 2024 + + Important / security related fixes. + + Added CPE identifiers for a large number of packages. + + Updated/fixed packages: bayer2rgb-neon, brltty, c-ares, cog, + containerd, cpio, crda, criu, darkhttpd, davinci-bootcount, + dbus, depot-tools, dhcpcd, domoticz, environment-setup, expat, + faad2, falcosecurity-libs, flex, flutter-engine, + flutter-gallery, flutter-pi, flutter-sdk-bin, + freeradius-server, freerdp, frr, gesftpserver, glibc, gnutls, + go, gst1-devtools, gst1-libav, gst1-python, gst1-vaapi, + gst-omx, gstreamer1, haproxy, hiredis, joe, json-c, leptonica, + libcurl, libp11, libuwsc, libvips, libzenoh-pico, + linux-firmware, linux-headers, localedef, lua-http, lvm2, + lynx, mbedtls, micropython, minizip, mpfr, netatalk, ngrep, + onevpl, opencv4, opencv4-contrib, openssh, opus, petitboot, + php, python-aiohttp, python-bitarray, python-bitstring, + python-esptool, python-gunicorn, python-hpack, + python-html5lib, python-lmdb, python-mako, python-numpy, + python-oauthlib, python-sqlparse, python-wheel, qt5base, + qt6base, redis, runc, sdl2, sqlite, syslog-ng, sysstat, + util-linux, vulkan-loader, webkitgtk, weston, wireless-regdb, + wlroots, wpewebkit, xlib_libXpm, xterm, xwayland, yasm + + New packages: python-bitarray + + Issues resolved (http://bugs.uclibc.org): + + #10096: SH4 toolchain does not build Linux kernel magicpa.. + #15952: Grub fails to load large rootfs files + +2023.11.1, released January 15th, 2024 + + Important / security related fixes. + + Infrastructure: + + - Download: Revert a permission fixup step in the tarball + creation logic, which lead to a hash mismatch issue in two + cargo-vendored packages, ripgrep and sentry-cli. + + - Build: Pass GIT_DIR=. in the environment (through + HOST_MAKE_ENV/TARGET_MAKE_ENV) to the build steps to + workaround packages trying to detect if they are building in + a git checkout and getting confused when building in a sub + directory of a Buildroot git checkout. + + Defconfigs: Rock5b: Add download hashes for U-Boot and Linux + + Updated/fixed packages: apcupsd, arm-trusted-firmware, botan, + cjson, criu, cryptodev-linux, cups, dahdi-linux, dahdi-tools, + dbus, docker, dropbear, duktape, edk2, erlang, exim, faad2, + freeswitch, gcc, gdal, gdb, giflib, glibc, gnuplot, gnutls, + go, google-breakpad, gst-omx, gstd, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, ipcalc, jq, + json-for-modern-cpp, ksmbd-tools, libaio, libarchive, + libcamera, libcamera-apps, libcap-ng, libcgroup, libcurl, + libde265, libebml, libgtk3, libheif, libiec61850, libndns, + libostree, libraw, libsigsegv, libssh, libssh2, libuev, + libwebsockets, libzenoh-pico, liquid-dsp, lvm2, madplay, + mesa3d, micropython, minizip, mp4v2, nushell, + onevpl-intel-gpu, opensc, openssh, optee-client, orc, php, + pipewire, postgis, postgresql, proftpd, putty, python-brotli, + python-pysensors, python-sip, python-werkzeug, shim, squid, + strongswan, sway, tinyssh, tor, transmission, tree, udev, + uftp, valijson, wireshark, wlroots, wolfssl, + xserver_xorg-server, xwayland, + +2023.11, released December 4th, 2023 + + Various fixes. + + Defconfigs: Toradex apalis i.mx6: Add download hashes for + Linux and U-Boot. + + Updated/fixed packages: cog, freescale-imx, imagemagick, + libde265, libmemcached, libpjsip, libusb-compat, + libzenoh-pico, linux-tools, lttng-modules, mariadb, monit, + openfpgaloader, perl, putty, python-numpy, rtty, speechd, + wireshark, xenomai, xtables-addons, zfs + +2023.11-rc2, released November 29th, 2023 + + Fixes all over the tree. + + Defconfigs: Raspberry pi: Fix bluetooth autoprobing, + rockpro64: Fix U-Boot build, bump rootfs size, vim3: Use + device tree from Linux rather than from U-Boot. + + Updated/fixed packages: erlang, exfatprogs, flutter-engine, + flutter-sdk-bin, gcc, gsl, intel-microcode, janet, + kodi-pvr-hts, libgdiplus, libpam-tacplus, libxml2, + libzenoh-pico, memcached, motion, netsnmp, nodejs, oatpp, + openrc, opensc, perl, postgresql, python-msgpack, qemu, + refpolicy, samba4, squid, vim, vlc, xwayland, zfs + + Issues resolved (http://bugs.uclibc.org): + + #15856: Using BR2_CONFIG= on a different file-system... + +2023.11-rc1, released November 14th, 2023 + + Fixes all over the tree and new features. + + Architecture: MIPS IV (re-)added. The mutually exclusive ABI + selection dropped for PowerPC. + + Toolchain: + + - Support for GDB 13.2, make GDB 12.x the default + + - Glibc bumped to 2.38 + + - Bootlin external toolchains updated to 2023.08, bringing + support for Aarch64 BE with musl. + + - Motorola 68K w/MMU support added for glibc and musl. + + - License info added for GCC + + Infrastructure: + + - The CMake infrastructure now supports building packages with + ninja instead of make (based on _CMAKE_BACKEND). + + - The RPATH fixup done at the end of the build is now done in + parallel (according to BR2_JLEVEL). + + - Packages downloaded from Subversion repos no longer + retrieves svn:externals unless _SVN_EXTERNALS is set to + YES. + + - Packages where a free-form version/site can be specified + (E.G. Linux, U-Boot, ..) can now have the corresponding + tarballs of these custom downloads checked by the download + infrastructure based on .hash files in the global patch + directory. These hashes are optional unless + BR2_DOWNLOAD_FORCE_CHECK_HASHES is enabled. + + A utils/add-custom-hashes helper script has been added to + assist in managing such hash files. + + - Various improvements to utils/docker-run to handle external + (BR2_DL_DIR defined in environment) download directory, + proxy configuration, SELinux and out of tree (O=) builds. + + New defconfigs: AMD Zynq ZC702, ASUS Tinker-s rk3288, ICnova + A20-adb4006, Khadas vim3, Libre Computer ROC-RK3399-PC, + Microchip PolarFire SoC Icicle Kit, NXP imxrt1050-evk, Pine64 + pinecube, Sipeed LicheePi Nano, Synopsys ARC700 nSIM, TI + SK-AM62 and TI SK-AM64 + + New packages: ti-k3-boot-firmware, ti-k3-image-gen, + amlogic-boot-fip, criu, cutekeyboard, depot-tools, fft-eval, + firewalld, flutter-engine, flutter-gallery, flutter-pi, + flutter-sdk-bin, ledmon, libcanberra, libnvme, libsoup3, + libspdm, libucontext, libzenoh-pico, + microchip-hss-payload-generator, nodejs-bin, nushell, + nvidia-persistenced, oatpp, onevpl-intel-gpu, onevpl, + python-calver, python-distlib, python-jeepney, + python-jsonschema-specifications, python-kmod, + python-pysensors, python-referencing, python-segno, + python-tftpy, python-trove-classifiers, + python-types-python-dateutil, python-versioneer, + qoriq-fm-ucode, qt6core5compat, rauc-hawkbit-updater, + rust-bindgen, spirv-headers, spirv-tools, vulkan-loader, + vulkan-tools + + Removed packages: google-material-design-icons, libtextstyle, + python-pyxb + + Issues resolved (http://bugs.uclibc.org): + + #14366: Nodejs fails with "version `GLIBC_2.34' not found".. + #14741: e2fsck is failing during cronjob build where fail... + #15628: Missing dependencies in BR2_PACKAGE_PYTHON_MAKO + #15733: xfsprogs outdated + #15772: lz4 failed to compile with gcc 10.4.0 + #15778: strace comilation fails on Fedora39/gcc13 + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + #15808: connman is not supported on musl + #15814: C++ not supported by bootlin toolchain + #15820: make linux-menuconfig does not modify correct .config.. + #15823: Installing nodejs modules with native extensions ... + #15826: nodejs modules with native extensions fail to install + #15835: Incompatibility between network-manager and libcurl 8.4 + +2023.08.4, released December 4th, 2023 + + Important / security related fixes. + + Defconfigs: Raspberrypi: Fix DT overlay for autoproving of + bluetooth driver, Toradex apalis i.mx6: Add download hashes + for Linux and U-Boot. + + Updated/fixed packages: gcc, erlang, exfatprogs, gsl, + imagemagick, intel-microcode, libde265, libmemcached, + libpjsip, libxml2, mariadb, memcached, motion, netsnmp, perl, + postgresql, putty, rtty, samba4, speechd, squid, vim, vlc, + xenomai, xtables-addons, zfs + + Issues resolved (http://bugs.uclibc.org): + + #15856: Using BR2_CONFIG= on a different file-system... + +2023.08.3, released November 14th, 2023 + + Important / security related fixes. + + Per-package builds: Unbreak SDK relocation logic. Only drop + the hard links for the final host / target directory, fixing a + build time / size regression in 2023.08.2. + + Packages where a free-form version/site can be specified + (E.G. Linux, U-Boot, ..) can now have the corresponding + tarballs of these custom downloads checked by the download + infrastructure based on .hash files in the global patch + directory. These hashes are optional unless + BR2_DOWNLOAD_FORCE_CHECK_HASHES is enabled. + + A utils/add-custom-hashes helper script has been added to + assist in managing such hash files. + + Defconfigs: Avenger96: Downgrade to TF-A v2.5 to fix boot + issue since 2023.08, stm32mp157a-dk1, stm32mp157c-dk2: Unbreak + TF-A build, stm32mp157c-odessey: Use a fixed TF-A version for + reproducibility + + Updated/fixed packages: apache, arm-trusted-firmware, aufs, + aufs-util, azure-iot-sdk, casync, cjson, clamav, conmon, + cups-filters, dhcpcd, docker-cli, docker-engine, + freeradius-server, go, inadyn, ksmbd-tools, kvmtool, + libgdiplus, libgeos, libmemcached, libmdbx, libopenssl, + libosmium, libtommath, libupnp, libzlib, lightning, linux-pam, + lxc, mender, minizip-zlib, mpd, mxsldr, nano, nettle, + network-manager, nghttp2, nodejs-src, opencv4, + opencv4-contrib, openjdk-bin, openvpn, opusfile, paho-mqtt-c, + pango, perl-lwp-protocol-https, petitboot, php, pistache, + python-django, python-pycryptodomex, python-urllib3, + python-web2py, rabbitmq-c, redis, reproc, + riscv64-elf-toolchain, sedutil, snort3, suricata, tar, tiff, + tor, traceroute, vim, websocketpp, wireshark, wolfssl, + xdg-dbus-proxy, xen, xlib_libX11, xlib_libXpm, zabbix, zchunk + + Issues resolved (http://bugs.uclibc.org): + + #14741: e2fsck is failing during cronjob build where fail... + #15772: lz4 failed to compile with gcc 10.4.0 + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + #15820: make linux-menuconfig does not modify correct .config.. + #15823: Installing nodejs modules with native extensions ... + #15835: Incompatibility between network-manager and libcurl 8.4 + +2023.08.2, released October 15th, 2023 + + Important / security related fixes. + + Defconfigs: Freescale ARM: Add ATF patch to fix build issue + with binutils 2.39+. QEMU Aarch64-virt: Enable ACPI support + for EDK2. Visionfive2: Bump kernel to fix build issue with GCC + 13. + + Per-package builds: Do not use hard links for host / target + dirs, fixing issues with package rebuilds or post-build + scripts modifications. + + Infrastructure: Explicitly disable shuffle mode for Make >= + 4.4 where needed. + + Urandom-scripts: Move seedrng init script to S01 for earlier + random number entrophy initialization. + + Updated/fixed packages: at91bootstrap, batman-adv, bind, cups, + efl, enlightenment, exim, gcc, glibc, gnu-efi, go, gptfdisk, + grub2, gst-omx, gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rstp-server, gst1-rtsp-vaapi, gstreamer1, + gstreamer1-editing-services, gtkmm3, libcue, libcurl, + libfastjson, libhtp, libmodplug, librsvg, libvpx, libyang, + linux-pam, linux-tools, mbedtls, mosquitto, mutt, neon, + netsnmp, nmap, nodejs, olsr, openblas, opkg-utils, php, pound, + powertop, python-mako, python3, rauc, rockchip-mali, samba4, + sslh, stress-ng, suricata, syslog-ng, systemd, tar, unifdef, + urandom-scripts, usbguard, webkitgtk, wilc-driver, + wireless-regdb, wpewebkit + + Issues resolved (http://bugs.uclibc.org): + + #15628: Missing dependencies in BR2_PACKAGE_PYTHON_MAKO + #15808: connman is not supported on musl + #15814: C++ not supported by bootlin toolchain + +2023.08.1, released September 27th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, asterisk, bind, binutils, + conmon, cpio, docker-cli, docker-engine, e2fsprogs, erlang, + esp-hosted, expect, fail2ban, fio, freerdp, fstrcmp, gcc, gdb, + ghostscript, go, haproxy, hwloc, icu, irssi, libcoap, libcurl, + libde265, libheif, libiec61850, libjxl, libopenssl, libpjsip, + libqb, libraw, libssh, libuv, lldpd, mdadm, mutt, ne10, + netatalk, nodejs, nut, openblas, opensc, openvpn, petitboot, + php, pound, pppd, python-pytest, python3, qt5, + rtl8812au-aircrack-ng, sngrep, stress-ng, strongswan, sysstat, + tar, tcl, timescaledb, util-linux, vim, webkitgtk, webp, + wireshark, xserver_xorg-server, xterm, zbar, zxing-cpp, + zynaddsubfx + + Issues resolved (http://bugs.uclibc.org): + + #14366: Nodejs fails with "version `GLIBC_2.34' not found".. + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + +2023.08, released September 6th, 2023 + + Various fixes. + + Defconfigs: BeagleV: Fix build issue with binutils >= + 2.38. Hifive unleashed: U-Boot needs OpenSSL + + Updated/fixed packages: dt, grub2, heirloom-mailx, libgpgme, + libtommath, libxcrypt, log4cxx, mesa3d-demos, openjdk, + openjdk-bin, pam, pcm-tools, pixman, poppler, python-django, + python-ipython, python-pip, python-tornado, zeromq + + New packages: libdecor + +2023.08-rc3, released August 29th, 2023 + + Fixes all over the tree. + + Defconfigs: Avenger96: Bump ATF to 2.9 to fix build warnings + with binutils >= 2.39. CI20: Bump kernel to 5.4.254 to fix + build issue with GCC 12. Hifive unleashed: Add missing + pylibfdt dependency / bump kernel to 5.10.109 to fix build + issue GCC 12. PC x86-64 bios/elf: Add missing libelf + dependency. Sipeed maix sdcard: Fix build issues with + binutils >= 2.38 + + Updated/fixed packages: check, clamav, cups, esp-hosted, + f2fs-tools, freeswitch, gcc, gmp, libks, libmodsecurity, + mosquitto, mpg123, network-manager, php, postgresql, python3, + ramspeed, rtl8189fs, rust, rust-bin, samba4, screen, zlib-ng + +2023.08-rc2, released August 20th, 2023 + + Fixes all over the tree. + + Toolchains: Only show external toolchains based on a GCC + version supporting the selected architecture + variant. Correctly mark Codescape MIPS external toolchains as + not providing a gdbserver. + + Defconfigs: Andes ae350_45: Drop custom U-Boot march setting, + breaking builds with GCC 12. Nitrogen*: Bump + U-Boot/Linux. Nitrogen8*: Use ATF 2.8, fixing array bounds + errors. QEMU m68k: Add Linux patch to fix build issue with + binutils >= 2.41. Raspberrypi*: Enable console on HDMI when + using systemd as well. + + Updated/fixed packages: at91dataflashboot, aubio, berkeleydb, + bwm-ng, ccache, check, chocolate-doom, compiler-rt, composer, + conmon, connman, dav1d, diffutils, dracut, e2fsprogs, elf2flt, + esp-hosted, flite, gcc, gdb, go-bootstrap-stage2, + intel-microcode, kodi-imagedecoder-heif, less, libcoap, + libedit, libglib2, libksba, liblo, libserial, log4cxx, lsof, + luvi, meson, mosquitto, mpd, mpv, mv-ddr-marvell, nftables, + ntpsec, openssh, optee-test, perftest, python-botocore, + python-docker, python-pylibfdt, python3, screenfetch, + sentry-cli, sngrep, stellarium, trinity, tvheadend, uboot, + uclibc, util-linux, xfsprogs, yajl + + New packages: nftables-python, xlib_libXpresent + + Removed packages: lpc32xxcdl + +2023.08-rc1, released August 5, 2023 + + Numerous package updates and fixes, additional runtime tests. + + Toolchain: + - Toolchains from ARM (for ARM, AArch64 and AArch64 BE) + updated to 12.2. + - Support for binutils 2.40 and 2.41 added, binutils 2.37 and + 2.38 removed, binutils 2.40 is now the default + - Support for gcc 13 added, gcc 10 removed, gcc 12 is now the + default + + Architectures: + - Additional x86-64 variants added + - RISC-V vector extension support added + + Infrastructure: + - Go now built in 3 stages to be able to update to Go 1.20.x. + + New defconfigs: rock5b + + Removed defconfigs: qemu_sparc_ss10 + + New packages: composer, conmon, dfu-programmer, esp-hosted, + kodi-imagedecoder-heif, kodi-imagedecoder-raw, libde2654, + libdisplay-info, libheif, llvm-cmake, llvm-libunwind, + lua-dkjson, mbpoll, mdnsd, mhz, opencsd, python-libconf, + python-blinker, python-midiutil, python-rdps-py, python-wheel, + qt6svg, redis-plus-plus, rockchip-rkbin, rtl8822cs, swaybg, + swugenerator + + Removed packages: libasplib, ocf-linux, tovid + +2023.05.3, released September 26th, 2023 + + Important / security related fixes. + + Defconfigs: PC x86-64 bios/efi: Needs libelf. Raspberrypi: + Also enable HDMI console when systemd is used. + + Updated/fixed packages: agentpp, asterisk, at91dataflashboot, + aubio, berkeleydb, bind, bwm-ng, chocolate-doom, clamav, + compiler-rt, connman, cpio, cups, dav1d, diffutils, dracut, + dt, expect, fail2ban, fio, flite, freerdp, freeswitch, + fstrcmp, gcc, gdb, ghostscript, gmp, go, grub2, haproxy, + heirloom-mailx, hwloc, icu, intel-microcode, irssi, less, + libcoap, libcurl, libglib2, libiec61850, libjxl, libks, + libksba, libmodsecurity, libpjsip, libqb, libraw, libssh, + libtommath, lldpd, log4cxx, lsof, mdadm, mosquitto, mpd, mpv, + mutt, mv-ddr-marvell, ne10, netatalk, network-manager, + nftables, nodejs, ntpsec, nut, openblas, openjdk, openjdk-bin, + opensc, openssh, pcm-tools, perftest, petitboot, php, pixman, + poppler, postgresql, python-django, python-ipython, + python-pip, python-pylibfdt, python-tornado, python3, qt5, + ramspeed, rtl8189fs, rtl8812au-aircrack-ng, samba4, screen, + screenfetch, sngrep, sofia-sip, stellarium, stress-ng, + strongswan, sysstat, tar, tcl, uboot, uclibc, vim, webkitgtk, + webp, wireshark, xfsprogs, xserver_xorg-server, xterm, yajl, + zbar, zxing-cpp + + New packages: xlib_libXpresent + +2023.05.2, released August 31th, 2023 + + Important / security related fixes. + + Toolchains: Correctly mark Bootlin external toolchains as + having OpenMP support. + + Arch: Mark Alderlake x86 variants as no AVX512 support. + + Utils: Ensure utils/docker-run correctly supports git + worktrees. + + Defconfigs: Beaglebone: U-Boot needs OpenSSL. Beaglebone qt5: + Enable support for green wireless variant. + + Updated/fixed packages: arm-trusted-firmware, bind, cairo, + cmocka, containerd, crudini, cryptodev-linux, dmidecode, + ffmpeg, firmware-imx, gcc, gdb, ghostscript, gkrellm, + gnuradio, go, igh-ethercat, iperf3, kodi, libcurl, libopenssl, + libssh, libubootenv, libuhttpd, linux-tools, mali-driver, + nfs-utils, ntp, openssh, php, pipewire, python-pysmb, + python-iniparse, python-iptables, rtl8189es, rtl8189fs, + sam-ba, samba4, seatd, shadow, speex, + sunxi-mali-utgard-driver, supertuxkart, sysdig, systemd, tor, + tpm2-tss, transmission, uboot, unzip, webkitgtk, + wireless-regdb, wolfssl, wpebackend-fdo, wpewebkit, xenomai, + yaml-cpp, yavta + + Issues resolved (http://bugs.uclibc.org): + + #15634: fluidsynths refers to missing libgomp.so.1 + +2023.05.1, released July 17th, 2023 + + Important / security related fixes. + + Defconfigs: Chiliboard, mx53loco: fix build on hosts without + openssl development headers. + Nitrogen*: fix build on hosts without openssl or pylibfdt. + Hifive unleased: Bump OpenSBI to 1.2 to fix a build issue. + Raspberrypi: Handle DTB overlays for all variants + + Updated/fixed packages: agentpp, alsa-plugins, assimp, audit, + bind, busybox, c-ares, check, cups, dav1d, dbus, fftw, + fluidsynth, freetype, fwts, ghostscript, gnupg2, gnuradio, + graphicsmagick, gupnp, haproxy, heimdal, hwdata, jhead, kodi, + libcap, libgcrypt, libgpg-error, libgtk3, libmdbx, libxslt, + mesa3d, mesa3d-demos, mpir, nodejs, php, pkgconf, + python-cryptography, python-dbus-fast, python-django, + python-docker, python-pyicu, python-requests, python3, qemu, + qt6, quickjs, rtl8192eu, samba4, sconeserver, syslog-ng, + taglib, tiff, wine, wireshark, xdriver_xf86-video-dummy, + xlib_libX11, + + Issues resolved (http://bugs.uclibc.org): + + #15643: ERROR: No hash found for linux-6.3.8.tar.xz + #15658: hifive_unleashed_defconfig: Linker errors in opensbi-0.9 + #15661: mx53loco_defconfig: Dependency on OpenSSL missing + #15664: Can't compile mesa3d with v3d driver + #15673: PKGCONF_SITE in pkgconf.mk points to parked domain + #15682: pkgconf: no longer able to download source from... + +2023.05, released June 7th, 2023 + + Fixes all over the tree. + + Infrastructure: Add BR2_HOST_CMAKE_AT_LEAST_* for packages + needing a newer host-cmake than what is currently enforced + (3.18) - Up to the version provided by the cmake package (3.22). + + Defconfigs: QEMU s390x: Bump rootfs size to 120MB to make room + for kernel modules. + + Updated/fixed packages: at-spi2-core, go, libdeflate, libjxl, + perl-http-message, php, redis + +2023.05-rc3, released June 4th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: bird, containerd, earlyoom, gcc, + ipython, kexec, kodi-skin-confluence, libcurl, libopenssl, + mesa3d, minidlna, mpd, openjdk, openjdk-bin, + python-matplotlib, sdl2_net, vdr + + New packages: python-asttokens, python-executing, + python-pure-eval, python-stack-data + +2023.05-rc2, released May 28th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: busybox, clamav, crudini, + kodi-pvr-vbox, libcurl, libmnl, libpqxx, libressl, libssh, + llvm, lua, mesa3d, perl-http-message, python-can, + python-django, sdl2_mixer, webkitgtk, zfs, znc + + New packages: perl-clone + + Issues resolved (http://bugs.uclibc.org): + + #15421: qemu_aarch64_ebbr_defconfig: Missing Linux kernel source.. + #15581: qemu_ppc_mpc8544ds_defconfig: Fails due to non-working patch + +2023.05-rc1, released May 15th, 2023 + + Fixes all over the tree and new features. + + Toolchain: + - glibc update to 2.37, uClibc-ng updated to 1.0.43 + - suppoert 6.2.x / 6.3.x kernel headers + + Infrastucture: + - go: Ensure go versions of os/user and net are used for + static builds so CGO is not used + + - rust / cargo: Correctly split up rust flags for host and + target builds + + New defconfigs: STM32F769 discovery + + New packages: petitboot, python-evdev, python-hwdata, + python-pyproject-hooks, shadow + + Removed packages: atk, at-spi2-atk, optee-benchmark, + python-pep517 + + Issues resolved (http://bugs.uclibc.org): + + #14356: cronstamp jobs are not performed with bumped version of... + #15191: pc_x86_64_efi_defconfig doesn't run on real hardware + #15306: glibc build fails in Docker container + #15321: docker-engine now requires libseccomp by default + #15376: Libiconv config + #15461: QtVirtualKeyboard segfaults + +2023.02.10, released March 1st, 2024 + + Important / security related fixes. + + Added CPE identifiers for a large number of packages. + + Updated/fixed packages: bayer2rgb-neon, brltty, c-ares, + containerd, crda, darkhttpd, davinci-bootcount, dbus, + domoticz, environment-setup, expat, faad2, falcosecurity-libs, + flex, freeradius-server, freerdp, frr, gesftpserver, glibc, + gnutls, go, gst1-devtools, gst1-libav, gst1-python, + gst1-vaapi, gst-omx, gstreamer1, haproxy, joe, json-c, + leptonica, libcurl, libuwsc, libvips, linux-firmware, + linux-headers, localedef, lua-http, lvm2, lynx, mbedtls, + micropython, minizip, mpfr, netatalk, ngrep, opencv4, + opencv4-contrib, openssh, opus, php, python-aiohttp, + python-esptool, python-gunicorn, python-hpack, + python-html5lib, python-lmdb, python-mako, python-numpy, + python-oauthlib, python-sqlparse, qt5base, qt6base, redis, + runc, sdl2, sqlite, sysstat, uuu, webkitgtk, wireless-regdb, + wpewebkit, xlib_libXpm, xterm, xwayland, yasm + + Issues resolved (http://bugs.uclibc.org): + + #10096: SH4 toolchain does not build Linux kernel magicpa.. + #15952: Grub fails to load large rootfs files + +2023.02.9, released January 15th, 2024 + + Important / security related fixes. + + Infrastructure: + + - Download: Revert a permission fixup step in the tarball + creation logic, which lead to a hash mismatch issue in two + cargo-vendored packages, ripgrep and sentry-cli. + + - Build: Pass GIT_DIR=. in the environment (through + HOST_MAKE_ENV/TARGET_MAKE_ENV) to the build steps to + workaround packages trying to detect if they are building in + a git checkout and getting confused when building in a sub + directory of a Buildroot git checkout. + + Updated/fixed packages: apcupsd, arm-trusted-firmware, botan, + cjson, cups, dropbear, duktape, edk2, exim, faad2, freeswitch, + gcc, gdal, gdb, giflib, glibc, go, google-breakpad, gst-omx, + gstd, gst1-devtools, gst1-libav, gst1-plugins-bad, + gst1-plugins-base, gst1-plugins-good, gst1-plugins-ugly, + gst1-python, gst1-rtsp-server, gst1-vaapi, gstreamer1, + gstreamer1-editing-services, ipcalc, jq, json-for-modern-cpp, + ksmbd-tools, libaio, libcamera, libcap-ng, libcurl, libebml, + libgtk3, libiec61850, libraw, libsigsegv, libssh, libssh2, + libuev, libwebsockets, liquid-dsp, lvm2, madplay, mesa3d, + micropython, mp4v2, opensc, openssh, orc, php, pipewire, + postgis, postgresql, proftpd, putty, python-sip, + python-werkzeug, rng-tools, shim, squid, strongswan, sway, + tinyssh, tor, tree, uftp, valijson, wireshark, wolfssl, + xserver_xorg-server, xwayland + +2023.02.8, released December 4th, 2023 + + Important / security related fixes. + + Defconfigs: Raspberrypi: Fix DT overlay for autoproving of + bluetooth driver, Toradex apalis i.mx6: Add download hashes + for Linux and U-Boot. + + Updated/fixed packages: exfatprogs, gcc, imagemagick, + intel-microcode, libpjsip, libxml2, mariadb, memcached, + motion, netsnmp, perl, postgresql, rtty, samba4, speech, + squid, vim, vlc, xenomai, xtables-addons, zfs + + Issues resolved (http://bugs.uclibc.org): + + #15856: Using BR2_CONFIG= on a different file-system... + +2023.02.7, released November 14th, 2023 + + Important / security related fixes. + + Per-package builds: Unbreak SDK relocation logic. Only drop + the hard links for the final host / target directory, fixing a + build time / size regression in 2023.02.6. + + Packages where a free-form version/site can be specified + (E.G. Linux, U-Boot, ..) can now have the corresponding + tarballs of these custom downloads checked by the download + infrastructure based on .hash files in the global patch + directory. These hashes are optional unless + BR2_DOWNLOAD_FORCE_CHECK_HASHES is enabled. + + A utils/add-custom-hashes helper script has been added to + assist in managing such hash files. + + Defconfigs: stm32mp157a-dk1, stm32mp157c-dk2: Unbreak TF-A + build, stm32mp157c-odessey: Use a fixed TF-A version for + reproducibility + + Updated/fixed packages: apache, arm-trusted-firmware, aufs, + aufs-util, azure-iot-sdk, cjson, cups-filters, clamav, dhcpcd, + freeradius-server, go, htop, ksmbd-tools, kvmtool, libgdiplus, + libopenssl, libosmium, libtommath, libupnp, libzlib, lxc, + mender, minizip-zlib, mpd, mxsldr, nano, nettle, + network-manager, nghttp2, nodejs, opencv4, opencv4-contrib, + openjdk-bin, openvpn, opusfile, paho-mqtt-c, + perl-lwp-protocol-https, php, python-django, python-urllib3, + python-web2py, rabbitmq-c, redis, riscv64-elf-toolchain, + suricata, tar, tiff, tor, traceroute, vim, websocketpp, + wireshark, wolfssl, xdg-dbus-proxy, xen, xlib_libX11, + xlib_libXpm, zabbix, zchunk + + Issues resolved (http://bugs.uclibc.org): + + #14741: e2fsck is failing during cronjob build where fail... + #15772: lz4 failed to compile with gcc 10.4.0 + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + #15820: make linux-menuconfig does not modify correct .config.. + #15823: Installing nodejs modules with native extensions ... + #15835: Incompatibility between network-manager and libcurl 8.4 + +2023.02.6, released October 16th, 2023 + + Important / security related fixes. + + Per-package builds: Do not use hard links for host / target + dirs, fixing issues with package rebuilds or post-build + scripts modifications. + + Infrastructure: Explicitly disable shuffle mode for Make >= + 4.4 where needed. + + Urandom-scripts: Move seedrng init script to S01 for earlier + random number entrophy initialization. + + Go: Bump to 1.20.x as 1.19.x is now EOL and affected by + security issues. + + Updated/fixed packages: at91bootstrap, bind, cups, efl, + enlightenment, exim, gcc, glibc, gnu-efi, go, go-bootstrap, + gptfdisk, gst-omx, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rstp-server, + gst1-rtsp-vaapi, gstreamer1, gstreamer1-editing-services, + libcue, libcurl, libfastjson, libhtp, libmodplug, librsvg, + libvpx, libyang, linux-tools, mbedtls, mosquitto, mutt, neon, + netsnmp, nmap, nodejs, olsr, openblas, opkg-utils, php, + powertop, python-mako, python3, rockchip-mali, samba4, sslh, + suricata, tar, unifdef, unrandom-scripts, webkitgtk, + wireless-regdb, wpewebkit + + Issues resolved (http://bugs.uclibc.org): + + #15628: Missing dependencies in BR2_PACKAGE_PYTHON_MAKO + #15808: connman is not supported on musl + #15814: C++ not supported by bootlin toolchain + +2023.02.5, released September 27th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, asterisk, at91dataflashboot, + aubio, berkeleydb, bind, bwm-ng, chocolate-doom, clamav, + compiler-rt, connman, cups, dav1d, diffutils, dracut, dt, + expect, fail2ban, fio, flite, freerdp, freeswitch, fstrcmp, + gcc, gdb, ghostscript, gmp, go, grub2, haproxy, + heirloom-mailx, hwloc, icu, intel-microcode, irssi, libcoap, + libcurl, libiec61850, libjxl, libks, libksba, libmodsecurity, + libpjsip, libqb, libraw, libssh, libtommath, less, lldpd, + log4cxx, lsof, mdadm, mosquitto, mpd, mutt, mv-ddr-marvell, + ne10, netatalk, network-manager, nftables, nodejs, ntpsec, + nut, openblas, openjdk, openjdk-bin, opensc, openssh, + pcm-tools, perftest, php, pixman, poppler, postgresql, pppd, + python-django, python-ipython, python-pip, python-pylibfdt, + python-tornado, python3, qt5, ramspeed, rtl8189fs, samba4, + screen, screenfetch, sngrep, sofia-sip, stellarium, + strongswan, sysstat, tar, tcl, uboot, uclibc, vim, webkitgtk, + webp, wireshark, xfsprogs, xserver_xorg-server, xterm, yajl, + zbar, zxing-cpp + + Issues resolved (http://bugs.uclibc.org): + + #14366: Nodejs fails with "version `GLIBC_2.34' not found".. + #15754: The docker-engine and docker-cli versions are not... + #15787: atmel_sama5d3_xplained_mmc_defconfig: Missing... + #15790: at91sam9x5ek_dev_defconfig: Missing... + +2023.02.4, released August 31th, 2023 + + Important / security related fixes. + + Toolchains: Correctly mark Bootlin external toolchains as + having OpenMP support. + + Arch: Mark Alderlake x86 variants as having no AVX512 support. + + Utils: Ensure utils/docker-run correctly supports git + worktrees. + + Defconfigs: Beaglebone qt5: Enable support for green wireless + variant. + + Updated/fixed packages: arm-trusted-firmware, bind, cairo, + cmocka, containerd, crudini, dmidecode, ffmpeg, freescale-imx, + gcc, gdb, ghostscript, gkrellm, gnuradio, go, heimdall, + iperf3, libcurl, libmodsecurity, libopenssl, libssh, + libubootenv, libuhttpd, linux-tools, ntp, openssh, php, + pipewire, python-iniparse, python-iptables, python-pysmb, + rtl8189fs, sam-ba, samba4, seatd, speex, supertuxkart, sysdig, + tor, tpm2-tss, uboot, unzip, webkitgtk, wireless-regdb, + wolfssl, wpebackend-fdo wpewebkit, xenomai, yaml-cpp, yavta + + Issues resolved (http://bugs.uclibc.org): + + #15634: fluidsynths refers to missing libgomp.so.1 + +2023.02.3, released July 17th, 2023 + + Important / security related fixes. + + Defconfigs: Chiliboard: fix build on hosts without openssl + development headers. + Nitrogen*: fix build on hosts without openssl or pylibfdt. + Raspberrypi: Handle DTB overlays for all variants + + Updated/fixed packages: agentpp, alsa-plugins, assimp, bind, + busybox, dbus, c-ares, check, dav1d, fluidsynth, fftw, fwts, + ghostscript, gnupg2, gnuradio, gupnp, haproxy, heimdal, + hwdata, jhead, libcap, libgcrypt, libgpg-error, libgtk3, + libxslt, mesa3d-demos, mpir, nodejs, php, pkgconf, + python-cryptography, python-dbus-fast, python-django, + python-pyicu, python-requests, python3, qt6, quickjs, + sconeserver, taglib, tiff, wireshark, xdriver_xf86-video-dummy + + Issues resolved (http://bugs.uclibc.org): + + #15643: ERROR: No hash found for linux-6.3.8.tar.xz + #15673: PKGCONF_SITE in pkgconf.mk points to parked domain + #15682: pkgconf: no longer able to download source from... + +2023.02.2, released June 16th, 2023 + + Important / security related fixes. + + Infrastructure: Add BR2_HOST_CMAKE_AT_LEAST_* for packages + needing a newer host-cmake than what is currently enforced + (3.18) - Up to the version provided by the cmake package (3.22). + + utils/docker-run: Now correctly handles git + workdirs/worktrees. + + Defconfigs: QEMU s390x: Bump rootfs size to make room for + kernel modules, Stm32f4xx: Tweak config to save RAM, Xilinx + Versal vck190: Use correct (A72) CPU variant + + Updated/fixed packages: atkmm, bird, busybox, cairomm1_14, + cmake, containerd, crudini, cups, delve, docker-cli, + docker-engine, earlyoom, edid-decode, fluent-bit, freeswitch, + gcc, gdb, glibmm_2_66, gnupg2, go, gptfdisk, graphicsmagick, + intel-microcode, libass, libcurl, libdeflate, libgeos, + libgtk3, libjxl, libnftl, libopenssl, libressl, libssh, llvm, + lua, mesa3d, micropython, minidlna, moby-buildkit, mpd, mupdf, + ncurses, nftables, openjdk, openjdk-bin, php, postgresql, + python-can, python-django, python-django, python-ipython, + python-matplotlib, python-mupdf, python-requests, python3, + qemu, redis, rpm, runc, sdl2_mixer, tzdata, uclibc, vdr, + wilc-firmware, xapp_xcalc, xapp_xdpyinfo, xapp_xinput, + xapp_xwininfo, xdata_xbitmaps, xdata_xcursor-themes, + xdriver_xf86-input-mouse, xdriver_xf86-video-ark, + xdriver_xf86-video-geode, xdriver_xf86-video-neomagic, + xfont_encodings, xlib_libX11, xlib_libXaw, xlib_libXi, + xlib_libXfixes, xlib_libXft, xlib_libXpm, zfs, znc + + New packages: perl-clone, perl-http-message, python-asttokens, + python-executing, python-pure-eval, python-stack-data + + Issues resolved (http://bugs.uclibc.org): + + #15421: qemu_aarch64_ebbr_defconfig: Missing Linux kernel source code + +2023.02.1, released May 9th, 2023 + + Important / security related fixes. + + Infrastucture: + - go: Ensure go versions of os/user and net are used for + static builds so CGO is not used + + - rust / cargo: Correctly split up rust flags for host and + target builds + + Defconfigs: Olimex a20 olinuxino lime*: Bring up network at + boot, stmf469 disco sd: Lock U-Boot version + + Updated/fixed packages: agentpp, apache, bluez5_utils, + ca-certificates, containerd, coremark, dcron, dnsmasq, + docker-cli, docker-engine, efivar, eudev, ffmpeg, flann, + fluidsynth, git, go, gst-omx, gst1-devtools, gst1-libav, + gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good, + gst1-plugins-ugly, gst1-python, gst1-rtsp-server, gst1-vaapi, + gstreamer1, gstreamer1-editing-services, intel-microcode, + kexec, libcurl, libite, libgtk3, libmicrohttpd, libxml2, + linux-tools, lua, mali-driver, matio, mdadm, nginx, openocd, + openssh, php, poppler, postgresql, python-web2py, qt6base, + readline, rtl8189fs, rtl8723ds, rtl8812au-aircrack-ng, runc, + rust, rust-bin, s390-tools, samba4, sdl2, snmppp, sudo, + systemd, tcpdump, uclibc, vim, webkitgtk, wireshark, + wpewebkit, xr819-radio, xserver_xorg-server, zeek + + Issues resolved (http://bugs.uclibc.org): + + #14356: cronstamp jobs are not performed with bumped version of... + #15306: glibc build fails in Docker container + #15376: Libiconv config + #15461: QtVirtualKeyboard segfaults + +2023.02, released March 12th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: ace, apache, audit, bridge-utils, + docker-engine, go, gtkmm3, janet, libbpf, libev, libgcrypt, + libgpg-error, libmad, linux, mesa3d, network-manager, nut, + pcre2, php, rdma-core, rsync, rtl8821cu, rtl_433, + s6-linux-utils, speechd, uqmi, xdriver_xf86-video-qxl, znc + + New packages: atkmm2_28, cairomm1_14, glibmm2_66, libsigc2, + pangomm2_46, python-glslang + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15321: docker-engine now requires libseccomp by default + +2023.02-rc3, released March 8th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: apr, bash, docker-engine, exfat, + exfat-utils, f2fs-tools, gensio, gr-osmosdr, libcurl, libglfw, + libolm, libpcap, libpjsip, linux, mender, mpv, + multipath-tools, opus, paho-mqtt-c, proftpd, pugixml, + pulseaudio, qemu, quazip, quickjs, rtl8189es, rtl8821cu, + uacme, uqmi, wpebackend-fdo, + +2023.02-rc2, released February 27th, 2023 + + Fixes all over the tree. + + Updated/fixed packages: asterisk, at91dataflashboot, bind, + efivar, erlang, flac, fluent-bit, freerdp, gcc, gdal, gerbera, + gnuradio, gqrx, haproxy, hawktracer, imx-gpu-g2d, + intel-gmmlib, libarchive, libblockdev, libcamera-apps, libjxl, + libmodsecurity, libsigrokdecode, lightning, lirc-tools, + lttng-babeltrace, modem-manager, modsecurity2, + multipath-tools, mutt, mxs-bootlets, netsurf, network-manager, + nginx-naxsi, ntpsec, opensbi, optee-client, pcm-tools, + php-xdebug, pistache, postgresql, proxychains-ng, + python-m2crypto, python-numpy, python-webargs, + python-werkzeug, rtl8723bu, rtty, speechd, sudo, systemd, + tiff, tmux, wilc-driver, wpa_supplicant, xerces, + xtables-addons, xwayland, zabbix + + Removed packages: uccp420wlan + +2023.02-rc1, released February 20th, 2023 + + Numerous package updates and many (62) new packages. + + Toolchain: + + - The check for access to "unsafe" (E.G. from the build host) + header files and libraries by the cross compiler is now + unconditionally enabled. + + - Bootlin external toolchains updated to 2022.08 + + - The handling of the CCACHE_* environment variables by the + toolchain wrapper is now more strict, causing the variables + to only be exported when BR2_CCACHE is enabled. + + Infrastructure: + + - Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + - Legal-info: Stop warning about not saving sources for local + / override packages if _REDISTRIBUTE is set to NO. + + - Go: Ensure our go build and module cache is used, even for the + download step. + + - Cargo: CARGO_HOME (the location where cargo stores it + downloaded artifacts) is now located under DL_DIR rather + than in HOST_DIR/share/cargo, ensuring it is shared between + builds. + + Misc: + + - Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + - Ext2: Year 2038+ compatible inodes are now used by default, + independently of the filesystem size. + + - Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + New defconfigs: i.MX8mn BSH SMM S2 / pro, QEMU ARM EBBR, + Sipeed Lichee rv / rv dock, Starfive Visionfive2, Xilinx Versal + VCK190. + + New packages: catch2, cli11, dotconf, edk2-non-osi, + fluent-bit, fxdiv, hddtemp, highway, imx-vpu-hantro-daemon, + libjxl, libsolv, libunibreak, neon-2-sse, open-iscsi, + opencv4-contrib, perftest, perl-image-exiftool, + python-apispec, python-async-generator, python-cppy, + python-dbus-fast, python-dicttoxml2, python-flask-smorest, + python-h11, python-hkdf, python-magic-wormhole, + python-magic-wormhole-mailbox-server, + python-magic-wormhole-transit-relay, python-marshmallow, + python-munch, python-outcome, python-pycrate, python-pyspnego, + python-reedsolo, python-selenium, python-smbprotocol, + python-sniffio, python-spake2, python-trio, + python-trio-websocket, python-uhid, python-webargs, + python-wsproto, qt5speech, qt6serialbus, rdma-core, reproc, + rtl8723ds-bt, rtl8821cu, sexpect, speechd, sscep, stb, sway, + termcolor, ti-k3-r5-loader, tl-expected, unifdef, + versal-firmware, xwayland, z3 + + Removed packages: docker-proxy, elixir, gummiboot, + python-bunch, python-m2r, sun20i-d1-spl, ucl, + xdriver_xf86-input-keyboard, xdriver_xf86-video-glint, + xdriver_xf86-video-imx-viv, xdriver_xf86-video-tga + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + #15271: no start-qemu.sh + #15281: Error compiling GDAL library for RPi-64 if libgdal-dev install.. + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + #15331: Warning on python-flit-core license when generating legal info + +2022.11.3, released March 18th, 2023 + + Important / security related fixes. + + Updated/fixed packages: ace, apache, apr, apr-util, asterisk, + at91dataflashboot, audit, bash, bind, bridge-utils, clamav, + dmalloc, efivar, erlang, exfat, exfat-utils, f2fs-tools, gcc, + gdal, gensio, gerbera, git, glslsandbox-player, go, haproxy, + hawktracer, intel-gmmlib, ipmiutil, less, libblockdev, + libcurl, libev, libgcrypt, libglfw, libmad, libmdbx, + libmodsecurity, libolm, libpjsip, lirc-tools, + lttng-babeltrace, mender, mpv, mutt, mxs-bootlets, netsurf, + ntpsec, nut, opensbi, opus, paho-mqtt-c, pcm-tools, php, + pistache, proftpd, proxychains-ng, pulseaudio, + python-cryptography, python-django, python-m2crypto, + python-numpy, python-werkzeug, qemu, quazip, quickjs, + rockchip-mali, rsync, s6-linux-utils, sudo, tiff, uacme, uqmi, + webkitgtk, wilc-driver, wpa_supplicant, wpewebkit, + xdriver_xf86-video-qxl, znc + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15361: Buildroot linking error on Apple Silicon + +2022.11.2, released March 1st, 2023 + + Important / security related fixes. + + Fix make O=..._defconfig builds (regression in 2022.11.1). + + A number of additional/stricter checks have been added to + ./utils/check-package. + + Build host dependencies check extended to check for a number + of specific perl modules to better handle distributions (like + Fedora) with very fine grained perl packages. Also ensure + build host has git >= 2.0.0 when using packages written in + go/rust because the vendoring may need it. + + Defconfigs: ASUS tinker rk3288: Fix boot issue related to TPL + + Updated/fixed packages: afboot-stm32, apache, barebox, c-ares, + elf2flt, freeswitch, fwts, gcc, gdal, git, gitlab-runner, + ipmitool, kodi, libgit2, libks, libopenssl, libressl, live555, + lua, lxc, mariadb, mesa3d-headers, modsecurity2, mongoose, + netopeer2, nodejs, openjdk, openpowerlink, openvpn, opusfile, + postgresql, proftpd, pugixml, python-future, python-idna, qt5, + rtl8192eu, rtl8723ds, sdl2, sofia-sip, ssdp-responder, sudo, + sunxi-mali-utgard, thermald, ti-sgx-km, tmux, uboot, upx, vim, + webkitgtk, wolfssl, wpewebkit, xlib_libXpm, + xserver_xorg-server, xxhash, xz, yajl, zabbix + + Issues resolved (http://bugs.uclibc.org): + + #15271: no start-qemu.sh + #15281: Error compiling GDAL library for RPi-64 if libgdal-dev install.. + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + #15331: Warning on python-flit-core license when generating legal info + +2022.11.1, released January 18th, 2023 + + Important / security related fixes. + + Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + Go: Ensure our go build and module cache is used, even for the + download step. + + Legal-info: Stop warning about not saving sources for local / + override packages if _REDISTRIBUTE is set to NO. + + Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + Defconfigs: zcu106, kria kv260: Fix U-Boot build + + Updated/fixed packages: asterisk, bearssl, botan, cairo, + capnproto, check, checkpolicy, connman, containerd, crun, + dbus-cxx, docker-cli, docker-engine, exempi, exfat, + exfat-utils, falcosecurity-libs, fluidsynth, fmc, fmlib, + freeradius-server, gcc, glib-networking, go, + gobject-introspection, gperf, i2pd, ima-evm-utils, + imx-alsa-plugins, imx-kobs, imx-lib, imx-m4fwloader, + imx-mkimage, intel-microcode, janus-gateway, libcurl, + libdeflate, libftdi1, libkcapi, libksba, libmbim, libmng, + libpjsip, libtalloc, libuwsc, libxkbcommon, lpeg, lrzsz, + lttng-tools, lua-cqueues, mali-driver, mbedtls, mfgtools, + moby-buildkit, mutt, opensc, php, policycoreutils, polkit, + postgresql, pptp-linux, qcom-db410c-firmware, qemu, qoriq-rcw, + qt5virtualkeyboard, redis, rhash, rtl8189es, rtl8192eu, + rtl_433, ruby, sqlite, swupdate, tealdeer, tekui, tiff, + tinyxml, tor, webkitgtk, wireshark, wpasupplicant, wpewebkit, + xr819-xradio, xdriver_xf86-video-imx-viv, xserver_xorg-server, + xxhash, zip + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + 2022.11, released December 5th, 2022 Fixes all over the tree. @@ -530,6 +1879,115 @@ #14731: BR2_PACKAGE_IOSTAT #14751: LVM2 Outdated Link +2022.02.12, released May 5th, 2023 + + Important / security related fixes. + + Updated/fixed packages: agentpp, apache, ca-certificates, + containerd, coremark, dcron, eudev, ffmpeg, git, + intel-microcode, kexec, lcdproc, libmicrohttpd, libosmium, + libxml2, linux-tools, matio, osm2pgsql, poppler, postgresql, + protozero, python-web2py, runc, s390-tools, samba4, snmppp, + sudo, tcpdump, uclibc, vim, webkitgtk, wpewebkit, + xserver_xorg-server + +2022.02.11, released March 19th, 2023 + + Important / security related fixes. + + Updated/fixed packages: apache, apr, apr-util, asterisk, + at91dataflashboot, audit, bash, bind, bridge-utils, clamav, + dmalloc, exfat, exfat-utils, f2fs-tools, gcc, git, + glslsandbox-player, go, haproxy, intel-gmmlib, ipmiutil, less, + libblockdev, libcurl, libev, libgcrypt, libmad, libmdbx, + libmodsecurity, libolm, libpjsip, lttng-babeltrace, mender, + mpv, mutt, mxs-bootlets, opensbi, opus, paho-mqtt-c, + pcm-tools, php, proxychains-ng, python-django, + python-m2crypto, python-werkzeug, quazip, quickjs, + rockchip-mali, rsync, sudo, tiff, uacme, uqmi, webkitgtk, + wpebackend-fdo, wpewebkit, xdriver_xf86-video-qxl, znc + + Issues resolved (http://bugs.uclibc.org): + + #15306: glibc build fails in Docker container + #15361: Buildroot linking error on Apple Silicon + +2022.02.10, released March 1st, 2023 + + Important / security related fixes. + + Fix make O=..._defconfig builds (regression in 2022.02.9). + + A number of additional/stricter checks have been added to + ./utils/check-package. + + Build host dependencies check extended to check for a number + of specific perl modules to better handle distributions (like + Fedora) with very fine grained perl packages. Also ensure + build host has git >= 2.0.0 when using packages written in + go/rust because the vendoring may need it. + + Defconfigs: ASUS tinker rk3288: Fix boot issue related to TPL + + Updated/fixed packages: afboot-stm32, apache, barebox, c-ares, + elf2flt, freeswitch, fwts, gcc, git, kodi, libgit2, libks, + libopenssl, live555, lua, lxc, mesa3d-headers, modsecurity2, + netopeer2, openjdk, openpowerlink, openvpn, opusfile, + postgresql, pugixml, python-future, qt5, sdl2, sofia-sip, + ssdp-responder, sudo, sunxi-mali-utgard, ti-sgx-km, tmux, + uboot, upx, vim, webkitgtk, wolfssl, wpewebkit, xlib_libXpm, + xserver_xorg-server, xxhash, xz, yajl, zabbix + + Issues resolved (http://bugs.uclibc.org): + + #15271: no start-qemu.sh + #15291: BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS without location + #15301: Selecting NAND Flash boot media (NAND_BOOT) breaks the uboot.. + +2022.02.9, released January 18th, 2023 + + Important / security related fixes. + + Br2-external: Fix make performance issue when many (> 6) + external trees are used together. + + Erofs: Use fixed timestamp and UUID when BR2_REPRODUCIBLE is + used. + + Go: Ensure our go build and module cache is used, even for the + download step. + + Legal-info: Stop warning about not saving sources for local / + override packages if _REDISTRIBUTE is set to NO. + + Linux: Fix build of < 5.6 kernels with host-gcc >= 10. + + A large number of NXP related packages and defconfigs have + been updated as upstream moved the git repositories to Github. + + Updated/fixed packages: asterisk, bearssl, botan, cairo, + capnproto, check, checkpolicy, connman, containerd, + docker-cli, docker-engine, exempi, exfat, exfat-utils, fmc, + fmlib, glib-networking, go, gobject-introspection, gperf, + i2pd, ima-evm-utils, imx-alsa-plugins, imx-kobs, imx-lib, + imx-m4fwloader, imx-mkimage, intel-microcode, janus-gateway, + libcurl, libftdi1, libksba, libmbim, libmng, libpjsip, + libtalloc, libuwsc, libxkbcommon, linux, lpeg, lrzsz, + lttng-tools, lua-cqueues, mbedtls, mfgtools, mutt, php, + policycoreutils, polkit, postgresql, pptp-linux, + qcom-db410c-firmware, qemu, qoriq-rcw, qt5virtualkeyboard, + rhash, rtl_433, ruby, sqlite, swupdate, tekui, tiff, tinyxml, + tor, wayland, wireshark, wpa_supplicant, + xdriver_xf86-video-imx-viv, xserver_xorg-server, xxhash, zip + + Issues resolved (http://bugs.uclibc.org): + + #14971: Kernel 3.10.108 fail to build in Buildroot 2022.08-rc1 + #14996: Too many directories in BR2_EXTERNAL causes hang during make + #15161: kernel can't support SUBDIR + #15196: Setting BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE does not work + #15226: lsblk: not found + 2022.02.8, released December 10th, 2022 Important / security related fixes. @@ -7643,7 +9101,7 @@ Architecture: Default to bf532 CPU variant for blackfin, Fix flat one memory region support for m68k and disable flat - seperate data support because of compatibility issues. + separate data support because of compatibility issues. Defconfigs: Minnowboard and Raspberrypi: Fix errors with post-build scripts when systemd is used. @@ -8179,7 +9637,7 @@ Minor fixes. - Merged/seperate /usr handling is now also performed for + Merged/separate /usr handling is now also performed for staging so cross-gdb / gdbserver can find the libraries. Updated/fixed packages: autossh, conntrack-tools, dcron, diff --git a/Config.in b/Config.in index 3c57c591a86..bfb3f756155 100644 --- a/Config.in +++ b/Config.in @@ -55,6 +55,16 @@ config BR2_HOST_GCC_AT_LEAST_9 default y if BR2_HOST_GCC_VERSION = "9" select BR2_HOST_GCC_AT_LEAST_8 +config BR2_HOST_GCC_AT_LEAST_10 + bool + default y if BR2_HOST_GCC_VERSION = "10" + select BR2_HOST_GCC_AT_LEAST_9 + +config BR2_HOST_GCC_AT_LEAST_11 + bool + default y if BR2_HOST_GCC_VERSION = "11" + select BR2_HOST_GCC_AT_LEAST_10 + # When adding new entries above, be sure to update # the HOSTCC_MAX_VERSION variable in the Makefile. @@ -65,7 +75,7 @@ config BR2_NEEDS_HOST_JAVA # Hidden boolean selected by pre-built packages for x86, when they # need to run on x86-64 machines (example: pre-built external -# toolchains, binary tools like SAM-BA, etc.). +# toolchains, binary tools, etc.). config BR2_HOSTARCH_NEEDS_IA32_LIBS bool @@ -95,7 +105,7 @@ menu "Commands" config BR2_WGET string "Wget command" - default "wget --passive-ftp -nd -t 3" + default "wget -nd -t 3" config BR2_SVN string "Subversion (svn) command" @@ -241,7 +251,7 @@ if !BR2_PRIMARY_SITE_ONLY config BR2_BACKUP_SITE string "Backup download site" - default "http://sources.buildroot.net" + default "https://sources.buildroot.net" help Backup site to download from. If this option is set then buildroot will fall back to download package sources from here @@ -287,14 +297,15 @@ config BR2_LUAROCKS_MIRROR config BR2_CPAN_MIRROR string "CPAN mirror (Perl packages)" - default "http://cpan.metacpan.org" + default "https://cpan.metacpan.org" help CPAN (Comprehensive Perl Archive Network) is a repository of Perl packages. It has multiple software mirrors scattered around the world. This option allows you to select a mirror. The list of mirrors is available at: - http://search.cpan.org/mirror + http://mirrors.cpan.org/ (tabular) + http://mirrors.cpan.org/map.html (clickable world map) endif @@ -463,7 +474,7 @@ config BR2_STRIP_EXCLUDE_DIRS choice prompt "gcc optimization level" - default BR2_OPTIMIZE_S + default BR2_OPTIMIZE_2 help Set the optimization level for gcc @@ -509,6 +520,7 @@ config BR2_OPTIMIZE_2 -falign-loops -falign-labels -ftree-vrp -ftree-pre. Please note the warning under -fgcse about invoking -O2 on programs that use computed gotos. + This is the default. config BR2_OPTIMIZE_3 bool "optimization level 3" @@ -537,7 +549,6 @@ config BR2_OPTIMIZE_S -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays -ftree-vect-loop-version - This is the default. config BR2_OPTIMIZE_FAST bool "optimize for fast (may break packages!)" @@ -575,10 +586,10 @@ config BR2_ENABLE_LTO config BR2_GOOGLE_BREAKPAD_ENABLE bool "Enable google-breakpad support" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS - depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) + depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS select BR2_PACKAGE_GOOGLE_BREAKPAD @@ -663,12 +674,12 @@ config BR2_PACKAGE_OVERRIDE_FILE documentation for more details on this feature. config BR2_GLOBAL_PATCH_DIR - string "global patch directories" + string "global patch and hash directories" help You may specify a space separated list of one or more - directories containing global package patches. For a specific - version of a specific package , - patches are applied as follows: + directories containing global package patches and/or hashes. + For a specific version of a specific package + , patches are looked up as follows: First, the default Buildroot patch set for the package is applied from the package's directory in Buildroot. @@ -682,25 +693,9 @@ config BR2_GLOBAL_PATCH_DIR exists, then all *.patch files in the directory will be applied. -menu "Advanced" - -config BR2_COMPILER_PARANOID_UNSAFE_PATH - bool "paranoid check of library/header paths" - default y - help - By default, when this option is disabled, when the Buildroot - cross-compiler will encounter an unsafe library or header path - (such as /usr/include, or /usr/lib), the compiler will display - a warning. - - By enabling this option, this warning is turned into an error, - which will completely abort the build when such unsafe paths - are encountered. + The hash files are looked up similarly to the patches. - Note that this mechanism is available for both the internal - toolchain (through the toolchain wrapper and binutils patches) - and external toolchain backends (through the toolchain - wrapper). +menu "Advanced" config BR2_FORCE_HOST_BUILD bool "Force the building of host dependencies" @@ -714,6 +709,21 @@ config BR2_FORCE_HOST_BUILD This option will increase build time. +config BR2_DOWNLOAD_FORCE_CHECK_HASHES + bool "Force all downloads to have a valid hash" + help + Say 'y' here to enforce downloads to have at least one valid + hash (and of course, that all hashes be valid). + + By default, Buildroot checks hashes of all packages + downloaded, except those for which a custom version is + used. + + With this option turned on, Buildroot will check hashes of + all packages, including those that use a custom version. In + order to provide hashes for such packages, place additional + hash files in BR2_GLOBAL_PATCH_DIR directories. + config BR2_REPRODUCIBLE bool "Make the build reproducible (experimental)" # SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4 @@ -753,6 +763,20 @@ config BR2_PER_PACKAGE_DIRECTORIES endmenu +config BR2_TIME_BITS_64 + bool "Build Y2038-ready code" + depends on BR2_TOOLCHAIN_USES_GLIBC && !BR2_ARCH_IS_64 + help + This option will pass -D_TIME_BITS=64 in the compiler flags + to ensure the glibc C library uses a 64-bit representation + for time_t and other time types, which ensures that + programs/libraries will correctly handle time past year + 2038. + + This option only has an effect with glibc >= 2.34, as + earlier glibc versions did not have support for 64-bit + time_t. + comment "Security Hardening Options" config BR2_PIC_PIE_ARCH_SUPPORTS @@ -929,6 +953,15 @@ config BR2_FORTIFY_SOURCE_2 Also adds checks at run-time (detected buffer overflow terminates the program) +config BR2_FORTIFY_SOURCE_3 + bool "Extended" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_12 + help + This option sets _FORTIFY_SOURCES to 3 and even more + checking is added compared to level 2. Extends checks at + run-time that can introduce an additional performance + overhead. + endchoice comment "Fortify Source needs a glibc toolchain and optimization" diff --git a/Config.in.legacy b/Config.in.legacy index 28c6822689f..5d4da5c354e 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -144,8 +144,480 @@ endif ############################################################################### +comment "Legacy options removed in 2024.02" + +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + bool "Codescape IMG GNU Linux Toolchain 2018.09 has been removed" + select BR2_LEGACY + help + The Codescape IMG GNU Linux toolchain has been removed, use a + Bootlin toolchain instead. + +config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS + bool "Codescape MTI GNU Linux Toolchain 2018.09 has been removed" + select BR2_LEGACY + help + The Codescape MTI GNU Linux toolchain has been removed, use a + Bootlin toolchain instead. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 + bool "CodeSourcery AArch64 2014.11 has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench AArch64 toolchain has been removed, + use an ARM/Bootlin/Linaro toolchain instead. + +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + bool "Sourcery CodeBench ARM 2014.05 has been removed" + select BR2_LEGACY + help + The Sourcery CodeBench ARM toolchain has been removed, use + an ARM/Bootlin/Linaro toolchain instead. + +config BR2_PACKAGE_MYSQL + bool "mysql virtual package removed" + select BR2_LEGACY + help + The mysql virtual package has been removed as mariadb is the + only supported mysql variant. Use the mariadb package + instead. + +config BR2_PACKAGE_ORACLE_MYSQL + bool "oracle mysql removed" + select BR2_LEGACY + help + Oracle mysql has been removed as the package was + unmaintained. Consider using mariadb instead. + +config BR2_PACKAGE_STRONGSWAN_SCEP + bool "strongswan SCEP client tool removed" + select BR2_LEGACY + help + "ipsec scepclient" tool has been removed and replaced by the + pki subcommands "pki --scep" and "pki --scepca" which + implement the new SCEP RFC 8894 standard that was released in + September 2020 and which supports trusted "certificate + renewal" based on the existing client certificate. + +config BR2_PACKAGE_SHADOW_UTMPX + bool "shadow utmpx removed" + select BR2_LEGACY + help + UTMPX has been dropped by upstream. + +config BR2_PACKAGE_TINYMEMBENCH + bool "tinymembench removed" + select BR2_LEGACY + help + tinymembench has been removed due to being abandoned. + +config BR2_PACKAGE_DAVINCI_BOOTCOUNT + bool "davinci-bootcount has been renamed" + select BR2_LEGACY + select BR2_PACKAGE_UBOOT_BOOTCOUNT + help + The davinci-bootcount package has been renamed to + uboot-bootcount. + +config BR2_PACKAGE_PYTHON_CROSSBAR + bool "python-crossbar removed" + select BR2_LEGACY + help + python-crossbar has been removed. The current package has + not received an update since Sat Oct 9 13:55:06 2021 commit: + 33ece2446e25e20929d1c7eefa9f3244a3b79a92 and is not python + 3.12.0 compatible. + + Furthermore, the current version requires at least 42 new + packages worth of depedencies of which several require + patches to be python 3.12.0 compatible. As nobody has + stepped up to maintain the package and its ever-growing list + of dependencies, along with the other problems, it was time + to drop the package. + +config BR2_PACKAGE_PYTHON_PYGAME + bool "python-pygame removed" + select BR2_LEGACY + help + python-pygame has been removed due to being abandoned and + the old version no longer building with python 3.12.0. + +config BR2_KERNEL_HEADERS_4_14 + bool "kernel headers version 4.14.x are no longer supported" + select BR2_LEGACY + help + Version 4.14.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI + bool "libcamera pipeline 'raspberrypi' was renamed to 'rpi/vc4'" + depends on BR2_arm || BR2_aarch64 + depends on BR2_USE_WCHAR + select BR2_LEGACY + select BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4 + help + Since version 0.1.0, the pipeline option 'raspberrypi' was + renamed to 'rpi/vc4'. + +config BR2_GDB_VERSION_11 + bool "gdb 11.x removed" + select BR2_LEGACY + help + GDB 11.x has been removed, use a newer version. + +config BR2_PACKAGE_LIBMPD + bool "libmpd package was removed" + select BR2_LEGACY + help + The libmpd package was only used by gmpc, both of which are + no longer maintained upstream. + +config BR2_PACKAGE_GMPC + bool "gmpc package was removed" + select BR2_LEGACY + help + The gmpc package was removed because it was unmaintained, + and still using the old libsoup2 library. + +config BR2_PACKAGE_FLICKCURL + bool "flickcurl package was removed" + select BR2_LEGACY + help + The flickcurl package was removed because it was + unmaintained upstream and causing build failures. + +config BR2_PACKAGE_ONEVPL + bool "onevpl package was renamed" + select BR2_LEGACY + select BR2_PACKAGE_LIBVPL + +config BR2_KERNEL_HEADERS_6_5 + bool "kernel headers version 6.5.x are no longer supported" + select BR2_LEGACY + help + Version 6.5.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL + int "watchdogd generic poll has been replaced" + default 0 + help + The generic script poll interval has been replaced upstream + with a boolean on/off. Your configuration has been migrated. + + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_GENERIC_POLL != 0 + select BR2_LEGACY + +config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL + int "watchdogd loadavg poll has been replaced" + default 0 + help + The CPU load average poll interval has been replaced upstream + with a boolean on/off. Your configuration has been migrated. + + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL != 0 + select BR2_LEGACY + +config BR2_PACKAGE_WATCHDOGD_FILENR_POLL + int "watchdogd filenr poll has been replaced" + default 0 + help + The file descriptor leak poll has been replaced upstream with + a boolean on/off. Your configuration has been migrated. + + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_FILENR_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_FILENR_POLL != 0 + select BR2_LEGACY + +config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL + int "watchdogd meminfo poll has been replaced" + default 0 + help + The memleak detector poll interval has been replaced upstream + with a boolean on/off. Your configuration has been migrated. + + Set this legacy option to 0 here to remove the warning. + +# Note: BR2_PACKAGE_WATCHDOGD_*_POLL_WRAP referenced in package/watchdogd/Config.in +config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL_WRAP + bool + default y if BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL != 0 + select BR2_LEGACY + +comment "Legacy options removed in 2023.11" + +config BR2_PACKAGE_PYTHON_PYXB + bool "python-pyxb removed" + select BR2_LEGACY + help + python-pyxb has been removed due to being abandoned and + distutils no longer being supported in python 3.12.0. + +config BR2_PACKAGE_OPENJDK_VERSION_11 + bool "openjdk 11 has been removed" + select BR2_LEGACY + help + Version 11 of OpenJDK is no longer supported, version 17 + should now be used as the new LTS release. + +config BR2_KERNEL_HEADERS_6_4 + bool "kernel headers version 6.4.x are no longer supported" + select BR2_LEGACY + help + Version 6.4.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS + bool "google-material-design-icons removed" + select BR2_LEGACY + help + The google-material-design-icons package has been removed. + +config BR2_GDB_VERSION_10 + bool "gdb 10.x removed" + select BR2_LEGACY + help + gdb 10.x has been removed, use a newer version. + +comment "Legacy options removed in 2023.08" + +config BR2_TARGET_LPC32XXCDL + bool "lpc32xxcdl has been removed" + select BR2_LEGACY + help + lpc32xxcdl has been removed, due to licensing concerns. + +config BR2_BINUTILS_VERSION_2_38_X + bool "binutils 2.38.x has been removed" + select BR2_LEGACY + help + binutils 2.38 has been removed, use a newer version. + +config BR2_GCC_VERSION_10_X + bool "gcc 10.x support removed" + select BR2_LEGACY + help + Support for gcc version 10.x has been removed. The current + default version (12.x or later) has been selected instead. + +config BR2_KERNEL_HEADERS_6_3 + bool "kernel headers version 6.3.x are no longer supported" + select BR2_LEGACY + help + Version 6.3.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_TOVID + bool "tovid removed" + select BR2_LEGACY + help + tovid was removed + +config BR2_PACKAGE_LIBASPLIB + bool "libasplib removed" + select BR2_LEGACY + help + libasplib is no longer needed. + +config BR2_PACKAGE_OCF_LINUX + bool "ocf-linux has been removed" + select BR2_LEGACY + help + ocf-linux is incompatible with newer kernels. + +config BR2_BINUTILS_VERSION_2_37_X + bool "binutils 2.37.x has been removed" + select BR2_LEGACY + help + binutils 2.37 has been removed, use a newer version. + +comment "Legacy options removed in 2023.05" + +config BR2_KERNEL_HEADERS_6_2 + bool "kernel headers version 6.2.x are no longer supported" + select BR2_LEGACY + help + Version 6.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_ATK + bool "atk removed" + select BR2_LEGACY + help + atk is now part of at-spi2-core. + +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk removed" + select BR2_LEGACY + help + at-spi2-atk is now part of at-spi2-core. + +config BR2_PACKAGE_OPTEE_BENCHMARK + bool "optee-benchmark has been removed" + select BR2_LEGACY + help + optee-benchmark is no longer maintained upstream. + +config BR2_PACAKGE_OPENFPGALOADER_CMSIS + bool "openfpgaloader cmsis option name fixed" + select BR2_LEGACY + help + A typo on BR2_PACAKGE_OPENFPGALOADER_CMSIS was fixed by + renaming the option to BR2_PACKAGE_OPENFPGALOADER_CMSIS. + comment "Legacy options removed in 2023.02" +config BR2_PACKAGE_PUGIXML_HEADER_ONLY + bool "pugixml header-only removed" + select BR2_LEGACY + help + The header-only version raises a build failure with gerbera. + +config BR2_PACKAGE_UCCP420WLAN + bool "uccp420wlan removed" + select BR2_LEGACY + help + The uccp420wlan package is unmaintained and doesn't build + with any "recent" kernel (e.g. >= 4.7). + +config BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES + bool "imx-gpu-g2d examples removed" + select BR2_LEGACY + help + The examples are not provided by NXP anymore. + +config BR2_KERNEL_HEADERS_6_0 + bool "kernel headers version 6.0.x are no longer supported" + select BR2_LEGACY + help + Version 6.0.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_9 + bool "kernel headers version 4.9.x are no longer supported" + select BR2_LEGACY + help + Version 4.9.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_DOCKER_PROXY + bool "docker-proxy removed" + select BR2_LEGACY + select BR2_PACKAGE_DOCKER_ENGINE + help + docker-proxy has been dropped by upstream since version + 563fe8. it has been merged into docker-engine (moby). + +config BR2_PACKAGE_PYTHON_BUNCH + bool "python-bunch removed" + select BR2_LEGACY + help + The python-bunch package is unmaintained and is replaced + by the python-munch package. + +config BR2_TARGET_GUMMIBOOT + bool "gummiboot removed" + select BR2_LEGACY + help + gummiboot has been deprecated since 2015, with no further + updates. It became integrated into the systemd project as + systemd-boot. + +config BR2_PACKAGE_IPUTILS_NINFOD + bool "iputils 20221126 removed ninfod" + select BR2_LEGACY + help + iputils 20221126 removed ninfod. + +config BR2_PACKAGE_IPUTILS_RARPD + bool "iputils 20221126 removed rarpd" + select BR2_LEGACY + help + iputils 20221126 removed rarpd. + +config BR2_PACKAGE_IPUTILS_RDISC + bool "iputils 20221126 removed rdisc" + select BR2_LEGACY + help + iputils 20221126 removed rdisc. + +config BR2_PACKAGE_IPUTILS_RDISC_SERVER + bool "iputils 20221126 removed rdisc" + select BR2_LEGACY + help + iputils 20221126 removed rdisc. + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX + bool "xingmux moved" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_XINGMUX + help + The xingmux option has been moved to gst1-plugins-good. + +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE + bool "videoscale removed" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE + help + The videoscale option has been combined with videoconvert. + +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT + bool "videoconvert removed" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE + help + The videoconvert option has been combined with videoscale. + +config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 + bool "imx-gpu-viv X11 output has been removed" + select BR2_LEGACY + help + The X11 output was dropped by NXP. + +config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV + bool "xf86-video-imx-viv has been removed" + select BR2_LEGACY + help + The X11 output was dropped by NXP. + +config BR2_PACKAGE_QEMU_CUSTOM_TARGETS + string "the QEMU specific targets option has been removed" + help + This option has been replaced by a list of individual targets + for the many architectures supported by QEMU. + +config BR2_PACKAGE_QEMU_CUSTOM_TARGETS_WRAP + bool + default y if BR2_PACKAGE_QEMU_CUSTOM_TARGETS != "" + select BR2_LEGACY + +config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD + bool "xf86-input-keyboard removed" + select BR2_LEGACY + help + The X.org keyboard input driver no longer support Linux. + +config BR2_TARGET_SUN20I_D1_SPL + bool "sun20-d1-spl removed" + select BR2_LEGACY + help + U-Boot has gained SPL support for D1, so this temporary + bootloader is no longer supported. + config BR2_PACKAGE_PYTHON_M2R bool "python-m2r removed" select BR2_LEGACY @@ -188,6 +660,12 @@ config BR2_PACKAGE_USBREDIR_SERVER comment "Legacy options removed in 2022.11" +config BR2_BINUTILS_VERSION_2_36_X + bool "binutils 2.36.x has been removed" + select BR2_LEGACY + help + binutils 2.36 has been removed, use a newer version. + config BR2_PACKAGE_RABBITMQ_SERVER bool "rabbitmq-server removed" select BR2_LEGACY @@ -687,20 +1165,22 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 bool "sunxi-mali-mainline-r6p2 was renamed" select BR2_LEGACY - select BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 help The sunxi-mali-mainline package has been renamed sunxi-mali-utgard, the suboptions of this package have also been renamed accordingly. +# Note: BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 is still referenced from +# package/sunxi-mali-utgard/Config.in config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 bool "sunxi-mali-mainline-r8p1 was renamed" select BR2_LEGACY - select BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 help The sunxi-mali-mainline package has been renamed sunxi-mali-utgard, the suboptions of this package have also been renamed accordingly. +# Note: BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 is still referenced from +# package/sunxi-mali-utgard/Config.in config BR2_PACKAGE_QT5WEBKIT_EXAMPLES bool "qt5webkit-examples removed" @@ -758,18 +1238,20 @@ comment "Legacy options removed in 2021.11" config BR2_OPENJDK_VERSION_LTS bool "OpenJDK LTS version was renamed to OpenJDK 11" select BR2_LEGACY - select BR2_PACKAGE_OPENJDK_VERSION_11 help The LTS version option was renamed to OpenJDK 11 to make it clear what LTS version is. +# Note: BR2_OPENJDK_VERSION_LTS is still referenced from +# package/openjdk/Config.in config BR2_OPENJDK_VERSION_LATEST bool "OpenJDK latest version (16.x) was removed" select BR2_LEGACY - select BR2_PACKAGE_OPENJDK_VERSION_17 help OpenJDK 16.x is no longer mainted, so the option has been removed. Use OpenJDK 17.x instead. +# Note: BR2_OPENJDK_VERSION_LATEST is still referenced from +# package/openjdk/Config.in config BR2_PACKAGE_MPD_TIDAL bool "mpd tidal option removed" @@ -1685,6 +2167,35 @@ config BR2_PACKAGE_RPI_USERLAND_START_VCFILED help The vcfiled support was removed upstream. +config BR2_PACKAGE_TI_SGX_KM_AM335X + bool "ti-sgx-km AM335X option removed" + select BR2_LEGACY + select BR2_PACKAGE_TI_SGX_KM + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM437X + bool "ti-sgx-km AM437X option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM4430 + bool "ti-sgx-km AM4430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + +config BR2_PACKAGE_TI_SGX_KM_AM5430 + bool "ti-sgx-km AM5430 option removed" + select BR2_LEGACY + help + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. + comment "Legacy options removed in 2019.11" config BR2_PACKAGE_OPENVMTOOLS_PROCPS @@ -2150,9 +2661,9 @@ config BR2_PACKAGE_FFTW_PRECISION_QUAD config BR2_PACKAGE_LUA_5_2 bool "Lua 5.2.x version removed" select BR2_LEGACY - select BR2_PACKAGE_LUA_5_3 help The Lua 5.2.x version was removed. +# Note: BR2_PACKAGE_LUA_5_2 is still referenced from package/lua/Config.in config BR2_TARGET_GENERIC_PASSWD_MD5 bool "target passwd md5 format support has been removed" @@ -2650,7 +3161,7 @@ config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF has been renamed to BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF -config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF +config BR2_PACKAGE_MEDIAART_BACKEND_QT bool "libmediaart qt backend option renamed" select BR2_LEGACY help @@ -2658,45 +3169,34 @@ config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF BR2_PACKAGE_MEDIAART_BACKEND_QT has been renamed to BR2_PACKAGE_LIBMEDIAART_BACKEND_QT -# Note: BR2_PACKAGE_TI_SGX_AM335X is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM335X - bool "ti-sgx-km AM335X option renamed" + bool "ti-sgx-km AM335X option removed" select BR2_LEGACY + select BR2_PACKAGE_TI_SGX_KM help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM335X has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM335X. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. -# Note: BR2_PACKAGE_TI_SGX_AM437X is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM437X - bool "ti-sgx-km AM437X option renamed" + bool "ti-sgx-km AM437X option removed" select BR2_LEGACY help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM437X has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM437X. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. -# Note: BR2_PACKAGE_TI_SGX_AM4430 is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM4430 - bool "ti-sgx-km AM4430 option renamed" + bool "ti-sgx-km AM4430 option removed" select BR2_LEGACY help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM4430 has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM4430. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. -# Note: BR2_PACKAGE_TI_SGX_AM5430 is still referenced from -# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM5430 - bool "ti-sgx-km AM5430 option renamed" + bool "ti-sgx-km AM5430 option removed" select BR2_LEGACY help - For consistency reasons, the option - BR2_PACKAGE_TI_SGX_AM5430 has been renamed to - BR2_PACKAGE_TI_SGX_KM_AM5430. + Starting from buildroot release 2020.02, the buildroot package + only supports the target am335x. config BR2_PACKAGE_JANUS_AUDIO_BRIDGE bool "janus-gateway audio-bridge option renamed" @@ -3296,7 +3796,7 @@ config BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND select BR2_PACKAGE_RESTORECOND help The policycoreutils package no longer offers restorecond - as a option. This package has been moved into a seperate + as a option. This package has been moved into a separate package maintained by the SELinux maintainers. config BR2_PACKAGE_SEPOLGEN @@ -3890,7 +4390,7 @@ config BR2_GDB_VERSION_7_9 comment "Legacy options removed in 2016.11" config BR2_PACKAGE_PHP_SAPI_CLI_CGI - bool "PHP CGI and CLI options are now seperate" + bool "PHP CGI and CLI options are now separate" select BR2_PACKAGE_PHP_SAPI_CLI select BR2_PACKAGE_PHP_SAPI_CGI select BR2_LEGACY @@ -4026,10 +4526,11 @@ config BR2_LINUX_KERNEL_TOOL_SELFTESTS config BR2_GCC_VERSION_4_8_ARC bool "gcc arc option renamed" select BR2_LEGACY - select BR2_GCC_VERSION_ARC help The option that selects the gcc version for the ARC architecture has been renamed to BR2_GCC_VERSION_ARC. +# Note: BR2_GCC_VERSION_4_8_ARC is still referenced from +# package/gcc/Config.in.host config BR2_KERNEL_HEADERS_4_0 bool "kernel headers version 4.0.x are no longer supported" @@ -4369,19 +4870,21 @@ config BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL config BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE bool "openpowerlink package has been updated" select BR2_LEGACY - select BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB help openpowerlink kernel modules are built if the kernel stack library is selected. +# Note: BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is still referenced from +# package/openpowerlink/Config.in config BR2_PACKAGE_OPENPOWERLINK_LIBPCAP bool "openpowerlink package has been updated" select BR2_LEGACY - select BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB help The user space support has been split in two part: - - a monolitic user space library - - a user spae deamon driver + - a monolithic user space library + - a user space daemon driver +# Note: BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is still referenced from +# package/openpowerlink/Config.in config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "using the linux headers version for the kernel has been removed" @@ -4920,7 +5423,7 @@ config BR2_PACKAGE_KODI_PVR_ADDONS select BR2_PACKAGE_KODI_PVR_VUPLUS select BR2_PACKAGE_KODI_PVR_WMC help - Kodi PVR addon was split into seperate modules + Kodi PVR addon was split into separate modules config BR2_BINUTILS_VERSION_2_23_2 bool "binutils 2.23 option renamed" diff --git a/DEVELOPERS b/DEVELOPERS index f0dcc42de78..2e4e3811b99 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -26,6 +26,20 @@ # infrastructure, and will be CC'ed on all patches that add or # modify packages that use this infrastructure. +N: Adam Duskett +F: package/depot-tools/ +F: package/dmenu-wayland/ +F: package/fcft/ +F: package/foot/ +F: package/flutter-engine/ +F: package/flutter-gallery/ +F: package/flutter-pi/ +F: package/flutter-sdk-bin/ +F: package/ivi-homescreen/ +F: package/libutempter/ +F: package/tllist/ +F: support/testing/tests/package/test_flutter.py + N: Adam Heinrich F: package/jack1/ @@ -58,7 +72,11 @@ F: package/libmbim/ F: package/libqmi/ F: package/modem-manager/ +N: Alessandro Partesotti +F: package/oatpp/ + N: Alex Michel +F: package/libzenoh-pico/ F: package/network-manager-openvpn/ N: Alex Suykov @@ -96,6 +114,7 @@ F: package/libest/ N: Alexander Mukhin F: package/tinyproxy/ +F: package/zfs/ N: Alexander Sverdlin F: package/mini-snmpd/ @@ -121,6 +140,7 @@ N: Alistair Francis F: board/sifive/ F: boot/opensbi/ F: configs/hifive_unleashed_defconfig +F: package/libspdm/ F: package/xen/ N: Alvaro G. M @@ -129,11 +149,16 @@ F: package/libxmlrpc/ F: package/python-docopt/ N: Anand Gadiyar +F: board/ti/am62x-sk/ +F: board/ti/am64x-sk/ +F: boot/ti-k3-boot-firmware/ +F: boot/ti-k3-image-gen/ F: boot/ti-k3-r5-loader/ +F: configs/ti_am62x_sk_defconfig +F: configs/ti_am64x_sk_defconfig N: André Zwing F: package/libkrb5/ -F: package/openal/ F: package/p7zip/ F: package/wine/ @@ -157,10 +182,14 @@ N: Andrey Yurovsky F: package/rauc/ N: Angelo Compagnucci +F: board/sipeed/lichee_rv/ +F: board/sipeed/lichee_rv_dock/ +F: configs/sipeed_lichee_rv* F: package/apparmor/ F: package/corkscrew/ F: package/cups/ F: package/cups-filters/ +F: package/cutekeyboard/ F: package/fail2ban/ F: package/grep/ F: package/htpdate/ @@ -185,6 +214,7 @@ F: package/qt5/qt5coap/ F: package/qt5/qt5knx/ F: package/qt5/qt5mqtt/ F: package/rtl8723ds/ +F: package/rtl8723ds-bt/ F: package/sam-ba/ F: package/sshguard/ F: package/sunwait/ @@ -221,6 +251,8 @@ F: configs/snps_archs38_haps_defconfig F: configs/snps_archs38_hsdk_defconfig N: Ariel D'Alessandro +F: board/bsh/ +F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: package/axfsutils/ F: package/mali-t76x/ @@ -268,6 +300,9 @@ F: package/orbit/ N: Attila Wagner F: package/python-canopen/ +N: Bagas Sanjaya +F: package/git/ + N: Bartosz Bilas F: board/stmicroelectronics/stm32mp157a-dk1/ F: configs/stm32mp157a_dk1_defconfig @@ -279,17 +314,6 @@ F: package/ttyd/ F: package/qt5/qt5scxml/ F: package/qt5/qt5webview/ -N: Bartosz Golaszewski -F: package/autoconf-archive/ -F: package/doxygen/ -F: package/libgpiod/ -F: package/libserialport/ -F: package/libsigrok/ -F: package/libsigrokdecode/ -F: package/libzip/ -F: package/pulseview/ -F: package/sigrok-cli/ - N: Baruch Siach F: board/solidrun/clearfog_gt_8k/ F: configs/solidrun_clearfog_gt_8k_defconfig @@ -301,6 +325,7 @@ F: package/ebtables/ F: package/i2c-tools/ F: package/libcurl/ F: package/libpcap/ +F: package/sexpect/ F: package/socat/ F: package/strace/ F: package/tcpdump/ @@ -313,7 +338,7 @@ F: package/taskd/ N: Benjamin Kamath F: package/lapack/ -N: Bernd Kuhls +N: Bernd Kuhls F: package/alsa-lib/ F: package/alsa-utils/ F: package/apache/ @@ -323,19 +348,20 @@ F: package/apr-util/ F: package/bcg729/ F: package/bento4/ F: package/bitcoin/ -F: package/bluez-tools/ -F: package/boinc/ F: package/clamav/ F: package/dav1d/ F: package/dht/ +F: package/dnsmasq/ F: package/dovecot/ F: package/dovecot-pigeonhole/ F: package/dtv-scan-tables/ +F: package/ethtool/ F: package/eudev/ F: package/exim/ F: package/fetchmail/ F: package/ffmpeg/ F: package/flac/ +F: package/flatbuffers/ F: package/freeswitch/ F: package/freeswitch-mod-bcg729/ F: package/freetype/ @@ -343,31 +369,33 @@ F: package/fstrcmp/ F: package/ghostscript/ F: package/giflib/ F: package/gkrellm/ -F: package/gli/ -F: package/glmark2/ F: package/gpsd/ F: package/gptfdisk/ -F: package/hdparm/ F: package/hddtemp/ -F: package/inih/ +F: package/hdparm/ F: package/intel-gmmlib/ F: package/intel-mediadriver/ F: package/intel-mediasdk/ +F: package/intel-microcode/ F: package/jsoncpp/ F: package/kodi* F: package/lame/ +F: package/lcms2/ F: package/leafnode2/ F: package/libaacs/ -F: package/libasplib/ F: package/libass/ F: package/libbdplus/ F: package/libbluray/ F: package/libbroadvoice/ +F: package/libcap/ F: package/libcdio/ F: package/libcec/ F: package/libcodec2/ F: package/libcrossguid/ +F: package/libde265/ +F: package/libdecor/ F: package/libdeflate/ +F: package/libdisplay-info/ F: package/libdrm/ F: package/libdvbcsa/ F: package/libdvdcss/ @@ -375,11 +403,13 @@ F: package/libdvdnav/ F: package/libdvdread/ F: package/libebur128/ F: package/libfreeglut/ +F: package/libfribidi/ F: package/libg7221/ F: package/libglew/ F: package/libglfw/ F: package/libglu/ F: package/libhdhomerun/ +F: package/libheif/ F: package/libilbc/ F: package/libks/ F: package/libldns/ @@ -397,20 +427,29 @@ F: package/libsidplay2/ F: package/libsilk/ F: package/libsndfile/ F: package/libsoundtouch/ -F: package/libsquish/ F: package/libudfread/ +F: package/libunibreak/ F: package/liburiparser/ F: package/libutp/ +F: package/libuv/ F: package/libva/ F: package/libva-intel-driver/ F: package/libva-utils/ F: package/libvorbis/ +F: package/libvpl/ F: package/libvpx/ F: package/libyuv/ +F: package/linux-firmware/ +F: package/mc/ F: package/mesa3d/ F: package/minidlna/ F: package/mjpg-streamer/ +F: package/mpg123/ +F: package/ntp/ F: package/nut/ +F: package/onevpl-intel-gpu/ +F: package/opus/ +F: package/pciutils/ F: package/perl-crypt-openssl-guess/ F: package/perl-crypt-openssl-random/ F: package/perl-crypt-openssl-rsa/ @@ -429,32 +468,34 @@ F: package/perl-io-html/ F: package/perl-lwp-mediatypes/ F: package/perl-mail-dkim/ F: package/perl-mailtools/ +F: package/perl-netaddr-ip/ F: package/perl-net-dns/ F: package/perl-net-http/ -F: package/perl-netaddr-ip/ F: package/perl-timedate/ F: package/perl-uri/ F: package/perl-www-robotrules/ F: package/php/ -F: package/pixman/ F: package/pngquant/ -F: package/pound/ +F: package/pppd/ +F: package/privoxy/ F: package/pure-ftpd/ F: package/python-couchdb/ F: package/python-cssutils/ +F: package/python-glslang/ +F: package/python-mako/ F: package/python-mwclient/ F: package/python-mwscrape/ F: package/python-mwscrape2slob/ -F: package/python-mako/ F: package/python-oauthlib/ F: package/python-pyicu/ F: package/python-pylru/ F: package/python-requests-oauthlib/ F: package/python-slob/ +F: package/rrdtool/ F: package/rsync/ F: package/rtmpdump/ F: package/samba4/ -F: package/softether/ +F: package/sofia-sip/ F: package/spandsp/ F: package/sqlite/ F: package/stellarium/ @@ -464,13 +505,10 @@ F: package/tor/ F: package/transmission/ F: package/tvheadend/ F: package/unixodbc/ -F: package/utf8proc/ -F: package/vdr/ -F: package/vdr-plugin-vnsiserver/ F: package/vlc/ -F: package/vnstat/ -F: package/waylandpp/ -F: package/x11r7/ +F: package/wget/ +F: package/wireless-regdb/ +F: package/wireless_tools/ F: package/x264/ F: package/x265/ F: package/xmrig/ @@ -491,7 +529,14 @@ F: package/iftop/ F: package/ncdu/ N: Brandon Maier +F: board/freescale/ls1046a-frwy/ +F: configs/ls1046a-frwy_defconfig +F: package/mtd/ +F: package/python-pysensors/ +F: package/qoriq-fm-ucode/ +F: package/unifdef/ F: package/vmtouch/ +F: support/testing/tests/package/test_zip.py N: Brock Williams F: package/pdmenu/ @@ -531,27 +576,28 @@ F: package/coremark/ F: package/coremark-pro/ F: package/gstreamer1/gst1-shark/ F: package/micropython/ -F: package/micropython-lib/ F: package/syslog-ng/ N: Christian Kellermann F: package/python-pylibftdi/ -N: Christian Stewart +N: Christian Stewart F: package/balena-engine/ F: package/batman-adv/ F: package/catatonit/ F: package/cni-plugins/ +F: package/conmon/ F: package/containerd/ F: package/crun/ F: package/delve/ F: package/docker-cli/ F: package/docker-compose/ F: package/docker-engine/ -F: package/docker-proxy/ F: package/embiggen-disk/ F: package/fuse-overlayfs/ F: package/go/ +F: package/go-bootstrap-stage1/ +F: package/go-bootstrap-stage2/ F: package/gocryptfs/ F: package/mbpfan/ F: package/moby-buildkit/ @@ -559,6 +605,7 @@ F: package/mosh/ F: package/nerdctl/ F: package/pkg-golang.mk F: package/rtl8821au/ +F: package/rtl8821cu/ F: package/runc/ F: package/tini/ F: support/testing/tests/package/test_docker_compose.py @@ -626,6 +673,12 @@ N: Clément Péron F: board/beelink/gs1/ F: configs/beelink_gs1_defconfig +N: Colin Foster +F: package/python-tftpy/ +F: package/rauc-hawkbit-updater/ +F: support/testing/tests/package/sample_python_tftpy.py +F: support/testing/tests/package/test_python_tftpy.py + N: Corentin Guillevic F: package/libloki/ @@ -642,15 +695,28 @@ F: package/odroidc2-firmware/ N: Daniel J. Leach F: package/dacapo/ -N: Daniel Lang +N: Daniel Lang +F: package/atkmm/ +F: package/atkmm2_28/ +F: package/cairomm/ +F: package/cairomm1_14/ F: package/dbus-cxx/ +F: package/glibmm/ +F: package/glibmm2_66/ +F: package/gtkmm3/ +F: package/libsigc/ +F: package/libsigc2/ +F: package/llvm-project/ F: package/paho-mqtt-cpp/ +F: package/pangomm/ +F: package/pangomm2_46/ +F: package/sam-ba/ N: Damien Lanson F: package/libvdpau/ F: package/log4cpp/ -N: Damien Le Moal +N: Damien Le Moal F: package/python-kflash/ F: board/canaan/ F: configs/canaan_kd233_defconfig @@ -689,22 +755,18 @@ F: package/luaexpat/ F: package/xinetd/ N: Dario Binacchi +F: board/bsh/ +F: board/stmicroelectronics/stm32f769-disco/ +F: configs/imx8mn_bsh_smm_s2_defconfig +F: configs/imx8mn_bsh_smm_s2_pro_defconfig +F: configs/stm32f769_disco_sd_defconfig F: package/sscep/ F: package/uuu/ N: Dario Binacchi -F: package/davinci-bootcount/ +F: package/uboot-bootcount/ F: package/libmnl/ -N: David Bachelart -F: package/ccrypt/ -F: package/dos2unix/ -F: package/ipmiutil/ -F: package/jsmn/ -F: package/python-daemon/ -F: package/sslh/ -F: package/udpxy/ - N: David Bender F: package/benejson/ F: package/cgic/ @@ -793,7 +855,7 @@ F: package/bayer2rgb-neon/ F: package/gstreamer1/gst1-plugins-bayer2rgb-neon/ N: Eric Le Bihan -F: docs/manual/adding-packages-meson.txt +F: docs/manual/adding-packages-meson.adoc F: package/adwaita-icon-theme/ F: package/darkhttpd/ F: package/eudev/ @@ -843,12 +905,10 @@ N: Ernesto L. Williams Jr F: package/szip/ N: Esben Haabendal -F: boot/gummiboot/ F: package/python-kiwisolver/ -N: Etienne Carriere +N: Etienne Carriere F: boot/optee-os/ -F: package/optee-benchmark/ F: package/optee-client/ F: package/optee-examples/ F: package/optee-test/ @@ -997,8 +1057,8 @@ F: package/snort3/ F: package/suricata/ F: package/tinycbor/ F: package/tinydtls/ -F: package/tinymembench/ F: package/whois/ +F: package/x11r7/xlib_libXpresent/ F: package/zeek/ N: Fabrice Goucem @@ -1008,6 +1068,12 @@ F: configs/freescale_imx6ullevk_defconfig N: Falco Hyfing F: package/python-pymodbus/ +N: Flávio Tapajós +F: configs/asus_tinker-s_rk3288_defconfig +F: board/asus/tinker-s/ +F: package/python-sqlalchemy/ +F: package/rsyslog/ + N: Florian Fainelli F: package/cpulimit/ @@ -1024,6 +1090,12 @@ F: package/tbb/ N: Francisco Gonzalez F: package/ser2net/ +N: Francois Dugast +F: board/sipeed/licheepi_nano/ +F: board/visionfive2/ +F: configs/sipeed_licheepi_nano_defconfig +F: configs/visionfive2_defconfig + N: Francois Perrad F: board/freescale/ls1028ardb/ F: board/olimex/a20_olinuxino @@ -1081,12 +1153,10 @@ F: package/libsodium/ F: package/php-amqp/ F: package/python-cherrypy/ F: package/sane-backends/ -F: package/ucl/ F: package/upx/ F: package/zxing-cpp/ -N: Frank Vanbever -F: package/elixir/ +N: Frank Vanbever F: package/libmodsecurity/ F: package/nginx-modsecurity/ @@ -1101,7 +1171,6 @@ F: package/gstreamer1/gst1-imx/ F: package/libimxvpuapi/ F: package/mfgtools/ F: package/sshpass/ -F: package/x11r7/xdriver_xf86-video-imx-viv/ N: Geoff Levand F: package/flannel/ @@ -1134,23 +1203,43 @@ F: package/webp/ F: package/xapian/ N: Giulio Benetti +F: board/bananapi/bananapi-m2-ultra/ +F: board/freescale/imx6ullevk/ +F: board/freescale/imxrt1050evk/ +F: board/mangopi/mq1rdw2/ F: board/olimex/a* +F: board/pine64/rockpro64 F: configs/amarula_vyasa_rk3288_defconfig F: configs/asus_tinker_rk3288_defconfig +F: configs/bananapi_m2_berry_defconfig +F: configs/bananapi_m2_ultra_defconfig +F: configs/freescale_imx6ullevk_defconfig +F: configs/imx6ullevk_defconfig +F: configs/imxrt1050-evk_defconfig +F: configs/mangopi_mq1rdw2_defconfig F: configs/olimex_a* +F: configs/rockpro64_defconfig F: package/at/ F: package/binutils/ F: package/cryptsetup/ F: package/erlang-jiffy/ +F: package/esp-hosted/ F: package/gcc/ F: package/harfbuzz/ +F: package/libblockdev/ F: package/libfuse3/ F: package/libnspr/ F: package/libnss/ +F: package/libnvme/ +F: package/libtraceevent/ +F: package/libtracefs +F: package/linux-tools/linux-tool-rtla.mk.in F: package/mali-driver/ F: package/minicom/ +F: package/mongoose/ F: package/mmc-utils/ F: package/nfs-utils/ +F: package/python-libconf/ F: package/python-uvloop/ F: package/qt5/ F: package/rockchip-mali/ @@ -1161,9 +1250,12 @@ F: package/rtl8723bu/ F: package/rtl8723ds/ F: package/rtl8812au-aircrack-ng/ F: package/rtl8821au/ +F: package/rtl8821cu/ F: package/sunxi-mali-utgard/ F: package/sunxi-mali-utgard-driver/ F: package/sunxi-tools/ +F: package/swugenerator/ +F: package/swupdate/ F: package/trace-cmd/ F: package/udisks/ F: package/wilc-driver/ @@ -1251,6 +1343,7 @@ F: package/libnetconf2/ F: package/libyang/ F: package/linuxptp/ F: package/netopeer2/ +F: package/rauc/ F: package/sysrepo/ N: Hervé Codina @@ -1288,6 +1381,12 @@ F: package/mrp/ N: Ian Haylock F: package/python-rpi-gpio/ +N: Ibai Erkiaga +F: package/binutils-bare-metal/ +F: package/gcc-bare-metal/ +F: package/newlib-bare-metal/ +F: toolchain/toolchain-bare-metal-buildroot/ + N: Ignacy Gawędzki F: package/angularjs/ @@ -1334,71 +1433,16 @@ N: James Hilliard F: package/apcupsd/ F: package/bpftool/ F: package/exfatprogs/ +F: package/fxdiv/ F: package/gensio/ F: package/lua-std-debug/ F: package/lua-std-normalize/ +F: package/libucontext/ F: package/lilv/ F: package/lv2/ +F: package/neon-2-sse/ F: package/pipewire/ -F: package/python-aioconsole/ -F: package/python-aiodns/ -F: package/python-aiohttp/ -F: package/python-aiohttp-cors/ -F: package/python-aiohttp-debugtoolbar/ -F: package/python-aiohttp-jinja2/ -F: package/python-aiohttp-mako/ -F: package/python-aiohttp-remotes/ -F: package/python-aiohttp-security/ -F: package/python-aiohttp-session/ -F: package/python-aiohttp-sse/ -F: package/python-aiologstash/ -F: package/python-aiomonitor/ -F: package/python-aiojobs/ -F: package/python-aioprocessing/ -F: package/python-aiorwlock/ -F: package/python-aiosignal/ -F: package/python-aiozipkin/ -F: package/python-argon2-cffi/ -F: package/python-argon2-cffi-bindings/ -F: package/python-async-lru/ -F: package/python-async-timeout/ -F: package/python-bidict/ -F: package/python-brotli/ -F: package/python-cbor2/ -F: package/python-cchardet/ -F: package/python-charset-normalizer/ -F: package/python-cssselect2/ -F: package/python-editables/ -F: package/python-flatbuffers/ -F: package/python-fonttools/ -F: package/python-frozenlist/ -F: package/python-greenlet/ -F: package/python-hatchling/ -F: package/python-hatch-fancy-pypi-readme/ -F: package/python-hatch-vcs/ -F: package/python-installer/ -F: package/python-janus/ -F: package/python-logstash/ -F: package/python-maturin/ -F: package/python-multidict/ -F: package/python-mypy-extensions/ -F: package/python-pathspec/ -F: package/python-pep517/ -F: package/python-pycares/ -F: package/python-pydyf/ -F: package/python-pypa-build/ -F: package/python-pyphen/ -F: package/python-rtoml/ -F: package/python-snappy/ -F: package/python-sockjs/ -F: package/python-terminaltables/ -F: package/python-tinycss2/ -F: package/python-tomli/ -F: package/python-typeguard/ -F: package/python-typing-inspect/ -F: package/python-weasyprint/ -F: package/python-yarl/ -F: package/python-zopfli/ +F: package/python* F: package/rtl8192eu/ F: package/serd/ F: package/sord/ @@ -1411,14 +1455,23 @@ F: support/testing/tests/package/test_python_rtoml.py N: James Knight F: package/atkmm/ F: package/cairomm/ -F: package/google-material-design-icons/ F: package/glibmm/ F: package/gtkmm3/ F: package/libpqxx/ F: package/pangomm/ F: package/rpm/ +F: package/swaybg/ F: package/yad/ +N: Jamie Gibbons +F: board/microchip/mpfs_icicle/ +F: configs/microchip_mpfs_icicle_defconfig +F: package/microchip-hss-payload-generator/ + +N: Jan Havran +F: board/pine64/pinecube/ +F: configs/pine64_pinecube_defconfig + N: Jan Heylen F: package/opentracing-cpp/ @@ -1439,12 +1492,16 @@ F: package/zip/ N: Jared Bents F: package/libvirt/ -N: Jarkko Sakkinen +N: Jarkko Sakkinen F: package/quota/ N: Jason Pruitt F: package/librtlsdr/ +N: Javad Rahimi +F: board/orangepi/orangepi-pc2 +F: configs/orangepi_pc2_defconfig + N: Jean Burgat F: package/openfpgaloader/ @@ -1472,7 +1529,10 @@ F: package/lxc/ F: package/strongswan/ F: package/wmctrl/ F: package/x11r7/xdriver_xf86-video-imx/ -F: package/x11r7/xdriver_xf86-video-imx-viv/ + +N: Jesse Taube +F: board/freescale/imxrt1050evk/ +F: configs/imxrt1050-evk_defconfig N: Jesse Van Gavere F: package/qt6/ @@ -1492,6 +1552,7 @@ F: package/libnet/ F: package/libteam/ F: package/libuev/ F: package/mg/ +F: package/mdnsd/ F: package/mini-snmpd/ F: package/mrouted/ F: package/netcalc/ @@ -1561,6 +1622,9 @@ N: John Faith F: package/python-inflection/ F: package/sdbusplus/ +N: Jon Ringle +F: package/mbpoll/ + N: Jonathan Ben Avraham F: arch/Config.in.xtensa F: package/autofs/ @@ -1586,28 +1650,14 @@ N: José Luis Salvador Rufo F: package/zfs/ F: support/testing/tests/package/test_zfs.py -N: José Pekkarinen -F: package/alfred/ -F: package/avocado/ -F: package/bmx7/ -F: package/opensc/ -F: package/python-aexpect/ -F: package/python-alembic/ -F: package/python-lark/ -F: package/softhsm2/ -F: support/testing/tests/package/sample_python_aexpect.py -F: support/testing/tests/package/test_avocado.py -F: support/testing/tests/package/test_python_aexpect.py - N: Joseph Kogut -F: package/at-spi2-atk/ F: package/at-spi2-core/ -F: package/clang/ F: package/earlyoom/ F: package/gconf/ F: package/libnss/ -F: package/lld/ -F: package/llvm/ +F: package/llvm-project/clang/ +F: package/llvm-project/lld/ +F: package/llvm-project/llvm/ F: package/python-cython/ F: package/python-pycups/ F: package/python-raven/ @@ -1650,7 +1700,6 @@ F: package/libcddb/ F: package/libmodbus/ F: package/ltris/ F: package/opentyrian/ -F: package/python-pygame/ N: Julien Corjon F: package/qt5/ @@ -1663,39 +1712,174 @@ F: configs/ts7680_defconfig F: package/paho-mqtt-c N: Julien Olivain -F: board/qmtech/zynq/ +F: board/qemu/riscv64-virt-efi/ F: board/spike/ F: board/technexion/imx8mmpico/ F: board/technexion/imx8mpico/ F: configs/imx8mmpico_defconfig F: configs/imx8mpico_defconfig +F: configs/qemu_riscv64_virt_efi_defconfig F: configs/spike_riscv64_defconfig -F: configs/zynq_qmtech_defconfig F: package/fluid-soundfont/ F: package/fluidsynth/ F: package/glslsandbox-player/ +F: package/gnupg2/ +F: package/highway/ +F: package/kexec/ +F: package/libjxl/ F: package/octave/ F: package/ola/ +F: package/openblas/ +F: package/opencsd/ +F: package/openmpi/ +F: package/perftest/ F: package/ptm2human/ F: package/python-distro/ F: package/python-gnupg/ +F: package/python-hkdf/ +F: package/python-hwdata/ +F: package/python-magic-wormhole/ +F: package/python-magic-wormhole-mailbox-server/ +F: package/python-magic-wormhole-transit-relay/ +F: package/python-midiutil/ +F: package/python-ml-dtypes/ F: package/python-pyalsa/ +F: package/python-spake2/ +F: package/rdma-core/ F: package/riscv-isa-sim/ F: package/tinycompress/ F: package/z3/ F: package/zynaddsubfx/ +F: support/testing/tests/boot/test_optee_os.py +F: support/testing/tests/boot/test_optee_os/ F: support/testing/tests/package/sample_python_distro.py F: support/testing/tests/package/sample_python_gnupg.py +F: support/testing/tests/package/sample_python_hwdata.py +F: support/testing/tests/package/sample_python_midiutil.py +F: support/testing/tests/package/sample_python_ml_dtypes.py F: support/testing/tests/package/sample_python_pyalsa.py +F: support/testing/tests/package/sample_python_spake2.py +F: support/testing/tests/package/test_acl.py +F: support/testing/tests/package/test_acpica.py +F: support/testing/tests/package/test_acpica/ +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_bzip2.py +F: support/testing/tests/package/test_compressor_base.py +F: support/testing/tests/package/test_coremark.py +F: support/testing/tests/package/test_cryptsetup.py +F: support/testing/tests/package/test_cryptsetup/ +F: support/testing/tests/package/test_ddrescue.py +F: support/testing/tests/package/test_ddrescue/ +F: support/testing/tests/package/test_dos2unix.py +F: support/testing/tests/package/test_ed.py +F: support/testing/tests/package/test_ethtool.py +F: support/testing/tests/package/test_ethtool/ +F: support/testing/tests/package/test_file.py +F: support/testing/tests/package/test_file/ +F: support/testing/tests/package/test_fluidsynth.py +F: support/testing/tests/package/test_fluidsynth/ +F: support/testing/tests/package/test_fping.py +F: support/testing/tests/package/test_fwts.py +F: support/testing/tests/package/test_gawk.py +F: support/testing/tests/package/test_ghostscript.py +F: support/testing/tests/package/test_ghostscript/ +F: support/testing/tests/package/test_glslsandbox_player.py +F: support/testing/tests/package/test_glslsandbox_player/ +F: support/testing/tests/package/test_gnupg2.py +F: support/testing/tests/package/test_gnuplot.py +F: support/testing/tests/package/test_gnuplot/ +F: support/testing/tests/package/test_gnuradio.py +F: support/testing/tests/package/test_gnuradio/ +F: support/testing/tests/package/test_gzip.py +F: support/testing/tests/package/test_highway.py F: support/testing/tests/package/test_hwloc.py +F: support/testing/tests/package/test_iozone.py +F: support/testing/tests/package/test_iperf.py +F: support/testing/tests/package/test_iperf3.py +F: support/testing/tests/package/test_iptables.py +F: support/testing/tests/package/test_jailhouse.py +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_kmscube.py +F: support/testing/tests/package/test_kmscube/ +F: support/testing/tests/package/test_less.py +F: support/testing/tests/package/test_libcamera.py +F: support/testing/tests/package/test_libcamera/ +F: support/testing/tests/package/test_libgpgme.py +F: support/testing/tests/package/test_libjxl.py +F: support/testing/tests/package/test_links.py +F: support/testing/tests/package/test_links/ +F: support/testing/tests/package/test_lrzip.py +F: support/testing/tests/package/test_lrzsz.py +F: support/testing/tests/package/test_ltrace.py +F: support/testing/tests/package/test_lvm2.py +F: support/testing/tests/package/test_lzip.py +F: support/testing/tests/package/test_lsof.py +F: support/testing/tests/package/test_lz4.py +F: support/testing/tests/package/test_lzop.py +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_mtools.py +F: support/testing/tests/package/test_mtr.py F: support/testing/tests/package/test_ncdu.py +F: support/testing/tests/package/test_netcat.py +F: support/testing/tests/package/test_netsnmp.py +F: support/testing/tests/package/test_netsnmp/ +F: support/testing/tests/package/test_nftables.py +F: support/testing/tests/package/test_nftables/ +F: support/testing/tests/package/test_ngrep.py +F: support/testing/tests/package/test_numactl.py +F: support/testing/tests/package/test_numactl/ F: support/testing/tests/package/test_octave.py F: support/testing/tests/package/test_ola.py F: support/testing/tests/package/test_ola/ +F: support/testing/tests/package/test_openblas.py +F: support/testing/tests/package/test_pciutils.py +F: support/testing/tests/package/test_perftest.py +F: support/testing/tests/package/test_pigz.py +F: support/testing/tests/package/test_postgresql.py F: support/testing/tests/package/test_python_distro.py F: support/testing/tests/package/test_python_gnupg.py +F: support/testing/tests/package/test_python_hkdf.py +F: support/testing/tests/package/test_python_hwdata.py +F: support/testing/tests/package/test_python_magic_wormhole.py +F: support/testing/tests/package/test_python_midiutil.py +F: support/testing/tests/package/test_python_ml_dtypes.py F: support/testing/tests/package/test_python_pyalsa.py +F: support/testing/tests/package/test_python_spake2.py +F: support/testing/tests/package/test_rdma_core.py +F: support/testing/tests/package/test_rdma_core/ +F: support/testing/tests/package/test_screen.py +F: support/testing/tests/package/test_sed.py +F: support/testing/tests/package/test_socat.py +F: support/testing/tests/package/test_sox.py +F: support/testing/tests/package/test_sqlite.py +F: support/testing/tests/package/test_strace.py +F: support/testing/tests/package/test_stress_ng.py +F: support/testing/tests/package/test_tcl.py +F: support/testing/tests/package/test_tcl/ +F: support/testing/tests/package/test_tcpdump.py +F: support/testing/tests/package/test_tesseract_ocr.py +F: support/testing/tests/package/test_thttpd.py +F: support/testing/tests/package/test_trace_cmd.py +F: support/testing/tests/package/test_trace_cmd/ +F: support/testing/tests/package/test_usbutils.py +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_xz.py F: support/testing/tests/package/test_z3.py +F: support/testing/tests/package/test_z3/ +F: support/testing/tests/package/test_zbar.py +F: support/testing/tests/package/test_zchunk.py +F: support/testing/tests/package/test_zstd.py N: Julien Viard de Galbert F: package/dieharder/ @@ -1722,6 +1906,13 @@ F: package/ramsmp/ N: Kieran Bingham F: package/libcamera/ +N: Kilian Zinnecker +F: board/avnet/rzboard_v2l/ +F: board/radxa/rock5b/ +F: configs/rock5b_defconfig +F: configs/avnet_rzboard_v2l_defconfig +F: package/rockchip-rkbin/ + N: Klaus Heinrich Kiwi F: package/wqy-zenhei/ @@ -1734,6 +1925,7 @@ F: board/octavo/osd32mp1-brk/ F: board/octavo/osd32mp1-red/ F: configs/octavo_osd32mp1_brk_defconfig F: configs/octavo_osd32mp1_red_defconfig +F: boot/trusted-firmware-m/ N: Kris Bahnsen F: package/wilc-firmware/ @@ -1750,6 +1942,9 @@ F: package/aircrack-ng/ N: Laurent Charpentier F: package/open-lldp/ +N: Laurent Vivier +F: package/petitboot/ + N: Lee Jones F: boot/afboot-stm32/ @@ -1808,6 +2003,7 @@ F: configs/zynqmp_zcu106_defconfig F: package/agentpp/ F: package/exim/ F: package/libpjsip/ +F: package/linux-tools/linux-tool-usbtools.mk.in F: package/qpid-proton/ F: package/rtl8188eu/ F: package/snmppp/ @@ -1836,6 +2032,10 @@ F: package/python-simplejson/ F: package/python-versiontools/ F: package/wilc-firmware/ +N: Ludwig Kormann +F: board/in-circuit/ +F: configs/icnova* + N: Maeva Manuel F: board/freescale/imx8qmmek/ F: configs/freescale_imx8qmmek_defconfig @@ -1855,8 +2055,10 @@ F: package/ecryptfs-utils/ N: Marcin Niestroj F: board/grinn/ F: board/orangepi/orangepi-zero-plus/ +F: board/orangepi/orangepi-zero3/ F: configs/grinn_* F: configs/orangepi_zero_plus_defconfig +F: configs/orangepi_zero3_defconfig F: package/argparse/ F: package/dt-utils/ F: package/easydbus/ @@ -1868,6 +2070,7 @@ F: package/murata-cyw-fw/ F: package/netdata/ F: package/python-ansicolors/ F: package/python-bleak/ +F: package/python-dbus-fast/ F: package/python-dbus-next/ F: package/python-iniconfig/ F: package/python-intelhex/ @@ -1879,6 +2082,7 @@ F: package/python-typing-extensions/ F: package/python-xmodem/ F: package/rs485conf/ F: package/turbolua/ +F: support/testing/tests/package/sample_python_dbus_fast.py F: support/testing/tests/package/sample_python_dbus_next.py F: support/testing/tests/package/sample_python_pytest.py F: support/testing/tests/package/sample_python_pytest_asyncio.py @@ -1888,6 +2092,9 @@ F: support/testing/tests/package/test_python_pytest.py F: support/testing/tests/package/test_python_pytest_asyncio.py N: Marcus Folkesson +F: package/criu/ +F: package/libcamera/ +F: package/libcamera-apps/ F: package/libostree/ F: package/libselinux/ F: package/libsemanage/ @@ -1896,6 +2103,10 @@ F: package/selinux-python/ F: utils/config F: utils/diffconfig +N: Marcus Hoffmann +F: support/testing/tests/package/test_python_fastapi.py +F: support/testing/tests/package/sample_python_fastapi.py + N: Marek Belisko F: package/libatasmart/ F: package/polkit/ @@ -1917,6 +2128,12 @@ F: board/qemu/riscv64-virt/ F: configs/qemu_riscv32_virt_defconfig F: configs/qemu_riscv64_virt_defconfig +N: Marleen Vos +F: board/stmicroelectronics/common/stm32mp157/ +F: configs/avenger96_defconfig +F: configs/stm32mp157a_dk1_defconfig +F: configs/stm32mp157c_dk2_defconfig + N: Martin Bark F: board/raspberrypi/ F: configs/raspberrypi3_defconfig @@ -1928,6 +2145,13 @@ F: package/rpi-firmware/ F: package/tzdata/ F: package/zic/ +N: Martin Hundebøll +F: package/python-apispec/ +F: package/python-flask-smorest/ +F: package/python-marshmallow/ +F: package/python-marshmallow-sqlalchemy/ +F: package/python-webargs/ + N: Martin Kepplinger F: package/tslib/ F: package/x11r7/xdriver_xf86-input-tslib/ @@ -1947,111 +2171,8 @@ F: board/technologic/ts4900/ F: configs/ts4900_defconfig F: package/ts4900-fpga/ -N: Matt Weber -F: board/freescale/p* -F: board/freescale/t* -F: board/qemu/ppc64-e5500/ -F: configs/freescale_p* -F: configs/freescale_t* -F: configs/qemu_ppc64_e5500_defconfig -F: package/ace/ -F: package/argp-standalone/ -F: package/aufs/ -F: package/aufs-util/ -F: package/bc/ -F: package/bridge-utils/ -F: package/checkpolicy/ -F: package/checksec/ -F: package/cgroupfs-mount/ -F: package/compiler-rt/ -F: package/crda/ -F: package/cunit/ -F: package/dacapo/ -F: package/davici/ -F: package/dnsmasq/ -F: package/dosfstools/ -F: package/eigen/ -F: package/ethtool/ -F: package/flashbench/ -F: package/fmc/ -F: package/fmlib/ -F: package/freeradius-server/ -F: package/git/ -F: package/gnutls/ -F: package/hostapd/ -F: package/i2c-tools/ -F: package/ifplugd/ -F: package/igmpproxy/ -F: package/iperf/ -F: package/iperf3/ -F: package/iputils/ -F: package/iw/ -F: package/jitterentropy-library/ -F: package/kvm-unit-tests/ -F: package/kvmtool/ -F: package/libcsv/ -F: package/libcurl/ -F: package/libeastl/ -F: package/libfcgi/ -F: package/libopenssl/ -F: package/libselinux/ -F: package/libsemanage/ -F: package/libsepol/ -F: package/libssh2/ -F: package/libtalloc/ -F: package/libqmi/ -F: package/lighttpd/ -F: package/logrotate/ -F: package/makedevs/ -F: package/memtester/ -F: package/mii-diag/ -F: package/mrouted/ -F: package/mtd/ -F: package/mtools/ -F: package/nginx-upload/ -F: package/omniorb/ -F: package/openresolv/ -F: package/paxtest/ -F: package/picocom/ -F: package/policycoreutils/ -F: package/proftpd/ -F: package/protobuf-c/ -F: package/protobuf/ -F: package/python-bunch/ -F: package/python-colorama/ -F: package/python-filelock/ -F: package/python-flask-cors/ -F: package/python-iptables/ -F: package/python-ipy/ -F: package/python-iwlib/ -F: package/python-posix-ipc/ -F: package/python-pycairo/ -F: package/python-pysftp/ -F: package/python-tinyrpc/ -F: package/python-txdbus/ -F: package/qoriq-rcw/ -F: package/raptor/ -F: package/rng-tools/ -F: package/rsyslog/ -F: package/setools/ -F: package/sloci-image/ -F: package/smcroute/ -F: package/tclap/ -F: package/tini/ -F: package/uboot-tools/ -F: package/unionfs/ -F: package/valijson/ -F: package/wpa_supplicant/ -F: package/wireless_tools/ -F: package/xen/ -F: package/xml-security-c/ -F: support/testing/tests/fs/test_oci.py -F: support/testing/tests/package/br2-external/clang-compiler-rt/ -F: support/testing/tests/package/br2-external/openjdk/ -F: support/testing/tests/package/test_clang.py -F: support/testing/tests/package/test_openjdk.py -F: support/testing/tests/package/test_opkg/ -F: support/testing/tests/package/test_opkg.py +N: Matt Silva +F: package/rlwrap/ N: Mauro Condarelli F: package/mc/ @@ -2059,7 +2180,6 @@ F: package/python-autobahn/ F: package/python-cbor/ F: package/python-characteristic/ F: package/python-click/ -F: package/python-crossbar/ F: package/python-lmdb/ F: package/python-mistune/ F: package/python-netaddr/ @@ -2074,6 +2194,9 @@ F: package/python-txaio/ F: package/python-ujson/ F: package/python-wsaccel/ +N: Maksim Kiselev +F: package/ledmon/ + N: Max Filippov F: arch/Config.in.xtensa @@ -2082,9 +2205,15 @@ F: package/libgeos/ F: package/libosmium/ F: package/osm2pgsql/ F: package/postgis/ +F: package/postgresql/ F: package/protozero/ F: package/timescaledb/ +N: Maxime Chevallier +F: package/libtraceevent/ +F: package/libtracefs +F: package/linux-tools/linux-tool-rtla.mk.in + N: Michael Durrant F: board/arcturus/ F: configs/arcturus_ucp1020_defconfig @@ -2095,19 +2224,22 @@ F: package/gnuplot/ F: package/sdl2/ N: Michael Nosthoff +F: package/boost/ +F: package/catch2/ +F: package/fmt/ F: package/grpc/ F: package/gtest/ +F: package/json-for-modern-cpp/ F: package/libabseil-cpp/ F: package/networkd-dispatcher/ F: package/protobuf/ F: package/re2/ - -N: Michael Rommel -F: package/knock/ -F: package/python-crc16/ -F: package/python-pyzmq/ +F: package/spdlog/ N: Michael Trimarchi +F: board/bsh/ +F: configs/imx8mn_bsh_smm_s2_defconfig +F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: package/python-spidev/ N: Michael Vetter @@ -2130,8 +2262,8 @@ F: package/openrc/ F: package/skeleton-init-openrc/ N: Michel Stempin -F: board/licheepi/ -F: configs/licheepi_zero_defconfig +F: board/sipeed/licheepi_zero/ +F: configs/sipeed_licheepi_zero_defconfig N: Mike Frampton F: package/qcom-db410c-firmware/ @@ -2146,6 +2278,9 @@ N: Murat Demirten F: package/jpeg-turbo/ F: package/libgeotiff/ +N: Nasser Afshin +F: package/python-pycrate/ + N: Nathaniel Roach F: package/bandwidthd/ F: package/libgudev/ @@ -2160,14 +2295,21 @@ N: Neal Frager F: board/versal/ F: board/zynq/ F: board/zynqmp/ -F: board/zynqmp/kria/ F: configs/versal_vck190_defconfig +F: configs/zynq_zc702_defconfig F: configs/zynq_zc706_defconfig +F: configs/zynqmp_kria_kd240_defconfig +F: configs/zynqmp_kria_kr260_defconfig +F: configs/zynqmp_kria_kv260_defconfig F: configs/zynqmp_zcu102_defconfig +F: configs/zynqmp_zcu104_defconfig F: configs/zynqmp_zcu106_defconfig -F: configs/zynqmp_kria_kv260_defconfig +F: package/binutils-bare-metal/ F: package/bootgen/ +F: package/gcc-bare-metal/ +F: package/newlib-bare-metal/ F: package/versal-firmware/ +F: toolchain/toolchain-bare-metal-buildroot/ N: Nicola Di Lieto F: package/uacme/ @@ -2178,6 +2320,7 @@ F: configs/galileo_defconfig N: Nicolas Carrier F: package/bmap-tools/ +F: package/composer/ F: package/libdbi/ F: package/libdbi-drivers/ F: package/lua-augeas/ @@ -2282,6 +2425,9 @@ N: Patrick Havelange F: support/testing/tests/package/test_lxc.py F: support/testing/tests/package/test_lxc/ +N: Patrick Oppenlander +F: package/minisign/ + N: Paul Cercueil F: package/libiio/ F: package/lightning/ @@ -2305,7 +2451,6 @@ F: board/pandaboard/ F: board/roseapplepi/ F: board/visionfive/ F: boot/shim/ -F: boot/sun20i-d1-spl/ F: configs/avenger96_defconfig F: configs/beagleboneai_defconfig F: configs/lafrite_defconfig @@ -2320,10 +2465,10 @@ F: configs/roseapplepi_defconfig F: configs/sheevaplug_defconfig F: configs/visionfive_defconfig F: package/bats-core/ +F: package/dfu-programmer/ F: package/docker-compose/ F: package/dump1090/ F: package/fatcat/ -F: package/flickcurl/ F: package/fscryptctl/ F: package/ifmetric/ F: package/jo/ @@ -2352,6 +2497,13 @@ F: package/wireguard-linux-compat/ F: package/wireguard-tools/ F: support/testing/tests/package/test_docker_compose.py +N: Peter Seiderer +F: package/dotconf/ +F: package/fft-eval/ +F: package/python-blinker/ +F: package/qt5/qt5speech/ +F: package/speechd/ + N: Peter Thompson F: package/sdl2_gfx/ F: package/sdl2_image/ @@ -2425,11 +2577,14 @@ F: package/tree/ N: Pieter De Gendt F: package/libvips/ -N: Pieterjan Camerlynck +N: Pieterjan Camerlynck F: package/libdvbpsi/ F: package/mraa/ F: package/synergy/ +N: Prabhu Sannachi +F: package/redis-plus-plus/ + N: Rafal Susz F: board/avnet/s6lx9_microboard/ F: configs/s6lx9_microboard_defconfig @@ -2469,8 +2624,12 @@ F: support/testing/tests/package/test_python_jmespath.py F: support/testing/tests/package/test_python_rsa.py F: support/testing/tests/package/test_python_s3transfer.py -N: Raphael Pavlidis +N: Raphael Pavlidis +F: package/nvidia-persistenced/ +F: package/shadow/ F: package/slirp4netns/ +F: package/sway/ +F: package/x11r7/xwayland/ N: Refik Tuzakli F: package/freescale-imx/ @@ -2492,7 +2651,9 @@ F: support/testing/run-tests F: support/testing/tests/package/test_atop.py F: support/testing/tests/utils/test_check_package.py F: utils/check-package +F: utils/check-symbols F: utils/checkpackagelib/ +F: utils/checksymbolslib/ F: utils/docker-run N: Richard Braun @@ -2504,10 +2665,15 @@ F: package/azmq/ N: Robert Marko F: package/mdio-tools/ +F: package/mhz/ N: Robert Rose F: package/grpc/ +N: Roberto Medina +F: board/firefly/roc-rk3399-pc/ +F: configs/roc_pc_rk3399_defconfig + N: Rodrigo Rebello F: package/chocolate-doom/ F: package/irssi/ @@ -2515,12 +2681,13 @@ F: package/vnstat/ N: Romain Naour F: board/qemu/ +F: board/ti/am574x-idk/ F: configs/qemu_* +F: configs/am574x_idk_defconfig F: package/alure/ F: package/aubio/ F: package/binutils/ F: package/bullet/ -F: package/clang/ F: package/clinfo/ F: package/efl/ F: package/enet/ @@ -2534,12 +2701,13 @@ F: package/irrlicht/ F: package/liblinear/ F: package/lensfun/ F: package/libbpf/ -F: package/libclc/ F: package/libgta/ F: package/libiec61850/ F: package/libspatialindex/ F: package/linux-syscall-support/ -F: package/llvm/ +F: package/llvm-project/clang/ +F: package/llvm-project/libclc/ +F: package/llvm-project/llvm/ F: package/lugaru/ F: package/mcelog/ F: package/mesa3d/ @@ -2561,8 +2729,11 @@ F: package/upower/ F: package/waffle/ F: package/xenomai/ F: package/zziplib/ +F: support/testing/tests/package/sample_python_mako.py +F: support/testing/tests/package/sample_python_mako_ext.py F: support/testing/tests/package/test_glxinfo.py F: support/testing/tests/package/test_openssh.py +F: support/testing/tests/package/test_python_mako.py F: toolchain/ N: Rufus Segar @@ -2571,6 +2742,10 @@ F: package/agent-proxy/ N: Ryan Wilkins F: package/biosdevname/ +N: Saeed Kazemi +F: package/eza/ +F: package/procs/ + N: Sam Lancia F: package/lrzip/ @@ -2592,6 +2767,8 @@ N: Sam Voss F: package/ripgrep/ N: Sébastien Szymanski +F: board/armadeus/ +F: configs/armadeus* F: package/mmc-utils/ F: package/python-flask-jsonrpc/ F: package/python-flask-login/ @@ -2603,7 +2780,7 @@ F: package/libbson/ F: package/lua-resty-http/ F: package/mpir/ -N: Sen Hastings +N: Sen Hastings F: package/systemd F: support/scripts/pkg-stats @@ -2647,9 +2824,6 @@ F: package/tunctl/ F: package/ubus/ F: package/wolfssl/ -N: Shyam Saini -F: package/cukinia/ - N: Simon Dawson F: boot/at91bootstrap3/ F: package/cppzmq/ @@ -2696,6 +2870,10 @@ F: package/libvpx/ F: package/mesa3d-demos/ F: package/ti-gfx/ +N: Stefan Nickl +F: board/freescale/imx8dxlevk/ +F: configs/freescale_imx8dxlevk_defconfig + N: Stefan Ott F: package/unbound/ @@ -2729,7 +2907,6 @@ F: package/dvdauthor/ F: package/dvdrw-tools/ F: package/memtest86/ F: package/mjpegtools/ -F: package/tovid/ F: package/udftools/ F: package/xorriso/ @@ -2748,7 +2925,17 @@ N: Sven Oliver Moll F: package/most/ N: TIAN Yuanhao +F: package/cli11/ +F: package/libsolv/ +F: package/open-iscsi/ F: package/open-isns/ +F: package/reproc/ +F: package/termcolor/ +F: package/tl-expected/ + +N: Takumi Takahashi +F: package/gsettings-desktop-schemas/ +F: package/libcanberra/ N: Tan En De F: package/libkcapi/ @@ -2772,46 +2959,9 @@ F: package/openlayers/ F: package/vuejs/ F: package/vuejs-router/ -N: Thomas De Schampheleire -F: docs/manual/ -F: package/cereal/ -F: package/chartjs/ -F: package/datatables/ -F: package/datatables-buttons/ -F: package/datatables-fixedcolumns/ -F: package/datatables-responsive/ -F: package/jszip/ -F: package/libtelnet/ -F: package/opkg-utils/ -F: package/perl-convert-asn1/ -F: package/perl-crypt-blowfish/ -F: package/perl-crypt-cbc/ -F: package/perl-crypt-openssl-aes/ -F: package/perl-devel-cycle/ -F: package/perl-devel-size/ -F: package/perl-i18n/ -F: package/perl-locale-maketext-lexicon/ -F: package/perl-lwp-protocol-https/ -F: package/perl-math-int64/ -F: package/perl-math-prime-util/ -F: package/perl-mime-base64-urlsafe/ -F: package/perl-mojolicious-plugin-authentication/ -F: package/perl-mojolicious-plugin-authorization/ -F: package/perl-mojolicious-plugin-cspheader/ -F: package/perl-mojolicious-plugin-i18n/ -F: package/perl-mojolicious-plugin-securityheader/ -F: package/perl-mozilla-ca/ -F: package/perl-net-snmp/ -F: package/perl-net-ssh2/ -F: package/perl-net-telnet/ -F: package/perl-path-class/ -F: package/pigz/ -F: package/popperjs/ -F: package/xenomai/ -F: support/scripts/size-stats -F: support/testing/tests/package/test_perl_lwp_protocol_https.py -F: utils/size-stats-compare -F: toolchain/ +N: Thomas Devoogdt +F: package/fluent-bit/ +F: package/libsoup3/ N: Thomas Huth F: board/qemu/m68k-mcf5208/ @@ -2829,7 +2979,6 @@ F: boot/beaglev-ddrinit/ F: boot/beaglev-secondboot/ F: boot/boot-wrapper-aarch64/ F: boot/grub2/ -F: boot/gummiboot/ F: configs/beaglev_defconfig F: configs/stm32mp157c_dk2_defconfig F: package/android-tools/ @@ -2870,6 +3019,7 @@ F: package/msmtp/ F: package/musl/ F: package/musl-fts/ F: package/ne10/ +F: package/nodejs/ F: package/pkg-python.mk F: package/pkg-autotools.mk F: package/pkg-generic.mk @@ -2895,11 +3045,14 @@ F: package/weston/ F: support/testing/tests/boot/test_grub.py F: support/testing/tests/boot/test_grub/ F: support/testing/tests/boot/test_syslinux.py +F: support/testing/tests/package/sample_nodejs_basic.js +F: support/testing/tests/package/sample_nodejs_module.js F: support/testing/tests/package/sample_python_augeas.py F: support/testing/tests/package/sample_python_flask.py F: support/testing/tests/package/sample_python_flask_expects_json.py F: support/testing/tests/package/sample_python_git.py F: support/testing/tests/package/sample_python_unittest_xml_reporting.py +F: support/testing/tests/package/test_nodejs.py F: support/testing/tests/package/test_python_augeas.py F: support/testing/tests/package/test_python_flask.py F: support/testing/tests/package/test_python_flask_expects_json.py @@ -2939,14 +3092,17 @@ F: package/gettext-tiny/ F: package/tinyssh/ N: Valentin Korenblit -F: package/clang/ F: package/clinfo/ -F: package/libclc/ -F: package/llvm/ +F: package/llvm-project/clang/ +F: package/llvm-project/libclc/ +F: package/llvm-project/llvm/ N: Vanya Sergeev F: package/lua-periphery/ +N: Viacheslav Bocharov +F: package/rtl8822cs/ + N: Victor Huesca F: support/testing/tests/core/test_root_password.py @@ -2956,7 +3112,9 @@ F: package/utp_com/ N: Vincent Stehlé F: board/qemu/aarch64-ebbr/ +F: board/qemu/arm-ebbr/ F: configs/qemu_aarch64_ebbr_defconfig +F: configs/qemu_arm_ebbr_defconfig F: package/edk2-non-osi/ N: Vincent Stehlé @@ -2986,10 +3144,13 @@ N: Wade Berrier F: package/ngrep/ N: Waldemar Brodkorb +F: package/asterisk/ +F: package/libjwt/ F: package/mksh/ F: package/ruby/ F: package/uclibc/ F: package/uclibc-ng-test/ +F: support/testing/tests/package/test_ruby.py N: Will Newton F: package/enchant/ @@ -3001,6 +3162,11 @@ F: package/time/ N: Will Wagner F: package/yaffs2utils/ +N: Witold Lipieta +F: package/python-segno/ +F: support/testing/tests/package/sample_python_segno.py +F: support/testing/tests/package/test_python_segno.py + N: Wojciech M. Zabolotny F: package/avrdude/ F: package/jack2/ @@ -3010,8 +3176,18 @@ F: package/python-pyusb/ N: Wojciech Niziński F: package/fwup/ +N: Woodrow Douglass +F: package/opencv4 +F: package/opencv4-contrib + N: Xuanhao Shi +F: board/ti/am62x-sk/ +F: board/ti/am64x-sk/ +F: boot/ti-k3-boot-firmware/ +F: boot/ti-k3-image-gen/ F: boot/ti-k3-r5-loader/ +F: configs/ti_am62x_sk_defconfig +F: configs/ti_am64x_sk_defconfig N: Yair Ben Avraham F: package/casync/ @@ -3068,6 +3244,7 @@ F: package/zisofs-tools/ F: support/download/ N: Yann E. MORIN +F: .editorconfig F: package/gpsd/ N: Yegor Yefremov @@ -3103,6 +3280,7 @@ F: package/libuci/ F: package/linux-firmware/ F: package/linux-serial-test/ F: package/modem-manager/ +F: package/ncftp/ F: package/nftables/ F: package/nuttcp/ F: package/parted/ @@ -3121,10 +3299,14 @@ F: package/x11r7/xapp_xinput-calibrator/ F: package/zlog/ F: support/testing/tests/package/sample_python_dicttoxml2.py F: support/testing/tests/package/sample_python_dtschema.py +F: support/testing/tests/package/sample_python_munch.py +F: support/testing/tests/package/sample_python_pysmb.py F: support/testing/tests/package/test_libftdi1.py F: support/testing/tests/package/test_python_can.py F: support/testing/tests/package/test_python_dicttoxml2.py F: support/testing/tests/package/test_python_dtschema.py +F: support/testing/tests/package/test_python_munch.py +F: support/testing/tests/package/test_python_pysmb.py F: utils/scanpypi N: Yunhao Tian @@ -3138,6 +3320,7 @@ F: package/libusb-compat/ F: package/proj/ F: package/python-iniparse/ F: package/qjson/ +F: package/qt6/qt6core5compat/ F: package/quazip/ F: package/shapelib/ F: package/simple-mail/ diff --git a/Makefile b/Makefile index 88f90cd2fa0..e5053e42217 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,6 @@ # Makefile for buildroot # -# Copyright (C) 1999-2005 by Erik Andersen -# Copyright (C) 2006-2014 by the Buildroot developers -# Copyright (C) 2014-2020 by the Buildroot developers +# Copyright (C) the Buildroot developers # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -92,9 +90,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2023.02-git +export BR2_VERSION := 2024.02.3 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1669308000 +BR2_VERSION_EPOCH = 1718005000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -125,7 +123,7 @@ endif noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \ randpackageconfig allyespackageconfig allnopackageconfig \ - print-version olddefconfig distclean manual manual-% check-package check-flake8 + print-version olddefconfig distclean manual manual-% check-package # Some global targets do not trigger a build, but are used to collect # metadata, or do various checks. When such targets are triggered, @@ -229,8 +227,6 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings LEGAL_REPORT = $(LEGAL_INFO_DIR)/README -CPE_UPDATES_DIR = $(BASE_DIR)/cpe-updates - BR2_CONFIG = $(CONFIG_DIR)/.config # Pull in the user's configuration file @@ -355,7 +351,7 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \ # When adding a new host gcc version in Config.in, # update the HOSTCC_MAX_VERSION variable: -HOSTCC_MAX_VERSION := 9 +HOSTCC_MAX_VERSION := 11 HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \ sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \ @@ -596,8 +592,13 @@ world: target-post-image .PHONY: prepare-sdk prepare-sdk: world @$(call MESSAGE,"Rendering the SDK relocatable") - PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath host - PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath staging + PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath host + PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath staging + $(call ppd-fixup-paths,$(BASE_DIR)) $(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh mkdir -p $(HOST_DIR)/share/buildroot echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location @@ -714,7 +715,7 @@ STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.t .PHONY: host-finalize host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK) @$(call MESSAGE,"Finalizing host directory") - $(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR)) + $(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR),copy) .PHONY: staging-finalize staging-finalize: $(STAGING_DIR_SYMLINK) @@ -722,7 +723,7 @@ staging-finalize: $(STAGING_DIR_SYMLINK) .PHONY: target-finalize target-finalize: $(PACKAGES) $(TARGET_DIR) host-finalize @$(call MESSAGE,"Finalizing target directory") - $(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR)) + $(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR),copy) $(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep)) rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \ $(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \ @@ -767,7 +768,9 @@ endif ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc @$(call MESSAGE,"Sanitizing RPATH in target tree") - PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath target + PARALLEL_JOBS=$(PARALLEL_JOBS) \ + PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \ + $(TOPDIR)/support/scripts/fix-rpath target # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr # counterparts are appropriately setup as symlinks ones to the others. @@ -833,7 +836,7 @@ legal-info-clean: .PHONY: legal-info-prepare legal-info-prepare: $(LEGAL_INFO_DIR) @$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info") - @$(call legal-license-file,buildroot,buildroot,support/legal-info/buildroot.hash,COPYING,COPYING,HOST) + @$(call legal-license-file,HOST,buildroot,buildroot,COPYING,COPYING,support/legal-info/buildroot.hash) @$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) @$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) @$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved) @@ -929,14 +932,6 @@ pkg-stats: --html $(O)/pkg-stats.html \ --nvd-path $(DL_DIR)/buildroot-nvd -.PHONY: missing-cpe -missing-cpe: - $(Q)mkdir -p $(CPE_UPDATES_DIR) - $(Q)cd "$(CONFIG_DIR)" ; \ - $(TOPDIR)/support/scripts/gen-missing-cpe \ - --nvd-path $(DL_DIR)/buildroot-nvd \ - --output $(CPE_UPDATES_DIR) - else # ifeq ($(BR2_HAVE_DOT_CONFIG),y) # Some subdirectories are also package names. To avoid that "make linux" @@ -1013,13 +1008,18 @@ oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf outputmake defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN) -define percent_defconfig -# Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig -%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig outputmakefile - @$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \ - $$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN) -endef -$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep))) +%_defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile + @defconfig=$(or \ + $(firstword \ + $(foreach d, \ + $(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)), \ + $(wildcard $(d)/configs/$@) \ + ) \ + ), \ + $(error "Can't find $@") \ + ); \ + $(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$${defconfig} \ + $< --defconfig=$${defconfig} $(CONFIG_CONFIG_IN) update-defconfig: savedefconfig @@ -1039,7 +1039,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile # staging and target directories do NOT list these as # dependencies anywhere else -$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR): +$(BASE_DIR) $(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR): @mkdir -p $@ # outputmakefile generates a Makefile in the output directory, if using a @@ -1102,8 +1102,7 @@ show-vars: clean: rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \ $(BUILD_DIR) $(BASE_DIR)/staging \ - $(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR) $(CPE_UPDATES_DIR) \ - $(O)/pkg-stats.* + $(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR) $(O)/pkg-stats.* .PHONY: distclean distclean: clean @@ -1188,7 +1187,6 @@ help: @echo ' legal-info - generate info about license compliance' @echo ' show-info - generate info about packages, as a JSON blurb' @echo ' pkg-stats - generate info about packages as JSON and HTML' - @echo ' missing-cpe - generate XML snippets for missing CPE identifiers' @echo ' printvars - dump internal variables selected with VARS=...' @echo ' show-vars - dump all internal variables as a JSON blurb; use VARS=...' @echo ' to limit the list to variables names matching that pattern' @@ -1246,21 +1244,21 @@ release: print-version: @echo $(BR2_VERSION_FULL) -check-flake8: - $(Q)git ls-tree -r --name-only HEAD \ - | xargs file \ - | grep 'Python script' \ - | cut -d':' -f1 \ - | xargs -- python3 -m flake8 --statistics - check-package: - find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' -o -name '*.patch' \) \ - -a -not -name '*.orig' -a -not -name '*.rej' \ - -exec ./utils/check-package --exclude=Sob {} + + $(Q)./utils/check-package `git ls-tree -r --name-only HEAD` \ + --ignore-list=$(TOPDIR)/.checkpackageignore + +.PHONY: .checkpackageignore +.checkpackageignore: + $(Q)./utils/check-package --failed-only `git ls-tree -r --name-only HEAD` \ + > .checkpackageignore include docs/manual/manual.mk -include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) .PHONY: $(noconfig_targets) +# .WAIT was introduced in make 4.4. For older make, define it as phony. +.PHONY: .WAIT + endif #umask / $(CURDIR) / $(O) diff --git a/arch/Config.in b/arch/Config.in index 1c0c400a987..9912f9fce68 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -216,6 +216,11 @@ config BR2_sh config BR2_sparc bool "SPARC" select BR2_USE_MMU + # uClibc-ng broken on sparc due to recent gcc changes + # that need to be reverted since gcc 8.4, 9.3 and 10.1. + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784 + # gcc <= 10.x has been removed from Buildroot. + select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT help SPARC (from Scalable Processor Architecture) is a RISC instruction set architecture (ISA) developed by Sun @@ -304,6 +309,14 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_12 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + +config BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 78621e321c9..b44a164e037 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -781,6 +781,9 @@ choice config BR2_ARM64_PAGE_SIZE_4K bool "4KB" +config BR2_ARM64_PAGE_SIZE_16K + bool "16KB" + config BR2_ARM64_PAGE_SIZE_64K bool "64KB" @@ -789,6 +792,7 @@ endchoice config BR2_ARM64_PAGE_SIZE string default "4K" if BR2_ARM64_PAGE_SIZE_4K + default "16K" if BR2_ARM64_PAGE_SIZE_16K default "64K" if BR2_ARM64_PAGE_SIZE_64K config BR2_ARCH diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 7f44f06c9df..29b4180d21a 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -40,8 +40,8 @@ choice help Specific CPU variant to use - 64bit capable: 64, 64r2, 64r3, 64r5, 64r6 - non-64bit capable: 32, 32r2, 32r3, 32r5, 32r6 + 64bit capable: mips4, 64, 64r2, 64r3, 64r5, 64r6 + non-64bit capable: mips4, 32, 32r2, 32r3, 32r5, 32r6 config BR2_mips_32 bool "Generic MIPS32" @@ -97,6 +97,8 @@ config BR2_mips_xburst to be used in order to prevent emitting these instructions. See http://www.ingenic.com/en/?xburst.html +config BR2_mips4 + bool "MIPS IV" config BR2_mips_64 bool "Generic MIPS64" depends on BR2_ARCH_IS_64 @@ -262,6 +264,7 @@ config BR2_GCC_TARGET_ARCH default "octeon2" if BR2_mips_octeon2 default "octeon3" if BR2_mips_octeon3 default "p6600" if BR2_mips_p6600 + default "mips4" if BR2_mips4 config BR2_MIPS_OABI32 bool diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index d4e204a463a..3f4d348d5fc 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -146,21 +146,6 @@ config BR2_powerpc_power9 select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 endchoice -choice - prompt "Target ABI" - default BR2_powerpc_SPE if BR2_POWERPC_CPU_HAS_SPE - default BR2_powerpc_CLASSIC - help - Application Binary Interface to use - -config BR2_powerpc_CLASSIC - bool "Classic" - depends on !BR2_POWERPC_CPU_HAS_SPE -config BR2_powerpc_SPE - bool "SPE" - depends on BR2_POWERPC_CPU_HAS_SPE -endchoice - config BR2_POWERPC_SOFT_FLOAT bool "Use soft-float" select BR2_SOFT_FLOAT diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv index b5e84389e0a..d62e4ebc6c9 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -1,23 +1,5 @@ # RISC-V CPU ISA extensions. -config BR2_RISCV_ISA_RVI - bool - -config BR2_RISCV_ISA_RVM - bool - -config BR2_RISCV_ISA_RVA - bool - -config BR2_RISCV_ISA_RVF - bool - -config BR2_RISCV_ISA_RVD - bool - -config BR2_RISCV_ISA_RVC - bool - choice prompt "Target Architecture Variant" default BR2_riscv_g @@ -35,35 +17,33 @@ config BR2_riscv_g config BR2_riscv_custom bool "Custom architecture" select BR2_RISCV_ISA_RVI - select BR2_RISCV_ISA_CUSTOM_RVA endchoice -if BR2_riscv_custom - comment "Instruction Set Extensions" -config BR2_RISCV_ISA_CUSTOM_RVM +config BR2_RISCV_ISA_RVI + bool "Base Integer (I)" + +config BR2_RISCV_ISA_RVM bool "Integer Multiplication and Division (M)" - select BR2_RISCV_ISA_RVM -config BR2_RISCV_ISA_CUSTOM_RVA +config BR2_RISCV_ISA_RVA bool "Atomic Instructions (A)" - select BR2_RISCV_ISA_RVA -config BR2_RISCV_ISA_CUSTOM_RVF +config BR2_RISCV_ISA_RVF bool "Single-precision Floating-point (F)" - select BR2_RISCV_ISA_RVF -config BR2_RISCV_ISA_CUSTOM_RVD +config BR2_RISCV_ISA_RVD bool "Double-precision Floating-point (D)" depends on BR2_RISCV_ISA_RVF - select BR2_RISCV_ISA_RVD -config BR2_RISCV_ISA_CUSTOM_RVC +config BR2_RISCV_ISA_RVC bool "Compressed Instructions (C)" - select BR2_RISCV_ISA_RVC -endif + +config BR2_RISCV_ISA_RVV + bool "Vector Instructions (V)" + select BR2_ARCH_NEEDS_GCC_AT_LEAST_12 choice prompt "Target Architecture Size" diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index c770ae3ffe3..93a223b7aed 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -19,12 +19,20 @@ config BR2_X86_CPU_HAS_AVX bool config BR2_X86_CPU_HAS_AVX2 bool + +# BR2_X86_CPU_HAS_AVX512 implies the following AVX512 extensions: +# AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL +# This subset is common to Intel Xeon (excl Xeon Phi), AMD Zen 4, and +# the x86-64-v4 psABI. +# +# Only select BR2_X86_CPU_HAS_AVX512 if the CPU supports this entire +# subset of extensions. config BR2_X86_CPU_HAS_AVX512 bool # This list of CPU architecture variant is (loosely) ordered according # to the gcc documentation at -# https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/x86-Options.html +# https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/x86-Options.html choice prompt "Target Architecture Variant" default BR2_x86_i586 if BR2_i386 @@ -64,6 +72,7 @@ config BR2_x86_pentium_m depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 config BR2_x86_pentium2 bool "pentium2" depends on !BR2_x86_64 @@ -227,6 +236,17 @@ config BR2_x86_sandybridge select BR2_X86_CPU_HAS_SSE42 select BR2_X86_CPU_HAS_AVX select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_ivybridge + bool "ivybridge" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 config BR2_x86_core_avx2 bool "core-avx2" select BR2_X86_CPU_HAS_MMX @@ -335,6 +355,54 @@ config BR2_x86_tremont select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_sierraforest + bool "sierraforest" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 +config BR2_x86_grandridge + bool "grandridge" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 +config BR2_x86_knightslanding + bool "knightslanding" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +config BR2_x86_knightsmill + bool "knightsmill" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 config BR2_x86_skylake_avx512 bool "skylake-avx512" select BR2_X86_CPU_HAS_MMX @@ -439,6 +507,8 @@ config BR2_x86_sapphirerapids select BR2_X86_CPU_HAS_AVX2 select BR2_X86_CPU_HAS_AVX512 select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + Use for Sapphire Rapids, Emerald Rapids config BR2_x86_alderlake bool "alderlake" select BR2_X86_CPU_HAS_MMX @@ -450,8 +520,9 @@ config BR2_x86_alderlake select BR2_X86_CPU_HAS_SSE42 select BR2_X86_CPU_HAS_AVX select BR2_X86_CPU_HAS_AVX2 - select BR2_X86_CPU_HAS_AVX512 select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 + help + Use for Alder Lake, Raptor Lake, Meteor Lake config BR2_x86_rocketlake bool "rocketlake" select BR2_X86_CPU_HAS_MMX @@ -465,6 +536,32 @@ config BR2_x86_rocketlake select BR2_X86_CPU_HAS_AVX2 select BR2_X86_CPU_HAS_AVX512 select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_x86_graniterapids + bool "graniterapids" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 +config BR2_x86_graniterapids_d + bool "graniterapids-d" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 config BR2_x86_k6 bool "k6" depends on !BR2_x86_64 @@ -502,6 +599,13 @@ config BR2_x86_barcelona select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 +config BR2_x86_bobcat + bool "bobcat" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 config BR2_x86_jaguar bool "jaguar" select BR2_X86_CPU_HAS_MMX @@ -511,6 +615,25 @@ config BR2_x86_jaguar select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 +config BR2_x86_bulldozer + bool "bulldozer" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 +config BR2_x86_piledriver + bool "piledriver" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 config BR2_x86_steamroller bool "steamroller" select BR2_X86_CPU_HAS_MMX @@ -520,12 +643,73 @@ config BR2_x86_steamroller select BR2_X86_CPU_HAS_SSSE3 select BR2_X86_CPU_HAS_SSE4 select BR2_X86_CPU_HAS_SSE42 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 +config BR2_x86_excavator + bool "excavator" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 +config BR2_x86_zen + bool "zen" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_x86_zen2 + bool "zen 2" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_9 +config BR2_x86_zen3 + bool "zen 3" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_11 +config BR2_x86_zen4 + bool "zen 4" + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_SSE + select BR2_X86_CPU_HAS_SSE2 + select BR2_X86_CPU_HAS_SSE3 + select BR2_X86_CPU_HAS_SSSE3 + select BR2_X86_CPU_HAS_SSE4 + select BR2_X86_CPU_HAS_SSE42 + select BR2_X86_CPU_HAS_AVX + select BR2_X86_CPU_HAS_AVX2 + select BR2_X86_CPU_HAS_AVX512 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_13 config BR2_x86_geode - bool "geode" - # Don't include MMX support because there several variant of geode - # processor, some with MMX support, some without. - # See: http://en.wikipedia.org/wiki/Geode_%28processor%29 + bool "AMD Geode" depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX + select BR2_X86_CPU_HAS_3DNOW config BR2_x86_c3 bool "Via/Cyrix C3 (Samuel/Ezra cores)" depends on !BR2_x86_64 @@ -593,6 +777,7 @@ config BR2_GCC_TARGET_ARCH default "nehalem" if BR2_x86_nehalem default "corei7-avx" if BR2_x86_corei7_avx default "sandybridge" if BR2_x86_sandybridge + default "ivybridge" if BR2_x86_ivybridge default "core-avx2" if BR2_x86_core_avx2 default "haswell" if BR2_x86_haswell default "broadwell" if BR2_x86_broadwell @@ -604,6 +789,10 @@ config BR2_GCC_TARGET_ARCH default "goldmont" if BR2_x86_goldmont default "goldmont-plus" if BR2_x86_goldmont_plus default "tremont" if BR2_x86_tremont + default "sierraforest" if BR2_x86_sierraforest + default "grandridge" if BR2_x86_grandridge + default "knl" if BR2_x86_knightslanding + default "knm" if BR2_x86_knightsmill default "skylake-avx512" if BR2_x86_skylake_avx512 default "cannonlake" if BR2_x86_cannonlake default "icelake-client" if BR2_x86_icelake_client @@ -614,11 +803,21 @@ config BR2_GCC_TARGET_ARCH default "sapphirerapids" if BR2_x86_sapphirerapids default "alderlake" if BR2_x86_alderlake default "rocketlake" if BR2_x86_rocketlake + default "graniterapids" if BR2_x86_graniterapids + default "graniterapids-d" if BR2_x86_graniterapids_d default "k8" if BR2_x86_opteron default "k8-sse3" if BR2_x86_opteron_sse3 default "barcelona" if BR2_x86_barcelona + default "btver1" if BR2_x86_bobcat default "btver2" if BR2_x86_jaguar + default "bdver1" if BR2_x86_bulldozer + default "bdver2" if BR2_x86_piledriver default "bdver3" if BR2_x86_steamroller + default "bdver4" if BR2_x86_excavator + default "znver1" if BR2_x86_zen + default "znver2" if BR2_x86_zen2 + default "znver3" if BR2_x86_zen3 + default "znver4" if BR2_x86_zen4 default "k6" if BR2_x86_k6 default "k6-2" if BR2_x86_k6_2 default "athlon" if BR2_x86_athlon diff --git a/arch/arch.mk b/arch/arch.mk index 2e737b92acc..4174d33df54 100644 --- a/arch/arch.mk +++ b/arch/arch.mk @@ -23,7 +23,7 @@ ifeq ($(BR2_ARC_PAGE_SIZE_4K)$(BR2_ARM64_PAGE_SIZE_4K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -Wl,-z,common-page-size=8192 -else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y) +else ifeq ($(BR2_ARC_PAGE_SIZE_16K)$(BR2_ARM64_PAGE_SIZE_16K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384 else ifeq ($(BR2_ARM64_PAGE_SIZE_64K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 -Wl,-z,common-page-size=65536 diff --git a/arch/arch.mk.riscv b/arch/arch.mk.riscv index 8d2236147c8..ee5c434b971 100644 --- a/arch/arch.mk.riscv +++ b/arch/arch.mk.riscv @@ -26,6 +26,9 @@ endif ifeq ($(BR2_RISCV_ISA_RVC),y) GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c endif +ifeq ($(BR2_RISCV_ISA_RVV),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)v +endif # Starting from gcc 12.x, csr and fence instructions have been # separated from the base I instruction set, and special -march diff --git a/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts b/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts index 264af298097..a7a4a203526 100644 --- a/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts +++ b/board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts @@ -4,12 +4,12 @@ * Copyright (C) 2014 Atmel, * 2014 Nicolas Ferre * - * 2020 Sergio Tanzilli + * 2022 Sergio Tanzilli * * Licensed under GPLv2 or later. */ /dts-v1/; -#include "sama5d31.dtsi" +#include "microchip/sama5d31.dtsi" / { model = "Acme Systems Acqua SOM"; @@ -17,7 +17,7 @@ chosen { stdout-path = "serial0:115200n8"; - bootargs = "mem=256M console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait consoleblank=0"; + bootargs = "mem=256M console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait net.ifnames=0"; }; memory { @@ -128,15 +128,19 @@ i2c3@ { compatible = "i2c-gpio"; - gpios = <&pioE 1 0 /* SDA */ - &pioE 2 0 /* SCK */ - >; - i2c-gpio,delay-us = <4>; /* ~178 kHz */ + + sda-gpios = <&pioE 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + scl-gpios = <&pioE 2 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3_gpio>; + + i2c-gpio,delay-us = <4>; /* ~178 kHz */ #address-cells = <1>; #size-cells = <0>; - + /* EEPROM contains the eth0 MAC address */ - + eeprom@58 { compatible = "atmel,24mac402"; pagesize = <256>; @@ -149,6 +153,7 @@ reg = <0x0 0x06>; }; }; + }; pwm0: pwm@f002c000 { @@ -204,6 +209,17 @@ }; pinctrl@fffff200 { + + atmel,mux-mask = < + /* A B C */ + 0xffffffff 0xc0fc0000 0xc0ff0000 /* pioA */ + 0xffffffff 0x0ff8ffff 0x00000000 /* pioB */ + 0xffffffff 0xbc00f1ff 0x7c00fc00 /* pioC */ + 0xffffffff 0xc001c0e0 0x0001c1e0 /* pioD */ + 0xfffffff9 0xbf9f8000 0x18000000 /* pioE */ + /* 0xffffffff 0xb8000000 0x18000000 */ /* pioE */ + >; + board { pinctrl_i2c0_pu: i2c0_pu { atmel,pins = @@ -217,6 +233,13 @@ ; }; + pinctrl_i2c3_gpio: i2c3-gpio { + atmel,pins = + ; + }; + + pinctrl_key_gpio: key_gpio_0 { atmel,pins = ; @@ -236,12 +259,20 @@ atmel,pins = ; /* PE9, conflicts with A9 */ }; + + pinctrl_gpio_leds: gpio_leds_default { + atmel,pins = + ; + }; }; }; }; usb0: gadget@500000 { - status = "okay"; + status = "disabled"; }; usb1: ohci@600000 { @@ -272,6 +303,8 @@ leds { compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_leds>; led0 { label = "led0"; diff --git a/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash b/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash new file mode 100644 index 00000000000..06a63d449da --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/at91bootstrap3/at91bootstrap3.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cdc04cca9e811043efdea43ad203d70d897e23a8bd46f01896ba45c8df50f6ec at91bootstrap3-v3.10.3-br1.tar.gz diff --git a/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash b/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/acmesystems/acqua-a5/patches/linux/linux.hash b/board/acmesystems/acqua-a5/patches/linux/linux.hash new file mode 100644 index 00000000000..4b20a009a7e --- /dev/null +++ b/board/acmesystems/acqua-a5/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6 linux-6.6.30.tar.xz diff --git a/board/arm/foundation-v8/readme.txt b/board/arm/foundation-v8/readme.txt index b5106f015ef..cb0fe08b875 100644 --- a/board/arm/foundation-v8/readme.txt +++ b/board/arm/foundation-v8/readme.txt @@ -3,14 +3,14 @@ ARM software simulator of the AArch64 architecture. First, one has to download the AArch64 software simulator from: - https://silver.arm.com/download/download.tm?pv=4807186 + https://armkeil.blob.core.windows.net/developer/Files/downloads/ecosystem-models/Foundation_Platform_11.20_15_Linux64.tgz Then, use the arm_foundationv8_defconfig configuration to build your Buildroot system. Finally, boot your system with: - ${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-6.4/Foundation_Platform \ + ${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-9.3/Foundation_Platform \ --image output/images/linux-system.axf \ --block-device output/images/rootfs.ext2 \ --network=nat \ diff --git a/board/arrow/avenger96/patches/arm-trusted-firmware/0001-stm32mp157a-avenger96.dts-enable-hash-device-to-unbr.patch b/board/arrow/avenger96/patches/arm-trusted-firmware/0001-stm32mp157a-avenger96.dts-enable-hash-device-to-unbr.patch new file mode 100644 index 00000000000..8cec0af3b1f --- /dev/null +++ b/board/arrow/avenger96/patches/arm-trusted-firmware/0001-stm32mp157a-avenger96.dts-enable-hash-device-to-unbr.patch @@ -0,0 +1,51 @@ +From 336dc301e02d64507447f82020ce7a349797bef3 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sun, 5 Nov 2023 14:59:16 +0100 +Subject: [PATCH] stm32mp157a-avenger96.dts: enable hash device to unbreak boot + issue + +The avenger96 board was forgotten when authentication support was added with +commit 4bdb1a7a6a1325343 (stm32mp1: add authentication support for +stm32image), causing a panic when stm32mp_init_auth() is called, so fix it +similar to how it was done for the STM32MP157C-ED1 board with: + +commit b37b52ef8bc05bfd8dcca992d4ba84cd7c5d23bb +Author: Yann Gautier +Date: Tue Oct 13 18:05:06 2020 +0200 + + fdts: add missing hash node in STM32MP157C-ED1 board DT + + Without this node, the board fails to boot and panics in the function + stm32mp_init_auth(). + + Change-Id: Ia54924410dac2a8c94dd6e45d7e93977fe7d87e2 + Signed-off-by: Yann Gautier + +Upstream: N/A - Upstream reworked authentication to skip it for MP157A + variant since v2.7, see "feat(st): disable authentication based on + part_number" + (https://github.com/ARM-software/arm-trusted-firmware/commit/49abdfd8cececb91a4bc7e7b29a30c09dce461c7) + +Signed-off-by: Peter Korsgaard +--- + fdts/stm32mp157a-avenger96.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/fdts/stm32mp157a-avenger96.dts b/fdts/stm32mp157a-avenger96.dts +index b967736e4..76edecb83 100644 +--- a/fdts/stm32mp157a-avenger96.dts ++++ b/fdts/stm32mp157a-avenger96.dts +@@ -271,6 +271,10 @@ + }; + }; + ++&hash1 { ++ status = "okay"; ++}; ++ + &rng1 { + status = "okay"; + }; +-- +2.39.2 + diff --git a/board/asus/tinker-s/extlinux.conf b/board/asus/tinker-s/extlinux.conf new file mode 100644 index 00000000000..61ebe50c710 --- /dev/null +++ b/board/asus/tinker-s/extlinux.conf @@ -0,0 +1,4 @@ +label Tinker linux + kernel /boot/zImage + devicetree /boot/rk3288-tinker-s.dtb + append console=ttyS2,115200n8 root=179:1 rootwait diff --git a/board/asus/tinker-s/post-build.sh b/board/asus/tinker-s/post-build.sh new file mode 100755 index 00000000000..f938876625c --- /dev/null +++ b/board/asus/tinker-s/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname "$0")" + +$MKIMAGE -n rk3288 -T rksd -d "$BINARIES_DIR"/u-boot-tpl.bin "$BINARIES_DIR"/u-boot-tpl.img +cat "$BINARIES_DIR"/u-boot-tpl.img "$BINARIES_DIR"/u-boot-spl-dtb.bin > "$BINARIES_DIR"/u-boot-tpl-spl-dtb.img + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/asus/tinker-s/readme.txt b/board/asus/tinker-s/readme.txt new file mode 100644 index 00000000000..3dffa12b45f --- /dev/null +++ b/board/asus/tinker-s/readme.txt @@ -0,0 +1,43 @@ +Tinker S RK3288 +============= + +Tinker Board is a Single Board Computer (SBC) in an ultra-small form +factor that offers class-leading performance while leveraging outstanding +mechanical compatibility. The "S" variant of the Tinker Board has eMMC + +Tinker link: +https://www.asus.com/br/motherboards-components/single-board-computer/all-series/tinker-board-s/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288 + +How to build it +=============== + + $ make asus_tinker-s_rk3288_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Prepare your SDCard +=================== + +Buildroot generates a ready-to-use SD card image that you can flash directly to +the card. The image will be in output/images/sdcard.img. +You can write this image directly to an SD card device (i.e. /dev/xxx): + + $ sudo dd if=output/images/sdcard.img of=/dev/xxx + $ sudo sync + +Finally, you can insert the SD card to the Tinker RK3288 board and boot it. + +NOTE: +USB power supply requires more than the standard 500mA USB current, so +this board must be supplied from a capable port or from an external +AC/DC adapter. Otherwise it will hang forever while loading the kernel +image. diff --git a/board/asus/tinker/extlinux.conf b/board/asus/tinker/extlinux.conf index 136af0debd5..be21e246ec3 100644 --- a/board/asus/tinker/extlinux.conf +++ b/board/asus/tinker/extlinux.conf @@ -1,4 +1,4 @@ -label Tinker linux-next - kernel /boot/uImage +label Tinker linux + kernel /boot/zImage devicetree /boot/rk3288-tinker.dtb append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/asus/tinker/genimage.cfg b/board/asus/tinker/genimage.cfg index a4b1e8d608f..fa7fd734f20 100644 --- a/board/asus/tinker/genimage.cfg +++ b/board/asus/tinker/genimage.cfg @@ -2,12 +2,19 @@ image sdcard.img { hdimage { } - partition u-boot-spl-dtb { + partition u-boot-tpl-spl-dtb { in-partition-table = "no" - image = "u-boot-spl-dtb.img" + image = "u-boot-tpl-spl-dtb.img" offset = 32K } + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot-dtb.img" + offset = 8M + size = 30M + } + partition rootfs { partition-type = 0x83 image = "rootfs.ext4" diff --git a/board/asus/tinker/post-build.sh b/board/asus/tinker/post-build.sh index 8108ed83ff0..ffbbcdeb589 100755 --- a/board/asus/tinker/post-build.sh +++ b/board/asus/tinker/post-build.sh @@ -3,7 +3,7 @@ MKIMAGE=$HOST_DIR/bin/mkimage BOARD_DIR="$(dirname $0)" -$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img -cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img +$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img +cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/board/asus/tinker/readme.txt b/board/asus/tinker/readme.txt index 7372d295202..110e2168c9a 100644 --- a/board/asus/tinker/readme.txt +++ b/board/asus/tinker/readme.txt @@ -35,3 +35,9 @@ You can write this image directly to an SD card device (i.e. /dev/xxx): $ sudo sync Finally, you can insert the SD card to the Tinker RK3288 board and boot it. + +NOTE: +USB power supply requires more than the standard 500mA USB current, so +this board must be supplied from a capable port or from an external +AC/DC adapter. Otherwise it will hang forever while loading the kernel +image. diff --git a/board/avnet/rzboard_v2l/genimage.cfg b/board/avnet/rzboard_v2l/genimage.cfg new file mode 100644 index 00000000000..94f35cb3604 --- /dev/null +++ b/board/avnet/rzboard_v2l/genimage.cfg @@ -0,0 +1,29 @@ +# SD card image for RZBoard V2L + +image boot.vfat { + vfat { + files = { + "Image", + "rzboard.dtb", + "uEnv.txt" + } + } + size = 24M +} + +image sdcard.img { + hdimage { + partition-table-type = "hybrid" + } + + partition boot { + partition-type = "0xC" + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/avnet/rzboard_v2l/post-image.sh b/board/avnet/rzboard_v2l/post-image.sh new file mode 100755 index 00000000000..25bef8f793d --- /dev/null +++ b/board/avnet/rzboard_v2l/post-image.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e + +cp board/avnet/rzboard_v2l/uEnv.txt "${BINARIES_DIR}" +support/scripts/genimage.sh -c board/avnet/rzboard_v2l/genimage.cfg diff --git a/board/avnet/rzboard_v2l/readme.txt b/board/avnet/rzboard_v2l/readme.txt new file mode 100644 index 00000000000..24b5680874e --- /dev/null +++ b/board/avnet/rzboard_v2l/readme.txt @@ -0,0 +1,71 @@ +RZBoard V2L +=========== + +https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/rzboard-v2l/ + +This board support creates a bootable sd card image for the AVNET RZBoard V2L. +This board is shipped with a u-boot inside its eMMC. This board support uses +that u-boot and only puts uEnv.txt, kernel image and rootfs onto the sd card. + +Build: +====== + + $ make rzboard_v2l_defconfig + $ make + +Files created in output directory +================================= + +output/images +. +├── Image +├── boot.vfat +├── rootfs.ext2 +├── rootfs.ext4 +├── rootfs.tar +├── rzboard.dtb +├── sdcard.img +└── uEnv.txt + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== + +Configure board for sd card boot: +--------------------------------- +Set the 'BOOT1' switch (next to the audio jack) to '1' (away from 'ON') in +order to let the board boot kernel and rootfs from SD card. + +Serial console: +--------------- +The RZBoard V2L has a 4-pin header "J19" right next to the micro USB. Its +layout can be seen in the Quick-Start Guide, or the Hardware User Guide, +obtainable from: +https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/rzboard-v2l/ + +The uart pins are as follows (from left to right - orientation according to the +board's labeling): + +pin 1: n/a (most away from the board's corner) +pin 2: tx +pin 3: rx +pin 4: gnd (nearest to the board's corner) + +Baudrate for this board is 115200. + +Power-Up: +--------- +Plug in a suitable USB-C power supply and press the button 'S1' (next to the +USB-C port) for 2 seconds until the LED goes on. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. diff --git a/board/avnet/rzboard_v2l/uEnv.txt b/board/avnet/rzboard_v2l/uEnv.txt new file mode 100644 index 00000000000..28b8acb8c67 --- /dev/null +++ b/board/avnet/rzboard_v2l/uEnv.txt @@ -0,0 +1,3 @@ +bootcmd=booti ${kernel_addr_r} - ${fdt_addr_r} +uenvcmd=fatload mmc 0:1 ${kernel_addr_r} Image; fatload mmc 0:1 ${fdt_addr_r} rzboard.dtb +bootargs=root=/dev/mmcblk0p2 rw rootfstype=ext4 earlyprintk console=ttyS0,115200 rootwait earlycon clk_ignore_unused debug diff --git a/board/bananapi/bananapi-m2-berry/extlinux.conf b/board/bananapi/bananapi-m2-berry/extlinux.conf new file mode 100644 index 00000000000..1f1b4f5cf36 --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/extlinux.conf @@ -0,0 +1,4 @@ +label Bananapi M2 Berry linux + kernel /boot/zImage + devicetree /boot/sun8i-v40-bananapi-m2-berry.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/bananapi/bananapi-m2-berry/genimage.cfg b/board/bananapi/bananapi-m2-berry/genimage.cfg new file mode 100644 index 00000000000..92c86775456 --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/bananapi/bananapi-m2-berry/post-build.sh b/board/bananapi/bananapi-m2-berry/post-build.sh new file mode 100755 index 00000000000..21a2b0d8e7e --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 644 -D "${BOARD_DIR}"/extlinux.conf \ + "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/bananapi/bananapi-m2-berry/readme.txt b/board/bananapi/bananapi-m2-berry/readme.txt new file mode 100644 index 00000000000..838675ed94c --- /dev/null +++ b/board/bananapi/bananapi-m2-berry/readme.txt @@ -0,0 +1,35 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Bananapi M2 Berry. With the current +configuration it will bring-up the board, and allow access through the +serial console. + +Bananapi M2 Berry link: +https://wiki.banana-pi.org/Banana_Pi_BPI-M2_Berry + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make bananapi_m2_berry_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Bananapi M2 Berry and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/bananapi/bananapi-m2-ultra/boot.cmd b/board/bananapi/bananapi-m2-ultra/boot.cmd deleted file mode 100644 index 9c24eabff6f..00000000000 --- a/board/bananapi/bananapi-m2-ultra/boot.cmd +++ /dev/null @@ -1,7 +0,0 @@ -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -mmc dev 0 -fatload mmc 0 $kernel_addr_r zImage -fatload mmc 0 $fdt_addr_r sun8i-r40-bananapi-m2-ultra.dtb - -bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/bananapi/bananapi-m2-ultra/extlinux.conf b/board/bananapi/bananapi-m2-ultra/extlinux.conf new file mode 100644 index 00000000000..f5f35c1d8fc --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/extlinux.conf @@ -0,0 +1,4 @@ +label Bananapi M2 Ultra linux + kernel /boot/zImage + devicetree /boot/sun8i-r40-bananapi-m2-ultra.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/board/bananapi/bananapi-m2-ultra/genimage.cfg b/board/bananapi/bananapi-m2-ultra/genimage.cfg index 88324f1f24a..92c86775456 100644 --- a/board/bananapi/bananapi-m2-ultra/genimage.cfg +++ b/board/bananapi/bananapi-m2-ultra/genimage.cfg @@ -1,15 +1,3 @@ -image boot.vfat { - vfat { - files = { - "zImage", - "sun8i-r40-bananapi-m2-ultra.dtb", - "boot.scr" - } - } - - size = 64M -} - image sdcard.img { hdimage { } @@ -21,12 +9,6 @@ image sdcard.img { size = 1016K # 1MB - 8KB } - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - partition rootfs { partition-type = 0x83 image = "rootfs.ext4" diff --git a/board/bananapi/bananapi-m2-ultra/post-build.sh b/board/bananapi/bananapi-m2-ultra/post-build.sh new file mode 100755 index 00000000000..21a2b0d8e7e --- /dev/null +++ b/board/bananapi/bananapi-m2-ultra/post-build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 644 -D "${BOARD_DIR}"/extlinux.conf \ + "${TARGET_DIR}"/boot/extlinux/extlinux.conf diff --git a/board/beaglebone/extlinux.conf b/board/beaglebone/extlinux.conf new file mode 100644 index 00000000000..13affcabd4e --- /dev/null +++ b/board/beaglebone/extlinux.conf @@ -0,0 +1,4 @@ +label beaglebone-buildroot + kernel /zImage + fdtdir / + append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait diff --git a/board/beaglebone/genimage.cfg b/board/beaglebone/genimage.cfg index 42ca2cf107e..4b026fda843 100644 --- a/board/beaglebone/genimage.cfg +++ b/board/beaglebone/genimage.cfg @@ -11,6 +11,8 @@ image boot.vfat { "am335x-boneblack.dtb", "am335x-bonegreen.dtb", "am335x-boneblack-wireless.dtb", + "am335x-bonegreen-wireless.dtb", + "extlinux" } } diff --git a/board/beaglebone/post-build.sh b/board/beaglebone/post-build.sh index ffdd19138c7..b7afd92ffea 100755 --- a/board/beaglebone/post-build.sh +++ b/board/beaglebone/post-build.sh @@ -2,3 +2,5 @@ BOARD_DIR="$(dirname $0)" cp $BOARD_DIR/uEnv.txt $BINARIES_DIR/uEnv.txt + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/board/beaglebone/readme.txt b/board/beaglebone/readme.txt index 231e977a892..a11377eaee5 100644 --- a/board/beaglebone/readme.txt +++ b/board/beaglebone/readme.txt @@ -28,6 +28,10 @@ Result of the build =================== output/images/ +-- am335x-boneblack.dtb ++-- am335x-boneblack-wireless.dtb ++-- am335x-boneblue.dtb ++-- am335x-bonegreen.dtb ++-- am335x-bonegreen-wireless.dtb +-- am335x-bone.dtb +-- am335x-evm.dtb +-- am335x-evmsk.dtb diff --git a/board/beaglev/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch b/board/beaglev/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch new file mode 100644 index 00000000000..52b496f0547 --- /dev/null +++ b/board/beaglev/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch @@ -0,0 +1,58 @@ +From 0cf11f3c0478f4286adcfb09bf9137f8b00212e3 Mon Sep 17 00:00:00 2001 +From: Alexandre Ghiti +Date: Mon, 3 Oct 2022 18:07:54 +0200 +Subject: [PATCH] riscv: Fix build against binutils 2.38 + +The following description is copied from the equivalent patch for the +Linux Kernel proposed by Aurelien Jarno: + +>From version 2.38, binutils default to ISA spec version 20191213. This +means that the csr read/write (csrr*/csrw*) instructions and fence.i +instruction has separated from the `I` extension, become two standalone +extensions: Zicsr and Zifencei. As the kernel uses those instruction, +this causes the following build failure: + +arch/riscv/cpu/mtrap.S: Assembler messages: +arch/riscv/cpu/mtrap.S:65: Error: unrecognized opcode `csrr a0,scause' +arch/riscv/cpu/mtrap.S:66: Error: unrecognized opcode `csrr a1,sepc' +arch/riscv/cpu/mtrap.S:67: Error: unrecognized opcode `csrr a2,stval' +arch/riscv/cpu/mtrap.S:70: Error: unrecognized opcode `csrw sepc,a0' + +Signed-off-by: Alexandre Ghiti +Reviewed-by: Bin Meng +Tested-by: Heinrich Schuchardt +Tested-by: Heiko Stuebner +Tested-by: Christian Stewart +Reviewed-by: Rick Chen +(cherry picked from commit 1dde977518f13824b847e23275001191139bc384) +Upstream: https://gitlab.com/u-boot/u-boot/-/commit/1dde977518f13824b847e23275001191139bc384 +Signed-off-by: Romain Naour +--- + arch/riscv/Makefile | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile +index 0b80eb8d864..53d1194ffb6 100644 +--- a/arch/riscv/Makefile ++++ b/arch/riscv/Makefile +@@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y) + CMODEL = medany + endif + +-ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \ ++RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_C) ++ ++# Newer binutils versions default to ISA spec version 20191213 which moves some ++# instructions from the I extension to the Zicsr and Zifencei extensions. ++toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei) ++ifeq ($(toolchain-need-zicsr-zifencei),y) ++ RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei ++endif ++ ++ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \ + -mcmodel=$(CMODEL) + + PLATFORM_CPPFLAGS += $(ARCH_FLAGS) +-- +2.41.0 + diff --git a/board/broadcom/northstar/post-image.sh b/board/broadcom/northstar/post-image.sh index b6150fc5397..559ed8bf4b2 100755 --- a/board/broadcom/northstar/post-image.sh +++ b/board/broadcom/northstar/post-image.sh @@ -27,8 +27,9 @@ build_trx() { rm -f $images/zImage.$device.lzma } -devices="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" +devices="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([^"]*\)"$/\1/p' ${BR2_CONFIG})" for device in $devices; do + device="${device#broadcom/}" case "$device" in "bcm4708-smartrg-sr400ac") build_trx "$1" "$device" diff --git a/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment b/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment new file mode 100644 index 00000000000..80803ab0888 --- /dev/null +++ b/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment @@ -0,0 +1,895 @@ +# CONFIG_BPF_SYSCALL is not set +CONFIG_TASK_DELAY_ACCT=y +CONFIG_CGROUP_FREEZER=y +# CONFIG_CGROUP_BPF is not set +CONFIG_RELAY=y +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_APPLE is not set +# CONFIG_ARCH_BCM2835 is not set +# CONFIG_ARCH_BCM4908 is not set +# CONFIG_ARCH_BCM_IPROC is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_BRCMSTB is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_K3 is not set +# CONFIG_ARCH_LAYERSCAPE is not set +# CONFIG_ARCH_LG1K is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_KEEMBAY is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_S32 is not set +# CONFIG_ARCH_SEATTLE is not set +# CONFIG_ARCH_INTEL_SOCFPGA is not set +# CONFIG_ARCH_SYNQUACER is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_TESLA_FSD is not set +# CONFIG_ARCH_SPRD is not set +# CONFIG_ARCH_THUNDER is not set +# CONFIG_ARCH_THUNDER2 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VISCONTI is not set +# CONFIG_ARCH_XGENE is not set +# CONFIG_ARCH_ZYNQMP is not set +# CONFIG_KEXEC is not set +# CONFIG_KEXEC_FILE is not set +# CONFIG_XEN is not set +# CONFIG_ARM64_PTR_AUTH is not set +# CONFIG_ARM64_TLB_RANGE is not set +# CONFIG_ARM64_MTE is not set +CONFIG_PM_DEBUG=y +CONFIG_PM_TEST_SUSPEND=y +# CONFIG_HIBERNATION is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set +# CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM is not set +# CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set +CONFIG_ARM_IMX_CPUFREQ_DT=y +# CONFIG_ARM_QCOM_CPUFREQ_NVMEM is not set +# CONFIG_ARM_QCOM_CPUFREQ_HW is not set +# CONFIG_ARM_RASPBERRYPI_CPUFREQ is not set +# CONFIG_ARM_SCMI_CPUFREQ is not set +# CONFIG_ARM_TEGRA186_CPUFREQ is not set +# CONFIG_ARM_MEDIATEK_CPUFREQ is not set +# CONFIG_QORIQ_CPUFREQ is not set +# CONFIG_ACPI_APEI_PCIEAER is not set +# CONFIG_VIRTUALIZATION is not set +# CONFIG_KVM is not set +# CONFIG_GCC_PLUGINS is not set +CONFIG_IPV6=y +CONFIG_MODVERSIONS=y +CONFIG_IPV6_SIT=m +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_VLAN_8021Q=y +CONFIG_LLC2=y +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_PKTGEN=m +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +# CONFIG_CAN_RCAR is not set +# CONFIG_CAN_RCAR_CANFD is not set +# CONFIG_CAN_MCP251XFD is not set +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIVHCI=y +CONFIG_CFG80211=y +CONFIG_NL80211_TESTMODE=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +# CONFIG_BT_HCIUART_MRVL is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_MRVL_SDIO is not set +# CONFIG_BT_QCOMSMD is not set +# CONFIG_RFKILL is not set +# CONFIG_PCI is not set +# CONFIG_PCIEPORTBUS is not set +# CONFIG_PCIEAER is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PASID is not set +# CONFIG_HOTPLUG_PCI is not set +# CONFIG_HOTPLUG_PCI_ACPI is not set +# CONFIG_PCI_AARDVARK is not set +# CONFIG_PCI_TEGRA is not set +# CONFIG_PCIE_RCAR_HOST is not set +# CONFIG_PCIE_RCAR_EP is not set +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_XGENE is not set +# CONFIG_PCIE_ALTERA is not set +# CONFIG_PCIE_ALTERA_MSI is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCIE_ROCKCHIP_HOST is not set +# CONFIG_PCIE_BRCMSTB is not set +# CONFIG_PCI_IMX6 is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_QCOM is not set +# CONFIG_PCIE_ARMADA_8K is not set +# CONFIG_PCIE_KIRIN is not set +# CONFIG_PCIE_HISI_STB is not set +# CONFIG_PCIE_TEGRA194_HOST is not set +# CONFIG_PCIE_VISCONTI_HOST is not set +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# CONFIG_PCI_ENDPOINT is not set +# CONFIG_PCI_ENDPOINT_CONFIGFS is not set +# CONFIG_PCI_EPF_TEST is not set +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_VEXPRESS_CONFIG=y +# CONFIG_HISILICON_LPC is not set +# CONFIG_TEGRA_ACONNECT is not set +# CONFIG_RASPBERRYPI_FIRMWARE is not set +# CONFIG_INTEL_STRATIX10_SERVICE is not set +# CONFIG_INTEL_STRATIX10_RSU is not set +CONFIG_IMX_DSP=y +# CONFIG_GNSS is not set +# CONFIG_GNSS_MTK_SERIAL is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_NAND_BRCMNAND is not set +CONFIG_MTD_NAND_GPMI_NAND=y +# CONFIG_MTD_NAND_MARVELL is not set +# CONFIG_MTD_NAND_FSL_IFC is not set +# CONFIG_MTD_NAND_QCOM is not set +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +# CONFIG_BLK_DEV_NVME is not set +# CONFIG_PCI_ENDPOINT_TEST is not set +CONFIG_RAID_ATTRS=m +# CONFIG_SCSI_HISI_SAS_PCI is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_UFS_QCOM is not set +# CONFIG_SCSI_UFS_HISI is not set +# CONFIG_SCSI_UFS_EXYNOS is not set +# CONFIG_SATA_AHCI is not set +CONFIG_AHCI_IMX=y +# CONFIG_AHCI_BRCM is not set +# CONFIG_AHCI_MVEBU is not set +# CONFIG_SATA_SIL24 is not set +# CONFIG_SATA_RCAR is not set +CONFIG_DM_CRYPT=m +# CONFIG_NET_DSA_BCM_SF2 is not set +# CONFIG_NET_DSA_MSCC_FELIX is not set +# CONFIG_NET_XGENE is not set +# CONFIG_ATL1C is not set +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNX2X is not set +# CONFIG_THUNDER_NIC_PF is not set +CONFIG_FSL_XGMAC_MDIO=y +CONFIG_FSL_ENETC_IERB=y +# CONFIG_FSL_FMAN is not set +# CONFIG_FSL_DPAA_ETH is not set +# CONFIG_FSL_DPAA2_ETH is not set +# CONFIG_FSL_ENETC is not set +# CONFIG_FSL_ENETC_VF is not set +# CONFIG_FSL_ENETC_QOS is not set +CONFIG_MVMDIO=y +CONFIG_MSCC_OCELOT_SWITCH=m +# CONFIG_HNS3 is not set +# CONFIG_HNS3_HCLGE is not set +# CONFIG_HNS3_ENET is not set +# CONFIG_E1000 is not set +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_MVNETA is not set +# CONFIG_MVPP2 is not set +# CONFIG_SKY2 is not set +# CONFIG_MLX4_EN is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLX5_CORE_EN is not set +# CONFIG_R8169 is not set +# CONFIG_SH_ETH is not set +# CONFIG_RAVB is not set +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_GENERIC=m +CONFIG_MICROCHIP_PHY=y +CONFIG_NXP_TJA11XX_PHY=y +CONFIG_MDIO_BITBANG=y +# CONFIG_SNI_AVE is not set +# CONFIG_SNI_NETSEC is not set +# CONFIG_TI_K3_AM65_CPSW_NUSS is not set +# CONFIG_QCOM_IPA is not set +# CONFIG_MESON_GXL_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_BCM54140_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_USB_BRCMSTB is not set +CONFIG_USB_RTL8152=y +CONFIG_USB_USBNET=y +CONFIG_BRCMFMAC=y +CONFIG_HOSTAP=y +# CONFIG_ATH10K is not set +# CONFIG_ATH10K_PCI is not set +# CONFIG_ATH10K_SNOC is not set +# CONFIG_WCN36XX is not set +# CONFIG_MWIFIEX is not set +# CONFIG_MWIFIEX_SDIO is not set +# CONFIG_MWIFIEX_PCIE is not set +CONFIG_KEYBOARD_SNVS_PWRKEY=y +# CONFIG_KEYBOARD_IMX_SC_KEY is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_INPUT_PM8941_PWRKEY is not set +# CONFIG_INPUT_PM8XXX_VIBRATOR is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set +# CONFIG_INPUT_HISI_POWERKEY is not set +# CONFIG_SERIAL_8250_BCM2835AUX is not set +# CONFIG_SERIAL_8250_OMAP is not set +# CONFIG_SERIAL_8250_MT6577 is not set +# CONFIG_SERIAL_8250_UNIPHIER is not set +# CONFIG_SERIAL_MESON is not set +# CONFIG_SERIAL_MESON_CONSOLE is not set +# CONFIG_SERIAL_SAMSUNG is not set +# CONFIG_SERIAL_SAMSUNG_CONSOLE is not set +# CONFIG_SERIAL_TEGRA is not set +# CONFIG_SERIAL_TEGRA_TCU is not set +# CONFIG_SERIAL_SH_SCI is not set +# CONFIG_SERIAL_MSM is not set +# CONFIG_SERIAL_MSM_CONSOLE is not set +# CONFIG_SERIAL_QCOM_GENI is not set +# CONFIG_SERIAL_QCOM_GENI_CONSOLE is not set +# CONFIG_SERIAL_MVEBU_UART is not set +# CONFIG_SERIAL_OWL is not set +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_BCM2835 is not set +# CONFIG_I2C_MESON is not set +# CONFIG_I2C_MT65XX is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OMAP is not set +# CONFIG_I2C_OWL is not set +# CONFIG_I2C_PXA is not set +# CONFIG_I2C_QCOM_CCI is not set +# CONFIG_I2C_QCOM_GENI is not set +# CONFIG_I2C_QUP is not set +# CONFIG_I2C_RIIC is not set +# CONFIG_I2C_S3C2410 is not set +# CONFIG_I2C_SH_MOBILE is not set +# CONFIG_I2C_TEGRA is not set +# CONFIG_I2C_UNIPHIER_F is not set +# CONFIG_I2C_RCAR is not set +# CONFIG_SPI_ARMADA_3700 is not set +# CONFIG_SPI_BCM2835 is not set +# CONFIG_SPI_BCM2835AUX is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_DW_DMA is not set +# CONFIG_SPI_DW_MMIO is not set +CONFIG_SPI_IMX=y +# CONFIG_SPI_FSL_DSPI is not set +# CONFIG_SPI_MESON_SPICC is not set +# CONFIG_SPI_MESON_SPIFC is not set +# CONFIG_SPI_ORION is not set +CONFIG_SPI_SPIDEV=y +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_TIME=y +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y +CONFIG_PINCTRL=y +# CONFIG_SPI_RPCIF is not set +# CONFIG_SPI_RSPI is not set +# CONFIG_SPI_QCOM_QSPI is not set +# CONFIG_SPI_QUP is not set +# CONFIG_SPI_QCOM_GENI is not set +# CONFIG_SPI_S3C64XX is not set +# CONFIG_SPI_SH_MSIOF is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPMI is not set +# CONFIG_PINCTRL_OWL is not set +# CONFIG_PINCTRL_S700 is not set +# CONFIG_PINCTRL_S900 is not set +CONFIG_GPIOLIB=y +# CONFIG_PINCTRL_MSM is not set +# CONFIG_PINCTRL_IPQ8074 is not set +# CONFIG_PINCTRL_IPQ6018 is not set +# CONFIG_PINCTRL_MSM8916 is not set +# CONFIG_PINCTRL_MSM8994 is not set +# CONFIG_PINCTRL_MSM8996 is not set +# CONFIG_PINCTRL_MSM8998 is not set +# CONFIG_PINCTRL_QCS404 is not set +# CONFIG_PINCTRL_QDF2XXX is not set +# CONFIG_PINCTRL_QCOM_SPMI_PMIC is not set +# CONFIG_PINCTRL_SC7180 is not set +# CONFIG_PINCTRL_SC7280 is not set +# CONFIG_PINCTRL_SDM845 is not set +# CONFIG_PINCTRL_SM8150 is not set +# CONFIG_PINCTRL_SM8250 is not set +# CONFIG_PINCTRL_SM8350 is not set +# CONFIG_PINCTRL_SM8450 is not set +# CONFIG_PINCTRL_LPASS_LPI is not set +# CONFIG_GPIO_DAVINCI is not set +# CONFIG_GPIO_MPC8XXX is not set +# CONFIG_GPIO_RCAR is not set +# CONFIG_GPIO_UNIPHIER is not set +# CONFIG_GPIO_VISCONTI is not set +# CONFIG_GPIO_XGENE_SB is not set +CONFIG_POWER_RESET_BRCMSTB=y +# CONFIG_GPIO_MAX77620 is not set +# CONFIG_GPIO_SL28CPLD is not set +# CONFIG_POWER_RESET_MSM is not set +# CONFIG_POWER_RESET_QCOM_PON is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_BQ25980 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_RASPBERRYPI_HWMON is not set +# CONFIG_SENSORS_SL28CPLD is not set +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_IMX_SC_THERMAL=y +CONFIG_IMX8MM_THERMAL=y +CONFIG_QORIQ_THERMAL=y +# CONFIG_SUN8I_THERMAL is not set +# CONFIG_ROCKCHIP_THERMAL is not set +# CONFIG_RCAR_THERMAL is not set +# CONFIG_RCAR_GEN3_THERMAL is not set +# CONFIG_RZG2L_THERMAL is not set +# CONFIG_ARMADA_THERMAL is not set +# CONFIG_BCM2711_THERMAL is not set +# CONFIG_BCM2835_THERMAL is not set +# CONFIG_BRCMSTB_THERMAL is not set +# CONFIG_EXYNOS_THERMAL is not set +# CONFIG_TEGRA_SOCTHERM is not set +# CONFIG_TEGRA_BPMP_THERMAL is not set +# CONFIG_QCOM_TSENS is not set +# CONFIG_QCOM_SPMI_TEMP_ALARM is not set +# CONFIG_QCOM_LMH is not set +# CONFIG_UNIPHIER_THERMAL is not set +# CONFIG_SL28CPLD_WATCHDOG is not set +# CONFIG_S3C2410_WATCHDOG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_SUNXI_WATCHDOG is not set +CONFIG_IMX_SC_WDT=y +CONFIG_IMX7ULP_WDT=y +# CONFIG_QCOM_WDT is not set +# CONFIG_MESON_GXBB_WATCHDOG is not set +# CONFIG_MESON_WATCHDOG is not set +# CONFIG_RENESAS_WDT is not set +# CONFIG_RENESAS_RZG2LWDT is not set +# CONFIG_UNIPHIER_WATCHDOG is not set +# CONFIG_BCM2835_WDT is not set +# CONFIG_MFD_ALTERA_SYSMGR is not set +# CONFIG_MFD_AXP20X_RSB is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_HI655X_PMIC is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_SPMI_PMIC is not set +# CONFIG_MFD_SL28CPLD is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_HI655X is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MT6358 is not set +# CONFIG_REGULATOR_MT6397 is not set +# CONFIG_REGULATOR_PF8X00 is not set +# CONFIG_REGULATOR_QCOM_RPMH is not set +# CONFIG_REGULATOR_QCOM_SMD_RPM is not set +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_REGULATOR_TPS65132 is not set +CONFIG_MEDIA_SUPPORT=y +# CONFIG_RC_CORE is not set +# CONFIG_RC_DECODERS is not set +# CONFIG_RC_DEVICES is not set +# CONFIG_IR_MESON is not set +# CONFIG_IR_SUNXI is not set +CONFIG_SDR_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_QCOM_CAMSS is not set +# CONFIG_VIDEO_RCAR_CSI2 is not set +# CONFIG_VIDEO_RCAR_VIN is not set +# CONFIG_VIDEO_SUN6I_CSI is not set +# CONFIG_VIDEO_RCAR_ISP is not set +# CONFIG_VIDEO_SAMSUNG_S5P_JPEG is not set +# CONFIG_VIDEO_SAMSUNG_S5P_MFC is not set +# CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC is not set +# CONFIG_VIDEO_RENESAS_FDP1 is not set +# CONFIG_VIDEO_RENESAS_FCP is not set +# CONFIG_VIDEO_RENESAS_VSP1 is not set +# CONFIG_VIDEO_QCOM_VENUS is not set +# CONFIG_VIDEO_RCAR_DRIF is not set +CONFIG_VIDEO_OV5640=y +CONFIG_DRM=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_SIL164=m +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_EXYNOS is not set +# CONFIG_DRM_EXYNOS5433_DECON is not set +# CONFIG_DRM_EXYNOS7_DECON is not set +# CONFIG_DRM_EXYNOS_DSI is not set +# CONFIG_DRM_EXYNOS_DP is not set +# CONFIG_DRM_EXYNOS_HDMI is not set +# CONFIG_DRM_EXYNOS_MIC is not set +# CONFIG_DRM_ROCKCHIP is not set +# CONFIG_ROCKCHIP_ANALOGIX_DP is not set +# CONFIG_ROCKCHIP_CDN_DP is not set +# CONFIG_ROCKCHIP_DW_HDMI is not set +# CONFIG_ROCKCHIP_DW_MIPI_DSI is not set +# CONFIG_ROCKCHIP_INNO_HDMI is not set +# CONFIG_ROCKCHIP_LVDS is not set +# CONFIG_DRM_RCAR_DU is not set +# CONFIG_DRM_RCAR_MIPI_DSI is not set +# CONFIG_DRM_SUN4I is not set +# CONFIG_DRM_SUN6I_DSI is not set +# CONFIG_DRM_SUN8I_DW_HDMI is not set +# CONFIG_DRM_SUN8I_MIXER is not set +# CONFIG_DRM_MSM is not set +# CONFIG_DRM_TEGRA is not set +# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_EDP is not set +# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set +CONFIG_DRM_DISPLAY_CONNECTOR=m +# CONFIG_DRM_LONTIUM_LT8912B is not set +CONFIG_DRM_NWL_MIPI_DSI=y +# CONFIG_DRM_LONTIUM_LT9611UXC is not set +# CONFIG_DRM_PARADE_PS8640 is not set +CONFIG_DRM_I2C_ADV7511=y +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +CONFIG_DRM_IMX_DCSS=y +# CONFIG_DRM_VC4 is not set +# CONFIG_DRM_HISI_HIBMC is not set +CONFIG_DRM_MXSFB=y +# CONFIG_DRM_MEDIATEK is not set +# CONFIG_DRM_MEDIATEK_HDMI is not set +# CONFIG_DRM_MESON is not set +CONFIG_DRM_LEGACY=y +# CONFIG_FB is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_EFI is not set +# CONFIG_BACKLIGHT_PWM is not set +# CONFIG_BACKLIGHT_LP855X is not set +# CONFIG_LOGO is not set +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ALOOP=m +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +# CONFIG_SND_HDA_TEGRA is not set +# CONFIG_SND_HDA_CODEC_HDMI is not set +CONFIG_SND_SOC_FSL_ASRC=y +CONFIG_SND_SOC_FSL_EASRC=y +CONFIG_SND_IMX_SOC=y +CONFIG_SND_SOC_FSL_ASOC_CARD=y +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y +CONFIG_SND_SOC_AK4458=y +CONFIG_SND_SOC_AK5558=y +CONFIG_SND_SOC_PCM512x_I2C=y +CONFIG_SND_SIMPLE_CARD=y +CONFIG_SND_AUDIO_GRAPH_CARD=y +CONFIG_USB_CONN_GPIO=y +# CONFIG_SND_BCM2835_SOC_I2S is not set +# CONFIG_SND_SOC_FSL_MICFIL is not set +# CONFIG_SND_SOC_IMX_SGTL5000 is not set +# CONFIG_SND_SOC_IMX_SPDIF is not set +# CONFIG_SND_SOC_IMX_AUDMIX is not set +# CONFIG_SND_MESON_AXG_SOUND_CARD is not set +# CONFIG_SND_MESON_GX_SOUND_CARD is not set +# CONFIG_SND_SOC_QCOM is not set +# CONFIG_SND_SOC_APQ8016_SBC is not set +# CONFIG_SND_SOC_MSM8996 is not set +# CONFIG_SND_SOC_SDM845 is not set +# CONFIG_SND_SOC_SM8250 is not set +# CONFIG_SND_SOC_ROCKCHIP is not set +# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set +# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set +# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set +# CONFIG_SND_SOC_SAMSUNG is not set +# CONFIG_SND_SOC_RCAR is not set +# CONFIG_SND_SOC_RZ is not set +# CONFIG_SND_SUN4I_I2S is not set +# CONFIG_SND_SUN4I_SPDIF is not set +# CONFIG_SND_SOC_TEGRA is not set +# CONFIG_SND_SOC_TEGRA210_AHUB is not set +# CONFIG_SND_SOC_TEGRA210_DMIC is not set +# CONFIG_SND_SOC_TEGRA210_I2S is not set +# CONFIG_SND_SOC_TEGRA186_DSPK is not set +# CONFIG_SND_SOC_TEGRA210_ADMAIF is not set +# CONFIG_SND_SOC_TEGRA210_MVC is not set +# CONFIG_SND_SOC_TEGRA210_SFC is not set +# CONFIG_SND_SOC_TEGRA210_AMX is not set +# CONFIG_SND_SOC_TEGRA210_ADX is not set +# CONFIG_SND_SOC_TEGRA210_MIXER is not set +# CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM3168A_I2C is not set +# CONFIG_SND_SOC_RT5659 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIMPLE_MUX is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_WCD934X is not set +# CONFIG_SND_SOC_WM8904 is not set +# CONFIG_SND_SOC_WM8960 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_WSA881X is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set +# CONFIG_SND_SOC_LPASS_VA_MACRO is not set +# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_I2C_HID_ACPI is not set +# CONFIG_I2C_HID_OF is not set +# CONFIG_USB_XHCI_PCI_RENESAS is not set +# CONFIG_USB_XHCI_TEGRA is not set +# CONFIG_USB_EHCI_EXYNOS is not set +# CONFIG_USB_OHCI_EXYNOS is not set +CONFIG_USB_HCD_TEST_MODE=y +# CONFIG_USB_RENESAS_USBHS_HCD is not set +# CONFIG_USB_RENESAS_USBHS is not set +CONFIG_USB_UAS=y +# CONFIG_USB_CDNS_SUPPORT is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_CDNS3_GADGET is not set +# CONFIG_USB_CDNS3_HOST is not set +# CONFIG_USB_MTU3 is not set +# CONFIG_USB_MUSB_SUNXI is not set +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CONSOLE=y +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_TEST=m +CONFIG_USB_EHSET_TEST_FIXTURE=y +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_OPTION is not set +CONFIG_USB_MXS_PHY=y +CONFIG_USB_ULPI=y +CONFIG_USB_SNP_UDC_PLAT=y +CONFIG_USB_BDC_UDC=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_RENESAS_USBHS_UDC is not set +# CONFIG_USB_RENESAS_USB3 is not set +# CONFIG_USB_TEGRA_XUDC is not set +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_USB_ZERO=m +CONFIG_USB_AUDIO=m +CONFIG_USB_ETH=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +CONFIG_TYPEC_TCPCI=y +# CONFIG_TYPEC_TPS6598X is not set +# CONFIG_MMC_SDHCI_ACPI is not set +# CONFIG_MMC_SDHCI_TEGRA is not set +# CONFIG_MMC_MESON_GX is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_SDHI is not set +# CONFIG_MMC_UNIPHIER is not set +# CONFIG_MMC_DW_ROCKCHIP is not set +# CONFIG_MMC_SUNXI is not set +# CONFIG_MMC_BCM2835 is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_OWL is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_EDAC_LAYERSCAPE is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_FSL_FTM_ALARM is not set +# CONFIG_RTC_DRV_S3C is not set +CONFIG_RTC_DRV_SNVS=y +CONFIG_RTC_DRV_IMX_SC=y +# CONFIG_RTC_DRV_SUN6I is not set +# CONFIG_RTC_DRV_ARMADA38X is not set +# CONFIG_RTC_DRV_PM8XXX is not set +# CONFIG_RTC_DRV_TEGRA is not set +# CONFIG_RTC_DRV_XGENE is not set +# CONFIG_RTC_DRV_MT6397 is not set +CONFIG_BCM_SBA_RAID=m +# CONFIG_DMA_BCM2835 is not set +# CONFIG_DMA_SUN6I is not set +CONFIG_FSL_QDMA=m +CONFIG_IMX_SDMA=y +# CONFIG_K3_DMA is not set +# CONFIG_MV_XOR is not set +CONFIG_MXS_DMA=y +# CONFIG_OWL_DMA is not set +# CONFIG_TEGRA186_GPC_DMA is not set +# CONFIG_TEGRA20_APB_DMA is not set +# CONFIG_TEGRA210_ADMA is not set +# CONFIG_QCOM_BAM_DMA is not set +CONFIG_DMATEST=y +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +# CONFIG_RCAR_DMAC is not set +# CONFIG_RENESAS_USB_DMAC is not set +# CONFIG_RZ_DMAC is not set +# CONFIG_TI_K3_UDMA is not set +# CONFIG_TI_K3_UDMA_GLUE_LAYER is not set +# CONFIG_VFIO_PCI is not set +# CONFIG_VIRTIO_PCI is not set +# CONFIG_XEN_GNTDEV is not set +# CONFIG_XEN_GRANT_DEV_ALLOC is not set +# CONFIG_VIDEO_HANTRO is not set +# CONFIG_VIDEO_IMX_MEDIA is not set +# CONFIG_COMMON_CLK_SCMI is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set +CONFIG_COMMON_CLK_XGENE=y +# CONFIG_COMMON_CLK_BD718XX is not set +# CONFIG_CLK_RASPBERRYPI is not set +# CONFIG_CLK_IMX8MM is not set +# CONFIG_CLK_IMX8MP is not set +# CONFIG_CLK_IMX8MQ is not set +# CONFIG_CLK_IMX8QXP is not set +# CONFIG_CLK_IMX8ULP is not set +# CONFIG_TI_SCI_CLK is not set +# CONFIG_COMMON_CLK_QCOM is not set +# CONFIG_QCOM_A53PLL is not set +# CONFIG_QCOM_CLK_APCS_MSM8916 is not set +# CONFIG_QCOM_CLK_APCC_MSM8996 is not set +# CONFIG_QCOM_CLK_SMD_RPM is not set +# CONFIG_QCOM_CLK_RPMH is not set +# CONFIG_IPQ_GCC_6018 is not set +# CONFIG_IPQ_GCC_8074 is not set +# CONFIG_MSM_GCC_8916 is not set +# CONFIG_MSM_GCC_8994 is not set +# CONFIG_MSM_MMCC_8996 is not set +# CONFIG_MSM_GCC_8998 is not set +# CONFIG_QCS_GCC_404 is not set +# CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GCC_7280 is not set +# CONFIG_SDM_CAMCC_845 is not set +# CONFIG_SDM_GPUCC_845 is not set +# CONFIG_SDM_VIDEOCC_845 is not set +# CONFIG_SDM_DISPCC_845 is not set +# CONFIG_SM_GCC_8350 is not set +# CONFIG_SM_GCC_8450 is not set +# CONFIG_SM_GPUCC_8150 is not set +# CONFIG_SM_GPUCC_8250 is not set +# CONFIG_QCOM_HFPLL is not set +# CONFIG_CLK_GFM_LPASS_SM8250 is not set +# CONFIG_CLK_RCAR_USB2_CLOCK_SEL is not set +# CONFIG_HWSPINLOCK_QCOM is not set +# CONFIG_RENESAS_OSTM is not set +# CONFIG_BCM2835_MBOX is not set +# CONFIG_QCOM_APCS_IPC is not set +# CONFIG_QCOM_IPCC is not set +# CONFIG_ROCKCHIP_IOMMU is not set +# CONFIG_TEGRA_IOMMU_SMMU is not set +# CONFIG_MTK_IOMMU is not set +# CONFIG_QCOM_IOMMU is not set +CONFIG_IMX_REMOTEPROC=y +CONFIG_IMX_DSP_REMOTEPROC=y +CONFIG_RPMSG_CHAR=y +# CONFIG_QCOM_Q6V5_MSS is not set +# CONFIG_QCOM_Q6V5_PAS is not set +# CONFIG_QCOM_SYSMON is not set +# CONFIG_QCOM_WCNSS_PIL is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set +# CONFIG_RPMSG_QCOM_SMD is not set +CONFIG_SOC_BRCMSTB=y +# CONFIG_OWL_PM_DOMAINS is not set +# CONFIG_RASPBERRYPI_POWER is not set +# CONFIG_FSL_DPAA is not set +# CONFIG_FSL_MC_DPIO is not set +CONFIG_SOC_TI=y +# CONFIG_MTK_DEVAPC is not set +# CONFIG_MTK_PMIC_WRAP is not set +# CONFIG_QCOM_AOSS_QMP is not set +# CONFIG_QCOM_COMMAND_DB is not set +# CONFIG_QCOM_CPR is not set +# CONFIG_QCOM_GENI_SE is not set +# CONFIG_QCOM_RMTFS_MEM is not set +# CONFIG_QCOM_RPMH is not set +# CONFIG_QCOM_RPMHPD is not set +# CONFIG_QCOM_RPMPD is not set +# CONFIG_QCOM_SMEM is not set +# CONFIG_QCOM_SMD_RPM is not set +# CONFIG_QCOM_SMP2P is not set +# CONFIG_QCOM_SMSM is not set +# CONFIG_QCOM_SOCINFO is not set +# CONFIG_QCOM_STATS is not set +# CONFIG_QCOM_WCNSS_CTRL is not set +# CONFIG_QCOM_APR is not set +# CONFIG_ARCH_R8A77995 is not set +# CONFIG_ARCH_R8A77990 is not set +# CONFIG_ARCH_R8A77950 is not set +# CONFIG_ARCH_R8A77951 is not set +# CONFIG_ARCH_R8A77965 is not set +# CONFIG_ARCH_R8A77960 is not set +# CONFIG_ARCH_R8A77961 is not set +# CONFIG_ARCH_R8A779F0 is not set +# CONFIG_ARCH_R8A77980 is not set +# CONFIG_ARCH_R8A77970 is not set +# CONFIG_ARCH_R8A779A0 is not set +# CONFIG_ARCH_R8A774C0 is not set +# CONFIG_ARCH_R8A774E1 is not set +# CONFIG_ARCH_R8A774A1 is not set +# CONFIG_ARCH_R8A774B1 is not set +# CONFIG_ARCH_R9A07G044 is not set +# CONFIG_ROCKCHIP_IODOMAIN is not set +# CONFIG_ROCKCHIP_PM_DOMAINS is not set +# CONFIG_ARCH_TEGRA_132_SOC is not set +# CONFIG_ARCH_TEGRA_210_SOC is not set +# CONFIG_ARCH_TEGRA_186_SOC is not set +# CONFIG_ARCH_TEGRA_194_SOC is not set +# CONFIG_ARCH_TEGRA_234_SOC is not set +# CONFIG_TI_SCI_PM_DOMAINS is not set +# CONFIG_ARM_IMX_BUS_DEVFREQ is not set +# CONFIG_ARM_IMX8M_DDRC_DEVFREQ is not set +CONFIG_MEMORY=y +# CONFIG_RENESAS_RPCIF is not set +CONFIG_IMX8QXP_ADC=y +# CONFIG_EXYNOS_ADC is not set +# CONFIG_QCOM_SPMI_VADC is not set +# CONFIG_QCOM_SPMI_ADC5 is not set +# CONFIG_ROCKCHIP_SARADC is not set +# CONFIG_RZG2L_ADC is not set +# CONFIG_TI_ADS1015 is not set +CONFIG_IIO_ST_LSM6DSX=y +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_VCNL4000 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_MPL3115 is not set +# CONFIG_PWM_BCM2835 is not set +# CONFIG_PWM_BRCMSTB is not set +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_IMX27=y +# CONFIG_PWM_MESON is not set +# CONFIG_PWM_MTK_DISP is not set +# CONFIG_PWM_MEDIATEK is not set +# CONFIG_PWM_RCAR is not set +# CONFIG_PWM_RENESAS_TPU is not set +# CONFIG_PWM_ROCKCHIP is not set +# CONFIG_PWM_SAMSUNG is not set +# CONFIG_PWM_SL28CPLD is not set +# CONFIG_PWM_SUN4I is not set +# CONFIG_PWM_TEGRA is not set +# CONFIG_PWM_VISCONTI is not set +# CONFIG_SL28CPLD_INTC is not set +# CONFIG_QCOM_PDC is not set +# CONFIG_RESET_QCOM_AOSS is not set +# CONFIG_RESET_QCOM_PDC is not set +# CONFIG_RESET_RZG2L_USBPHY_CTRL is not set +# CONFIG_RESET_TI_SCI is not set +CONFIG_PHY_CADENCE_SALVO=y +CONFIG_PHY_MIXEL_MIPI_DPHY=y +# CONFIG_PHY_SUN4I_USB is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8M_PCIE is not set +# CONFIG_PHY_HI6220_USB is not set +# CONFIG_PHY_HISTB_COMBPHY is not set +# CONFIG_PHY_HISI_INNO_USB2 is not set +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set +# CONFIG_PHY_MTK_TPHY is not set +# CONFIG_PHY_QCOM_QMP is not set +# CONFIG_PHY_QCOM_QUSB2 is not set +CONFIG_PHY_SAMSUNG_USB2=y +# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set +# CONFIG_PHY_RCAR_GEN3_PCIE is not set +# CONFIG_PHY_RCAR_GEN3_USB2 is not set +# CONFIG_PHY_RCAR_GEN3_USB3 is not set +# CONFIG_PHY_ROCKCHIP_EMMC is not set +# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set +# CONFIG_PHY_ROCKCHIP_INNO_USB2 is not set +# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set +# CONFIG_PHY_ROCKCHIP_PCIE is not set +# CONFIG_PHY_ROCKCHIP_TYPEC is not set +# CONFIG_PHY_SAMSUNG_UFS is not set +# CONFIG_PHY_UNIPHIER_USB2 is not set +# CONFIG_PHY_UNIPHIER_USB3 is not set +# CONFIG_PHY_TEGRA_XUSB is not set +# CONFIG_PHY_AM654_SERDES is not set +# CONFIG_PHY_J721E_WIZ is not set +CONFIG_FSL_IMX8_DDR_PMU=y +# CONFIG_QCOM_L2_PMU is not set +# CONFIG_QCOM_L3_PMU is not set +# CONFIG_MTK_EFUSE is not set +# CONFIG_QCOM_QFPROM is not set +# CONFIG_ROCKCHIP_EFUSE is not set +# CONFIG_NVMEM_SUNXI_SID is not set +# CONFIG_UNIPHIER_EFUSE is not set +# CONFIG_MESON_EFUSE is not set +# CONFIG_NVMEM_RMEM is not set +# CONFIG_NVMEM_LAYERSCAPE_SFP is not set +# CONFIG_FPGA_MGR_ALTERA_CVP is not set +# CONFIG_FPGA_MGR_STRATIX10_SOC is not set +# CONFIG_SLIMBUS is not set +# CONFIG_SLIM_QCOM_NGD_CTRL is not set +# CONFIG_INTERCONNECT_IMX is not set +# CONFIG_INTERCONNECT_IMX8MM is not set +# CONFIG_INTERCONNECT_IMX8MN is not set +# CONFIG_INTERCONNECT_IMX8MQ is not set +# CONFIG_INTERCONNECT_QCOM is not set +# CONFIG_INTERCONNECT_QCOM_MSM8916 is not set +# CONFIG_INTERCONNECT_QCOM_OSM_L3 is not set +# CONFIG_INTERCONNECT_QCOM_SC7280 is not set +# CONFIG_INTERCONNECT_QCOM_SDM845 is not set +# CONFIG_INTERCONNECT_QCOM_SM8150 is not set +# CONFIG_INTERCONNECT_QCOM_SM8250 is not set +# CONFIG_INTERCONNECT_QCOM_SM8350 is not set +# CONFIG_INTERCONNECT_QCOM_SM8450 is not set +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_UBIFS_FS=y +CONFIG_SQUASHFS_XZ=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_SEED=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_AEAD=m +# CONFIG_CRYPTO_DEV_SUN8I_CE is not set +# CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM is not set +# CONFIG_CRYPTO_DEV_QCOM_RNG is not set +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +CONFIG_INDIRECT_PIO=y +CONFIG_CRC_CCITT=m +# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set +# CONFIG_CRYPTO_DEV_HISI_ZIP is not set +# CONFIG_CRYPTO_DEV_HISI_HPRE is not set +# CONFIG_CRYPTO_DEV_HISI_TRNG is not set +CONFIG_IRQ_POLL=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_CORESIGHT=y +CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y +CONFIG_CORESIGHT_SOURCE_ETM4X=y diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf b/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf new file mode 100644 index 00000000000..91113547425 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /boot/Image + devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb + append root=PARTUUID=%PARTUUID% rootwait rw diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh new file mode 100755 index 00000000000..17b20f00977 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + OUTPUT_DIR=output +else + OUTPUT_DIR=$1 +fi + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + echo "" + echo "Arguments:" + echo " OUTPUT_DIR The Buildroot output directory." + exit 1 +fi + +IMAGES_DIR=${OUTPUT_DIR}/images + +${OUTPUT_DIR}/host/bin/uuu -v -b emmc_all \ + ${IMAGES_DIR}/flash.bin \ + ${IMAGES_DIR}/sdcard.img + diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg b/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg new file mode 100644 index 00000000000..10c52548cdf --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition imx-boot { + in-partition-table = "no" + image = "flash.bin" + offset = 32K + } + + partition rootfs { + offset = 8M + image = "rootfs.ext4" + partition-uuid = %PARTUUID% + } +} diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh new file mode 100755 index 00000000000..bf8861f6a91 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" +PARTUUID="$($HOST_DIR/bin/uuidgen)" + +install -d "$TARGET_DIR/boot/extlinux/" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf" +sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg" diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh new file mode 100755 index 00000000000..3452fd4501f --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt b/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt new file mode 100644 index 00000000000..5763f164fe1 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt @@ -0,0 +1,73 @@ +i.MX8MN BSH SMM S2 PRO +====================== + +How to build it +--------------- + +Configure buildroot: + + $ make imx8mn_bsh_smm_s2_pro_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +------------------- + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── Image + ├── flash.bin + ├── ddr3* + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── sdcard.img + ├── u-boot.bin + ├── u-boot-nodtb.bin + └── u-boot-spl.bin + + +Preparing the board +------------------- + +Plug the USB type A to micro B cable into the USB Debug +Connector (DBG UART). Use serial port settings 115200 8N1 +to access the debug console. + +Plug another USB type A to micro B cable into the USB-OTG +Connector (USB1). This connection is used to flash the board +firmware using the Freescale/NXP UUU tool. + +Connect the power supply/adaptor to the DC Power Jack (labelled ++5V). + + +Flashing the emmc card image +---------------------------- + +Power up the board by switching on the Power ON Switch, which is +placed right next to the DC Jack. + +Enter the following U-Boot commands on the debug serial console: + + $ fastboot usb 0 + +Flash the images on eMMC. On your computer, run: + + $ board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh output/ + + +Booting the board +----------------- + +By default the bootloader will search for the first valid image, +starting with the internal eMMC. diff --git a/board/bsh/imx8mn-bsh-smm-s2/flash.sh b/board/bsh/imx8mn-bsh-smm-s2/flash.sh new file mode 100755 index 00000000000..1f343d516dc --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/flash.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + OUTPUT_DIR=output +else + OUTPUT_DIR=$1 +fi + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + echo "" + echo "Arguments:" + echo " OUTPUT_DIR The Buildroot output directory." + exit 1 +fi + +IMAGES_DIR=${OUTPUT_DIR}/images + +${OUTPUT_DIR}/host/bin/uuu -v -b ${IMAGES_DIR}/nand-full.lst \ + ${IMAGES_DIR}/flash.bin \ + ${IMAGES_DIR}/flash.bin \ + ${IMAGES_DIR}/rootfs.ubifs \ + ${IMAGES_DIR}/Image \ + ${IMAGES_DIR}/freescale/imx8mn-bsh-smm-s2.dtb + diff --git a/board/bsh/imx8mn-bsh-smm-s2/nand-full.lst b/board/bsh/imx8mn-bsh-smm-s2/nand-full.lst new file mode 100644 index 00000000000..c01d2d6c1da --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/nand-full.lst @@ -0,0 +1,29 @@ +# @_flash.bin | bootloader +# @_image [_flash.bin] | image burn to nand, default is the same as bootloader +# @_filesystem | filesystem to burn +# @_kernel | kernel image +# @_dtb | dtb image + +# This command will be run when ROM support stream mode +# i.MX8QXP, i.MX8QM +SDPS: boot -f _flash.bin + +FB: ucmd setenv fastboot_buffer ${loadaddr} +FB: download -f _image +# Burn image to nandfit partition if needed +FB: ucmd if env exists nandfit_part; then nand erase.part nandfit; nand write ${fastboot_buffer} nandfit ${filesize}; else true; fi; +FB: ucmd nandbcb init ${fastboot_buffer} nandboot ${filesize} + +FB[-t 10000]: ucmd ubi part nandrootfs +FB[-t 10000]: ucmd ubi create root - +FB: download -f _filesystem +FB[-t 60000]: ucmd ubi write ${loadaddr} root ${filesize} + +FB: download -f _kernel +FB[-t 10000]: ucmd nand write ${loadaddr} nandkernel ${filesize} + +FB: download -f _dtb +FB[-t 8000]: ucmd nand write ${loadaddr} nanddtb ${filesize} + +FB: reboot +FB: done diff --git a/board/bsh/imx8mn-bsh-smm-s2/post-build.sh b/board/bsh/imx8mn-bsh-smm-s2/post-build.sh new file mode 100755 index 00000000000..49df4cd6fb1 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" + +cp ${BOARD_DIR}/nand-full.lst ${BINARIES_DIR} diff --git a/board/bsh/imx8mn-bsh-smm-s2/readme.txt b/board/bsh/imx8mn-bsh-smm-s2/readme.txt new file mode 100644 index 00000000000..6b8cd031990 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2/readme.txt @@ -0,0 +1,75 @@ +i.MX8MN BSH SMM S2 +================== + +This tutorial describes how to use the predefined Buildroot +configuration for the i.MX8MN BSH SMM S2 board. + +Building +-------- + +Configure buildroot: + + $ make imx8mn_bsh_smm_s2_defconfig + +Change settings to fit your needs (optional): + + $ make menuconfig + +Compile everything and build the rootfs image: + + $ make + + +Result of the build +------------------- + +After building, the output/images directory contains: + + output/images/ + ├── bl31.bin + ├── ddr3* + ├── flash.bin + ├── freescale/imx8mn-bsh-smm-s2.dtb + ├── Image + ├── nand-full.lst + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── rootfs.ubifs + ├── u-boot.bin + └── u-boot-spl.bin + + +Preparing the board +------------------- + +Plug the USB type A to micro B cable into the USB Debug +Connector (DBG UART). Use serial port settings 115200 8N1 +to access the debug console. + +Plug another USB type A to micro B cable into the USB-OTG +Connector (USB1). This connection is used to flash the board +firmware using the Freescale/NXP UUU tool. + +Connect the power supply/adaptor to the DC Power Jack (labelled ++5V). + + +Flashing +-------- + +Power up the board by switching on the Power ON Switch, which is +placed right next to the DC Jack. + +Enter the following U-Boot commands on the debug serial console: + + $ nand erase.chip + $ reset + +Flash the built images directly to board’s memory. On your computer, +run: + + $ board/bsh/imx8mn-bsh-smm-s2/flash.sh output/ + +It will flash the bootloader, the Device Tree Blob, the kernel image +and the UBI root file system. diff --git a/board/canaan/k210-soc/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch b/board/canaan/k210-soc/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch new file mode 100644 index 00000000000..52b496f0547 --- /dev/null +++ b/board/canaan/k210-soc/patches/uboot/0001-riscv-Fix-build-against-binutils-2.38.patch @@ -0,0 +1,58 @@ +From 0cf11f3c0478f4286adcfb09bf9137f8b00212e3 Mon Sep 17 00:00:00 2001 +From: Alexandre Ghiti +Date: Mon, 3 Oct 2022 18:07:54 +0200 +Subject: [PATCH] riscv: Fix build against binutils 2.38 + +The following description is copied from the equivalent patch for the +Linux Kernel proposed by Aurelien Jarno: + +>From version 2.38, binutils default to ISA spec version 20191213. This +means that the csr read/write (csrr*/csrw*) instructions and fence.i +instruction has separated from the `I` extension, become two standalone +extensions: Zicsr and Zifencei. As the kernel uses those instruction, +this causes the following build failure: + +arch/riscv/cpu/mtrap.S: Assembler messages: +arch/riscv/cpu/mtrap.S:65: Error: unrecognized opcode `csrr a0,scause' +arch/riscv/cpu/mtrap.S:66: Error: unrecognized opcode `csrr a1,sepc' +arch/riscv/cpu/mtrap.S:67: Error: unrecognized opcode `csrr a2,stval' +arch/riscv/cpu/mtrap.S:70: Error: unrecognized opcode `csrw sepc,a0' + +Signed-off-by: Alexandre Ghiti +Reviewed-by: Bin Meng +Tested-by: Heinrich Schuchardt +Tested-by: Heiko Stuebner +Tested-by: Christian Stewart +Reviewed-by: Rick Chen +(cherry picked from commit 1dde977518f13824b847e23275001191139bc384) +Upstream: https://gitlab.com/u-boot/u-boot/-/commit/1dde977518f13824b847e23275001191139bc384 +Signed-off-by: Romain Naour +--- + arch/riscv/Makefile | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile +index 0b80eb8d864..53d1194ffb6 100644 +--- a/arch/riscv/Makefile ++++ b/arch/riscv/Makefile +@@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y) + CMODEL = medany + endif + +-ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \ ++RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_C) ++ ++# Newer binutils versions default to ISA spec version 20191213 which moves some ++# instructions from the I extension to the Zicsr and Zifencei extensions. ++toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei) ++ifeq ($(toolchain-need-zicsr-zifencei),y) ++ RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei ++endif ++ ++ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \ + -mcmodel=$(CMODEL) + + PLATFORM_CPPFLAGS += $(ARCH_FLAGS) +-- +2.41.0 + diff --git a/board/firefly/roc-rk3399-pc/extlinux.conf b/board/firefly/roc-rk3399-pc/extlinux.conf new file mode 100644 index 00000000000..50a358fadcc --- /dev/null +++ b/board/firefly/roc-rk3399-pc/extlinux.conf @@ -0,0 +1,4 @@ +label RK3399RocPC linux + kernel /boot/Image + devicetree /boot/rk3399-roc-pc.dtb + append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p1 rootwait diff --git a/board/firefly/roc-rk3399-pc/genimage.cfg b/board/firefly/roc-rk3399-pc/genimage.cfg new file mode 100644 index 00000000000..966c869273f --- /dev/null +++ b/board/firefly/roc-rk3399-pc/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "idbloader.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot.itb" + offset = 8M + size = 30M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/firefly/roc-rk3399-pc/post-build.sh b/board/firefly/roc-rk3399-pc/post-build.sh new file mode 100755 index 00000000000..d84a5da0b0f --- /dev/null +++ b/board/firefly/roc-rk3399-pc/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$TARGET_DIR"/boot/extlinux/extlinux.conf diff --git a/board/firefly/roc-rk3399-pc/readme.txt b/board/firefly/roc-rk3399-pc/readme.txt new file mode 100644 index 00000000000..8a6f1cdee6b --- /dev/null +++ b/board/firefly/roc-rk3399-pc/readme.txt @@ -0,0 +1,40 @@ +Libre Computer Board ROC-RK3399-PC +=================================== + +Build: + + $ make roc_pc_rk3399_defconfig + $ make + +Files created in output directory +================================= + +output/images + +├── bl31.elf +├── idbloader.img +├── Image +├── rk3399-roc-pc.dtb +├── rootfs.ext2 +├── rootfs.ext4 -> rootfs.ext2 +├── rootfs.tar +├── sdcard.img +├── u-boot.bin +└── u-boot.itb + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device + +Serial console +-------------- + +Baudrate for this board is 1500000 + +Wiki link: +https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/roc-rk3399-pc.html diff --git a/board/freescale/common/imx/genimage.cfg.template_imx9 b/board/freescale/common/imx/genimage.cfg.template_imx9 new file mode 100644 index 00000000000..df7ddc25b73 --- /dev/null +++ b/board/freescale/common/imx/genimage.cfg.template_imx9 @@ -0,0 +1,42 @@ +# Minimal SD card image for the NXP i.MX9 boards +# +# We mimic the .sdcard NXP's image format: +# * the SD card must have 32 kB free space at the beginning, +# * U-Boot is integrated into imx9-boot-sd.bin and is dumped as is, +# * a FAT partition at offset 8MB is containing Image and DTB files +# * a single root filesystem partition is required (ext2, ext3 or ext4) +# + +image boot.vfat { + vfat { + label = "boot" + files = { + %FILES% + } + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition imx-boot { + in-partition-table = "no" + image = "imx9-boot-sd.bin" + offset = %IMXOFFSET% + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh index ace0f6d6102..b353d506fe4 100755 --- a/board/freescale/common/imx/imx8-bootloader-prepare.sh +++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -8,6 +8,8 @@ main () exit 1 fi + FIT_EXTERNAL_POSITION=0x5000 + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then dd if=${BINARIES_DIR}/u-boot-spl.bin of=${BINARIES_DIR}/u-boot-spl-padded.bin bs=4 conv=sync cat ${BINARIES_DIR}/u-boot-spl-padded.bin ${BINARIES_DIR}/ddr_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin @@ -16,7 +18,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00910000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -28,7 +30,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00920000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -40,7 +42,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00960000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x912000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -52,7 +54,7 @@ main () else BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot-nodtb.bin ATF_LOAD_ADDR=0x00970000 ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its fi - ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + ${HOST_DIR}/bin/mkimage -E -p ${FIT_EXTERNAL_POSITION} -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb rm -f ${BINARIES_DIR}/u-boot.its ${HOST_DIR}/bin/mkimage_imx8 -v v2 -fit -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x920000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin @@ -63,6 +65,8 @@ main () dd if=${BINARIES_DIR}/u-boot-hash.bin of=${BINARIES_DIR}/u-boot-atf.bin bs=1K seek=128 if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then ${HOST_DIR}/bin/mkimage_imx8 -soc QM -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qm-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a53 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y$" ${BR2_CONFIG}; then + ${HOST_DIR}/bin/mkimage_imx8 -soc DXL -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8dxl-evk-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin else ${HOST_DIR}/bin/mkimage_imx8 -soc QX -rev B0 -append ${BINARIES_DIR}/ahab-container.img -c -scfw ${BINARIES_DIR}/mx8qx-mek-scfw-tcm.bin -ap ${BINARIES_DIR}/u-boot-atf.bin a35 0x80000000 -out ${BINARIES_DIR}/imx8-boot-sd.bin fi @@ -71,4 +75,5 @@ main () exit $? } +set -e main $@ diff --git a/board/freescale/common/imx/imx9-bootloader-prepare.sh b/board/freescale/common/imx/imx9-bootloader-prepare.sh new file mode 100755 index 00000000000..8ab5a241b02 --- /dev/null +++ b/board/freescale/common/imx/imx9-bootloader-prepare.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +main () +{ + SPL_LOAD_ADDR=0x2049A000 + ATF_LOAD_ADDR=0x204E0000 + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y$" "${BR2_CONFIG}"; then + SPL_LOAD_ADDR=0x204A0000 + ATF_LOAD_ADDR=0x204C0000 + fi + + dd if="${BINARIES_DIR}/u-boot-spl.bin" of="${BINARIES_DIR}/u-boot-spl-padded.bin" bs=4 conv=sync + cat "${BINARIES_DIR}/u-boot-spl-padded.bin" "${BINARIES_DIR}/ddr_fw.bin" > "${BINARIES_DIR}/u-boot-spl-ddr.bin" + + "${HOST_DIR}/bin/mkimage_imx8" -commit > "${BINARIES_DIR}/mkimg.commit" + cat "${BINARIES_DIR}/u-boot.bin" "${BINARIES_DIR}/mkimg.commit" > "${BINARIES_DIR}/u-boot-hash.bin" + rm -f "${BINARIES_DIR}/mkimg.commit" + + if grep -Eq "^BR2_TARGET_OPTEE_OS=y$" "${BR2_CONFIG}"; then + "${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -c \ + -ap "${BINARIES_DIR}/bl31.bin" a35 ${ATF_LOAD_ADDR} \ + -ap "${BINARIES_DIR}/u-boot-hash.bin" a35 0x80200000 \ + -ap "${BINARIES_DIR}/tee.bin" a35 0x96000000 \ + -out "${BINARIES_DIR}/u-boot-atf-container.img" + else + "${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -c \ + -ap "${BINARIES_DIR}/bl31.bin" a35 ${ATF_LOAD_ADDR} \ + -ap "${BINARIES_DIR}/u-boot-hash.bin" a35 0x80200000 \ + -out "${BINARIES_DIR}/u-boot-atf-container.img" + fi + + "${HOST_DIR}/bin/mkimage_imx8" -soc IMX9 -append "${BINARIES_DIR}/ahab-container.img" -c \ + -ap "${BINARIES_DIR}/u-boot-spl-ddr.bin" a35 ${SPL_LOAD_ADDR} \ + -out "${BINARIES_DIR}/imx9-boot-sd.bin" + + flashbin_size="$(wc -c "${BINARIES_DIR}/imx9-boot-sd.bin" | awk '{print $1}')" + pad_cnt=$(($((flashbin_size + 0x400 - 1)) / 0x400)) + dd if="${BINARIES_DIR}/u-boot-atf-container.img" of="${BINARIES_DIR}/imx9-boot-sd.bin" bs=1K seek=${pad_cnt} + + exit $? +} + +main "$@" diff --git a/board/freescale/common/imx/post-image.sh b/board/freescale/common/imx/post-image.sh index d36f82917ec..a440bfb75cd 100755 --- a/board/freescale/common/imx/post-image.sh +++ b/board/freescale/common/imx/post-image.sh @@ -7,10 +7,12 @@ # dtb_list() { - local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" + local DTB_LIST + + DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' "${BR2_CONFIG}")" for dt in $DTB_LIST; do - echo -n "\"`basename $dt`.dtb\", " + echo -n "\"$(basename "${dt}").dtb\", " done } @@ -21,11 +23,11 @@ dtb_list() # linux_image() { - if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" "${BR2_CONFIG}"; then echo "\"uImage\"" - elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" "${BR2_CONFIG}"; then echo "\"Image\"" - elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGEGZ=y$" "${BR2_CONFIG}"; then echo "\"Image.gz\"" else echo "\"zImage\"" @@ -34,25 +36,31 @@ linux_image() genimage_type() { - if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_imx8" - elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_imx8" - elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_imx8" - elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_imx8" - elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_imx8" - elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_imx8" - elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" ${BR2_CONFIG}; then - if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx9" + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y$" "${BR2_CONFIG}"; then + echo "genimage.cfg.template_imx9" + elif grep -Eq "^BR2_LINUX_KERNEL_INSTALL_TARGET=y$" "${BR2_CONFIG}"; then + if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_no_boot_part_spl" else echo "genimage.cfg.template_no_boot_part" fi - elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" "${BR2_CONFIG}"; then echo "genimage.cfg.template_spl" else echo "genimage.cfg.template" @@ -61,9 +69,9 @@ genimage_type() imx_offset() { - if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" "${BR2_CONFIG}"; then echo "33K" - elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM=y$" "${BR2_CONFIG}"; then echo "33K" else echo "32K" @@ -72,29 +80,30 @@ imx_offset() uboot_image() { - if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" "${BR2_CONFIG}"; then echo "u-boot-dtb.imx" - elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" "${BR2_CONFIG}"; then echo "u-boot.imx" - elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y$" "${BR2_CONFIG}"; then echo "u-boot-dtb.img" - elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" ${BR2_CONFIG}; then + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMG=y$" "${BR2_CONFIG}"; then echo "u-boot.img" fi } main() { - local FILES="$(dtb_list) $(linux_image)" - local IMXOFFSET="$(imx_offset)" - local UBOOTBIN="$(uboot_image)" - local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" - local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + local FILES IMXOFFSET UBOOTBIN GENIMAGE_CFG GENIMAGE_TMP + FILES="$(dtb_list) $(linux_image)" + IMXOFFSET="$(imx_offset)" + UBOOTBIN="$(uboot_image)" + GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" + GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" sed -e "s/%FILES%/${FILES}/" \ -e "s/%IMXOFFSET%/${IMXOFFSET}/" \ -e "s/%UBOOTBIN%/${UBOOTBIN}/" \ - board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG} + "board/freescale/common/imx/$(genimage_type)" > "${GENIMAGE_CFG}" rm -rf "${GENIMAGE_TMP}" @@ -105,9 +114,9 @@ main() --outputpath "${BINARIES_DIR}" \ --config "${GENIMAGE_CFG}" - rm -f ${GENIMAGE_CFG} + rm -f "${GENIMAGE_CFG}" exit $? } -main $@ +main "$@" diff --git a/board/freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch b/board/freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/board/freescale/common/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch b/board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch new file mode 100644 index 00000000000..7a7a7bbc285 --- /dev/null +++ b/board/freescale/common/patches/arm-trusted-firmware/0002-LF-7968-01-fix-Makefile-Suppress-array-bounds-error.patch @@ -0,0 +1,51 @@ +From b2a94de52ae4a940a87d569815b19d3fa92dd32a Mon Sep 17 00:00:00 2001 +From: Tom Hochstein +Date: Mon, 16 May 2022 13:45:16 -0500 +Subject: [PATCH] LF-7968-01 fix(Makefile): Suppress array-bounds error + +The array-bounds error is triggered now in cases where it was silent +before, causing errors like: + +``` +plat/imx/imx8m/hab.c: In function 'imx_hab_handler': +plat/imx/imx8m/hab.c:64:57: error: array subscript 0 is outside array bounds of 'uint32_t[0]' {aka 'unsigned int[]'} [-Werror=array-bounds] + 64 | #define HAB_RVT_CHECK_TARGET_ARM64 ((unsigned long)*(uint32_t *)(HAB_RVT_BASE + 0x18)) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``` + +The error is a false-positive and is entered as a bug [1]. The problem +is fixed partially in GCC 12 and fully in GCC 13 [2]. + +The partial fix does not work here because the constant addresses used +are less than the 4kB boundary chosen for the partial fix, so suppress +the error until GCC is upgraded to 13. + +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c39 + +Upstream-Status: Inappropriate [other] +Signed-off-by: Tom Hochstein +Signed-off-by: Jacky Bai +Reviewed-by: Ye Li +Signed-off-by: Brandon Maier +Upstream: https://github.com/nxp-imx/imx-atf/commit/058bf0f104115037d03e277f079825ef3659c5b9 +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c87c3ae08..2d6b90f47 100644 +--- a/Makefile ++++ b/Makefile +@@ -346,7 +346,7 @@ WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ + endif + + ifneq (${E},0) +-ERRORS := -Werror ++ERRORS := -Werror -Wno-error=array-bounds + endif + + CPPFLAGS = ${DEFINES} ${INCLUDES} ${MBEDTLS_INC} -nostdinc \ +-- +2.41.0 + diff --git a/board/freescale/imx28evk/readme.txt b/board/freescale/imx28evk/readme.txt index 2920cb04cd0..3b77634fe11 100644 --- a/board/freescale/imx28evk/readme.txt +++ b/board/freescale/imx28evk/readme.txt @@ -54,4 +54,4 @@ Enjoy! References ========== -[1] http://cache.freescale.com/files/32bit/doc/user_guide/EVK_imx28_QuickStart.pdf +[1] https://www.nxp.com/docs/en/user-guide/EVK_imx28_QuickStart.pdf diff --git a/board/freescale/imx6sabre/readme.txt b/board/freescale/imx6sabre/readme.txt index 4b8db5233a9..320ee463e20 100644 --- a/board/freescale/imx6sabre/readme.txt +++ b/board/freescale/imx6sabre/readme.txt @@ -8,15 +8,15 @@ as well as the Freescale SABRE Board for Automotive Infotainment. Read the i.MX 6 SABRESD Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf +https://www.nxp.com/files-static/32bit/doc/quick_start_guide/SABRESDB_IMX6_QSG.pdf Read the i.MX 6 SoloX SABRESD Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SOLOXQSG.pdf +https://www.nxp.com/files-static/32bit/doc/quick_start_guide/IMX6SOLOXQSG.pdf Read the SABRE for Automotive Infotainment Quick Start Guide for an introduction to the board: -http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SABREINFOQSG.pdf +https://www.nxp.com/webapp/Download?colCode=IMX6SABREINFOQSG Building with NXP kernel and NXP U-Boot ======================================= @@ -166,6 +166,6 @@ Enjoy! References ========== -https://community.freescale.com/docs/DOC-95015 -https://community.freescale.com/docs/DOC-95017 -https://community.freescale.com/docs/DOC-99218 +https://community.nxp.com/docs/DOC-95015 +https://community.nxp.com/docs/DOC-95017 +https://community.nxp.com/docs/DOC-99218 diff --git a/board/freescale/imx6ulevk/readme.txt b/board/freescale/imx6ulevk/readme.txt index 5bc03771f2b..5a5b4ae5a37 100644 --- a/board/freescale/imx6ulevk/readme.txt +++ b/board/freescale/imx6ulevk/readme.txt @@ -71,4 +71,4 @@ Enjoy! References ========== -[1] http://cache.freescale.com/files/32bit/doc/quick_start_guide/IMX6ULTRALITEQSG.pdf +[1] https://www.nxp.com/webapp/Download?colCode=IMX6ULTRALITEQSG diff --git a/board/freescale/imx6ullevk/linux_sdma.fragment b/board/freescale/imx6ullevk/linux_sdma.fragment new file mode 100644 index 00000000000..6f1c8b4313c --- /dev/null +++ b/board/freescale/imx6ullevk/linux_sdma.fragment @@ -0,0 +1 @@ +CONFIG_IMX_SDMA=m diff --git a/board/freescale/imx8dxlevk/readme.txt b/board/freescale/imx8dxlevk/readme.txt new file mode 100644 index 00000000000..33ceb669318 --- /dev/null +++ b/board/freescale/imx8dxlevk/readme.txt @@ -0,0 +1,69 @@ +****************************** +Freescale i.MX8DXL WEVK board +****************************** + +This file documents the Buildroot support for the Freescale i.MX8DXL WEVK +board. + +Build +===== + +First, configure Buildroot for the i.MX8DXL WEVK board: + + make freescale_imx8dxlevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - Image + - imx8-boot-sd.bin + - imx8dxl-evk.dtb + - mkimg.commit + - mx8dxl-ddr3-evk-scfw-tcm.bin + - mx8dxl-evk-scfw-tcm.bin + - mx8dxl-phantom-mek-scfw-tcm.bin + - mx8dxl-val-scfw-tcm.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf.bin + - u-boot.bin + - u-boot-hash.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8DXL WEVK board +============================ + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the boot switch as follows: +SW1: ON ON OFF OFF +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enjoy! diff --git a/board/freescale/imx8mpevk/uboot-fragment.config b/board/freescale/imx8mpevk/uboot-fragment.config new file mode 100644 index 00000000000..b4683be9ef7 --- /dev/null +++ b/board/freescale/imx8mpevk/uboot-fragment.config @@ -0,0 +1,3 @@ +# Use the upstream devicetree name for EVK board +# Revert https://github.com/nxp-imx/uboot-imx/commit/a60e787a6e35b9c14c391e03d41468e4ad63d598 +CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb" diff --git a/board/freescale/imx93evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash b/board/freescale/imx93evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 00000000000..98f425a89e4 --- /dev/null +++ b/board/freescale/imx93evk/patches/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 cfb927722272897f850681c78d5f129b0883a8efaba9c52d30e029086524f7ff imx-atf-lf-6.1.55-2.2.0.tar.gz diff --git a/board/freescale/imx93evk/patches/linux-headers/linux-headers.hash b/board/freescale/imx93evk/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/freescale/imx93evk/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/freescale/imx93evk/patches/linux/linux.hash b/board/freescale/imx93evk/patches/linux/linux.hash new file mode 100644 index 00000000000..715a590825e --- /dev/null +++ b/board/freescale/imx93evk/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 eb94414f952444289c0af8ad82afa0dc2d07e08f9000ccd2cc39f11da5b494ea linux-imx-lf-6.1.55-2.2.0.tar.gz diff --git a/board/freescale/imx93evk/patches/uboot/uboot.hash b/board/freescale/imx93evk/patches/uboot/uboot.hash new file mode 100644 index 00000000000..9bc17c3f6f9 --- /dev/null +++ b/board/freescale/imx93evk/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 64441ee5bf3d5011e7853c028d06211b6f0439d21e147a8f36972c95a07ae9ac uboot-imx-lf-6.1.55-2.2.0.tar.gz diff --git a/board/freescale/imx93evk/readme.txt b/board/freescale/imx93evk/readme.txt new file mode 100644 index 00000000000..1173de39dbb --- /dev/null +++ b/board/freescale/imx93evk/readme.txt @@ -0,0 +1,77 @@ +********************* +NXP i.MX93 EVK board +********************* + +This file documents the Buildroot support for the i.MX 93 EVK board. + +Build +===== + +First, configure Buildroot for the i.MX 93 EVK board: + + make freescale_imx93evk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - ahab-container.img + - bl31.bin + - boot.vfat + - ddr_fw.bin + - Image + - imx93-11x11-evk.dtb + - imx9-boot-sd.bin + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - u-boot-atf-container.img + - u-boot.bin + - u-boot-hash.bin + - u-boot-spl.bin + - u-boot-spl-ddr.bin + - u-boot-spl-padded.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx9. + +Boot the i.MX 93 EVK board +=============================== + +To boot your newly created system (refer to the i.MX 93 EVK Documentation +[1] for guidance): +- insert the SD card in the SD slot of the board; +- Configure the switches as follows: +SW1301: 0100 SW1301[1-4] +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Note: the debug USB connector presents 4 UARTs (for example /dev/ttyUSB[0-3]), +the Cortex-A55 UART should be the 3rd one (in the previous example, /dev/ttyUSB2). +Refer to the documentation [1] for more details. + +Enjoy! + +References +========== +[1] https://www.nxp.com/document/guide/getting-started-with-the-i-mx93-evk:GS-IMX93EVK diff --git a/board/freescale/imxrt1050evk/genimage.cfg b/board/freescale/imxrt1050evk/genimage.cfg new file mode 100644 index 00000000000..64fc8452f84 --- /dev/null +++ b/board/freescale/imxrt1050evk/genimage.cfg @@ -0,0 +1,40 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "imxrt1050-evk.dtb", + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition SPL { + in-partition-table = "no" + image = "SPL" + offset = 1K + size = 127K + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot.img" + offset = 128K + size = 512K + } + + partition boot { + partition-type = 0xc + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt new file mode 100644 index 00000000000..1fc4edd88b6 --- /dev/null +++ b/board/freescale/imxrt1050evk/readme.txt @@ -0,0 +1,30 @@ +NXP i.MXRT1050 EVK board +------------------------ + +i.MX RT1050 are NXP's crossover MCUs. They combine the high performance and high +level of integration of an applications processors with the ease-of-use and +real-time functionality of a microcontroller. The i.MX RT1050 MCU runs on the Arm +Cortex-M7 core at 600 MHz. +https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1050-evaluation-kit:MIMXRT1050-EVK + +To build a minimal support for this board: + +$ make imxrt1050-evk_defconfig +$ make + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be flashed into the SD card: + +$ dd if=output/images/sdcard.img of=/dev/sdX +Where 'sdX' is the device node of the uSD. + +Jumper settings: + + SW7: 1 0 1 0 + +Where 0 means bottom position and 1 means top position (from the +switch label numbers reference). + +Connect the USB cable between the EVK and the PC for the console. + +Insert the micro SD card in the board, power it up and U-Boot messages should come up. diff --git a/board/freescale/imxrt1050evk/uboot.fragment b/board/freescale/imxrt1050evk/uboot.fragment new file mode 100644 index 00000000000..dd45ca4c29d --- /dev/null +++ b/board/freescale/imxrt1050evk/uboot.fragment @@ -0,0 +1,2 @@ +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="setenv bootargs console=ttyLP0 root=/dev/mmcblk0p2 rw earlycon rootwait;load mmc 0:1 0x80800000 imxrt1050-evk.dtb;load mmc 0:1 0x80000000 zImage;bootz 0x80000000 - 0x80800000" diff --git a/board/freescale/ls1046a-frwy/genimage.cfg b/board/freescale/ls1046a-frwy/genimage.cfg new file mode 100644 index 00000000000..63cca042b28 --- /dev/null +++ b/board/freescale/ls1046a-frwy/genimage.cfg @@ -0,0 +1,29 @@ +image sdcard.img { + hdimage { + } + + partition fsbl { + offset = 4K + in-partition-table = "no" + image = "bl2_sd.pbl" + } + + partition ssbl { + offset = 1M + in-partition-table = "no" + image = "fip.bin" + } + + partition fman { + offset = 9M + in-partition-table = "no" + image = "fsl_fman_ucode_ls1046_r1.0_106_4_18.bin" + } + + partition rootfs { + offset = 16M + partition-type = 0x83 + bootable = "true" + image = "rootfs.ext4" + } +} diff --git a/board/freescale/ls1046a-frwy/readme.txt b/board/freescale/ls1046a-frwy/readme.txt new file mode 100644 index 00000000000..fbcfdb1b857 --- /dev/null +++ b/board/freescale/ls1046a-frwy/readme.txt @@ -0,0 +1,90 @@ +************** +NXP LS1046A-FRWY +************** + +This file documents the Buildroot support for the LS1046A Freeway Board. + +for more details about the board and the QorIQ Layerscape SoC, see the following pages: + - https://www.nxp.com/design/software/qoriq-developer-resources/ls1046a-freeway-board:FRWY-LS1046A + - https://www.nxp.com/FRWY-LS1046A + - https://www.nxp.com/docs/en/quick-reference-guide/FRWY-LS1046AGSG.pdf + +for the software NXP LSDK (Layerscape Software Development Kit), see + - https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev21.08.pdf + +the components from NXP are: + - rcw, LSDK 21.08 + - atf (fork), LSDK 21.08 + - uboot (fork), LSDK 21.08 + - qoriq-fm-ucode (blob), LSDK 21.08 + - linux (fork), LSDK 21.08 + +Build +===== + +First, configure Buildroot for the LS1046A-FRWY board: + + make ls1046a-frwy_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl2_sd.pbl + - fip.bin + - fsl_fman_ucode_ls1046_r1.0_106_4_18.bin + - fsl_fman_ucode_ls1046_r1.0_108_4_9.bin + - fsl-ls1046a-frwy.dtb + - fsl-ls1046a-frwy-sdk.dtb + - Image + - PBL.bin + - rootfs.ext2 + - rootfs.ext4 + - sdcard.img + - u-boot.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/sdX + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/ls1046a-frwy/genimage.cfg. + +Boot the LS1046A-FRWY board +========================= + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the switches SW1[1:9] = 0_0100_0000 (select SD Card boot option) +- put a Micro-USB cable into UART1 Port and connect using a terminal emulator + at 115200 bps, 8n1. Or remove the jumper on J72, connect a USB to TTL cable + to J73, and connect using a terminal emualtor at 115200 bps, 8n1. +- power on the board. + +The front panel Ethernet connectors are off at boot, to bring them up run the +following commands. + +1G PORT1 + ip link set eth1 up + +1G PORT2 + ip link set eth2 up + +1G PORT3 + ip link set eth0 up + +1G PORT4 + ip link set eth3 up diff --git a/board/freescale/ls1046a-frwy/rootfs_overlay/boot/extlinux/extlinux.conf b/board/freescale/ls1046a-frwy/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..536d62b6c58 --- /dev/null +++ b/board/freescale/ls1046a-frwy/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label ls1046afrwy-buildroot + kernel /boot/Image + devicetree /boot/fsl-ls1046a-frwy-sdk.dtb + append console=ttyS0,115200 root=/dev/mmcblk0p1 earlycon=uart8250,mmio,0x21c0500 rootwait diff --git a/board/in-circuit/icnova-a20-adb4006/boot.cmd b/board/in-circuit/icnova-a20-adb4006/boot.cmd new file mode 100644 index 00000000000..93d32a5e5fc --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/boot.cmd @@ -0,0 +1,5 @@ +setenv fdt_high ffffffff +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $fdt_addr_r sun7i-a20-icnova-a20-adb4006.dtb +bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/in-circuit/icnova-a20-adb4006/genimage.cfg b/board/in-circuit/icnova-a20-adb4006/genimage.cfg new file mode 100644 index 00000000000..4975d679be0 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/genimage.cfg @@ -0,0 +1,38 @@ +# Minimal SD card image for the ICnova A20 SomPi on ADB4006 +# Based in the Cubieboard2 genimage.cfg + +image boot.vfat { + vfat { + files = { + "zImage", + "sun7i-a20-icnova-a20-adb4006.dtb", + "boot.scr" + } + } + + size = 10M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/in-circuit/icnova-a20-adb4006/linux.fragment b/board/in-circuit/icnova-a20-adb4006/linux.fragment new file mode 100644 index 00000000000..1c99df12e62 --- /dev/null +++ b/board/in-circuit/icnova-a20-adb4006/linux.fragment @@ -0,0 +1 @@ +CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y diff --git a/board/intel/galileo/linux-3.14.config b/board/intel/galileo/linux-3.14.config index e7aa9cf232d..c658afb88ec 100644 --- a/board/intel/galileo/linux-3.14.config +++ b/board/intel/galileo/linux-3.14.config @@ -154,9 +154,9 @@ CONFIG_TUN=y # CONFIG_NET_VENDOR_SILAN is not set # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set -CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_ETH=y # CONFIG_STMMAC_PLATFORM is not set -CONFIG_STMMAC_PCI=m +CONFIG_STMMAC_PCI=y # CONFIG_NET_VENDOR_SUN is not set # CONFIG_NET_VENDOR_TEHUTI is not set # CONFIG_NET_VENDOR_TI is not set @@ -306,3 +306,6 @@ CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y # CONFIG_VIRTUALIZATION is not set CONFIG_CRC_T10DIF=y +CONFIG_NFS_FS=y +CONFIG_ROOT_NFS=y +CONFIG_IP_PNP=y diff --git a/board/khadas/vim3/extlinux.conf b/board/khadas/vim3/extlinux.conf new file mode 100644 index 00000000000..2b1544a5cc6 --- /dev/null +++ b/board/khadas/vim3/extlinux.conf @@ -0,0 +1,5 @@ +default buildroot +label buildroot + kernel /Image + devicetree /meson-g12b-a311d-khadas-vim3.dtb +append root=/dev/mmcblk0p2 rootwait console=ttyAML0,115200 diff --git a/board/khadas/vim3/genimage.cfg b/board/khadas/vim3/genimage.cfg new file mode 100644 index 00000000000..79d7f9ca076 --- /dev/null +++ b/board/khadas/vim3/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "Image", + "meson-g12b-a311d-khadas-vim3.dtb", + "extlinux" + } + + label = "boot" + } + + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image="boot.vfat" + size = 64M + offset = 2M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 128M + offset = 0 + } +} diff --git a/board/khadas/vim3/post-build.sh b/board/khadas/vim3/post-build.sh new file mode 100755 index 00000000000..8dae08a47cd --- /dev/null +++ b/board/khadas/vim3/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/khadas/vim3/post-image.sh b/board/khadas/vim3/post-image.sh new file mode 100755 index 00000000000..db38421494d --- /dev/null +++ b/board/khadas/vim3/post-image.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" + +AMLOGIC_DIR=${BINARIES_DIR}/amlogic-boot-fip +FIP_DIR=${BINARIES_DIR}/fip + +mkdir -p "${FIP_DIR}" + +(cd "${AMLOGIC_DIR}" && \ + ./build-fip.sh khadas-vim3 \ + "${BINARIES_DIR}"/u-boot.bin \ + "${FIP_DIR}") + +dd if="${FIP_DIR}"/u-boot.bin.sd.bin \ + of="${BINARIES_DIR}"/sdcard.img \ + conv=fsync,notrunc bs=1 count=444 + +dd if="${FIP_DIR}"/u-boot.bin.sd.bin \ + of="${BINARIES_DIR}"/sdcard.img \ + conv=fsync,notrunc bs=512 skip=1 seek=1 diff --git a/board/khadas/vim3/readme.txt b/board/khadas/vim3/readme.txt new file mode 100644 index 00000000000..cc9b513644a --- /dev/null +++ b/board/khadas/vim3/readme.txt @@ -0,0 +1,71 @@ +Khadas VIM3 + +Description +=========== + +This configuration builds a complete image for the Khadas VIM3 to be flashed +on an SD-card. + +How to build it +=============== + +Select the default configuration for the target: +$ make khadas_vim3_defconfig + +Optional: modify the configuration: +$ make menuconfig + +Build: +$ make + +Result of the build +=================== +output/images/ ++-- amlogic-boot-fip ++ +-- build-fip.sh ++ +-- g12a.inc ++ `-- khadas-vim3 ++ +-- acs.bin ++ +-- acs_tool.py ++ +-- aml_ddr.fw ++ +-- aml_encrypt_g12b ++ +-- bl2.bin ++ +-- bl301.bin ++ +-- bl30.bin ++ +-- bl31.bin ++ +-- bl31.img ++ +-- blx_fix.sh ++ +-- ddr3_1d.fw ++ +-- ddr4_1d.fw ++ +-- ddr4_2d.fw ++ +-- diag_lpddr4.fw ++ +-- lpddr3_1d.fw ++ +-- lpddr4_1d.fw ++ +-- lpddr4_2d.fw ++ +-- Makefile ++ `-- piei.fw ++-- boot.vfat ++-- extlinux ++ `-- extlinux.conf ++-- fip ++ +-- u-boot.bin ++ +-- u-boot.bin.sd.bin ++ +-- u-boot.bin.usb.bl2 ++ `-- u-boot.bin.usb.tpl ++-- Image ++-- meson-g12b-a311d-khadas-vim3.dtb ++-- rootfs.ext2 ++-- rootfs.ext4 -> rootfs.ext2 ++-- rootfs.tar ++-- sdcard.img +`-- u-boot.bin + +The post-image script uses the files in the amlogic-boot-fip folder to sign +the bootloader image before integrating it into the sdcard image. + +To copy the image file to the sdcard use dd: +$ dd if=output/images/sdcard.img of=/dev/sdX + +Tested hardware +=============== +Khadas vim3 (rev. 14) diff --git a/board/licheepi/readme.txt b/board/licheepi/readme.txt deleted file mode 100644 index 6b8bf94b451..00000000000 --- a/board/licheepi/readme.txt +++ /dev/null @@ -1,62 +0,0 @@ -Intro -===== - -This directory contains a buildroot configuration for building a -LicheePi Zero. - -How to build it -=============== - -Configure Buildroot -------------------- - - $ make licheepi_zero_defconfig - -Build the rootfs ----------------- - -Note: you will need to have access to the network, since Buildroot -will download the packages' sources. - -You may now build your rootfs with: - - $ make - -(This may take a while, consider getting yourself a coffee ;-) ) - -Result of the build -------------------- - -After building, you should obtain this tree: - - output/images/ - +-- boot.scr - +-- boot.vfat - +-- rootfs.ext2 - +-- rootfs.ext4 -> rootfs.ext2 - +-- rootfs.tar - +-- sdcard.img - +-- sun8i-v3s-licheepi-zero-dock.dtb - +-- sun8i-v3s-licheepi-zero.dtb - +-- u-boot.bin - +-- u-boot-sunxi-with-spl.bin - `-- zImage - -How to write the SD card -======================== - -Once the build process is finished you will have an image called -"sdcard.img" in the output/images/ directory. - -Copy the bootable "sdcard.img" onto an SD card with "dd": - - $ sudo dd if=output/images/sdcard.img of=/dev/sdX - -Alternatively, you can use the Etcher graphical tool to burn the image -to the SD card safely and on any platform: - -https://etcher.io/ - -Once the SD card is burned, insert it into your LicheePi Zero board, -and power it up. Your new system should come up now and start a -console on the UART0 serial port. diff --git a/board/mangopi/mq1rdw2/genimage.cfg b/board/mangopi/mq1rdw2/genimage.cfg new file mode 100644 index 00000000000..92c86775456 --- /dev/null +++ b/board/mangopi/mq1rdw2/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 1016K # 1MB - 8KB + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/mangopi/mq1rdw2/readme.txt b/board/mangopi/mq1rdw2/readme.txt new file mode 100644 index 00000000000..fd37f63154e --- /dev/null +++ b/board/mangopi/mq1rdw2/readme.txt @@ -0,0 +1,46 @@ +MangoPi MQ1RDW2 +=============== + +MangoPi MQ1RDW2 is a tiny ARM Cortex-A7 based single board computer. +It's built around Allwinner T113-S3 dual core 1GHz CPU with integrated +128MB DDR3-1600 RAM. +Board features: +- USB-OTG Type-C socket +- USB-HOST Type-C socket +- 2x 18 pin GPIO headers +- TF card slot +- RTL8723DS WiFi module with ext. antenna connector +- 40 pin RGB FPC connector +- 6 pin CTP FPC connector +- 24 pin DVP FPC connector +- onboard mic +- onboard audio amplifier +- FEL,reset button + +How to build +============ + +$ make mangopi_mq1rdw2_defconfig +$ make + +Wifi +========== + +Edit board/mangopi/mq1rdw2/overlay/etc/wpa_supplicant.conf or +/etc/wpa_supplicant.conf once connected to the board: + +* Replace YOURSSID with your AP ssid +* Replace YOURPASSWD with your AP password + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the UART3 on P8 header (unpopulated), insert the microSD card and +plug in a USB-C cable to the OTG or HOST connector to boot the system. diff --git a/board/mangopi/mq1rdw2/rootfs_overlay/boot/extlinux/extlinux.conf b/board/mangopi/mq1rdw2/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..c190ff7659b --- /dev/null +++ b/board/mangopi/mq1rdw2/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label MANGOPI-MQ1RDW2 + kernel /boot/zImage + devicetree /boot/sun8i-t113s-mangopi-mq-r-t113.dtb + append console=ttyS3,115200 root=/dev/mmcblk0p1 rootwait panic=10 ${extra} diff --git a/board/mangopi/mq1rdw2/rootfs_overlay/etc/network/interfaces b/board/mangopi/mq1rdw2/rootfs_overlay/etc/network/interfaces new file mode 100644 index 00000000000..89e7d74aff7 --- /dev/null +++ b/board/mangopi/mq1rdw2/rootfs_overlay/etc/network/interfaces @@ -0,0 +1,6 @@ +auto lo +iface lo inet loopback + +auto wlan0 +iface wlan0 inet dhcp +wpa-conf /etc/wpa_supplicant.conf diff --git a/board/mangopi/mq1rdw2/rootfs_overlay/etc/wpa_supplicant.conf b/board/mangopi/mq1rdw2/rootfs_overlay/etc/wpa_supplicant.conf new file mode 100644 index 00000000000..b43292b0a7f --- /dev/null +++ b/board/mangopi/mq1rdw2/rootfs_overlay/etc/wpa_supplicant.conf @@ -0,0 +1,8 @@ +ap_scan=1 + +network={ + ssid="YOURSSID" + scan_ssid=1 + key_mgmt=WPA-PSK + psk="YOURPASSWD" +} diff --git a/board/microchip/mpfs_icicle/README.txt b/board/microchip/mpfs_icicle/README.txt new file mode 100644 index 00000000000..de20ecc410f --- /dev/null +++ b/board/microchip/mpfs_icicle/README.txt @@ -0,0 +1,62 @@ +Microchip PolarFire SoC Icicle Kit +================================== + +This file describes how to use the pre-defined Buildroot +configuration for Microchip's PolarFire SoC Icicle Kit. + +Further information about the PolarFire SoC Icicle Kit can be found +at https://github.com/polarfire-soc/polarfire-soc-documentation + +Building +======== + +Configure Buildroot using the default board configuration: + + '$ make microchip_mpfs_icicle_defconfig' + +Customise the build as necessary: + + '$ make menuconfig' + +Start the build: + + '$ make' + +Result of the build +=================== + +Once the build has finished you will have the following files: + + output/images/ + +-- boot.scr + +-- boot.vfat + +-- Image + +-- mpfs_icicle.itb + +-- mpfs_icicle.its + +-- mpfs-icicle-kit.dtb + +-- payload.bin + +-- rootfs.ext2 + +-- rootfs.ext4 + +-- rootfs.tar + +-- sdcard.img + +-- u-boot.bin + + +Creating a bootable SD card with genimage +========================================= + +By default Buildroot builds a SD card image for you. The first partition +of this image contains a U-Boot binary, embedded in a Hart Software +Services (HSS) payload. The second partition contains a FAT filesystem +with a U-Boot env and an ITB file containing the kernel and the device +tree. The third partition contains the file system. This image can be +written directly to the eMMC or an SD card. All you need to do is dd the +image to the eMMC or your SD card, which can be done with the following +command on your development host: + + '$ sudo dd if=output/images/sdcard.img of=/dev/sdb bs=1M' + +For instructions on how to transfer the image to the eMMC/SD, please refer to +the "Programming the Linux image" section of our guide on updating +PolarFire SoC dev kits: +https://github.com/polarfire-soc/polarfire-soc-documentation/blob/master/reference-designs-fpga-and-development-kits/updating-mpfs-kit.md. diff --git a/board/microchip/mpfs_icicle/config.yaml b/board/microchip/mpfs_icicle/config.yaml new file mode 100644 index 00000000000..5fccdfd34f8 --- /dev/null +++ b/board/microchip/mpfs_icicle/config.yaml @@ -0,0 +1,28 @@ +# +# HSS Payload Generator - buildroot configuration file +# + +# First, we can optionally set a name for our image, otherwise one will be created dynamically +set-name: 'PolarFire-SoC-HSS::U-Boot' + +# +# Next, we'll define the entry point addresses for each hart, as follows: +# +hart-entry-points: {u54_1: '0x80200000', u54_2: '0x80200000', u54_3: '0x80200000', u54_4: '0x80200000'} +# +# Finally, we'll define a payloads (source binary file) that will be placed at certain regions in memory +# The payload section is defined with the keyword payloads, and then a number of individual +# payload descriptors. +# +# Each payload has a name (path to its ELF/bin file), an owner-hart, and optionally 1-3 secondary-harts. +# +# Additionally, it has a privilege mode in which it will start execution. +# * Valid privilege modes are PRV_M, PRV_S and PRV_U. +# +# +# In this case, the only payload is the u-boot s-mode binary. +# +# Case only matters for the ELF path names, not the keywords. +# +payloads: + u-boot.bin: {exec-addr: '0x80200000', owner-hart: u54_1, secondary-hart: u54_2, secondary-hart: u54_3, secondary-hart: u54_4, priv-mode: prv_s} diff --git a/board/microchip/mpfs_icicle/genimage.cfg b/board/microchip/mpfs_icicle/genimage.cfg new file mode 100644 index 00000000000..9282c9ce5f1 --- /dev/null +++ b/board/microchip/mpfs_icicle/genimage.cfg @@ -0,0 +1,34 @@ +# Image for eMMC or SDCard boot on the Microchip PolarFire SOC Icicle Board +# +image boot.vfat { + vfat { + files = { + "mpfs_icicle.itb", + } + + file boot.scr { + image = "boot.scr" + } + } + size = 60M +} + +image sdcard.img { + hdimage { + partition-table-type = "gpt" + } + + partition uboot { + partition-type-uuid = 21686148-6449-6E6F-744E-656564454649 + image = "payload.bin" + } + + partition kernel { + bootable = "true" + image = "boot.vfat" + } + + partition root { + image = "rootfs.ext4" + } +} diff --git a/board/microchip/mpfs_icicle/linux.fragment b/board/microchip/mpfs_icicle/linux.fragment new file mode 100644 index 00000000000..0cecddb61b0 --- /dev/null +++ b/board/microchip/mpfs_icicle/linux.fragment @@ -0,0 +1 @@ +CONFIG_POLARFIRE_SOC_DMA_NONCOHERENT=y diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.its b/board/microchip/mpfs_icicle/mpfs_icicle.its new file mode 100644 index 00000000000..a62b079fa12 --- /dev/null +++ b/board/microchip/mpfs_icicle/mpfs_icicle.its @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Flattened Image Tree file for Icicle Kit + * + */ + +/dts-v1/; + +/ { + description = "U-Boot fitImage for the MPFS"; + address-cells = <1>; + + images { + kernel { + description = "Linux kernel"; + data = /incbin/("./Image"); + type = "kernel"; + arch = "riscv"; + os = "linux"; + compression = "none"; + load = <0x80200000>; + entry = <0x80200000>; + hash-1 { + algo = "sha256"; + }; + }; + base_fdt { + description = "Flattened Device Tree blob"; + data = /incbin/("./mpfs-icicle-kit.dtb"); + type = "flat_dt"; + arch = "riscv"; + compression = "none"; + load = <0x8a000000>; + hash-1 { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "kernel_dtb"; + kernel_dtb { + description = "1 Linux kernel, FDT blob"; + kernel = "kernel"; + fdt = "base_fdt"; + }; + + base_dtb { + description = "Base FDT blob for MPFS Icicle board"; + fdt = "base_fdt"; + }; + }; +}; diff --git a/board/microchip/mpfs_icicle/post-image.sh b/board/microchip/mpfs_icicle/post-image.sh new file mode 100755 index 00000000000..596bb21d78d --- /dev/null +++ b/board/microchip/mpfs_icicle/post-image.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +HSS_PAYLOAD_GENERATOR="${HOST_DIR}"/bin/hss-payload-generator +MKIMAGE="${HOST_DIR}"/bin/mkimage +BOARD_DIR="$(pwd)"/"${0%/*}" + +pushd "${BINARIES_DIR}" +"${HSS_PAYLOAD_GENERATOR}" -c "${BOARD_DIR}"/config.yaml payload.bin +cp "${BOARD_DIR}"/mpfs_icicle.its "${BINARIES_DIR}"/mpfs_icicle.its +"${MKIMAGE}" -f mpfs_icicle.its mpfs_icicle.itb +popd +support/scripts/genimage.sh -c "${BOARD_DIR}"/genimage.cfg diff --git a/board/microchip/mpfs_icicle/uboot-env.txt b/board/microchip/mpfs_icicle/uboot-env.txt new file mode 100644 index 00000000000..8a655085ed1 --- /dev/null +++ b/board/microchip/mpfs_icicle/uboot-env.txt @@ -0,0 +1,16 @@ +# this assumes ${scriptaddr} is already set!! + +# Try to boot a fitImage from eMMC/SD + +setenv fdt_high 0xffffffffffffffff +setenv initrd_high 0xffffffffffffffff + +load mmc 0:${distro_bootpart} ${scriptaddr} mpfs_icicle.itb; +bootm start ${scriptaddr}#kernel_dtb; +bootm loados ${scriptaddr}; +# Try to load a ramdisk if available inside fitImage +bootm ramdisk; +bootm prep; +fdt set /soc/ethernet@20112000 mac-address ${icicle_mac_addr0}; +fdt set /soc/ethernet@20110000 mac-address ${icicle_mac_addr1}; +bootm go; diff --git a/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config b/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config new file mode 100644 index 00000000000..e2a5eb94385 --- /dev/null +++ b/board/microchip/mpfs_icicle/uboot-fragment-rootfs.config @@ -0,0 +1,3 @@ +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="root=/dev/mmcblk0p3 rootwait uio_pdrv_genirq.of_id=generic-uio" +CONFIG_MPFS_PRIORITISE_QSPI_BOOT=n diff --git a/board/nezha/genimage.cfg b/board/nezha/genimage.cfg index 783391fb994..836666ff8e6 100644 --- a/board/nezha/genimage.cfg +++ b/board/nezha/genimage.cfg @@ -4,34 +4,16 @@ image sdcard.img { hdimage { } - partition boot0-1 { - in-partition-table = "no" - image = "boot0_sdcard_sun20iw1p1.bin" + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" offset = 8K } - partition boot0-2 { - in-partition-table = "no" - image = "boot0_sdcard_sun20iw1p1.bin" - offset = 128K - } - - partition u-boot-1 { - in-partition-table = "no" - image = "u-boot.toc1" - offset = 12M - } - - partition u-boot-2 { - in-partition-table = "no" - image = "u-boot.toc1" - offset = 16400K - } - partition rootfs { partition-type = 0x83 image = "rootfs.ext4" bootable = "true" - offset = 18M + offset = 1M } } diff --git a/board/nezha/patches/uboot/0001-Makefile-HACK-Support-building-u-boot.toc1-for-nezda.patch b/board/nezha/patches/uboot/0001-Makefile-HACK-Support-building-u-boot.toc1-for-nezda.patch deleted file mode 100644 index 6e89a921df3..00000000000 --- a/board/nezha/patches/uboot/0001-Makefile-HACK-Support-building-u-boot.toc1-for-nezda.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 4a923e0e4ef6d2b41cb89d658e269adada847573 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Thu, 4 Nov 2021 22:32:04 +0100 -Subject: [PATCH] Makefile: HACK: Support building u-boot.toc1 for nezda board - -For easier integration into Buildroot. The boot0 / toc1 logic is WIP until -U-Boot gains SPL support for the D1, so add a hack to make it easier to -integrate in Buildroot as-is. - -Signed-off-by: Peter Korsgaard ---- - Makefile | 9 +++++++++ - nezha.cfg | 9 +++++++++ - 2 files changed, 18 insertions(+) - create mode 100644 nezha.cfg - -diff --git a/Makefile b/Makefile -index f911f70344..259d93bf80 100644 ---- a/Makefile -+++ b/Makefile -@@ -1084,6 +1084,15 @@ endif - .binman_stamp: FORCE - @touch $@ - -+fw_dynamic.bin: $(OPENSBI) -+ $(call if_changed,copy) -+ -+MKIMAGEFLAGS_u-boot.toc1 = -T sunxi_toc1 -+u-boot.toc1: nezha.cfg fw_dynamic.bin inputs -+ $(call if_changed,mkimage) -+ -+all: u-boot.toc1 -+ - ifeq ($(CONFIG_DEPRECATED),y) - $(warning "You have deprecated configuration options enabled in your .config! Please check your configuration.") - endif -diff --git a/nezha.cfg b/nezha.cfg -new file mode 100644 -index 0000000000..2d23b9b388 ---- /dev/null -+++ b/nezha.cfg -@@ -0,0 +1,9 @@ -+[opensbi] -+file = fw_dynamic.bin -+addr = 0x40000000 -+[dtb] -+file = arch/riscv/dts/sun20i-d1-nezha.dtb -+addr = 0x44000000 -+[u-boot] -+file = u-boot-nodtb.bin -+addr = 0x4a000000 --- -2.20.1 - diff --git a/board/orangepi/orangepi-lite2/readme.txt b/board/orangepi/orangepi-lite2/readme.txt index bed561b5620..7f88250418e 100644 --- a/board/orangepi/orangepi-lite2/readme.txt +++ b/board/orangepi/orangepi-lite2/readme.txt @@ -6,7 +6,7 @@ buildroot environment for the Orangepi Lite2. With the current configuration it will bring-up the board, and allow access through the serial console. Orangepi Lite2 link: -http://www.orangepi.org/Orange%20Pi%20Lite%202/ +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Lite-2.html Wiki link: https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Lite2 diff --git a/board/orangepi/orangepi-one-plus/readme.txt b/board/orangepi/orangepi-one-plus/readme.txt index 87f6de85100..547f8742880 100644 --- a/board/orangepi/orangepi-one-plus/readme.txt +++ b/board/orangepi/orangepi-one-plus/readme.txt @@ -6,7 +6,7 @@ buildroot environment for the Orangepi One Plus. With the current configuration it will bring-up the board, and allow access through the serial console. Orangepi One Plus link: -http://www.orangepi.org/OrangePiOneplus/ +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-One-Plus.html Wiki link: https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+One+Plus diff --git a/board/orangepi/orangepi-pc2/readme.txt b/board/orangepi/orangepi-pc2/readme.txt new file mode 100644 index 00000000000..6c699244ceb --- /dev/null +++ b/board/orangepi/orangepi-pc2/readme.txt @@ -0,0 +1,37 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi PC2. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi PC2 link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-2.html + +Sunxi Wiki link: +https://linux-sunxi.org/Xunlong_Orange_Pi_PC_2 + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make orangepi_pc2_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi PC2 and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/orangepi/orangepi-zero-plus/boot.cmd b/board/orangepi/orangepi-zero-plus/boot.cmd deleted file mode 100644 index 18c4d521af2..00000000000 --- a/board/orangepi/orangepi-zero-plus/boot.cmd +++ /dev/null @@ -1,6 +0,0 @@ -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait - -fatload mmc 0 $kernel_addr_r Image -fatload mmc 0 $fdt_addr_r sun50i-h5-orangepi-zero-plus.dtb - -booti $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepi-zero-plus/genimage.cfg b/board/orangepi/orangepi-zero-plus/genimage.cfg deleted file mode 100644 index a8f3161c392..00000000000 --- a/board/orangepi/orangepi-zero-plus/genimage.cfg +++ /dev/null @@ -1,40 +0,0 @@ -image boot.vfat { - vfat { - files = { - "Image", - "sun50i-h5-orangepi-zero-plus.dtb", - "boot.scr" - } - } - - size = 64M -} - -image sdcard.img { - hdimage { - } - - partition spl { - in-partition-table = "no" - image = "sunxi-spl.bin" - offset = 8K - } - - partition u-boot { - in-partition-table = "no" - image = "u-boot.itb" - offset = 40K - size = 1M # 1MB - 40KB - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/orangepi/orangepi-zero-plus/readme.txt b/board/orangepi/orangepi-zero-plus/readme.txt index 5556eae8907..1e60e0f825b 100644 --- a/board/orangepi/orangepi-zero-plus/readme.txt +++ b/board/orangepi/orangepi-zero-plus/readme.txt @@ -6,7 +6,7 @@ buildroot environment for the Orangepi Zero Plus. With the current configuration it will bring-up the board, and allow access through the serial console. Orangepi Zero Plus link: -http://www.orangepi.org/OrangePiZeroPlus/ +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus.html This configuration uses U-Boot mainline and kernel mainline. diff --git a/board/orangepi/orangepi-zero-plus2/readme.txt b/board/orangepi/orangepi-zero-plus2/readme.txt index 322ba0e12ae..2df6dd9b112 100644 --- a/board/orangepi/orangepi-zero-plus2/readme.txt +++ b/board/orangepi/orangepi-zero-plus2/readme.txt @@ -6,7 +6,7 @@ buildroot environment for the Orangepi Zero Plus2. With the current configuratio it will bring-up the board, and allow access through the serial console. Orangepi Zero Plus2 link: -http://www.orangepi.org/OrangePiZeroPlus2/ +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html Wiki link: https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Zero+Plus2 diff --git a/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch b/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch index 16207afcb1f..6a5aa0bb631 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0001-ARM-dts-orange-pi-zero-interrupt-triggering-xr819.patch @@ -13,13 +13,13 @@ This commit specifies XR819 interrupt configuration for the driver. Signed-off-by: Sergey Matyukevich --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 3 +++ + arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts index b7ca916d871d..4e1a9050c6b4 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts @@ -125,6 +125,9 @@ */ xr819: sdio_wifi@1 { diff --git a/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch b/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch index e4c52ab9113..ff0a1db223e 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0002-ARM-dts-orange-pi-zero-enable-spi-nor.patch @@ -10,13 +10,13 @@ For more information see: Signed-off-by: Sergey Matyukevich --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 16 ++++++++++++++++ + arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts index 4e1a9050c6b4..cdf19821b1f3 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts @@ -161,3 +161,19 @@ /* USB VBUS is always on */ status = "okay"; diff --git a/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch b/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch index ae0ed9ba3b6..04d43c344f2 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0003-ARM-dts-orange-pi-zero-enable-spidev.patch @@ -8,13 +8,13 @@ This patch enables spidev driver for SPI1. Signed-off-by: Sergey Matyukevich --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 11 +++++++++++ + arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 11 +++++++++++ 1 file changed, 11 insertions(+) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts index cdf19821b1f3..7242aaecb14f 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts @@ -59,6 +59,7 @@ serial0 = &uart0; /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ diff --git a/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch b/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch index 839bc160873..41c23209ce0 100644 --- a/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch +++ b/board/orangepi/orangepi-zero/patches/linux/0004-ARM-dts-orange-pi-zero-enable-uart.patch @@ -7,13 +7,13 @@ Enable uart1 and uart2 on orange-pi-zero board. Signed-off-by: Sergey Kuzminov --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 4 ++-- + arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts index f19ed981da9d..03acf166ab70 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts +--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts ++++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts @@ -184,13 +184,13 @@ &uart0 { &uart1 { pinctrl-names = "default"; diff --git a/board/orangepi/orangepi-zero3/readme.txt b/board/orangepi/orangepi-zero3/readme.txt new file mode 100644 index 00000000000..4872a363e7d --- /dev/null +++ b/board/orangepi/orangepi-zero3/readme.txt @@ -0,0 +1,34 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi Zero3. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi Zero3 link: +http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-3.html + +This configuration uses Orangepi's fork of U-Boot and Linux kernel. + +How to build +============ + + $ make orangepi_zero3_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi Zero3 and power it up. The console +is on the serial line, 115200 8N1. diff --git a/board/pc/linux.config b/board/pc/linux.config index f86352e1ea7..43b15c94be4 100644 --- a/board/pc/linux.config +++ b/board/pc/linux.config @@ -15,6 +15,7 @@ CONFIG_IP_NF_FILTER=y CONFIG_CFG80211=m CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=m +CONFIG_PCI=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_VIRTIO_BLK=y @@ -63,7 +64,10 @@ CONFIG_DRM_I915=y CONFIG_DRM_QXL=y CONFIG_DRM_BOCHS=y CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FB=y +CONFIG_FIRMWARE_EDID=y CONFIG_FB_VESA=y +CONFIG_FB_EFI=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_HDA_INTEL=y diff --git a/board/pine64/pinecube/extlinux.conf b/board/pine64/pinecube/extlinux.conf new file mode 100644 index 00000000000..6a18d9a2cb9 --- /dev/null +++ b/board/pine64/pinecube/extlinux.conf @@ -0,0 +1,4 @@ +label buildroot + kernel /zImage + devicetree /sun8i-s3-pinecube.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait rw diff --git a/board/pine64/pinecube/genimage.cfg b/board/pine64/pinecube/genimage.cfg new file mode 100644 index 00000000000..398d45e2f7e --- /dev/null +++ b/board/pine64/pinecube/genimage.cfg @@ -0,0 +1,34 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "sun8i-s3-pinecube.dtb", + "extlinux" + } + } + + size = 8M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + size = 504K # 512KB - 8KB + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/pine64/pinecube/post-build.sh b/board/pine64/pinecube/post-build.sh new file mode 100755 index 00000000000..8dae08a47cd --- /dev/null +++ b/board/pine64/pinecube/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux/extlinux.conf diff --git a/board/pine64/pinecube/readme.txt b/board/pine64/pinecube/readme.txt new file mode 100644 index 00000000000..4cf6df21107 --- /dev/null +++ b/board/pine64/pinecube/readme.txt @@ -0,0 +1,31 @@ +Intro +===== + +This directory contains a Buildroot configuration for building a +Pine64 PineCube. + +Board homepage: https://www.pine64.org/cube/ +Board wiki: https://wiki.pine64.org/wiki/PineCube + +How to build it +=============== + + $ make pine64_pinecube_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your PineCube and power it up. The console +is on the serial port 2, 115200 8N1 (check Wiki for board pinout). diff --git a/board/pine64/rockpro64/extlinux.conf b/board/pine64/rockpro64/extlinux.conf index ea081a1f0b6..83467ef43c2 100644 --- a/board/pine64/rockpro64/extlinux.conf +++ b/board/pine64/rockpro64/extlinux.conf @@ -1,4 +1,4 @@ label RK3399_ROCKPRO64 linux kernel /Image devicetree /rk3399-rockpro64.dtb - append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p4 rw rootwait + append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p4 rw rootwait diff --git a/board/qemu/aarch64-ebbr/readme.txt b/board/qemu/aarch64-ebbr/readme.txt index a2027dad448..15353a8f681 100644 --- a/board/qemu/aarch64-ebbr/readme.txt +++ b/board/qemu/aarch64-ebbr/readme.txt @@ -26,16 +26,15 @@ Running under Qemu Run the emulation with: qemu-system-aarch64 \ - -M virt,secure=on \ + -M virt,secure=on,acpi=off \ -bios output/images/flash.bin \ -cpu cortex-a53 \ -device virtio-blk-device,drive=hd0 \ -device virtio-net-device,netdev=eth0 \ -device virtio-rng-device,rng=rng0 \ -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ - -m 1024 \ + -m 2048 \ -netdev user,id=eth0 \ - -no-acpi \ -nographic \ -object rng-random,filename=/dev/urandom,id=rng0 \ -rtc base=utc,clock=host \ @@ -63,7 +62,7 @@ image first with: Then run the OS installer iso image on emulation with: qemu-system-aarch64 \ - -M virt,secure=on \ + -M virt,secure=on,acpi=off \ -bios output/images/flash.bin \ -cpu cortex-a53 \ -device virtio-blk-device,drive=hd1 \ @@ -72,9 +71,8 @@ Then run the OS installer iso image on emulation with: -device virtio-rng-device,rng=rng0 \ -drive file=,if=none,format=raw,readonly=on,id=hd0 \ -drive file=disk.qcow2,if=none,id=hd1 \ - -m 1024 \ + -m 2048 \ -netdev user,id=eth0 \ - -no-acpi \ -nographic \ -object rng-random,filename=/dev/urandom,id=rng0 \ -rtc base=utc,clock=host \ @@ -100,4 +98,4 @@ Firmware update is currently not supported. [1]: https://github.com/ARM-software/ebbr [2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR [3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images -[4]: https://developer.arm.com/documentation/DUI1101/1-1/?lang=en +[4]: https://developer.arm.com/documentation/DUI1101/latest/ diff --git a/board/qemu/aarch64-ebbr/u-boot.config b/board/qemu/aarch64-ebbr/u-boot.fragment similarity index 100% rename from board/qemu/aarch64-ebbr/u-boot.config rename to board/qemu/aarch64-ebbr/u-boot.fragment diff --git a/board/qemu/aarch64-sbsa/grub.cfg b/board/qemu/aarch64-sbsa/grub.cfg index cd486caf4c5..d99e19c4cd5 100644 --- a/board/qemu/aarch64-sbsa/grub.cfg +++ b/board/qemu/aarch64-sbsa/grub.cfg @@ -2,5 +2,5 @@ set default="0" set timeout="5" menuentry "Buildroot" { - linux /Image root=/dev/sda2 rootwait console=ttyAMA0 + linux /Image root=PARTLABEL=root rootwait } diff --git a/board/qemu/aarch64-virt/linux.config b/board/qemu/aarch64-virt/linux.config index f9763b73b7b..971b9fcf868 100644 --- a/board/qemu/aarch64-virt/linux.config +++ b/board/qemu/aarch64-virt/linux.config @@ -12,8 +12,7 @@ CONFIG_SCHED_AUTOGROUP=y CONFIG_PROFILING=y CONFIG_ARCH_VEXPRESS=y CONFIG_COMPAT=y -CONFIG_FW_CFG_SYSFS=y -CONFIG_FW_CFG_SYSFS_CMDLINE=y +CONFIG_ACPI=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_BLK_DEV_BSGLIB=y @@ -34,6 +33,8 @@ CONFIG_PCI=y CONFIG_PCI_HOST_GENERIC=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_CFG_SYSFS=y +CONFIG_FW_CFG_SYSFS_CMDLINE=y CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_SG=y diff --git a/board/qemu/arm-ebbr/genimage.cfg b/board/qemu/arm-ebbr/genimage.cfg new file mode 100644 index 00000000000..3d4c9cff1ad --- /dev/null +++ b/board/qemu/arm-ebbr/genimage.cfg @@ -0,0 +1,31 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file zImage { + image = "zImage" + } + } + + size = 128M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + partition-type-uuid = 69dad710-2ce4-4e3c-b16c-21a1d49abed3 + image = "rootfs.ext2" + } +} diff --git a/board/qemu/arm-ebbr/grub.cfg b/board/qemu/arm-ebbr/grub.cfg new file mode 100644 index 00000000000..ab3a6ec26b0 --- /dev/null +++ b/board/qemu/arm-ebbr/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /zImage root=PARTLABEL=root rootwait +} diff --git a/board/qemu/arm-ebbr/linux.fragment b/board/qemu/arm-ebbr/linux.fragment new file mode 100644 index 00000000000..07554cf843d --- /dev/null +++ b/board/qemu/arm-ebbr/linux.fragment @@ -0,0 +1,2 @@ +CONFIG_TEE=y +CONFIG_OPTEE=y diff --git a/board/qemu/arm-ebbr/post-image.sh b/board/qemu/arm-ebbr/post-image.sh new file mode 100755 index 00000000000..c884a8b6f66 --- /dev/null +++ b/board/qemu/arm-ebbr/post-image.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +BOARD_DIR=$(dirname "$0") + +# Create flash.bin TF-A FIP image from bl1.bin and fip.bin +dd if="${BINARIES_DIR}/bl1.bin" of="${BINARIES_DIR}/flash.bin" bs=1M +dd if="${BINARIES_DIR}/fip.bin" of="${BINARIES_DIR}/flash.bin" seek=64 bs=4096 conv=notrunc + +# Override the default GRUB configuration file with our own. +cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg" diff --git a/board/qemu/arm-ebbr/readme.txt b/board/qemu/arm-ebbr/readme.txt new file mode 100644 index 00000000000..19e114579f2 --- /dev/null +++ b/board/qemu/arm-ebbr/readme.txt @@ -0,0 +1,70 @@ +Introduction +============ + +The qemu_arm_ebbr_defconfig is meant to illustrate some aspects of the Arm +EBBR specification[1] and the Arm SystemReady IR[2] compliance program. +It allows building a 32b ARMv7-A U-Boot based firmware implementing the subset +of UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to +run on Qemu. + +Building +======== + + $ make qemu_arm_ebbr_defconfig + $ make + +Generated files under output/images: + +* flash.bin: A firmware image comprising TF-A, OP-TEE and the U-Boot bootloader. + +* disk.img: An OS disk image comprising the GRUB bootloader, the Linux kernel + and the root filesystem. + +Running under Qemu +================== + +Run the emulation with: + + qemu-system-arm \ + -M virt,secure=on,acpi=off \ + -bios output/images/flash.bin \ + -cpu cortex-a15 \ + -device virtio-blk-device,drive=hd0 \ + -device virtio-net-device,netdev=eth0 \ + -device virtio-rng-device,rng=rng0 \ + -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ + -m 1024 \ + -netdev user,id=eth0 \ + -nographic \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -rtc base=utc,clock=host \ + -smp 2 # qemu_arm_ebbr_defconfig + +The login prompt will appear in the terminal that started Qemu. + +Using the EBBR firmware to run another OS under Qemu +---------------------------------------------------- + +It is possible to use the generated firmware binary to run another OS +supporting the EBBR specification. + +To run another OS on emulation using a live or pre-installed image, use the same +Qemu command line as for the generated OS but adapt the OS image path in the +-drive stanza. +The 32b Arm ACS-IR image[3] is an example of a pre-installed OS image. +Linux distributions such as Debian or openSUSE provide a pre-installed OS +image. + +Miscellaneous +============= + +This configuration is inspired by the qemu_arm_vexpress_tz_defconfig, the +qemu_aarch64_ebbr_defconfig and the Arm SystemReady IR IoT Integration, Test, +and Certification Guide[4]. + +Firmware update is currently not supported. + +[1]: https://github.com/ARM-software/ebbr +[2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR +[3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images +[4]: https://developer.arm.com/documentation/DUI1101/latest/ diff --git a/board/qemu/arm-ebbr/u-boot.fragment b/board/qemu/arm-ebbr/u-boot.fragment new file mode 100644 index 00000000000..66fe910f169 --- /dev/null +++ b/board/qemu/arm-ebbr/u-boot.fragment @@ -0,0 +1,35 @@ +CONFIG_BOOTM_EFI=y +CONFIG_CMD_BOOTEFI=y +CONFIG_CMD_BOOTEFI_HELLO=y +CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y +CONFIG_CMD_BOOTEFI_SELFTEST=y +CONFIG_CMD_EFIDEBUG=y +CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y +CONFIG_CMD_GPT=y +CONFIG_CMD_NVEDIT_EFI=y +CONFIG_CMD_RNG=y +CONFIG_CMD_RTC=y +CONFIG_DM_RTC=y +CONFIG_EFI_DEVICE_PATH_TO_TEXT=y +CONFIG_EFI_GET_TIME=y +CONFIG_EFI_HAVE_RUNTIME_RESET=y +CONFIG_EFI_LOADER=y +CONFIG_EFI_LOADER_HII=y +CONFIG_EFI_MM_COMM_TEE=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_SECURE_BOOT=y +CONFIG_EFI_SET_TIME=y +CONFIG_EFI_UNICODE_CAPITALIZATION=y +CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +CONFIG_FAT_WRITE=y +CONFIG_FIT=y +CONFIG_FS_FAT=y +CONFIG_OF_LIBFDT=y +CONFIG_OPTEE=y +CONFIG_PARTITION_TYPE_GUID=y +CONFIG_RNG_OPTEE=y +CONFIG_RTC_EMULATION=y +CONFIG_SCMI_FIRMWARE=y +CONFIG_TEE=y +CONFIG_TEXT_BASE=0x60000000 diff --git a/board/qemu/arm-vexpress-tz/readme.txt b/board/qemu/arm-vexpress-tz/readme.txt index 3036dd54cab..3e84fe63919 100644 --- a/board/qemu/arm-vexpress-tz/readme.txt +++ b/board/qemu/arm-vexpress-tz/readme.txt @@ -62,7 +62,7 @@ consoles over telnet connections: -serial telnet:127.0.0.1:1235,server \ -serial telnet:127.0.0.1:1236,server \ -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ - -semihosting-config enable,target=native \ + -semihosting-config enable=on,target=native \ -bios flash.bin QEMU is now waiting for the telnet connection. From another shell, open a @@ -91,7 +91,7 @@ From a first shell: -smp 1 -s -m 1024 -d unimp \ -serial stdio \ -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic \ - -semihosting-config enable,target=native \ + -semihosting-config enable=on,target=native \ -bios flash.bin \ -S @@ -123,7 +123,7 @@ Emulation has started, TF-A has loaded OP-TEE and U-boot images in memory and has booted OP-TEE. Emulation stopped at OP-TEE core entry. Note: QEMU hosts a GDB service listening to TCP port 1234, as set through -qemu-system-arm command line option -s. +qemu-system-arm command line option -S. Note: To build the GDB server, the following extra options have to be added to the Buildroot configuration: diff --git a/board/qemu/m68k-mcf5208/0001-m68k-Fix-invalid-.section-syntax.patch b/board/qemu/m68k-mcf5208/0001-m68k-Fix-invalid-.section-syntax.patch new file mode 100644 index 00000000000..1f1ed75ae09 --- /dev/null +++ b/board/qemu/m68k-mcf5208/0001-m68k-Fix-invalid-.section-syntax.patch @@ -0,0 +1,97 @@ +From 0bb6b7477f5dcfafbdd76eea9c7aa7a5f78d7613 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Fri, 16 Jun 2023 17:36:10 +0200 +Subject: [PATCH] m68k: Fix invalid .section syntax + +gas supports several different forms for .section for ELF targets, +including: + .section NAME [, "FLAGS"[, @TYPE[,FLAG_SPECIFIC_ARGUMENTS]]] +and: + .section "NAME"[, #FLAGS...] + +In several places we use a mix of these two forms: + .section NAME, #FLAGS... + +A current development snapshot of binutils (2.40.50.20230611) treats +this mixed syntax as an error. + +Change to consistently use: + .section NAME, "FLAGS" +as is used elsewhere in the kernel. + +Link: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=m68k&ver=6.4%7Erc6-1%7Eexp1&stamp=1686907300&raw=1 +Signed-off-by: Ben Hutchings +Tested-by: Jan-Benedict Glaw +Link: https://lore.kernel.org/r/ZIyBaueWT9jnTwRC@decadent.org.uk +Signed-off-by: Geert Uytterhoeven +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=922a9bd138101e3e5718f0f4d40dba68ef89bb43 +Signed-off-by: Thomas Petazzoni +--- + arch/m68k/fpsp040/skeleton.S | 4 ++-- + arch/m68k/ifpsp060/os.S | 4 ++-- + arch/m68k/kernel/relocate_kernel.S | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/arch/m68k/fpsp040/skeleton.S b/arch/m68k/fpsp040/skeleton.S +index 439395aa6fb4..081922c72daa 100644 +--- a/arch/m68k/fpsp040/skeleton.S ++++ b/arch/m68k/fpsp040/skeleton.S +@@ -499,13 +499,13 @@ in_ea: + dbf %d0,morein + rts + +- .section .fixup,#alloc,#execinstr ++ .section .fixup,"ax" + .even + 1: + jbsr fpsp040_die + jbra .Lnotkern + +- .section __ex_table,#alloc ++ .section __ex_table,"a" + .align 4 + + .long in_ea,1b +diff --git a/arch/m68k/ifpsp060/os.S b/arch/m68k/ifpsp060/os.S +index 7a0d6e428066..89e2ec224ab6 100644 +--- a/arch/m68k/ifpsp060/os.S ++++ b/arch/m68k/ifpsp060/os.S +@@ -379,11 +379,11 @@ _060_real_access: + + + | Execption handling for movs access to illegal memory +- .section .fixup,#alloc,#execinstr ++ .section .fixup,"ax" + .even + 1: moveq #-1,%d1 + rts +-.section __ex_table,#alloc ++.section __ex_table,"a" + .align 4 + .long dmrbuae,1b + .long dmrwuae,1b +diff --git a/arch/m68k/kernel/relocate_kernel.S b/arch/m68k/kernel/relocate_kernel.S +index ab0f1e7d4653..f7667079e08e 100644 +--- a/arch/m68k/kernel/relocate_kernel.S ++++ b/arch/m68k/kernel/relocate_kernel.S +@@ -26,7 +26,7 @@ ENTRY(relocate_new_kernel) + lea %pc@(.Lcopy),%a4 + 2: addl #0x00000000,%a4 /* virt_to_phys() */ + +- .section ".m68k_fixup","aw" ++ .section .m68k_fixup,"aw" + .long M68K_FIXUP_MEMOFFSET, 2b+2 + .previous + +@@ -49,7 +49,7 @@ ENTRY(relocate_new_kernel) + lea %pc@(.Lcont040),%a4 + 5: addl #0x00000000,%a4 /* virt_to_phys() */ + +- .section ".m68k_fixup","aw" ++ .section .m68k_fixup,"aw" + .long M68K_FIXUP_MEMOFFSET, 5b+2 + .previous + +-- +2.41.0 + diff --git a/board/qemu/m68k-q800/0001-m68k-Fix-invalid-.section-syntax.patch b/board/qemu/m68k-q800/0001-m68k-Fix-invalid-.section-syntax.patch new file mode 100644 index 00000000000..1f1ed75ae09 --- /dev/null +++ b/board/qemu/m68k-q800/0001-m68k-Fix-invalid-.section-syntax.patch @@ -0,0 +1,97 @@ +From 0bb6b7477f5dcfafbdd76eea9c7aa7a5f78d7613 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Fri, 16 Jun 2023 17:36:10 +0200 +Subject: [PATCH] m68k: Fix invalid .section syntax + +gas supports several different forms for .section for ELF targets, +including: + .section NAME [, "FLAGS"[, @TYPE[,FLAG_SPECIFIC_ARGUMENTS]]] +and: + .section "NAME"[, #FLAGS...] + +In several places we use a mix of these two forms: + .section NAME, #FLAGS... + +A current development snapshot of binutils (2.40.50.20230611) treats +this mixed syntax as an error. + +Change to consistently use: + .section NAME, "FLAGS" +as is used elsewhere in the kernel. + +Link: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=m68k&ver=6.4%7Erc6-1%7Eexp1&stamp=1686907300&raw=1 +Signed-off-by: Ben Hutchings +Tested-by: Jan-Benedict Glaw +Link: https://lore.kernel.org/r/ZIyBaueWT9jnTwRC@decadent.org.uk +Signed-off-by: Geert Uytterhoeven +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=922a9bd138101e3e5718f0f4d40dba68ef89bb43 +Signed-off-by: Thomas Petazzoni +--- + arch/m68k/fpsp040/skeleton.S | 4 ++-- + arch/m68k/ifpsp060/os.S | 4 ++-- + arch/m68k/kernel/relocate_kernel.S | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/arch/m68k/fpsp040/skeleton.S b/arch/m68k/fpsp040/skeleton.S +index 439395aa6fb4..081922c72daa 100644 +--- a/arch/m68k/fpsp040/skeleton.S ++++ b/arch/m68k/fpsp040/skeleton.S +@@ -499,13 +499,13 @@ in_ea: + dbf %d0,morein + rts + +- .section .fixup,#alloc,#execinstr ++ .section .fixup,"ax" + .even + 1: + jbsr fpsp040_die + jbra .Lnotkern + +- .section __ex_table,#alloc ++ .section __ex_table,"a" + .align 4 + + .long in_ea,1b +diff --git a/arch/m68k/ifpsp060/os.S b/arch/m68k/ifpsp060/os.S +index 7a0d6e428066..89e2ec224ab6 100644 +--- a/arch/m68k/ifpsp060/os.S ++++ b/arch/m68k/ifpsp060/os.S +@@ -379,11 +379,11 @@ _060_real_access: + + + | Execption handling for movs access to illegal memory +- .section .fixup,#alloc,#execinstr ++ .section .fixup,"ax" + .even + 1: moveq #-1,%d1 + rts +-.section __ex_table,#alloc ++.section __ex_table,"a" + .align 4 + .long dmrbuae,1b + .long dmrwuae,1b +diff --git a/arch/m68k/kernel/relocate_kernel.S b/arch/m68k/kernel/relocate_kernel.S +index ab0f1e7d4653..f7667079e08e 100644 +--- a/arch/m68k/kernel/relocate_kernel.S ++++ b/arch/m68k/kernel/relocate_kernel.S +@@ -26,7 +26,7 @@ ENTRY(relocate_new_kernel) + lea %pc@(.Lcopy),%a4 + 2: addl #0x00000000,%a4 /* virt_to_phys() */ + +- .section ".m68k_fixup","aw" ++ .section .m68k_fixup,"aw" + .long M68K_FIXUP_MEMOFFSET, 2b+2 + .previous + +@@ -49,7 +49,7 @@ ENTRY(relocate_new_kernel) + lea %pc@(.Lcont040),%a4 + 5: addl #0x00000000,%a4 /* virt_to_phys() */ + +- .section ".m68k_fixup","aw" ++ .section .m68k_fixup,"aw" + .long M68K_FIXUP_MEMOFFSET, 5b+2 + .previous + +-- +2.41.0 + diff --git a/board/qemu/microblazebe-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch b/board/qemu/microblazebe-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch deleted file mode 100644 index eb3859f8583..00000000000 --- a/board/qemu/microblazebe-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e96b73478232aa42b773cd19371808af69fd4b95 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Apr 2020 09:49:11 +0200 -Subject: [PATCH] net: xilinx: xemaclite: add 2.00.b revision - -Patch added for the kernel 3.14 -- fix networking in Qemu using a small patch -- disable DTS, because linux.bin does not include any DTB the - default Qemu included DTB is used and this is okay and works fine - -https://git.buildroot.net/buildroot/commit/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch?id=fa2798548368d51998fad18d7f6d1ae0ed065b33 - -[Romain: convert to git format] -Signed-off-by: Romain Naour -Cc: Waldemar Brodkorb ---- - drivers/net/ethernet/xilinx/xilinx_emaclite.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c -index 0de52e70abcc..d8c13140ca77 100644 ---- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c -+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c -@@ -1278,6 +1278,7 @@ static const struct of_device_id xemaclite_of_match[] = { - { .compatible = "xlnx,opb-ethernetlite-1.01.b", }, - { .compatible = "xlnx,xps-ethernetlite-1.00.a", }, - { .compatible = "xlnx,xps-ethernetlite-2.00.a", }, -+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", }, - { .compatible = "xlnx,xps-ethernetlite-2.01.a", }, - { .compatible = "xlnx,xps-ethernetlite-3.00.a", }, - { /* end of list */ }, --- -2.25.3 - diff --git a/board/qemu/microblazeel-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch b/board/qemu/microblazeel-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch deleted file mode 100644 index eb3859f8583..00000000000 --- a/board/qemu/microblazeel-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e96b73478232aa42b773cd19371808af69fd4b95 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 25 Apr 2020 09:49:11 +0200 -Subject: [PATCH] net: xilinx: xemaclite: add 2.00.b revision - -Patch added for the kernel 3.14 -- fix networking in Qemu using a small patch -- disable DTS, because linux.bin does not include any DTB the - default Qemu included DTB is used and this is okay and works fine - -https://git.buildroot.net/buildroot/commit/board/qemu/microblazebe-mmu/xilinx-xemaclite.patch?id=fa2798548368d51998fad18d7f6d1ae0ed065b33 - -[Romain: convert to git format] -Signed-off-by: Romain Naour -Cc: Waldemar Brodkorb ---- - drivers/net/ethernet/xilinx/xilinx_emaclite.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c -index 0de52e70abcc..d8c13140ca77 100644 ---- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c -+++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c -@@ -1278,6 +1278,7 @@ static const struct of_device_id xemaclite_of_match[] = { - { .compatible = "xlnx,opb-ethernetlite-1.01.b", }, - { .compatible = "xlnx,xps-ethernetlite-1.00.a", }, - { .compatible = "xlnx,xps-ethernetlite-2.00.a", }, -+ { .compatible = "xlnx,xps-ethernetlite-2.00.b", }, - { .compatible = "xlnx,xps-ethernetlite-2.01.a", }, - { .compatible = "xlnx,xps-ethernetlite-3.00.a", }, - { /* end of list */ }, --- -2.25.3 - diff --git a/board/qemu/or1k/readme.txt b/board/qemu/or1k/readme.txt index 2ea797440a6..ed0359a0f50 100644 --- a/board/qemu/or1k/readme.txt +++ b/board/qemu/or1k/readme.txt @@ -3,5 +3,3 @@ Run the emulation with: qemu-system-or1k -kernel output/images/vmlinux -nographic # qemu_or1k_defconfig The login prompt will appear in the terminal that started Qemu. - -Ethernet support is not working, yet. diff --git a/board/qemu/post-image.sh b/board/qemu/post-image.sh index 88f04134961..fe46d0d4af1 100755 --- a/board/qemu/post-image.sh +++ b/board/qemu/post-image.sh @@ -1,7 +1,7 @@ #!/bin/bash -QEMU_BOARD_DIR="$(dirname $0)" -DEFCONFIG_NAME="$(basename $2)" +QEMU_BOARD_DIR="$(dirname "$0")" +DEFCONFIG_NAME="$(basename "$2")" README_FILES="${QEMU_BOARD_DIR}/*/readme.txt" START_QEMU_SCRIPT="${BINARIES_DIR}/start-qemu.sh" @@ -12,7 +12,8 @@ fi # Search for "# qemu_*_defconfig" tag in all readme.txt files. # Qemu command line on multilines using back slash are accepted. -QEMU_CMD_LINE=$(sed -r ':a; /\\$/N; s/\\\n//; s/\t/ /; ta; /# '${DEFCONFIG_NAME}'$/!d; s/#.*//' ${README_FILES}) +# shellcheck disable=SC2086 # glob over each readme file +QEMU_CMD_LINE="$(sed -r ':a; /\\$/N; s/\\\n//; s/\t/ /; ta; /# '"${DEFCONFIG_NAME}"'$/!d; s/#.*//' ${README_FILES})" if [ -z "${QEMU_CMD_LINE}" ]; then # No Qemu cmd line found, can't test. @@ -41,21 +42,10 @@ case ${DEFCONFIG_NAME} in ;; esac -cat <<-_EOF_ > "${START_QEMU_SCRIPT}" - #!/bin/sh - ( - BINARIES_DIR="\${0%/*}/" - cd \${BINARIES_DIR} - - if [ "\${1}" = "serial-only" ]; then - EXTRA_ARGS='${SERIAL_ARGS}' - else - EXTRA_ARGS='${DEFAULT_ARGS}' - fi - - export PATH="${HOST_DIR}/bin:\${PATH}" - exec ${QEMU_CMD_LINE} \${EXTRA_ARGS} - ) -_EOF_ - +sed -e "s|@SERIAL_ARGS@|${SERIAL_ARGS}|g" \ + -e "s|@DEFAULT_ARGS@|${DEFAULT_ARGS}|g" \ + -e "s|@QEMU_CMD_LINE@|${QEMU_CMD_LINE}|g" \ + -e "s|@HOST_DIR@|${HOST_DIR}|g" \ + <"${QEMU_BOARD_DIR}/start-qemu.sh.in" \ + >"${START_QEMU_SCRIPT}" chmod +x "${START_QEMU_SCRIPT}" diff --git a/board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch b/board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch deleted file mode 100644 index b8c8a725878..00000000000 --- a/board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a0919e3177295f4aaa9006915adcddc31788d809 Mon Sep 17 00:00:00 2001 -From: Ben Hutchings -Date: Wed, 26 Dec 2018 00:00:40 +0000 -Subject: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler - -GCC for Debian's "powerpcspe" architecture only supports 32-bit -SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal -error. - -* Change the test for a biarch compiler to pass both the -m32 and -m64 - options, so that it doesn't catch 32-bit-only compilers -* Add an ifdef CONFIG_PPC64 around the 64-bit CPU option definitions - -Signed-off-by: Ben Hutchings -[Romain: Patch from Debian repository: -https://salsa.debian.org/kernel-team/linux/-/blob/buster/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch] -Signed-off-by: Romain Naour ---- - arch/powerpc/Makefile | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile -index 5c8c06215dd4..e3dbea6d7ae0 100644 ---- a/arch/powerpc/Makefile -+++ b/arch/powerpc/Makefile -@@ -12,7 +12,7 @@ - # Rewritten by Cort Dougan and Paul Mackerras - # - --HAS_BIARCH := $(call cc-option-yn, -m32) -+HAS_BIARCH := $(call cc-option-yn, -m32 -m64) - - # Set default 32 bits cross compilers for vdso and boot wrapper - CROSS32_COMPILE ?= -@@ -164,6 +164,7 @@ CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD)) - - CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata) - -+ifdef CONFIG_PPC64 - ifdef CONFIG_PPC_BOOK3S_64 - ifdef CONFIG_CPU_LITTLE_ENDIAN - CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 -@@ -175,6 +176,7 @@ endif - else - CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 - endif -+endif - - ifdef CONFIG_FUNCTION_TRACER - CC_FLAGS_FTRACE := -pg --- -2.17.1 - diff --git a/board/qemu/ppc64le-powernv8/readme.txt b/board/qemu/ppc64le-powernv8/readme.txt index 059f55fbc91..b57c97464a8 100644 --- a/board/qemu/ppc64le-powernv8/readme.txt +++ b/board/qemu/ppc64le-powernv8/readme.txt @@ -1,5 +1,5 @@ Run the emulation with: -qemu-system-ppc64 -M powernv9 -kernel vmlinux -append "console=hvc0 rootwait root=/dev/nvme0n1" -device nvme,bus=pcie.3,addr=0x0,drive=drive0,serial=1234 -drive file=./rootfs.ext2,if=none,id=drive0,format=raw,cache=none -device e1000e,netdev=net0,mac=C0:FF:EE:00:01:03,bus=pcie.1,addr=0x0 -netdev user,id=net0 -serial mon:stdio -nographic # qemu_ppc64le_powernv8_defconfig +qemu-system-ppc64 -M powernv9 -kernel output/images/vmlinux -append "console=hvc0 rootwait root=/dev/nvme0n1" -device nvme,bus=pcie.3,addr=0x0,drive=drive0,serial=1234 -drive file=output/images/rootfs.ext2,if=none,id=drive0,format=raw,cache=none -device e1000e,netdev=net0,mac=C0:FF:EE:00:01:03,bus=pcie.1,addr=0x0 -netdev user,id=net0 -serial mon:stdio -nographic # qemu_ppc64le_powernv8_defconfig The login prompt will appear in the terminal window. diff --git a/board/qemu/riscv64-virt-efi/assemble-flash-images b/board/qemu/riscv64-virt-efi/assemble-flash-images new file mode 100755 index 00000000000..abcaa2c93bd --- /dev/null +++ b/board/qemu/riscv64-virt-efi/assemble-flash-images @@ -0,0 +1,11 @@ +#! /bin/sh + +set -e + +BOARD_DIR="$(dirname "$0")" + +cp -f "${BOARD_DIR}"/grub.cfg "${BINARIES_DIR}"/efi-part/EFI/BOOT/grub.cfg + +# The QEMU riscv64 virt machine expects flash devices to be 32M. +truncate -s 32M "${BINARIES_DIR}"/RISCV_VIRT_CODE.fd +truncate -s 32M "${BINARIES_DIR}"/RISCV_VIRT_VARS.fd diff --git a/board/qemu/riscv64-virt-efi/genimage.cfg b/board/qemu/riscv64-virt-efi/genimage.cfg new file mode 100644 index 00000000000..46950591e0a --- /dev/null +++ b/board/qemu/riscv64-virt-efi/genimage.cfg @@ -0,0 +1,34 @@ +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 64M +} + +image disk.img { + hdimage { + partition-table-type = "gpt" + } + + partition boot { + image = "efi-part.vfat" + partition-type-uuid = U + offset = 32K + bootable = true + } + + partition root { + # For partition-type-uuid value, see: + # https://uapi-group.org/specifications/specs/discoverable_partitions_specification/ + # SD_GPT_ROOT_RISCV64 + partition-type-uuid = 72ec70a6-cf74-40e6-bd49-4bda08e8f224 + image = "rootfs.ext2" + } +} diff --git a/board/qemu/riscv64-virt-efi/grub.cfg b/board/qemu/riscv64-virt-efi/grub.cfg new file mode 100644 index 00000000000..d99e19c4cd5 --- /dev/null +++ b/board/qemu/riscv64-virt-efi/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=PARTLABEL=root rootwait +} diff --git a/board/qemu/riscv64-virt-efi/readme.txt b/board/qemu/riscv64-virt-efi/readme.txt new file mode 100644 index 00000000000..6b9651a011d --- /dev/null +++ b/board/qemu/riscv64-virt-efi/readme.txt @@ -0,0 +1,36 @@ +Intro +===== + +This is a RISC-V 64bit UEFI Linux boot demo in QEmu virt machine. + +Build +===== + + make qemu_riscv64_virt_efi_defconfig + make + +Emulation +========= + +Run the emulation with: + + qemu-system-riscv64 \ + -M virt,pflash0=pflash0,pflash1=pflash1,acpi=off \ + -smp 4 \ + -m 1024 \ + -nographic \ + -blockdev node-name=pflash0,driver=file,read-only=on,filename=output/images/RISCV_VIRT_CODE.fd \ + -blockdev node-name=pflash1,driver=file,filename=output/images/RISCV_VIRT_VARS.fd \ + \ + -drive file=output/images/disk.img,format=raw,id=hd0 \ + -device virtio-blk-device,drive=hd0 \ + \ + -netdev user,id=net0 \ + -device virtio-net-device,netdev=net0 # qemu_riscv64_virt_efi_defconfig + +Note: for information, qemu version >= 8.0.0 is needed for this UEFI +Linux demo. It introduced the two pflash memories (previous versions +had only one). The host-qemu package in Buildroot (enabled in this +defconfig) is sufficient to run this demo. In case another qemu is +used (for example, from the host OS), make sure to check the version +requirement. diff --git a/board/qemu/start-qemu.sh.in b/board/qemu/start-qemu.sh.in new file mode 100644 index 00000000000..38024b449e7 --- /dev/null +++ b/board/qemu/start-qemu.sh.in @@ -0,0 +1,28 @@ +#!/bin/sh + +BINARIES_DIR="${0%/*}/" +# shellcheck disable=SC2164 +cd "${BINARIES_DIR}" + +mode_serial=false +mode_sys_qemu=false +while [ "$1" ]; do + case "$1" in + --serial-only|serial-only) mode_serial=true; shift;; + --use-system-qemu) mode_sys_qemu=true; shift;; + --) shift; break;; + *) echo "unknown option: $1" >&2; exit 1;; + esac +done + +if ${mode_serial}; then + EXTRA_ARGS='@SERIAL_ARGS@' +else + EXTRA_ARGS='@DEFAULT_ARGS@' +fi + +if ! ${mode_sys_qemu}; then + export PATH="@HOST_DIR@/bin:${PATH}" +fi + +exec @QEMU_CMD_LINE@ ${EXTRA_ARGS} "$@" diff --git a/board/qmtech/zynq/patches/linux/0001-DTS-for-QMTech-Zynq-starter-kit.patch b/board/qmtech/zynq/patches/linux/0001-DTS-for-QMTech-Zynq-starter-kit.patch deleted file mode 100644 index 86d8e387de0..00000000000 --- a/board/qmtech/zynq/patches/linux/0001-DTS-for-QMTech-Zynq-starter-kit.patch +++ /dev/null @@ -1,418 +0,0 @@ -From 22d955122ac0f7ac74ab74aadebf6b8edaf0bbbd Mon Sep 17 00:00:00 2001 -From: Julien Olivain -Date: Sun, 15 Dec 2019 18:45:40 +0100 -Subject: [PATCH] DTS for QMTech Zynq starter kit - -Signed-off-by: Martin Chabot -Signed-off-by: Julien Olivain ---- - arch/arm/boot/dts/zynq-qmtech.dts | 397 ++++++++++++++++++++++++++++++ - 1 file changed, 397 insertions(+) - create mode 100644 arch/arm/boot/dts/zynq-qmtech.dts - -diff --git a/arch/arm/boot/dts/zynq-qmtech.dts b/arch/arm/boot/dts/zynq-qmtech.dts -new file mode 100644 -index 000000000000..c6081dc0080e ---- /dev/null -+++ b/arch/arm/boot/dts/zynq-qmtech.dts -@@ -0,0 +1,397 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Copyright (C) 2011 - 2015 Xilinx -+ * Copyright (C) 2012 National Instruments Corp. -+ * Copyright (C) 2019 Martin Chabot -+ */ -+ -+/* Derived from: -+ * https://github.com/Xilinx/linux-xlnx/blob/xilinx-v2019.2.01/arch/arm/boot/dts/zynq-zc702.dts -+ */ -+ -+/dts-v1/; -+#include "zynq-7000.dtsi" -+ -+/ { -+ model = "QMTECH XC7Z010 Starter Kit"; -+ compatible = "xlnx,zynq-qmtech", "xlnx,zynq-zc702", "xlnx,zynq-7000"; -+ -+ aliases { -+ ethernet0 = &gem0; -+ i2c0 = &i2c0; -+ serial0 = &uart1; -+ spi0 = &qspi; -+ mmc0 = &sdhci0; -+ }; -+ -+ memory@0 { -+ device_type = "memory"; -+ reg = <0x0 0x20000000>; -+ }; -+ -+ chosen { -+ bootargs = ""; -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ ds23 { -+ label = "ds23"; -+ gpios = <&gpio0 10 0>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+ -+}; -+ -+&amba { -+ ocm: sram@fffc0000 { -+ compatible = "mmio-sram"; -+ reg = <0xfffc0000 0x10000>; -+ }; -+}; -+ -+&clkc { -+ ps-clk-frequency = <33333333>; -+}; -+ -+&gem0 { -+ status = "okay"; -+ phy-mode = "rgmii-id"; -+ phy-handle = <ðernet_phy>; -+ -+ ethernet_phy: ethernet-phy@0 { -+ reg = <0>; -+ device_type = "ethernet-phy"; -+ }; -+}; -+ -+&gpio0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_gpio0_default>; -+}; -+ -+&i2c0 { -+ status = "disabled"; -+ clock-frequency = <400000>; -+ pinctrl-names = "default", "gpio"; -+ pinctrl-0 = <&pinctrl_i2c0_default>; -+ pinctrl-1 = <&pinctrl_i2c0_gpio>; -+ scl-gpios = <&gpio0 50 0>; -+ sda-gpios = <&gpio0 51 0>; -+ -+ i2c-mux@74 { -+ compatible = "nxp,pca9548"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <0x74>; -+ -+ i2c@0 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <0>; -+ si570: clock-generator@5d { -+ #clock-cells = <0>; -+ compatible = "silabs,si570"; -+ temperature-stability = <50>; -+ reg = <0x5d>; -+ factory-fout = <156250000>; -+ clock-frequency = <148500000>; -+ }; -+ }; -+ -+ i2c@1 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <1>; -+ adv7511: hdmi-tx@39 { -+ compatible = "adi,adv7511"; -+ reg = <0x39>; -+ adi,input-depth = <8>; -+ adi,input-colorspace = "yuv422"; -+ adi,input-clock = "1x"; -+ adi,input-style = <3>; -+ adi,input-justification = "right"; -+ }; -+ }; -+ -+ i2c@2 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <2>; -+ eeprom@54 { -+ compatible = "atmel,24c08"; -+ reg = <0x54>; -+ }; -+ }; -+ -+ i2c@3 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <3>; -+ gpio@21 { -+ compatible = "ti,tca6416"; -+ reg = <0x21>; -+ gpio-controller; -+ #gpio-cells = <2>; -+ }; -+ }; -+ -+ i2c@4 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <4>; -+ rtc@51 { -+ compatible = "nxp,pcf8563"; -+ reg = <0x51>; -+ }; -+ }; -+ -+ i2c@7 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ reg = <7>; -+ hwmon@52 { -+ compatible = "ti,ucd9248"; -+ reg = <52>; -+ }; -+ hwmon@53 { -+ compatible = "ti,ucd9248"; -+ reg = <53>; -+ }; -+ hwmon@54 { -+ compatible = "ti,ucd9248"; -+ reg = <54>; -+ }; -+ }; -+ }; -+}; -+ -+&pinctrl0 { -+ pinctrl_can0_default: can0-default { -+ mux { -+ function = "can0"; -+ groups = "can0_9_grp"; -+ }; -+ -+ conf { -+ groups = "can0_9_grp"; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ -+ conf-rx { -+ pins = "MIO46"; -+ bias-high-impedance; -+ }; -+ -+ conf-tx { -+ pins = "MIO47"; -+ bias-disable; -+ }; -+ }; -+ -+ pinctrl_gem0_default: gem0-default { -+ mux { -+ function = "ethernet0"; -+ groups = "ethernet0_0_grp"; -+ }; -+ -+ conf { -+ groups = "ethernet0_0_grp"; -+ slew-rate = <0>; -+ io-standard = <4>; -+ }; -+ -+ conf-rx { -+ pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27"; -+ bias-high-impedance; -+ low-power-disable; -+ }; -+ -+ conf-tx { -+ pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21"; -+ bias-disable; -+ low-power-enable; -+ }; -+ -+ mux-mdio { -+ function = "mdio0"; -+ groups = "mdio0_0_grp"; -+ }; -+ -+ conf-mdio { -+ groups = "mdio0_0_grp"; -+ slew-rate = <0>; -+ io-standard = <1>; -+ bias-disable; -+ }; -+ }; -+ -+ pinctrl_gpio0_default: gpio0-default { -+ mux { -+ function = "gpio0"; -+ groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp", -+ "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp", -+ "gpio0_13_grp", "gpio0_14_grp"; -+ }; -+ -+ conf { -+ groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp", -+ "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp", -+ "gpio0_13_grp", "gpio0_14_grp"; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ -+ conf-pull-up { -+ pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14"; -+ bias-pull-up; -+ }; -+ -+ conf-pull-none { -+ pins = "MIO7", "MIO8"; -+ bias-disable; -+ }; -+ }; -+ -+ pinctrl_i2c0_default: i2c0-default { -+ mux { -+ groups = "i2c0_10_grp"; -+ function = "i2c0"; -+ }; -+ -+ conf { -+ groups = "i2c0_10_grp"; -+ bias-pull-up; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ }; -+ -+ pinctrl_i2c0_gpio: i2c0-gpio { -+ mux { -+ groups = "gpio0_50_grp", "gpio0_51_grp"; -+ function = "gpio0"; -+ }; -+ -+ conf { -+ groups = "gpio0_50_grp", "gpio0_51_grp"; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ }; -+ -+ pinctrl_sdhci0_default: sdhci0-default { -+ mux { -+ groups = "sdio0_2_grp"; -+ function = "sdio0"; -+ }; -+ -+ conf { -+ groups = "sdio0_2_grp"; -+ slew-rate = <0>; -+ io-standard = <1>; -+ bias-disable; -+ }; -+ -+ mux-cd { -+ groups = "gpio0_0_grp"; -+ function = "sdio0_cd"; -+ }; -+ -+ conf-cd { -+ groups = "gpio0_0_grp"; -+ bias-high-impedance; -+ bias-pull-up; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ -+ mux-wp { -+ groups = "gpio0_15_grp"; -+ function = "sdio0_wp"; -+ }; -+ -+ conf-wp { -+ groups = "gpio0_15_grp"; -+ bias-high-impedance; -+ bias-pull-up; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ }; -+ -+ pinctrl_uart1_default: uart1-default { -+ mux { -+ groups = "uart1_10_grp"; -+ function = "uart1"; -+ }; -+ -+ conf { -+ groups = "uart1_10_grp"; -+ slew-rate = <0>; -+ io-standard = <1>; -+ }; -+ -+ conf-rx { -+ pins = "MIO25"; -+ bias-high-impedance; -+ }; -+ -+ conf-tx { -+ pins = "MIO24"; -+ bias-disable; -+ }; -+ }; -+}; -+ -+&qspi { -+ u-boot,dm-pre-reloc; -+ status = "disabled"; -+ is-dual = <0>; -+ num-cs = <1>; -+ flash@0 { -+ compatible = "n25q128a11"; -+ reg = <0x0>; -+ spi-tx-bus-width = <1>; -+ spi-rx-bus-width = <4>; -+ spi-max-frequency = <50000000>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ partition@qspi-fsbl-uboot { -+ label = "qspi-fsbl-uboot"; -+ reg = <0x0 0x100000>; -+ }; -+ partition@qspi-linux { -+ label = "qspi-linux"; -+ reg = <0x100000 0x500000>; -+ }; -+ partition@qspi-device-tree { -+ label = "qspi-device-tree"; -+ reg = <0x600000 0x20000>; -+ }; -+ partition@qspi-rootfs { -+ label = "qspi-rootfs"; -+ reg = <0x620000 0x5E0000>; -+ }; -+ partition@qspi-bitstream { -+ label = "qspi-bitstream"; -+ reg = <0xC00000 0x400000>; -+ }; -+ }; -+}; -+ -+&sdhci0 { -+ u-boot,dm-pre-reloc; -+ status = "okay"; -+}; -+ -+&uart1 { -+ u-boot,dm-pre-reloc; -+ status = "okay"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_uart1_default>; -+}; --- -2.23.0 - diff --git a/board/qmtech/zynq/readme.txt b/board/qmtech/zynq/readme.txt deleted file mode 100644 index 5fb95bb90bf..00000000000 --- a/board/qmtech/zynq/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ -******************************* -QMTECH Zynq XC7Z010 Starter Kit -******************************* - -This file documents the Buildroot support for the QMTECH [1] Zynq -XC7Z010 Starter Kit [2]. It is a low cost (~55$) Zynq based -development board. The board user manual is available at -[3]. Additional files are available on Github [4]. - - -Build -===== - -First, configure Buildroot for the QMTECH Zynq board: - - make zynq_qmtech_defconfig - -Build all components: - - make - -You will find in output/images/ the following files: - - boot.bin - - boot.vfat - - devicetree.dtb - - rootfs.cpio - - rootfs.cpio.gz - - rootfs.cpio.uboot - - rootfs.tar - - sdcard.img - - u-boot.bin - - u-boot.img - - uImage - - zynq-qmtech.dtb - - -Create a bootable micro SD card -=============================== - -To determine the device associated to the micro SD card have a look in -the /proc/partitions file: - - cat /proc/partitions - -Buildroot prepares a bootable "sdcard.img" image in the output/images/ -directory, ready to be dumped on a micro SD card. Launch the following -command as root: - - dd if=output/images/sdcard.img of=/dev/ - -*** WARNING! This will destroy all the card content. Use with care! *** - - -Boot the QMTECH Zynq board -========================== - -To boot your newly created system: -- put a mini USB cable into the J4 Debug USB Port and connect using a - terminal emulator at 115200 bps, 8n1, -- put the prepared micro SD card in the J2 micro SD card slot, -- plug the 5V power supply on the JP4 barrel jack. - -Enjoy! - - -[1]. QMTECH: - http://www.chinaqmtech.com/ - -[2]. QMTECH Zynq XC7Z010 Starter Kit Product Page: - http://www.chinaqmtech.com/xilinx_zynq_soc - -[3]. QMTECH Zynq XC7Z010 Starter Kit Hardware User Manual: - http://www.chinaqmtech.com/filedownload/32552 - -[4]. QMTECH Github: - https://github.com/ChinaQMTECH/ZYNQ_STARTER_KIT diff --git a/board/radxa/rock5b/boot.cmd b/board/radxa/rock5b/boot.cmd new file mode 100644 index 00000000000..9a3e73e0036 --- /dev/null +++ b/board/radxa/rock5b/boot.cmd @@ -0,0 +1,3 @@ +setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext4 clkin_hz=(25000000) earlycon clk_ignore_unused earlyprintk console=ttyS2,1500000n8 rootwait +fatload mmc 1:1 ${loadaddr} image.itb +bootm ${loadaddr} diff --git a/board/radxa/rock5b/genimage.cfg b/board/radxa/rock5b/genimage.cfg new file mode 100644 index 00000000000..2943232fc35 --- /dev/null +++ b/board/radxa/rock5b/genimage.cfg @@ -0,0 +1,34 @@ +# SD card image for Radxa Rock 5b + +image boot.vfat { + vfat { + files = { + "image.itb", + "boot.scr" + } + } + size = 16M +} + +image sdcard.img { + hdimage { + partition-table-type = "hybrid" + } + + partition uboot { + in-partition-table = "false" + image = "u-boot-rockchip.bin" + offset = 32K + } + + partition boot { + partition-type = "0xC" + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/board/radxa/rock5b/linux.fragment b/board/radxa/rock5b/linux.fragment new file mode 100644 index 00000000000..28bb373ef28 --- /dev/null +++ b/board/radxa/rock5b/linux.fragment @@ -0,0 +1,5 @@ +CONFIG_R8169=y +# CONFIG_ROCKCHIP_FIQ_DEBUGGER is not set +# Disable Rockchip specific WiFi drivers, as the kernel +# code cannot be build with GCC 12 due to several Werrors +# CONFIG_WL_ROCKCHIP is not set diff --git a/board/radxa/rock5b/patches/linux/0001-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch b/board/radxa/rock5b/patches/linux/0001-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch new file mode 100644 index 00000000000..5632c5a6272 --- /dev/null +++ b/board/radxa/rock5b/patches/linux/0001-etherdevice-Adjust-ether_addr-prototypes-to-silence-.patch @@ -0,0 +1,64 @@ +From 2618a0dae09ef37728dab89ff60418cbe25ae6bd Mon Sep 17 00:00:00 2001 +From: Kees Cook +Date: Sat, 12 Feb 2022 09:14:49 -0800 +Subject: etherdevice: Adjust ether_addr* prototypes to silence + -Wstringop-overead +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With GCC 12, -Wstringop-overread was warning about an implicit cast from +char[6] to char[8]. However, the extra 2 bytes are always thrown away, +alignment doesn't matter, and the risk of hitting the edge of unallocated +memory has been accepted, so this prototype can just be converted to a +regular char *. Silences: + +net/core/dev.c: In function ‘bpf_prog_run_generic_xdp’: net/core/dev.c:4618:21: warning: ‘ether_addr_equal_64bits’ reading 8 bytes from a region of size 6 [-Wstringop-overread] + 4618 | orig_host = ether_addr_equal_64bits(eth->h_dest, > skb->dev->dev_addr); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +net/core/dev.c:4618:21: note: referencing argument 1 of type ‘const u8[8]’ {aka ‘const unsigned char[8]’} +net/core/dev.c:4618:21: note: referencing argument 2 of type ‘const u8[8]’ {aka ‘const unsigned char[8]’} +In file included from net/core/dev.c:91: include/linux/etherdevice.h:375:20: note: in a call to function ‘ether_addr_equal_64bits’ + 375 | static inline bool ether_addr_equal_64bits(const u8 addr1[6+2], + | ^~~~~~~~~~~~~~~~~~~~~~~ + +Reported-by: Marc Kleine-Budde +Tested-by: Marc Kleine-Budde +Link: https://lore.kernel.org/netdev/20220212090811.uuzk6d76agw2vv73@pengutronix.de +Cc: Jakub Kicinski +Cc: "David S. Miller" +Cc: netdev@vger.kernel.org +Signed-off-by: Kees Cook +Signed-off-by: David S. Miller +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2618a0dae09ef37728dab89ff60418cbe25ae6bd +Signed-off-by: Kilian Zinnecker +--- + include/linux/etherdevice.h | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h +index 2ad71cc90b37d..92b10e67d5f87 100644 +--- a/include/linux/etherdevice.h ++++ b/include/linux/etherdevice.h +@@ -134,7 +134,7 @@ static inline bool is_multicast_ether_addr(const u8 *addr) + #endif + } + +-static inline bool is_multicast_ether_addr_64bits(const u8 addr[6+2]) ++static inline bool is_multicast_ether_addr_64bits(const u8 *addr) + { + #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && BITS_PER_LONG == 64 + #ifdef __BIG_ENDIAN +@@ -372,8 +372,7 @@ static inline bool ether_addr_equal(const u8 *addr1, const u8 *addr2) + * Please note that alignment of addr1 & addr2 are only guaranteed to be 16 bits. + */ + +-static inline bool ether_addr_equal_64bits(const u8 addr1[6+2], +- const u8 addr2[6+2]) ++static inline bool ether_addr_equal_64bits(const u8 *addr1, const u8 *addr2) + { + #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && BITS_PER_LONG == 64 + u64 fold = (*(const u64 *)addr1) ^ (*(const u64 *)addr2); +-- +cgit + diff --git a/board/radxa/rock5b/patches/linux/0002-mm-page_alloc-fix-building-error-on-Werror-array-com.patch b/board/radxa/rock5b/patches/linux/0002-mm-page_alloc-fix-building-error-on-Werror-array-com.patch new file mode 100644 index 00000000000..10de6c72d3f --- /dev/null +++ b/board/radxa/rock5b/patches/linux/0002-mm-page_alloc-fix-building-error-on-Werror-array-com.patch @@ -0,0 +1,43 @@ +From ca831f29f8f25c97182e726429b38c0802200c8f Mon Sep 17 00:00:00 2001 +From: Xiongwei Song +Date: Fri, 14 Jan 2022 14:07:24 -0800 +Subject: mm: page_alloc: fix building error on -Werror=array-compare + +Arthur Marsh reported we would hit the error below when building kernel +with gcc-12: + + CC mm/page_alloc.o + mm/page_alloc.c: In function `mem_init_print_info': + mm/page_alloc.c:8173:27: error: comparison between two arrays [-Werror=array-compare] + 8173 | if (start <= pos && pos < end && size > adj) \ + | + +In C++20, the comparision between arrays should be warned. + +Link: https://lkml.kernel.org/r/20211125130928.32465-1-sxwjean@me.com +Signed-off-by: Xiongwei Song +Reported-by: Arthur Marsh +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ca831f29f8f25c97182e726429b38c0802200c8f +Signed-off-by: Kilian Zinnecker +--- + mm/page_alloc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index 806f317c2e7e2..c4ef450ac4428 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -8228,7 +8228,7 @@ void __init mem_init_print_info(void) + */ + #define adj_init_size(start, end, size, pos, adj) \ + do { \ +- if (start <= pos && pos < end && size > adj) \ ++ if (&start[0] <= &pos[0] && &pos[0] < &end[0] && size > adj) \ + size -= adj; \ + } while (0) + +-- +cgit + diff --git a/board/radxa/rock5b/patches/linux/linux.hash b/board/radxa/rock5b/patches/linux/linux.hash new file mode 100644 index 00000000000..95ad749554f --- /dev/null +++ b/board/radxa/rock5b/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 a5eca7b8f929a1918125e2e4fbd7ab4ea5b3910b5ae4547e81c794b47373ffb5 linux-52f51a2b5ba178f331af62260d2da86d7472c14b-br1.tar.gz diff --git a/board/radxa/rock5b/patches/uboot/uboot.hash b/board/radxa/rock5b/patches/uboot/uboot.hash new file mode 100644 index 00000000000..efd629bd2f9 --- /dev/null +++ b/board/radxa/rock5b/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 12e921b466ae731cdbc355e6832b7f22bc90b01aeceef9886f98aaba7b394300 u-boot-2023.07.tar.bz2 diff --git a/board/radxa/rock5b/post-image.sh b/board/radxa/rock5b/post-image.sh new file mode 100755 index 00000000000..c706a5ee787 --- /dev/null +++ b/board/radxa/rock5b/post-image.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -e + +gzip -fk "${BINARIES_DIR}/Image" +cp board/radxa/rock5b/rock5b.its "${BINARIES_DIR}" +(cd "${BINARIES_DIR}" && mkimage -f rock5b.its image.itb) +support/scripts/genimage.sh -c board/radxa/rock5b/genimage.cfg diff --git a/board/radxa/rock5b/readme.txt b/board/radxa/rock5b/readme.txt new file mode 100644 index 00000000000..b3eb06851a7 --- /dev/null +++ b/board/radxa/rock5b/readme.txt @@ -0,0 +1,102 @@ +RADXA ROCK 5B +============== +https://wiki.radxa.com/Rock5/hardware/5b + +Build: +====== + $ make rock5b_defconfig + $ make + +Files created in output directory +================================= + +output/images +. +├── Image +├── Image.gz +├── boot.scr +├── boot.vfat +├── image.itb +├── rk3588-rock-5b.dtb +├── rk3588_bl31_v1.40.elf +├── rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin +├── rock5b.dts +├── rock5b.its +├── rootfs.ext2 +├── rootfs.ext4 +├── rootfs.tar +├── sdcard.img +├── u-boot-rockchip.bin +└── u-boot.bin + +Creating bootable SD card: +========================== + +Simply invoke (as root) + +sudo dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device. + +Booting: +======== + +Serial console: +--------------- +The Rock 5B has a 40-pin GPIO header. Its layout can be seen here: +https://wiki.radxa.com/Rock5/hardware/5b/gpio + +The Uart pins are as follows: + +pin 6: gnd +pin 8: tx +pin 10: rx + +Baudrate for this board is 1500000. + +Login: +------ +Enter 'root' as login user, and the prompt is ready. + +wiki link: +---------- +https://forum.radxa.com/c/rock5 + +Issues: +======= + +WiFi +---- +The custom Radxa kernel provides custom code to support WiFi. However, +that code does not compile with GCC 12, which is the current default +version in buildroot. Hence, the WiFi kernel drivers are disabled, until +the issues get fixed (if ever). If they are desperately needed, one may +apply the following workaround, as long as buildroot still supports GCC +version 11: + +1. Set GCC version 11, by adding the following line to +configs/rock5b_defconfig: + +BR2_GCC_VERSION_11_X=y + +2. Re-enable custom WiFi drivers by removing the following line from +board/radxa/rock5b/linux.fragment: + +# CONFIG_WL_ROCKCHIP is not set + +Rockchip FIQ Debugger +--------------------- +The custom kernel used for this board features an FIQ debugger, which +can be activated by typing "fiq" on the serial interface. As this can be +annoying if a user wants to type these charakters and it is not needed +for most users, this board support disables the FIQ debugger by default. +To re-enable the FIQ debugger follow the steps: + +1. In board/radxa/rock5b/rock5b.dts set the status property of the +fiq_debugger node to "okay" and set the status property of the uart2 +node to "disabled" + +2. Re-enable the fiq debugger module by removing the following line +from board/radxa/rock5b/linux.fragment: + +# CONFIG_ROCKCHIP_FIQ_DEBUGGER is not set diff --git a/board/radxa/rock5b/rock5b.dts b/board/radxa/rock5b/rock5b.dts new file mode 100644 index 00000000000..71a4e42b5e3 --- /dev/null +++ b/board/radxa/rock5b/rock5b.dts @@ -0,0 +1,12 @@ +/dts-v1/; + +#include "rockchip/rk3588-rock-5b.dts" + +&fiq_debugger { + status = "disabled"; +}; + +&uart2 { + pinctrl-0 = <&uart2m0_xfer>; + status = "okay"; +}; diff --git a/board/radxa/rock5b/rock5b.its b/board/radxa/rock5b/rock5b.its new file mode 100644 index 00000000000..9ce235d0411 --- /dev/null +++ b/board/radxa/rock5b/rock5b.its @@ -0,0 +1,46 @@ +/dts-v1/; + +/ { + description = "Rock 5B FIT Image"; + #address-cells = <1>; + + images { + kernel { + description = "Kernel"; + data = /incbin/("Image.gz"); + type = "kernel"; + arch = "arm64"; + os = "linux"; + compression = "gzip"; + load = <0x0a200000>; + entry = <0x0a200000>; + hash { + algo = "sha256"; + }; + }; + fdt { + description = "Device Tree"; + data = /incbin/("rock5b.dtb"); + type = "flat_dt"; + arch = "arm64"; + compression = "none"; + load = <0x0e000000>; + entry = <0x0e000000>; + hash { + algo = "sha256"; + }; + }; + }; + + configurations { + default = "standard"; + standard { + description = "Standard Boot"; + kernel = "kernel"; + fdt = "fdt"; + hash { + algo = "sha256"; + }; + }; + }; +}; diff --git a/board/raspberrypi/config_0w.txt b/board/raspberrypi/config_0w.txt index 195bad449e8..bc59d5fad2e 100644 --- a/board/raspberrypi/config_0w.txt +++ b/board/raspberrypi/config_0w.txt @@ -26,4 +26,4 @@ gpu_mem_1024=100 dtoverlay=miniuart-bt # enable autoprobing of Bluetooth driver without need of hciattach/btattach -dtoverlay=krnbt=on +dtparam=krnbt=on diff --git a/board/raspberrypi/config_3.txt b/board/raspberrypi/config_3.txt index 195bad449e8..bc59d5fad2e 100644 --- a/board/raspberrypi/config_3.txt +++ b/board/raspberrypi/config_3.txt @@ -26,4 +26,4 @@ gpu_mem_1024=100 dtoverlay=miniuart-bt # enable autoprobing of Bluetooth driver without need of hciattach/btattach -dtoverlay=krnbt=on +dtparam=krnbt=on diff --git a/board/raspberrypi/config_3_64bit.txt b/board/raspberrypi/config_3_64bit.txt index 34412fa9e82..66728711257 100644 --- a/board/raspberrypi/config_3_64bit.txt +++ b/board/raspberrypi/config_3_64bit.txt @@ -26,7 +26,7 @@ gpu_mem_1024=100 dtoverlay=miniuart-bt # enable autoprobing of Bluetooth driver without need of hciattach/btattach -dtoverlay=krnbt=on +dtparam=krnbt=on # enable 64bits support arm_64bit=1 diff --git a/board/raspberrypi/config_4.txt b/board/raspberrypi/config_4.txt index ea02d3f0713..74a7b270cdf 100644 --- a/board/raspberrypi/config_4.txt +++ b/board/raspberrypi/config_4.txt @@ -26,4 +26,4 @@ gpu_mem_1024=100 dtoverlay=miniuart-bt # enable autoprobing of Bluetooth driver without need of hciattach/btattach -dtoverlay=krnbt=on +dtparam=krnbt=on diff --git a/board/raspberrypi/config_4_64bit.txt b/board/raspberrypi/config_4_64bit.txt index 41c7e97e99b..a4ae327d2a2 100644 --- a/board/raspberrypi/config_4_64bit.txt +++ b/board/raspberrypi/config_4_64bit.txt @@ -26,11 +26,7 @@ gpu_mem_1024=100 dtoverlay=miniuart-bt # enable autoprobing of Bluetooth driver without need of hciattach/btattach -dtoverlay=krnbt=on - -dtoverlay=vc4-kms-v3d-pi4 -dtoverlay=imx219 -#dtoverlay=ov5647 +dtparam=krnbt=on # enable 64bits support arm_64bit=1 diff --git a/board/raspberrypi/config_zero2w.txt b/board/raspberrypi/config_zero2w.txt index 9e6b7f5ccfd..55095f64a7d 100644 --- a/board/raspberrypi/config_zero2w.txt +++ b/board/raspberrypi/config_zero2w.txt @@ -26,4 +26,4 @@ gpu_mem_1024=100 dtoverlay=miniuart-bt # enable autoprobing of Bluetooth driver without need of hciattach/btattach -dtoverlay=krnbt=on +dtparam=krnbt=on diff --git a/board/raspberrypi/genimage-raspberrypi.cfg b/board/raspberrypi/genimage-raspberrypi.cfg deleted file mode 100644 index 04be16cce67..00000000000 --- a/board/raspberrypi/genimage-raspberrypi.cfg +++ /dev/null @@ -1,33 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2708-rpi-b.dtb", - "bcm2708-rpi-b-plus.dtb", - "bcm2708-rpi-cm.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi0.cfg b/board/raspberrypi/genimage-raspberrypi0.cfg deleted file mode 100644 index 1fa3f5096fd..00000000000 --- a/board/raspberrypi/genimage-raspberrypi0.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2708-rpi-zero.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi0w.cfg b/board/raspberrypi/genimage-raspberrypi0w.cfg deleted file mode 100644 index de7652f99ea..00000000000 --- a/board/raspberrypi/genimage-raspberrypi0w.cfg +++ /dev/null @@ -1,32 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2708-rpi-zero-w.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi2.cfg b/board/raspberrypi/genimage-raspberrypi2.cfg deleted file mode 100644 index acd23e7ca8f..00000000000 --- a/board/raspberrypi/genimage-raspberrypi2.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2709-rpi-2-b.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi3-64.cfg b/board/raspberrypi/genimage-raspberrypi3-64.cfg deleted file mode 100644 index 8cbcd91638c..00000000000 --- a/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ /dev/null @@ -1,34 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2710-rpi-3-b.dtb", - "bcm2710-rpi-3-b-plus.dtb", - "bcm2837-rpi-3-b.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "Image" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi3.cfg b/board/raspberrypi/genimage-raspberrypi3.cfg deleted file mode 100644 index a617823379e..00000000000 --- a/board/raspberrypi/genimage-raspberrypi3.cfg +++ /dev/null @@ -1,34 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2710-rpi-3-b.dtb", - "bcm2710-rpi-3-b-plus.dtb", - "bcm2710-rpi-cm3.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg deleted file mode 100644 index 3ae938db203..00000000000 --- a/board/raspberrypi/genimage-raspberrypi4-64.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2711-rpi-4-b.dtb", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup4.dat", - "rpi-firmware/start4.elf", - "rpi-firmware/overlays", - "Image" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypi4.cfg b/board/raspberrypi/genimage-raspberrypi4.cfg deleted file mode 100644 index 2e578ad5564..00000000000 --- a/board/raspberrypi/genimage-raspberrypi4.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2711-rpi-4-b.dtb", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup4.dat", - "rpi-firmware/start4.elf", - "rpi-firmware/overlays", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypicm4io-64.cfg b/board/raspberrypi/genimage-raspberrypicm4io-64.cfg deleted file mode 100644 index 73d31a57ba0..00000000000 --- a/board/raspberrypi/genimage-raspberrypicm4io-64.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2711-rpi-cm4.dtb", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup4.dat", - "rpi-firmware/start4.elf", - "rpi-firmware/overlays", - "Image" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypicm4io.cfg b/board/raspberrypi/genimage-raspberrypicm4io.cfg deleted file mode 100644 index 4d09b03556a..00000000000 --- a/board/raspberrypi/genimage-raspberrypicm4io.cfg +++ /dev/null @@ -1,31 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2711-rpi-cm4.dtb", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup4.dat", - "rpi-firmware/start4.elf", - "rpi-firmware/overlays", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage-raspberrypizero2w.cfg b/board/raspberrypi/genimage-raspberrypizero2w.cfg deleted file mode 100644 index b510fea5636..00000000000 --- a/board/raspberrypi/genimage-raspberrypizero2w.cfg +++ /dev/null @@ -1,32 +0,0 @@ -image boot.vfat { - vfat { - files = { - "bcm2710-rpi-zero-2-w.dtb", - "rpi-firmware/bootcode.bin", - "rpi-firmware/cmdline.txt", - "rpi-firmware/config.txt", - "rpi-firmware/fixup.dat", - "rpi-firmware/start.elf", - "rpi-firmware/overlays", - "zImage" - } - } - - size = 32M -} - -image sdcard.img { - hdimage { - } - - partition boot { - partition-type = 0xC - bootable = "true" - image = "boot.vfat" - } - - partition rootfs { - partition-type = 0x83 - image = "rootfs.ext4" - } -} diff --git a/board/raspberrypi/genimage.cfg.in b/board/raspberrypi/genimage.cfg.in new file mode 100644 index 00000000000..fd38b86a0cf --- /dev/null +++ b/board/raspberrypi/genimage.cfg.in @@ -0,0 +1,25 @@ +image boot.vfat { + vfat { + files = { +#BOOT_FILES# + } + } + + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/raspberrypi/post-build.sh b/board/raspberrypi/post-build.sh index 5e5eb711007..73026e59228 100755 --- a/board/raspberrypi/post-build.sh +++ b/board/raspberrypi/post-build.sh @@ -8,4 +8,9 @@ if [ -e ${TARGET_DIR}/etc/inittab ]; then grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \ sed -i '/GENERIC_SERIAL/a\ tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab +# systemd doesn't use /etc/inittab, enable getty.tty1.service instead +elif [ -d ${TARGET_DIR}/etc/systemd ]; then + mkdir -p "${TARGET_DIR}/etc/systemd/system/getty.target.wants" + ln -sf /lib/systemd/system/getty@.service \ + "${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@tty1.service" fi diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh index 6cad20fb9e5..9b9eac972ba 100755 --- a/board/raspberrypi/post-image.sh +++ b/board/raspberrypi/post-image.sh @@ -7,6 +7,23 @@ BOARD_NAME="$(basename ${BOARD_DIR})" GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg" GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" +# generate genimage from template if a board specific variant doesn't exists +if [ ! -e "${GENIMAGE_CFG}" ]; then + GENIMAGE_CFG="${BINARIES_DIR}/genimage.cfg" + FILES=() + + for i in "${BINARIES_DIR}"/*.dtb "${BINARIES_DIR}"/rpi-firmware/*; do + FILES+=( "${i#${BINARIES_DIR}/}" ) + done + + KERNEL=$(sed -n 's/^kernel=//p' "${BINARIES_DIR}/rpi-firmware/config.txt") + FILES+=( "${KERNEL}" ) + + BOOT_FILES=$(printf '\\t\\t\\t"%s",\\n' "${FILES[@]}") + sed "s|#BOOT_FILES#|${BOOT_FILES}|" "${BOARD_DIR}/genimage.cfg.in" \ + > "${GENIMAGE_CFG}" +fi + # Pass an empty rootpath. genimage makes a full copy of the given rootpath to # ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk # space. We don't rely on genimage to build the rootfs image, just to insert a diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt index c81fd801aed..9202b5ff37a 100644 --- a/board/raspberrypi/readme.txt +++ b/board/raspberrypi/readme.txt @@ -17,8 +17,8 @@ How to build it Configure Buildroot ------------------- -There are two RaspberryPi defconfig files in Buildroot, one for each -major variant, which you should base your work on: +There are several Raspberry Pi defconfig files in Buildroot, one for +each major variant, which you should base your work on: For models A, B, A+ or B+: @@ -28,6 +28,10 @@ For model Zero (model A+ in smaller form factor): $ make raspberrypi0_defconfig +or for model Zero W (model Zero with wireless LAN and Bluetooth): + + $ make raspberrypi0w_defconfig + For model Zero 2 W (model B3 in smaller form factor): $ make raspberrypizero2w_defconfig @@ -133,7 +137,7 @@ How to write to CM4 eMMC memory =============================== For CM4 modules without eMMC memory see above for booting from SD card, -for CM4 moduels with eMMC memory proceed as following: +for CM4 modules with eMMC memory proceed as following: - fit jumper on IO Board header J2 to disable eMMC boot - connect IO Board micro USB port (J11 USB slave) to your host linux system diff --git a/board/sheevaplug/patches/linux-headers/linux-headers.hash b/board/sheevaplug/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/sheevaplug/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/sheevaplug/patches/linux/linux.hash b/board/sheevaplug/patches/linux/linux.hash new file mode 100644 index 00000000000..b207306a2b1 --- /dev/null +++ b/board/sheevaplug/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 0820fdb7971c6974338081c11fbf2dc869870501e7bdcac4d0ed58ba1f57b61c linux-4.14.336.tar.xz diff --git a/board/sheevaplug/patches/uboot/uboot.hash b/board/sheevaplug/patches/uboot/uboot.hash new file mode 100644 index 00000000000..d6818bac36b --- /dev/null +++ b/board/sheevaplug/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 diff --git a/board/sifive/hifive-unleashed/genimage_sdcard.cfg b/board/sifive/hifive-unleashed/genimage_sdcard.cfg index 079ac5ed262..99e3525a8cf 100644 --- a/board/sifive/hifive-unleashed/genimage_sdcard.cfg +++ b/board/sifive/hifive-unleashed/genimage_sdcard.cfg @@ -17,6 +17,7 @@ image sdcard.img { partition rootfs { image = "rootfs.ext4" + offset = 4076K partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4 bootable = true } diff --git a/board/sifive/hifive-unleashed/readme.txt b/board/sifive/hifive-unleashed/readme.txt index 3263913e9c5..e9ccb26fa61 100644 --- a/board/sifive/hifive-unleashed/readme.txt +++ b/board/sifive/hifive-unleashed/readme.txt @@ -113,3 +113,20 @@ Booting the SPI flash on the board Make sure that the all DIP switches are set to the off position for default boot mode (MSEL mode = 0110) to boot from SPI flash. + +Testing under QEMU +================== + +The SD card image can be tested using QEMU: + +$ qemu-system-riscv64 -M sifive_u,msel=11 -smp 5 -m 8G \ + -display none -serial stdio -nic user \ + -bios output/images/u-boot-spl.bin \ + -drive file=output/images/sdcard.img,if=sd + +The SPI flash image can be tested with a slightly different command: + +$ qemu-system-riscv64 -M sifive_u,msel=6 -smp 5 -m 8G \ + -display none -serial stdio -nic user \ + -bios output/images/u-boot-spl.bin \ + -drive file=output/images/spi-nor.img,if=mtd diff --git a/board/sipeed/lichee_rv/genimage.cfg b/board/sipeed/lichee_rv/genimage.cfg new file mode 100644 index 00000000000..d5df41203df --- /dev/null +++ b/board/sipeed/lichee_rv/genimage.cfg @@ -0,0 +1,19 @@ +# Minimal SD card image for the sipeed Lichee RV + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + offset = 1M + } +} diff --git a/board/sipeed/lichee_rv/overlay/boot/extlinux/extlinux.conf b/board/sipeed/lichee_rv/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..91b2298628b --- /dev/null +++ b/board/sipeed/lichee_rv/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + # use devicetree from u-boot + append console=ttyS0,115200 root=/dev/mmcblk0p1 ro rootwait diff --git a/board/sipeed/lichee_rv/readme.txt b/board/sipeed/lichee_rv/readme.txt new file mode 100644 index 00000000000..24e81418511 --- /dev/null +++ b/board/sipeed/lichee_rv/readme.txt @@ -0,0 +1,26 @@ +Lichee RV +=============== + +Lichee RV - Nezha CM is a compute module with modular design, equipped +with Allwinner D1 chip (based on T-Head XuanTie C906 core), 512MB DDR3 RAM. +It can boot from TF card or SD-NAND, uses two sets of M.2 b key 67 pin +connectors to route all IO, making it convient for wide use and easy to replace. + +How to build +============ + +$ make sipeed_lichee_rv_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the debug connector, insert the microSD card and +plug in a USB-C cable to the PWR connector to boot the system. diff --git a/board/sipeed/lichee_rv_dock/genimage.cfg b/board/sipeed/lichee_rv_dock/genimage.cfg new file mode 100644 index 00000000000..38078f0ae3f --- /dev/null +++ b/board/sipeed/lichee_rv_dock/genimage.cfg @@ -0,0 +1,19 @@ +# Minimal SD card image for the sipeed Lichee RV dock + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = false + image = "u-boot-sunxi-with-spl.bin" + offset = 8K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + offset = 1M + } +} diff --git a/board/sipeed/lichee_rv_dock/linux.fragment b/board/sipeed/lichee_rv_dock/linux.fragment new file mode 100644 index 00000000000..10016889ab8 --- /dev/null +++ b/board/sipeed/lichee_rv_dock/linux.fragment @@ -0,0 +1,7 @@ +CONFIG_BT=y +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y diff --git a/board/sipeed/lichee_rv_dock/overlay/etc/network/interfaces b/board/sipeed/lichee_rv_dock/overlay/etc/network/interfaces new file mode 100644 index 00000000000..89e7d74aff7 --- /dev/null +++ b/board/sipeed/lichee_rv_dock/overlay/etc/network/interfaces @@ -0,0 +1,6 @@ +auto lo +iface lo inet loopback + +auto wlan0 +iface wlan0 inet dhcp +wpa-conf /etc/wpa_supplicant.conf diff --git a/board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf b/board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf new file mode 100644 index 00000000000..b43292b0a7f --- /dev/null +++ b/board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf @@ -0,0 +1,8 @@ +ap_scan=1 + +network={ + ssid="YOURSSID" + scan_ssid=1 + key_mgmt=WPA-PSK + psk="YOURPASSWD" +} diff --git a/board/sipeed/lichee_rv_dock/readme.txt b/board/sipeed/lichee_rv_dock/readme.txt new file mode 100644 index 00000000000..048ba64d26e --- /dev/null +++ b/board/sipeed/lichee_rv_dock/readme.txt @@ -0,0 +1,45 @@ +Lichee RV dock +=============== + +Lichee RV Dock is a RISC-V Linux development kits with high integration, small +size and affordable price designed for opensource developer. It's equipped with +HDMI interface and it supports many screen by its screen convert board. It's +also equipped with many peripherals, including a UAB-A port, 2.4G Wifi-BT module, +an analog microphone and a speaker jack interface. + +How to build +============ + +$ make sipeed_lichee_rv_dock_defconfig +$ make + +Wifi +========== + +Edit board/sipeed/lichee_rv_dock/overlay/etc/wpa_supplicant.conf or +/etc/wpa_supplicant.conf once connected to the board: + +* Replace YOURSSID with your AP ssid +* Replace YOURPASSWD with your AP password + +Bluetooth +========== + +To make the device discoverable and pairable, once connected to the board: + +* bluetoothctl power on +* bluetoothctl discoverable yes +* bluetoothctl pairable yes + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Connect a TTL UART to the debug connector, insert the microSD card and +plug in a USB-C cable to the PWR connector to boot the system. diff --git a/board/sipeed/licheepi_nano/genimage.cfg b/board/sipeed/licheepi_nano/genimage.cfg new file mode 100644 index 00000000000..5e398eeb210 --- /dev/null +++ b/board/sipeed/licheepi_nano/genimage.cfg @@ -0,0 +1,33 @@ +flash w25q128 { + pebsize = 65536 + numpebs = 256 + minimum-io-unit-size = 1 + sub-page-size = 1 + vid-header-offset = 64 +} + +image flash.bin { + flash {} + flashtype = w25q128 + + partition uboot { + image = "u-boot-sunxi-with-spl.bin" + size = 512K + } + + partition dtb { + image = "suniv-f1c100s-licheepi-nano.dtb" + size = 64K + } + + partition zimage { + image = "zImage" + size = 5M + } + + partition rootfs { + image = "rootfs.jffs2" + size = 0 + } +} + diff --git a/board/sipeed/licheepi_nano/linux.fragment b/board/sipeed/licheepi_nano/linux.fragment new file mode 100644 index 00000000000..af68f281675 --- /dev/null +++ b/board/sipeed/licheepi_nano/linux.fragment @@ -0,0 +1,11 @@ +# CONFIG_NET is not set +# CONFIG_DRM is not set +# CONFIG_CMA is not set +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_UEVENT_HELPER=y +CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_JFFS2_FS=y diff --git a/board/sipeed/licheepi_nano/readme.txt b/board/sipeed/licheepi_nano/readme.txt new file mode 100644 index 00000000000..1f1f8ef17db --- /dev/null +++ b/board/sipeed/licheepi_nano/readme.txt @@ -0,0 +1,84 @@ +Intro +===== + +This directory contains a buildroot configuration for building a +LicheePi Nano image which can be flashed into the board. + +This frees the MMC port which can be used for an additional SD +card of for a WiFi adapter. + +How to build it +=============== + +Configure Buildroot +------------------- + + $ make sipeed_licheepi_nano_defconfig + +Build the rootfs +---------------- + +Note: you will need to have access to the network, since Buildroot +will download the packages' sources. + +You may now build your rootfs with: + + $ make + +(This may take a while, consider getting yourself a coffee ;-) ) + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- flash.bin + +-- rootfs.jffs2 + +-- rootfs.tar + +-- suniv-f1c100s-licheepi-nano.dtb + +-- u-boot.bin + +-- u-boot-sunxi-with-spl.bin + `-- zImage + +How to flash +============ + +Once the build process is finished you will have an image called +"flash.bin" in the output/images/ directory. It contains the +bootloader, the device tree, the kernel and the root file system. + +The device can be flashed when it is in special mode called "FEL +mode". There are multiple ways to enter this mode described here: +https://linux-sunxi.org/FEL#Entering_FEL_mode + +One way is to write one file from sunxi-tools to a SD card with: + + $ sudo dd if=./output/build/host-sunxi-tools-*/bin/fel-sdboot.sunxi of=/dev/sdX bs=1024 seek=8 + +Once the SD card is burned, insert it into your LicheePi Nano board, +and plug the USB cable. A new USB device should be visible with +lsusb: + + 1f3a:efe8 Allwinner Technology sunxi SoC OTG connector in FEL/flashing mode + +The image can be flashed with: + + $ sudo ./output/host/bin/sunxi-fel -p spiflash-write 0 output/images/flash.bin + +Once this completes, remove the SD card and power the board. Your +new system should come up now and start a console on the UART0 +serial port. + +Note +==== + +Some standard kernel features are disabled using the fragment in +order to reduce the size. They can be enabled again if other +features are disabled instead. + +For U-Boot, the upstream repository is preferred and the system +boots, but loading the image from the flash takes a long time. It +is much faster when using the branch "licheepi-nano-v2020.01" of +this fork: +https://github.com/florpor/u-boot diff --git a/board/sipeed/licheepi_nano/uboot.fragment b/board/sipeed/licheepi_nano/uboot.fragment new file mode 100644 index 00000000000..39f2bfe742d --- /dev/null +++ b/board/sipeed/licheepi_nano/uboot.fragment @@ -0,0 +1,3 @@ +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2 mtdparts=spi0.0:512k(uboot)ro,64k(dtb),5M(kernel)ro,-(rootfs)" +CONFIG_BOOTCOMMAND="sf probe 0 50000000; sf read 0x80C00000 0x80000 0x4000; sf read 0x80008000 0x90000 0x500000; bootz 0x80008000 - 0x80C00000" diff --git a/board/licheepi/boot.cmd b/board/sipeed/licheepi_zero/boot.cmd similarity index 100% rename from board/licheepi/boot.cmd rename to board/sipeed/licheepi_zero/boot.cmd diff --git a/board/licheepi/genimage.cfg b/board/sipeed/licheepi_zero/genimage.cfg similarity index 100% rename from board/licheepi/genimage.cfg rename to board/sipeed/licheepi_zero/genimage.cfg diff --git a/board/sipeed/licheepi_zero/readme.txt b/board/sipeed/licheepi_zero/readme.txt new file mode 100644 index 00000000000..2f122125b7e --- /dev/null +++ b/board/sipeed/licheepi_zero/readme.txt @@ -0,0 +1,62 @@ +Intro +===== + +This directory contains a buildroot configuration for building a +LicheePi Zero. + +How to build it +=============== + +Configure Buildroot +------------------- + + $ make sipeed_licheepi_zero_defconfig + +Build the rootfs +---------------- + +Note: you will need to have access to the network, since Buildroot +will download the packages' sources. + +You may now build your rootfs with: + + $ make + +(This may take a while, consider getting yourself a coffee ;-) ) + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- boot.scr + +-- boot.vfat + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- rootfs.tar + +-- sdcard.img + +-- sun8i-v3s-licheepi-zero-dock.dtb + +-- sun8i-v3s-licheepi-zero.dtb + +-- u-boot.bin + +-- u-boot-sunxi-with-spl.bin + `-- zImage + +How to write the SD card +======================== + +Once the build process is finished you will have an image called +"sdcard.img" in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Alternatively, you can use the Etcher graphical tool to burn the image +to the SD card safely and on any platform: + +https://etcher.io/ + +Once the SD card is burned, insert it into your LicheePi Zero board, +and power it up. Your new system should come up now and start a +console on the UART0 serial port. diff --git a/board/spike/riscv64/linux.fragment b/board/spike/riscv64/linux.fragment new file mode 100644 index 00000000000..b443b0ab364 --- /dev/null +++ b/board/spike/riscv64/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_RISCV_SBI_V01=y +CONFIG_HVC_RISCV_SBI=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y diff --git a/board/stmicroelectronics/common/stm32f4xx/busybox.fragment b/board/stmicroelectronics/common/stm32f4xx/busybox.fragment new file mode 100644 index 00000000000..d0bf2cb99db --- /dev/null +++ b/board/stmicroelectronics/common/stm32f4xx/busybox.fragment @@ -0,0 +1,21 @@ +# CONFIG_FEATURE_HWIB is not set +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_FEATURE_HTTPD_PORT_DEFAULT is not set +# CONFIG_IFCONFIG is not set +# CONFIG_FEATURE_IFCONFIG_HW is not set +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +# CONFIG_IP is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_NC is not set +# CONFIG_NETSTAT is not set +# CONFIG_PING is not set +# CONFIG_ROUTE is not set +# CONFIG_TC is not set +# CONFIG_TELNET is not set +# CONFIG_WGET is not set +# CONFIG_UDHCPC is not set diff --git a/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh b/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh index e324afe59a9..4fcce615007 100755 --- a/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh +++ b/board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh @@ -1,8 +1,7 @@ #!/bin/sh +# Busybox is built without network support +sed -i '/hostname/d' ${TARGET_DIR}/etc/inittab + # Kernel is built without devpts support sed -i '/^devpts/d' ${TARGET_DIR}/etc/fstab - -# Kernel is built without network support -rm -f ${TARGET_DIR}/etc/init.d/S40network -rm -rf ${TARGET_DIR}/etc/network/ diff --git a/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template index ff4aeceeedc..c2affd98ea8 100644 --- a/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template +++ b/board/stmicroelectronics/common/stm32mp157/genimage.cfg.template @@ -11,8 +11,8 @@ image sdcard.img { image = "%ATFBIN%" } - partition ssbl { - image = "u-boot.stm32" + partition fip { + image = "fip.bin" size = 2M } diff --git a/board/stmicroelectronics/common/stm32mp157/post-image.sh b/board/stmicroelectronics/common/stm32mp157/post-image.sh index 363c3127cfc..0cf52f4564d 100755 --- a/board/stmicroelectronics/common/stm32mp157/post-image.sh +++ b/board/stmicroelectronics/common/stm32mp157/post-image.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh -eu # # atf_image extracts the ATF binary image from DTB_FILE_NAME that appears in @@ -8,22 +8,18 @@ # atf_image() { - local ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})" - - if grep -Eq "DTB_FILE_NAME=stm32mp157c-dk2.dtb" <<< ${ATF_VARIABLES}; then - echo "tf-a-stm32mp157c-dk2.stm32" - elif grep -Eq "DTB_FILE_NAME=stm32mp157a-dk1.dtb" <<< ${ATF_VARIABLES}; then - echo "tf-a-stm32mp157a-dk1.stm32" - elif grep -Eq "DTB_FILE_NAME=stm32mp157a-avenger96.dtb" <<< ${ATF_VARIABLES}; then - echo "tf-a-stm32mp157a-avenger96.stm32" - fi + ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([^\"]*\)"$/\1/p' ${BR2_CONFIG})" + # make sure DTB_FILE_NAME is set + printf '%s\n' "${ATF_VARIABLES}" | grep -Eq 'DTB_FILE_NAME=[0-9A-Za-z_\-]*' + # extract the value + DTB_FILE_NAME="$(printf '%s\n' "${ATF_VARIABLES}" | sed 's/.*DTB_FILE_NAME=\([a-zA-Z0-9_\-]*\)\.dtb.*/\1/')" + echo "tf-a-${DTB_FILE_NAME}.stm32" } main() { - local ATFBIN="$(atf_image)" - local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" - local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + ATFBIN="$(atf_image)" + GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" sed -e "s/%ATFBIN%/${ATFBIN}/" \ board/stmicroelectronics/common/stm32mp157/genimage.cfg.template > ${GENIMAGE_CFG} diff --git a/board/stmicroelectronics/stm32f429-disco/linux.config b/board/stmicroelectronics/stm32f429-disco/linux.config index 7b5c60f1806..02d9c2d1e09 100644 --- a/board/stmicroelectronics/stm32f429-disco/linux.config +++ b/board/stmicroelectronics/stm32f429-disco/linux.config @@ -95,10 +95,6 @@ CONFIG_STM32_MDMA=y CONFIG_SYNC_FILE=y # CONFIG_VIRTIO_MENU is not set # CONFIG_VHOST_MENU is not set -CONFIG_IIO=y -CONFIG_IIO_BUFFER=y -CONFIG_IIO_TRIGGERED_BUFFER=y -CONFIG_IIO_STM32_TIMER_TRIGGER=y # CONFIG_FILE_LOCKING is not set # CONFIG_DNOTIFY is not set # CONFIG_INOTIFY_USER is not set diff --git a/board/stmicroelectronics/stm32f769-disco/extlinux.conf b/board/stmicroelectronics/stm32f769-disco/extlinux.conf new file mode 100644 index 00000000000..48483a01fc4 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/extlinux.conf @@ -0,0 +1,4 @@ +label stm32f769-disco-buildroot + kernel /zImage + devicetree /stm32f769-disco.dtb + append console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext2 rootwait earlyprintk consoleblank=0 ignore_loglevel diff --git a/board/stmicroelectronics/stm32f769-disco/flash_sd.sh b/board/stmicroelectronics/stm32f769-disco/flash_sd.sh new file mode 100755 index 00000000000..0ff3ae7dbfb --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/flash_sd.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +if ! test -d "${OUTPUT_DIR}" ; then + echo "ERROR: no output directory specified." + echo "Usage: $0 OUTPUT_DIR" + exit 1 +fi + +"${OUTPUT_DIR}"/host/bin/openocd -f board/stm32f769i-disco.cfg \ + -c "init" \ + -c "reset init" \ + -c "flash probe 0" \ + -c "flash info 0" \ + -c "flash write_image erase ${OUTPUT_DIR}/images/u-boot.bin 0x08000000" \ + -c "reset run" \ + -c "shutdown" diff --git a/board/stmicroelectronics/stm32f769-disco/genimage.cfg b/board/stmicroelectronics/stm32f769-disco/genimage.cfg new file mode 100644 index 00000000000..41f9da51248 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/genimage.cfg @@ -0,0 +1,27 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "stm32f769-disco.dtb", + "extlinux" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + size = 32M + } +} diff --git a/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment b/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment new file mode 100644 index 00000000000..846229d0d46 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/linux-sd.fragment @@ -0,0 +1 @@ +# CONFIG_XIP_KERNEL is not set diff --git a/board/stmicroelectronics/stm32f769-disco/post-build.sh b/board/stmicroelectronics/stm32f769-disco/post-build.sh new file mode 100755 index 00000000000..c8cca3de8c9 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/post-build.sh @@ -0,0 +1,7 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" + +# Kernel is built without devpts support +sed -i '/^devpts/d' "${TARGET_DIR}"/etc/fstab + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${BINARIES_DIR}"/extlinux/extlinux.conf diff --git a/board/stmicroelectronics/stm32f769-disco/readme.txt b/board/stmicroelectronics/stm32f769-disco/readme.txt new file mode 100644 index 00000000000..8f4f79a8613 --- /dev/null +++ b/board/stmicroelectronics/stm32f769-disco/readme.txt @@ -0,0 +1,32 @@ +STM32F769 Discovery +=================== + +This tutorial describes how to use the predefined Buildroot +configuration for the STM32F769 Discovery evaluation platform. + +Building +-------- + + make stm32f769_disco_sd_defconfig + make + +Flashing +-------- + + ./board/stmicroelectronics/stm32f769-disco/flash_sd.sh output/ + +It will flash the U-boot bootloader. + +Creating SD card +---------------- + +Buildroot prepares an"sdcard.img" image in the output/images/ directory, +ready to be dumped on a SD card. Launch the following command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout and its content, see the +definition in board/stmicroelectronics/stm32f769-disco/genimage.cfg. + diff --git a/board/synopsys/nsim/readme.txt b/board/synopsys/nsim/readme.txt new file mode 100644 index 00000000000..cc89cf87ac6 --- /dev/null +++ b/board/synopsys/nsim/readme.txt @@ -0,0 +1,43 @@ +How to build it +=============== + +Configure build for the selected nSIM target. For instance, for +ARC700 nSIM target use the following defauilt configuration: +$ make snps_arc700_nsim_defconfig + +Optionally modify the configuration: +$ make menuconfig + +Build: +$ make + +How to use it +============= + +Resulting image can be booted using ARC nSIM instruction set simulator. +Free version of nSIM is available for download: +- https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi +It provides nsimdrv binary for Linux that can be used stand-alone +or with GDB. + +To run ARC700 image use the following command: +$ nsimdrv \ + -prop=nsim_mem-dev=uart0,kind=dwuart,base=0xf0000000,irq=24 \ + -prop=icache=32768,64,2,0 \ + -prop=dcache=32768,64,4,0 \ + -prop=nsim_isa_enable_timer_0=1 \ + -prop=nsim_isa_enable_timer_1=1 \ + -prop=nsim_isa_host_timer=1 \ + -prop=nsim_mmu=3 \ + -prop=nsim_isa_family=a700 \ + -prop=nsim_isa_atomic_option=1 \ + -prop=nsim_isa_dpfp=none \ + -prop=nsim_isa_shift_option=2 \ + -prop=nsim_isa_swap_option=1 \ + -prop=nsim_isa_bitscan_option=1 \ + -prop=nsim_isa_sat=1 \ + -prop=nsim_isa_mpy32=1 \ + -prop=isa_counters=1 \ + -prop=nsim_isa_pct_counters=8 \ + -prop=nsim_isa_pct_size=48 \ + output/images/vmlinux diff --git a/board/technexion/imx8mmpico/patches/arm-trusted-firmware/0001-fix-build-allow-lower-address-access-with-gcc-12.patch b/board/technexion/imx8mmpico/patches/arm-trusted-firmware/0001-fix-build-allow-lower-address-access-with-gcc-12.patch new file mode 100644 index 00000000000..90e808cc8e5 --- /dev/null +++ b/board/technexion/imx8mmpico/patches/arm-trusted-firmware/0001-fix-build-allow-lower-address-access-with-gcc-12.patch @@ -0,0 +1,62 @@ +From 078cbf942c86d77775a26d83fc87ca244de02d4c Mon Sep 17 00:00:00 2001 +From: Govindraj Raja +Date: Fri, 5 May 2023 09:09:36 -0500 +Subject: [PATCH] fix(build): allow lower address access with gcc-12 + +With gcc-12 any lower address access can trigger a warning/error +this would be useful in other parts of system but in TF-A +there are various reasons to access to the lower address ranges, +example using mmio_read_*/writes_* + +So setup to allow access to lower addresses while using gcc-12 + +Change-Id: Id1b4012b13bc6876d83b90a347fee12478a1921d +Signed-off-by: Govindraj Raja +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/dea23e245fb890c6c06eff7d1aed8fffa981fc05 +Signed-off-by: Julien Olivain +--- + Makefile | 4 ++++ + make_helpers/build_macros.mk | 12 ++++++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/Makefile b/Makefile +index dccf0121d..edd7f5886 100644 +--- a/Makefile ++++ b/Makefile +@@ -385,6 +385,10 @@ ifeq ($(findstring clang,$(notdir $(CC))),) + WARNINGS += -Wunused-but-set-variable -Wmaybe-uninitialized \ + -Wpacked-bitfield-compat -Wshift-overflow=2 \ + -Wlogical-op ++ ++# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 ++TF_CFLAGS += $(call cc_option, --param=min-pagesize=0) ++ + else + # using clang + WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ +diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk +index 12aaee684..3a54bf67c 100644 +--- a/make_helpers/build_macros.mk ++++ b/make_helpers/build_macros.mk +@@ -86,6 +86,18 @@ define assert_numerics + $(foreach num,$1,$(eval $(call assert_numeric,$(num)))) + endef + ++# Convenience function to check for a given linker option. An call to ++# $(call ld_option, --no-XYZ) will return --no-XYZ if supported by the linker ++define ld_option ++ $(shell if $(LD) $(1) -v >/dev/null 2>&1; then echo $(1); fi ) ++endef ++ ++# Convenience function to check for a given compiler option. A call to ++# $(call cc_option, --no-XYZ) will return --no-XYZ if supported by the compiler ++define cc_option ++ $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi ) ++endef ++ + # CREATE_SEQ is a recursive function to create sequence of numbers from 1 to + # $(2) and assign the sequence to $(1) + define CREATE_SEQ +-- +2.41.0 + diff --git a/board/technexion/imx8mmpico/patches/arm-trusted-firmware/0002-feat-build-add-support-for-new-binutils-versions.patch b/board/technexion/imx8mmpico/patches/arm-trusted-firmware/0002-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..d989bdb06be --- /dev/null +++ b/board/technexion/imx8mmpico/patches/arm-trusted-firmware/0002-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,62 @@ +From cc14748257e07ed5b2caf5194c4c333a8d09a1f4 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +Signed-off-by: Julien Olivain +--- + Makefile | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/Makefile b/Makefile +index edd7f5886..4c0e1473e 100644 +--- a/Makefile ++++ b/Makefile +@@ -418,6 +418,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -445,6 +447,12 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else + TF_LDFLAGS += --fatal-warnings -O1 ++ ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 ++ + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.41.0 + diff --git a/board/technexion/imx8mpico/patches/arm-trusted-firmware/0001-fix-build-allow-lower-address-access-with-gcc-12.patch b/board/technexion/imx8mpico/patches/arm-trusted-firmware/0001-fix-build-allow-lower-address-access-with-gcc-12.patch new file mode 100644 index 00000000000..90e808cc8e5 --- /dev/null +++ b/board/technexion/imx8mpico/patches/arm-trusted-firmware/0001-fix-build-allow-lower-address-access-with-gcc-12.patch @@ -0,0 +1,62 @@ +From 078cbf942c86d77775a26d83fc87ca244de02d4c Mon Sep 17 00:00:00 2001 +From: Govindraj Raja +Date: Fri, 5 May 2023 09:09:36 -0500 +Subject: [PATCH] fix(build): allow lower address access with gcc-12 + +With gcc-12 any lower address access can trigger a warning/error +this would be useful in other parts of system but in TF-A +there are various reasons to access to the lower address ranges, +example using mmio_read_*/writes_* + +So setup to allow access to lower addresses while using gcc-12 + +Change-Id: Id1b4012b13bc6876d83b90a347fee12478a1921d +Signed-off-by: Govindraj Raja +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/dea23e245fb890c6c06eff7d1aed8fffa981fc05 +Signed-off-by: Julien Olivain +--- + Makefile | 4 ++++ + make_helpers/build_macros.mk | 12 ++++++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/Makefile b/Makefile +index dccf0121d..edd7f5886 100644 +--- a/Makefile ++++ b/Makefile +@@ -385,6 +385,10 @@ ifeq ($(findstring clang,$(notdir $(CC))),) + WARNINGS += -Wunused-but-set-variable -Wmaybe-uninitialized \ + -Wpacked-bitfield-compat -Wshift-overflow=2 \ + -Wlogical-op ++ ++# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 ++TF_CFLAGS += $(call cc_option, --param=min-pagesize=0) ++ + else + # using clang + WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ +diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk +index 12aaee684..3a54bf67c 100644 +--- a/make_helpers/build_macros.mk ++++ b/make_helpers/build_macros.mk +@@ -86,6 +86,18 @@ define assert_numerics + $(foreach num,$1,$(eval $(call assert_numeric,$(num)))) + endef + ++# Convenience function to check for a given linker option. An call to ++# $(call ld_option, --no-XYZ) will return --no-XYZ if supported by the linker ++define ld_option ++ $(shell if $(LD) $(1) -v >/dev/null 2>&1; then echo $(1); fi ) ++endef ++ ++# Convenience function to check for a given compiler option. A call to ++# $(call cc_option, --no-XYZ) will return --no-XYZ if supported by the compiler ++define cc_option ++ $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi ) ++endef ++ + # CREATE_SEQ is a recursive function to create sequence of numbers from 1 to + # $(2) and assign the sequence to $(1) + define CREATE_SEQ +-- +2.41.0 + diff --git a/board/technexion/imx8mpico/patches/arm-trusted-firmware/0002-feat-build-add-support-for-new-binutils-versions.patch b/board/technexion/imx8mpico/patches/arm-trusted-firmware/0002-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..d989bdb06be --- /dev/null +++ b/board/technexion/imx8mpico/patches/arm-trusted-firmware/0002-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,62 @@ +From cc14748257e07ed5b2caf5194c4c333a8d09a1f4 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +Signed-off-by: Julien Olivain +--- + Makefile | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/Makefile b/Makefile +index edd7f5886..4c0e1473e 100644 +--- a/Makefile ++++ b/Makefile +@@ -418,6 +418,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -445,6 +447,12 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else + TF_LDFLAGS += --fatal-warnings -O1 ++ ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 ++ + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.41.0 + diff --git a/board/ti/am574x-idk/extlinux.conf b/board/ti/am574x-idk/extlinux.conf new file mode 100644 index 00000000000..29e0ecfa142 --- /dev/null +++ b/board/ti/am574x-idk/extlinux.conf @@ -0,0 +1,4 @@ +label am5749-idk-buildroot + kernel /zImage + fdtdir / + append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait diff --git a/board/ti/am574x-idk/genimage.cfg b/board/ti/am574x-idk/genimage.cfg new file mode 100644 index 00000000000..02a9ffe0131 --- /dev/null +++ b/board/ti/am574x-idk/genimage.cfg @@ -0,0 +1,30 @@ +image boot.vfat { + vfat { + files = { + "MLO", + "u-boot.img", + "zImage", + "am574x-idk.dtb", + "extlinux" + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 1G + } +} diff --git a/board/ti/am574x-idk/post-build.sh b/board/ti/am574x-idk/post-build.sh new file mode 100755 index 00000000000..5dcdb352eb3 --- /dev/null +++ b/board/ti/am574x-idk/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname "$0")" + +install -m 0644 -D "${BOARD_DIR}"/extlinux.conf "${BINARIES_DIR}"/extlinux/extlinux.conf diff --git a/board/ti/am574x-idk/readme.txt b/board/ti/am574x-idk/readme.txt new file mode 100644 index 00000000000..4869984cf1c --- /dev/null +++ b/board/ti/am574x-idk/readme.txt @@ -0,0 +1,28 @@ +Texas Instuments AM574x IDK Test and Development Board + +Description +=========== + +This configuration will build a basic image for the TI AM574x IDK +board: https://www.ti.com/tool/TMDSIDK574 + +How to build it +=============== + +Configure Buildroot: + + $ make am574x_idk_defconfig + +Compile everything and build the USB flash drive image: + + $ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX diff --git a/board/ti/am62x-sk/genimage.cfg b/board/ti/am62x-sk/genimage.cfg new file mode 100644 index 00000000000..26304fe98f9 --- /dev/null +++ b/board/ti/am62x-sk/genimage.cfg @@ -0,0 +1,27 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am62x-sk/readme.txt b/board/ti/am62x-sk/readme.txt new file mode 100644 index 00000000000..5af1c59c2d7 --- /dev/null +++ b/board/ti/am62x-sk/readme.txt @@ -0,0 +1,34 @@ +Texas Instuments SK-AM62 Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM62 +board: https://www.ti.com/tool/SK-AM62. + +How to Build +============ + +Select the default configuration for the target: + +$ make ti_am62x_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62 board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled UART to +communicate with the board. diff --git a/board/ti/am64x-sk/genimage.cfg b/board/ti/am64x-sk/genimage.cfg new file mode 100644 index 00000000000..26304fe98f9 --- /dev/null +++ b/board/ti/am64x-sk/genimage.cfg @@ -0,0 +1,27 @@ +image boot.vfat { + vfat { + files = { + "tiboot3.bin", + "tispl.bin", + "u-boot.img", + } + } + + size = 16M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/board/ti/am64x-sk/readme.txt b/board/ti/am64x-sk/readme.txt new file mode 100644 index 00000000000..5ddbb836ed7 --- /dev/null +++ b/board/ti/am64x-sk/readme.txt @@ -0,0 +1,34 @@ +Texas Instuments SK-AM64 Test and Development Board + +Description +=========== + +This configuration will build a complete image for the TI SK-AM64 +board: https://www.ti.com/tool/SK-AM64. + +How to Build +============ + +Select the default configuration for the target: + +$ make am64x_sk_defconfig + +Optional: modify the configuration: + +$ make menuconfig + +Build: + +$ make + +To copy the resultimg output image file to an SD card use dd: + +$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M + +How to Run +========== + +Insert the SD card into the SK-AM62 board, and power it up through the +USB Type-C connector. The system should come up. You can use a +micro-USB cable to connect to the connector labeled DEBUG CONSOLE to +communicate with the board. diff --git a/board/toradex/apalis-imx6/patches/linux-headers/linux-headers.hash b/board/toradex/apalis-imx6/patches/linux-headers/linux-headers.hash new file mode 120000 index 00000000000..5808d92afe8 --- /dev/null +++ b/board/toradex/apalis-imx6/patches/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../linux/linux.hash \ No newline at end of file diff --git a/board/toradex/apalis-imx6/patches/linux/linux.hash b/board/toradex/apalis-imx6/patches/linux/linux.hash new file mode 100644 index 00000000000..1138ec3b934 --- /dev/null +++ b/board/toradex/apalis-imx6/patches/linux/linux.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9c69a1c283db6ee8042cc6f013a159473f257e71751887312c7dd2902f01bec8 linux-d899927728beca8357a5b4120b690cb3c1d80844-br1.tar.gz diff --git a/board/toradex/apalis-imx6/patches/uboot/uboot.hash b/board/toradex/apalis-imx6/patches/uboot/uboot.hash new file mode 100644 index 00000000000..a81a7d8d4ab --- /dev/null +++ b/board/toradex/apalis-imx6/patches/uboot/uboot.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 9a540b08ccb7e8a0252f86d0bad5d676d0964725a7f2a06d798225c2a3024878 uboot-30a1208727729dae22cb42f9ba9ba17efe5e6f77-br1.tar.gz diff --git a/board/versal/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch b/board/versal/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 120000 index 00000000000..8ad996914b4 --- /dev/null +++ b/board/versal/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1 @@ +../../../../boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch \ No newline at end of file diff --git a/board/versal/patches/arm-trusted-firmware/0002-build-tools-avoid-unnecessary-link.patch b/board/versal/patches/arm-trusted-firmware/0002-build-tools-avoid-unnecessary-link.patch new file mode 120000 index 00000000000..fecdee54493 --- /dev/null +++ b/board/versal/patches/arm-trusted-firmware/0002-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1 @@ +../../../../boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch \ No newline at end of file diff --git a/board/versal/post-build.sh b/board/versal/post-build.sh index ff8f8a60719..faa75a0de33 100755 --- a/board/versal/post-build.sh +++ b/board/versal/post-build.sh @@ -3,14 +3,13 @@ # genimage will need to find the extlinux.conf # in the binaries directory -BOARD_DIR="$(dirname $0)" -CONSOLE=$2 -ROOT=$3 +CONSOLE="$2" +ROOT="$3" mkdir -p "${BINARIES_DIR}" cat <<-__HEADER_EOF > "${BINARIES_DIR}/extlinux.conf" label linux kernel /Image devicetree /system.dtb - append console=${CONSOLE} clk_ignore_unused root=/dev/${ROOT} rw rootwait + append console=${CONSOLE} root=/dev/${ROOT} rw rootwait __HEADER_EOF diff --git a/board/versal/post-image.sh b/board/versal/post-image.sh index f45f29a1559..22367d5028b 100755 --- a/board/versal/post-image.sh +++ b/board/versal/post-image.sh @@ -5,25 +5,24 @@ # devicetree listed in the config. FIRST_DT=$(sed -nr \ - -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/([-_/[:alnum:]\\.]*).*"$|\1|p' \ - ${BR2_CONFIG}) + -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(xilinx/)?([-_/[:alnum:]\\.]*).*"$|\2|p' \ + "${BR2_CONFIG}") -[ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/system.dtb +[ -z "${FIRST_DT}" ] || ln -fs "${FIRST_DT}.dtb" "${BINARIES_DIR}/system.dtb" -BOARD_DIR="$(dirname $0)" -BOARD_NAME=$4 +BOARD_DIR="$(dirname "$0")" mkdir -p "${BINARIES_DIR}" cat <<-__HEADER_EOF > "${BINARIES_DIR}/bootgen.bif" the_ROM_image: { image { - { type=bootimage, file=${BINARIES_DIR}/${BOARD_NAME}_vpl_gen_fixed.pdi } - { type=bootloader, file=${BINARIES_DIR}/${BOARD_NAME}_plm.elf } - { core=psm, file=${BINARIES_DIR}/${BOARD_NAME}_psmfw.elf } + { type=bootimage, file=${BINARIES_DIR}/vpl_gen_fixed.pdi } + { type=bootloader, file=${BINARIES_DIR}/plm.elf } + { core=psm, file=${BINARIES_DIR}/psmfw.elf } } image { - id = 0x1c000000, name=apu_subsystem + id = 0x1c000000, name=apu_subsystem { type=raw, load=0x00001000, file=${BINARIES_DIR}/u-boot.dtb } { core=a72-0, exception_level=el-3, trustzone, file=${BINARIES_DIR}/bl31.elf } { core=a72-0, exception_level=el-2, file=${BINARIES_DIR}/u-boot.elf } @@ -31,5 +30,5 @@ cat <<-__HEADER_EOF > "${BINARIES_DIR}/bootgen.bif" } __HEADER_EOF -${HOST_DIR}/bin/bootgen -arch versal -image ${BINARIES_DIR}/bootgen.bif -o ${BINARIES_DIR}/boot.bin -w on -support/scripts/genimage.sh -c ${BOARD_DIR}/genimage.cfg +"${HOST_DIR}/bin/bootgen" -arch versal -image "${BINARIES_DIR}/bootgen.bif" -o "${BINARIES_DIR}/boot.bin" -w on +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/versal/uboot.fragment b/board/versal/uboot.fragment deleted file mode 100644 index 6f71907379f..00000000000 --- a/board/versal/uboot.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_OF_SEPARATE=y diff --git a/board/visionfive2/genimage.cfg b/board/visionfive2/genimage.cfg new file mode 100644 index 00000000000..c221b49c7b7 --- /dev/null +++ b/board/visionfive2/genimage.cfg @@ -0,0 +1,21 @@ +# Minimal SD card image for the Starfive VisionFive2 board + +image sdcard.img { + hdimage { + } + + # u-boot is hard coded to look at 3rd partition + partition dummy1 { + size = 512 + } + + partition dummy2 { + size = 512 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + bootable = "true" + } +} diff --git a/board/visionfive2/overlay/boot/extlinux/extlinux.conf b/board/visionfive2/overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000000..6e2c5660d6c --- /dev/null +++ b/board/visionfive2/overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + devicetree /boot/jh7110-visionfive-v2.dtb + append console=ttyS0,115200 root=/dev/mmcblk1p3 diff --git a/board/visionfive2/readme.txt b/board/visionfive2/readme.txt new file mode 100644 index 00000000000..1924cbc12b7 --- /dev/null +++ b/board/visionfive2/readme.txt @@ -0,0 +1,32 @@ +Starfive VisionFive2 +==================== + +The VisionFive2 is a low-cost RISC-V 64-bit based platform, powered by a +Starfive JH7110 processor. + +https://doc-en.rvspace.org/Doc_Center/visionfive_2.html + +How to build +============ + +$ make visionfive2_defconfig +$ make + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Preparing the board +=================== + +Connect a TTL UART cable to pin 6 (GND), 8 (TX) and 10 (RX). + +Insert your SD card. + +Power-up the board using an USB-C cable. diff --git a/board/zynq/post-build.sh b/board/zynq/post-build.sh index 9fd8bbf2c8d..810fe998794 100755 --- a/board/zynq/post-build.sh +++ b/board/zynq/post-build.sh @@ -3,6 +3,6 @@ # genimage will need to find the extlinux.conf # in the binaries directory -BOARD_DIR="$(dirname $0)" +BOARD_DIR="$(dirname "$0")" -install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux.conf +install -m 0644 -D "${BOARD_DIR}/extlinux.conf" "${BINARIES_DIR}/extlinux.conf" diff --git a/board/zynq/post-image.sh b/board/zynq/post-image.sh index ac74286cf6d..192354b5bea 100755 --- a/board/zynq/post-image.sh +++ b/board/zynq/post-image.sh @@ -1,15 +1,15 @@ #!/bin/sh -# By default U-Boot loads DTB from a file named "devicetree.dtb", so +# By default U-Boot loads DTB from a file named "system.dtb", so # let's use a symlink with that name that points to the *first* # devicetree listed in the config. FIRST_DT=$(sed -n \ 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9\-]*\).*"$/\1/p' \ - ${BR2_CONFIG}) + "${BR2_CONFIG}") -[ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/system.dtb +[ -z "${FIRST_DT}" ] || ln -fs "${FIRST_DT}.dtb" "${BINARIES_DIR}/system.dtb" -BOARD_DIR="$(dirname $0)" +BOARD_DIR="$(dirname "$0")" -support/scripts/genimage.sh -c $BOARD_DIR/genimage.cfg +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/zynq/readme.txt b/board/zynq/readme.txt index 162734963a2..b2a4cefedd0 100644 --- a/board/zynq/readme.txt +++ b/board/zynq/readme.txt @@ -1,7 +1,8 @@ This is the Buildroot support for Zynq boards. Zynq boards are available from Xilinx and some third party vendors, but the build procedure is very similar. -Currently, three boards are natively supported by Buildroot: +Currently, four boards are natively supported by Buildroot: + - Xilinx ZC702 board (zynq_zc702_defconfig) - Xilinx ZC706 board (zynq_zc706_defconfig) - Avnet ZedBoard (zynq_zed_defconfig) - Avnet MicroZed (zynq_microzed_defconfig) @@ -9,6 +10,7 @@ Currently, three boards are natively supported by Buildroot: Steps to create a working system for a Zynq board: 1) Configuration (do one of the following) + make zynq_zc702_defconfig (ZC702) make zynq_zc706_defconfig (ZC706) make zynq_zed_defconfig (Zedboard) make zynq_microzed_defconfig (MicroZed) @@ -31,12 +33,11 @@ kernel_image=myimage modeboot=myboot myboot=... -Note: -The DTB for MicroZed is the same as the one for the Zedboard (zynq-zed.dtb), -and this is the recommended solution, see -https://forums.xilinx.com/t5/Embedded-Linux/Microzed-default-device-tree-dts/td-p/432856. - References: + - ZC702 information including schematics, reference designs, and manuals are + available from + https://www.xilinx.com/products/boards-and-kits/ek-z7-zc702-g.html + - ZC706 information including schematics, reference designs, and manuals are available from http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html. @@ -52,7 +53,7 @@ the upstream kernel and U-Boot, you simply need to change the following Buildroot options: - Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME) - - U-Boot board defconfig (BR2_TARGET_UBOOT_BOARD_DEFCONFIG) + - U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=") Custom ps7_init_gpl.c/h support: diff --git a/board/zynqmp/kria/kd240/kd240.sh b/board/zynqmp/kria/kd240/kd240.sh new file mode 100755 index 00000000000..2203536a529 --- /dev/null +++ b/board/zynqmp/kria/kd240/kd240.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# This is a temporary work around for generating kd240 u-boot.itb. +# The problem is there is no way to currently configure u-boot to apply +# the carrier board dtb overlay during build, so all kd240 carrier board +# drivers are missing. +# This will be removed when u-boot can build the kd240 u-boot.itb natively. + +UBOOT_DIR="$4" + +fdtoverlay -o "${UBOOT_DIR}/fit-dtb.blob" \ + -i "${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k24-revA.dtb" \ + "${UBOOT_DIR}/arch/arm/dts/zynqmp-sck-kd-g-revA.dtbo" + +"${UBOOT_DIR}/tools/mkimage" -E -f "${UBOOT_DIR}/u-boot.its" \ + -B 0x8 "${BINARIES_DIR}/u-boot.itb" diff --git a/board/zynqmp/kria/kd240/patches/uboot/0001-arm64-zynqmp-Fix-k24-psu_init_gpl.c-clocking.patch b/board/zynqmp/kria/kd240/patches/uboot/0001-arm64-zynqmp-Fix-k24-psu_init_gpl.c-clocking.patch new file mode 100644 index 00000000000..f088b90f526 --- /dev/null +++ b/board/zynqmp/kria/kd240/patches/uboot/0001-arm64-zynqmp-Fix-k24-psu_init_gpl.c-clocking.patch @@ -0,0 +1,401 @@ +From f8cba630d3fccd901164dec7bd9b60442bab8995 Mon Sep 17 00:00:00 2001 +From: Neal Frager +Date: Wed, 13 Dec 2023 12:53:29 +0000 +Subject: [PATCH] arm64: zynqmp: Fix k24 psu_init_gpl.c clocking + +This patch corrects the k24 som clocking configuration such that the serdes +clocks are correctly enabled and the usb0 is configured to use the psgtr +refclk2 for usb3 mode. + +This patch also corrects the configuration of mio pins mio76 and mio77 +which should be configured as gpio pins. + +Signed-off-by: Neal Frager +Upstream: https://patchwork.ozlabs.org/project/uboot/patch/20231213134007.2818069-1-neal.frager@amd.com/ +--- + .../zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c | 266 +++++++++++++----- + 1 file changed, 200 insertions(+), 66 deletions(-) + +diff --git a/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c +index 45102302dc..4c904c6c81 100644 +--- a/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c ++++ b/board/xilinx/zynqmp/zynqmp-sm-k24-revA/psu_init_gpl.c +@@ -72,6 +72,18 @@ static void dpll_prog(int div2, int ddr_pll_fbdiv, int d_lock_dly, + Xil_Out32(((0xFD1A0000U) + 0x0000002C), pll_ctrl_regval); + } + ++static int serdes_illcalib(u32 lane3_protocol, u32 lane3_rate, ++ u32 lane2_protocol, u32 lane2_rate, ++ u32 lane1_protocol, u32 lane1_rate, ++ u32 lane0_protocol, u32 lane0_rate) ++{ ++ Xil_Out32(0xFD409914, 0xF3); ++ Xil_Out32(0xFD409940, 0xF3); ++ Xil_Out32(0xFD409990, 0x20); ++ Xil_Out32(0xFD409924, 0x37); ++ return 1; ++} ++ + static unsigned long psu_pll_init_data(void) + { + psu_mask_write(0xFF5E0034, 0xFE7FEDEFU, 0x7E4B0C62U); +@@ -490,20 +502,20 @@ static unsigned long psu_mio_init_data(void) + psu_mask_write(0xFF18008C, 0x000000FEU, 0x00000000U); + psu_mask_write(0xFF180090, 0x000000FEU, 0x000000C0U); + psu_mask_write(0xFF180094, 0x000000FEU, 0x000000C0U); +- psu_mask_write(0xFF180098, 0x000000FEU, 0x00000000U); +- psu_mask_write(0xFF18009C, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800A0, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800A4, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800A8, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800AC, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800B0, 0x000000FEU, 0x00000000U); +- psu_mask_write(0xFF1800B4, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800B8, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800BC, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800C0, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800C4, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800C8, 0x000000FEU, 0x00000010U); +- psu_mask_write(0xFF1800CC, 0x000000FEU, 0x00000010U); ++ psu_mask_write(0xFF180098, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF18009C, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800A0, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800A4, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800A8, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800AC, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800B0, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800B4, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800B8, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800BC, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800C0, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800C4, 0x000000FEU, 0x00000002U); ++ psu_mask_write(0xFF1800C8, 0x000000FEU, 0x00000080U); ++ psu_mask_write(0xFF1800CC, 0x000000FEU, 0x00000080U); + psu_mask_write(0xFF1800D0, 0x000000FEU, 0x00000004U); + psu_mask_write(0xFF1800D4, 0x000000FEU, 0x00000004U); + psu_mask_write(0xFF1800D8, 0x000000FEU, 0x00000004U); +@@ -528,8 +540,8 @@ static unsigned long psu_mio_init_data(void) + psu_mask_write(0xFF180124, 0x000000FEU, 0x00000002U); + psu_mask_write(0xFF180128, 0x000000FEU, 0x00000002U); + psu_mask_write(0xFF18012C, 0x000000FEU, 0x00000002U); +- psu_mask_write(0xFF180130, 0x000000FEU, 0x000000C0U); +- psu_mask_write(0xFF180134, 0x000000FEU, 0x000000C0U); ++ psu_mask_write(0xFF180130, 0x000000FEU, 0x00000000U); ++ psu_mask_write(0xFF180134, 0x000000FEU, 0x00000000U); + psu_mask_write(0xFF180204, 0xFFFFFFFFU, 0x50000000U); + psu_mask_write(0xFF180208, 0xFFFFFFFFU, 0x00B02020U); + psu_mask_write(0xFF18020C, 0x00003FFFU, 0x00000FC0U); +@@ -539,18 +551,18 @@ static unsigned long psu_mio_init_data(void) + psu_mask_write(0xFF180144, 0x03FFFFFFU, 0x03FFFFFFU); + psu_mask_write(0xFF180148, 0x03FFFFFFU, 0x03FFFFFFU); + psu_mask_write(0xFF18014C, 0x03FFFFFFU, 0x03FFFFFFU); +- psu_mask_write(0xFF180154, 0x03FFFFFFU, 0x00080814U); ++ psu_mask_write(0xFF180154, 0x03FFFFFFU, 0x00FC0814U); + psu_mask_write(0xFF180158, 0x03FFFFFFU, 0x03FFFFFFU); + psu_mask_write(0xFF18015C, 0x03FFFFFFU, 0x00000000U); +- psu_mask_write(0xFF180160, 0x03FFFFFFU, 0x03FFFFFFU); +- psu_mask_write(0xFF180164, 0x03FFFFFFU, 0x03FFFFFFU); +- psu_mask_write(0xFF180168, 0x03FFFFFFU, 0x03F7F7EBU); +- psu_mask_write(0xFF180170, 0x03FFFFFFU, 0x00FC000BU); ++ psu_mask_write(0xFF180160, 0x0387FFFFU, 0x0387FFFFU); ++ psu_mask_write(0xFF180164, 0x03FFFFFFU, 0x03FFF87FU); ++ psu_mask_write(0xFF180168, 0x03FFFFFFU, 0x0303F7EBU); ++ psu_mask_write(0xFF180170, 0x03FFFFFFU, 0x0004400BU); + psu_mask_write(0xFF180174, 0x03FFFFFFU, 0x03FFFFFFU); + psu_mask_write(0xFF180178, 0x03FFFFFFU, 0x00000000U); +- psu_mask_write(0xFF18017C, 0x0357FFFFU, 0x0357FFFFU); +- psu_mask_write(0xFF180180, 0x03FFFFFFU, 0x0357FFFFU); +- psu_mask_write(0xFF180184, 0x03FFFFFFU, 0x0303FFF4U); ++ psu_mask_write(0xFF18017C, 0x03FFFFFFU, 0x03FFFFFFU); ++ psu_mask_write(0xFF180180, 0x03FFFFFFU, 0x03FFFFFFU); ++ psu_mask_write(0xFF180184, 0x03FFFFFFU, 0x03FBBFF4U); + psu_mask_write(0xFF180200, 0x0000000FU, 0x00000000U); + + return 1; +@@ -569,21 +581,16 @@ static unsigned long psu_peripherals_init_data(void) + psu_mask_write(0xFD1A0100, 0x0001807CU, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x001A0000U, 0x00000000U); + psu_mask_write(0xFF5E023C, 0x0093C018U, 0x00000000U); +- psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000000U); ++ psu_mask_write(0xFF5E0230, 0x00000002U, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x00000001U, 0x00000000U); + psu_mask_write(0xFF180390, 0x00000004U, 0x00000004U); + psu_mask_write(0xFF5E023C, 0x00000400U, 0x00000000U); +- psu_mask_write(0xFF5E0238, 0x00000040U, 0x00000000U); +- psu_mask_write(0xFF180310, 0x00008000U, 0x00000000U); +- psu_mask_write(0xFF180320, 0x33840000U, 0x02840000U); +- psu_mask_write(0xFF18031C, 0x7FFE0000U, 0x64500000U); +- psu_mask_write(0xFF180358, 0x00000008U, 0x00000008U); +- psu_mask_write(0xFF180324, 0x03C00000U, 0x00000000U); ++ psu_mask_write(0xFF5E0238, 0x00000080U, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x00000400U, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x00008000U, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x00000010U, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x00007800U, 0x00000000U); +- psu_mask_write(0xFF5E0238, 0x00000004U, 0x00000000U); ++ psu_mask_write(0xFF5E0238, 0x00000006U, 0x00000000U); + psu_mask_write(0xFF5E0238, 0x00040000U, 0x00000000U); + psu_mask_write(0xFF4B0024, 0x000000FFU, 0x000000FFU); + psu_mask_write(0xFFCA5000, 0x00001FFFU, 0x00000000U); +@@ -591,40 +598,26 @@ static unsigned long psu_peripherals_init_data(void) + psu_mask_write(0xFFA60040, 0x80000000U, 0x80000000U); + psu_mask_write(0xFF260020, 0xFFFFFFFFU, 0x05F5DD18U); + psu_mask_write(0xFF260000, 0x00000001U, 0x00000001U); +- psu_mask_write(0xFF5E0250, 0x00000F0FU, 0x00000202U); ++ psu_mask_write(0xFF0A0284, 0x03FFFFFFU, 0x01000000U); ++ psu_mask_write(0xFF0A0288, 0x03FFFFFFU, 0x01000000U); ++ psu_mask_write(0xFF0A0014, 0x03FF03FFU, 0x02FF0100U); + + mask_delay(1); +- psu_mask_write(0xFF5E0250, 0x00000F0FU, 0x00000002U); ++ psu_mask_write(0xFF0A0014, 0x03FF03FFU, 0x02FF0000U); + + mask_delay(5); +- psu_mask_write(0xFF5E0250, 0x00000F0FU, 0x00000202U); ++ psu_mask_write(0xFF0A0014, 0x03FF03FFU, 0x02FF0100U); + + return 1; + } + + static unsigned long psu_serdes_init_data(void) + { +- psu_mask_write(0xFD410000, 0x0000001FU, 0x00000009U); +- psu_mask_write(0xFD410004, 0x0000001FU, 0x00000009U); + psu_mask_write(0xFD410008, 0x0000001FU, 0x00000008U); +- psu_mask_write(0xFD402860, 0x00000080U, 0x00000080U); +- psu_mask_write(0xFD402864, 0x00000081U, 0x00000001U); +- psu_mask_write(0xFD402868, 0x00000082U, 0x00000002U); ++ psu_mask_write(0xFD402868, 0x00000080U, 0x00000080U); + psu_mask_write(0xFD40A094, 0x00000010U, 0x00000010U); + psu_mask_write(0xFD40A368, 0x000000FFU, 0x00000038U); + psu_mask_write(0xFD40A36C, 0x00000007U, 0x00000003U); +- psu_mask_write(0xFD402368, 0x000000FFU, 0x00000058U); +- psu_mask_write(0xFD40236C, 0x00000007U, 0x00000003U); +- psu_mask_write(0xFD406368, 0x000000FFU, 0x00000058U); +- psu_mask_write(0xFD40636C, 0x00000007U, 0x00000003U); +- psu_mask_write(0xFD402370, 0x000000FFU, 0x0000007CU); +- psu_mask_write(0xFD402374, 0x000000FFU, 0x00000033U); +- psu_mask_write(0xFD402378, 0x000000FFU, 0x00000002U); +- psu_mask_write(0xFD40237C, 0x00000033U, 0x00000030U); +- psu_mask_write(0xFD406370, 0x000000FFU, 0x0000007CU); +- psu_mask_write(0xFD406374, 0x000000FFU, 0x00000033U); +- psu_mask_write(0xFD406378, 0x000000FFU, 0x00000002U); +- psu_mask_write(0xFD40637C, 0x00000033U, 0x00000030U); + psu_mask_write(0xFD40A370, 0x000000FFU, 0x000000F4U); + psu_mask_write(0xFD40A374, 0x000000FFU, 0x00000031U); + psu_mask_write(0xFD40A378, 0x000000FFU, 0x00000002U); +@@ -678,18 +671,8 @@ static unsigned long psu_serdes_init_data(void) + psu_mask_write(0xFD409978, 0x00000010U, 0x00000010U); + psu_mask_write(0xFD40D978, 0x00000010U, 0x00000010U); + +- serdes_illcalib(0, 0, 3, 0, 4, 0, 4, 0); +- psu_mask_write(0xFD410010, 0x00000077U, 0x00000044U); ++ serdes_illcalib(0, 0, 3, 0, 0, 0, 0, 0); + psu_mask_write(0xFD410014, 0x00000007U, 0x00000003U); +- psu_mask_write(0xFD400CB4, 0x00000037U, 0x00000037U); +- psu_mask_write(0xFD404CB4, 0x00000037U, 0x00000037U); +- psu_mask_write(0xFD4001D8, 0x00000001U, 0x00000001U); +- psu_mask_write(0xFD4041D8, 0x00000001U, 0x00000001U); +- psu_mask_write(0xFD404CC0, 0x0000001FU, 0x00000000U); +- psu_mask_write(0xFD400CC0, 0x0000001FU, 0x00000000U); +- psu_mask_write(0xFD404048, 0x000000FFU, 0x00000000U); +- psu_mask_write(0xFD400048, 0x000000FFU, 0x00000000U); +- + return 1; + } + +@@ -699,7 +682,7 @@ static unsigned long psu_resetout_init_data(void) + psu_mask_write(0xFF9D0080, 0x00000001U, 0x00000001U); + psu_mask_write(0xFF9D007C, 0x00000001U, 0x00000000U); + psu_mask_write(0xFF5E023C, 0x00000140U, 0x00000000U); +- psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000000U); ++ psu_mask_write(0xFF5E0230, 0x00000002U, 0x00000000U); + psu_mask_write(0xFD1A0100, 0x00010000U, 0x00000000U); + psu_mask_write(0xFD4A0200, 0x00000002U, 0x00000000U); + psu_mask_write(0xFD4A0238, 0x0000000FU, 0x00000000U); +@@ -708,7 +691,6 @@ static unsigned long psu_resetout_init_data(void) + psu_mask_write(0xFE20C11C, 0x00000600U, 0x00000600U); + psu_mask_write(0xFE20C12C, 0x00004000U, 0x00004000U); + psu_mask_write(0xFD480064, 0x00000200U, 0x00000200U); +- mask_poll(0xFD4063E4, 0x00000010U); + mask_poll(0xFD40A3E4, 0x00000010U); + + return 1; +@@ -717,7 +699,7 @@ static unsigned long psu_resetout_init_data(void) + static unsigned long psu_resetin_init_data(void) + { + psu_mask_write(0xFF5E023C, 0x00000540U, 0x00000540U); +- psu_mask_write(0xFF5E0230, 0x00000008U, 0x00000008U); ++ psu_mask_write(0xFF5E0230, 0x00000002U, 0x00000002U); + psu_mask_write(0xFD4A0238, 0x0000000FU, 0x0000000AU); + psu_mask_write(0xFD4A0200, 0x00000002U, 0x00000002U); + psu_mask_write(0xFD1A0100, 0x00010000U, 0x00010000U); +@@ -1034,6 +1016,157 @@ static unsigned long psu_ddr_phybringup_data(void) + return 1; + } + ++static int serdes_enb_coarse_saturation(void) ++{ ++ Xil_Out32(0xFD402094, 0x00000010); ++ Xil_Out32(0xFD406094, 0x00000010); ++ Xil_Out32(0xFD40A094, 0x00000010); ++ Xil_Out32(0xFD40E094, 0x00000010); ++ return 1; ++} ++ ++static int serdes_fixcal_code(void) ++{ ++ int maskstatus = 1; ++ unsigned int rdata = 0; ++ unsigned int match_pmos_code[23]; ++ unsigned int match_nmos_code[23]; ++ unsigned int match_ical_code[7]; ++ unsigned int match_rcal_code[7]; ++ unsigned int p_code = 0; ++ unsigned int n_code = 0; ++ unsigned int i_code = 0; ++ unsigned int r_code = 0; ++ unsigned int repeat_count = 0; ++ unsigned int L3_TM_CALIB_DIG20 = 0; ++ unsigned int L3_TM_CALIB_DIG19 = 0; ++ unsigned int L3_TM_CALIB_DIG18 = 0; ++ unsigned int L3_TM_CALIB_DIG16 = 0; ++ unsigned int L3_TM_CALIB_DIG15 = 0; ++ unsigned int L3_TM_CALIB_DIG14 = 0; ++ int i = 0; ++ ++ rdata = Xil_In32(0xFD40289C); ++ rdata = rdata & ~0x03; ++ rdata = rdata | 0x1; ++ Xil_Out32(0xFD40289C, rdata); ++ int count = 0; ++ do { ++ if (count == 1100000) ++ break; ++ rdata = Xil_In32(0xFD402B1C); ++ count++; ++ } while ((rdata & 0x0000000E) != 0x0000000E); ++ ++ for (i = 0; i < 23; i++) { ++ match_pmos_code[i] = 0; ++ match_nmos_code[i] = 0; ++ } ++ for (i = 0; i < 7; i++) { ++ match_ical_code[i] = 0; ++ match_rcal_code[i] = 0; ++ } ++ ++ do { ++ Xil_Out32(0xFD410010, 0x00000000); ++ Xil_Out32(0xFD410014, 0x00000000); ++ ++ Xil_Out32(0xFD410010, 0x00000001); ++ Xil_Out32(0xFD410014, 0x00000000); ++ ++ maskstatus = mask_poll(0xFD40EF14, 0x2); ++ if (maskstatus == 0) { ++ xil_printf("#SERDES initialization timed out\n\r"); ++ return maskstatus; ++ } ++ ++ p_code = mask_read(0xFD40EF18, 0xFFFFFFFF); ++ n_code = mask_read(0xFD40EF1C, 0xFFFFFFFF); ++ ; ++ i_code = mask_read(0xFD40EF24, 0xFFFFFFFF); ++ r_code = mask_read(0xFD40EF28, 0xFFFFFFFF); ++ ; ++ ++ if (p_code >= 0x26 && p_code <= 0x3C) ++ match_pmos_code[p_code - 0x26] += 1; ++ ++ if (n_code >= 0x26 && n_code <= 0x3C) ++ match_nmos_code[n_code - 0x26] += 1; ++ ++ if (i_code >= 0xC && i_code <= 0x12) ++ match_ical_code[i_code - 0xC] += 1; ++ ++ if (r_code >= 0x6 && r_code <= 0xC) ++ match_rcal_code[r_code - 0x6] += 1; ++ ++ } while (repeat_count++ < 10); ++ ++ for (i = 0; i < 23; i++) { ++ if (match_pmos_code[i] >= match_pmos_code[0]) { ++ match_pmos_code[0] = match_pmos_code[i]; ++ p_code = 0x26 + i; ++ } ++ if (match_nmos_code[i] >= match_nmos_code[0]) { ++ match_nmos_code[0] = match_nmos_code[i]; ++ n_code = 0x26 + i; ++ } ++ } ++ ++ for (i = 0; i < 7; i++) { ++ if (match_ical_code[i] >= match_ical_code[0]) { ++ match_ical_code[0] = match_ical_code[i]; ++ i_code = 0xC + i; ++ } ++ if (match_rcal_code[i] >= match_rcal_code[0]) { ++ match_rcal_code[0] = match_rcal_code[i]; ++ r_code = 0x6 + i; ++ } ++ } ++ ++ L3_TM_CALIB_DIG20 = mask_read(0xFD40EC50, 0xFFFFFFF0); ++ L3_TM_CALIB_DIG20 = L3_TM_CALIB_DIG20 | 0x8 | ((p_code >> 2) & 0x7); ++ ++ L3_TM_CALIB_DIG19 = mask_read(0xFD40EC4C, 0xFFFFFF18); ++ L3_TM_CALIB_DIG19 = L3_TM_CALIB_DIG19 | ((p_code & 0x3) << 6) ++ | 0x20 | 0x4 | ((n_code >> 3) & 0x3); ++ ++ L3_TM_CALIB_DIG18 = mask_read(0xFD40EC48, 0xFFFFFF0F); ++ L3_TM_CALIB_DIG18 = L3_TM_CALIB_DIG18 | ((n_code & 0x7) << 5) | 0x10; ++ ++ L3_TM_CALIB_DIG16 = mask_read(0xFD40EC40, 0xFFFFFFF8); ++ L3_TM_CALIB_DIG16 = L3_TM_CALIB_DIG16 | ((r_code >> 1) & 0x7); ++ ++ L3_TM_CALIB_DIG15 = mask_read(0xFD40EC3C, 0xFFFFFF30); ++ L3_TM_CALIB_DIG15 = L3_TM_CALIB_DIG15 | ((r_code & 0x1) << 7) ++ | 0x40 | 0x8 | ((i_code >> 1) & 0x7); ++ ++ L3_TM_CALIB_DIG14 = mask_read(0xFD40EC38, 0xFFFFFF3F); ++ L3_TM_CALIB_DIG14 = L3_TM_CALIB_DIG14 | ((i_code & 0x1) << 7) | 0x40; ++ ++ Xil_Out32(0xFD40EC50, L3_TM_CALIB_DIG20); ++ Xil_Out32(0xFD40EC4C, L3_TM_CALIB_DIG19); ++ Xil_Out32(0xFD40EC48, L3_TM_CALIB_DIG18); ++ Xil_Out32(0xFD40EC40, L3_TM_CALIB_DIG16); ++ Xil_Out32(0xFD40EC3C, L3_TM_CALIB_DIG15); ++ Xil_Out32(0xFD40EC38, L3_TM_CALIB_DIG14); ++ return maskstatus; ++} ++ ++static int init_serdes(void) ++{ ++ int status = 1; ++ ++ status &= psu_resetin_init_data(); ++ ++ status &= serdes_fixcal_code(); ++ status &= serdes_enb_coarse_saturation(); ++ ++ status &= psu_serdes_init_data(); ++ status &= psu_resetout_init_data(); ++ ++ return status; ++} ++ + static void init_peripheral(void) + { + psu_mask_write(0xFD5F0018, 0x8000001FU, 0x8000001FU); +@@ -1050,6 +1183,7 @@ int psu_init(void) + status &= psu_ddr_init_data(); + status &= psu_ddr_phybringup_data(); + status &= psu_peripherals_init_data(); ++ status &= init_serdes(); + init_peripheral(); + + status &= psu_afi_config(); +-- +2.25.1 + diff --git a/board/zynqmp/kria/kd240/patches/uboot/0002-arm64-zynqmp-Add-output-enable-pins-to-SOMs.patch b/board/zynqmp/kria/kd240/patches/uboot/0002-arm64-zynqmp-Add-output-enable-pins-to-SOMs.patch new file mode 100644 index 00000000000..5566dae8916 --- /dev/null +++ b/board/zynqmp/kria/kd240/patches/uboot/0002-arm64-zynqmp-Add-output-enable-pins-to-SOMs.patch @@ -0,0 +1,79 @@ +From bf35bdac2adfa7c65c2992d8dedcc24585561732 Mon Sep 17 00:00:00 2001 +From: Neal Frager +Date: Wed, 13 Dec 2023 13:11:42 +0000 +Subject: [PATCH] arm64: zynqmp: Add output-enable pins to SOMs + +Now that the zynqmp pinctrl driver supports the tri-state registers, make +sure that the pins requiring output-enable are configured appropriately for +SOMs. + +Without it, all tristate setting for MIOs, which are not related to SOM +itself, are using default configuration which is not correct setting. +It means SDs, USBs, ethernet, etc. are not working properly. + +In past it was fixed through calling tristate configuration via bootcmd: +usb_init=mw 0xFF180208 2020 +kv260_gem3=mw 0xFF18020C 0xFC0 && gpio toggle gpio@ff0a000038 && \ + gpio toggle gpio@ff0a000038 + +Signed-off-by: Neal Frager +Upstream: https://patchwork.ozlabs.org/project/uboot/patch/20231213134052.2818879-1-neal.frager@amd.com/ +--- + arch/arm/dts/zynqmp-sck-kd-g-revA.dts | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/arch/arm/dts/zynqmp-sck-kd-g-revA.dts b/arch/arm/dts/zynqmp-sck-kd-g-revA.dts +index 56f3128528..12865392a3 100644 +--- a/arch/arm/dts/zynqmp-sck-kd-g-revA.dts ++++ b/arch/arm/dts/zynqmp-sck-kd-g-revA.dts +@@ -175,6 +175,7 @@ + conf-tx { + pins = "MIO36"; + bias-disable; ++ output-enable; + }; + + mux { +@@ -226,6 +227,7 @@ + conf-bootstrap { + pins = "MIO44", "MIO49"; + bias-disable; ++ output-enable; + low-power-disable; + }; + +@@ -233,6 +235,7 @@ + pins = "MIO38", "MIO39", "MIO40", + "MIO41", "MIO42", "MIO43"; + bias-disable; ++ output-enable; + low-power-enable; + }; + +@@ -241,6 +244,7 @@ + slew-rate = ; + power-source = ; + bias-disable; ++ output-enable; + }; + + mux-mdio { +@@ -271,6 +275,7 @@ + pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59", + "MIO60", "MIO61", "MIO62", "MIO63"; + bias-disable; ++ output-enable; + drive-strength = <4>; + slew-rate = ; + }; +@@ -298,6 +303,7 @@ + pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71", + "MIO72", "MIO73", "MIO74", "MIO75"; + bias-disable; ++ output-enable; + drive-strength = <4>; + slew-rate = ; + }; +-- +2.25.1 + diff --git a/board/zynqmp/kria/kd240/pm_cfg_obj.c b/board/zynqmp/kria/kd240/pm_cfg_obj.c new file mode 100644 index 00000000000..13061ddcb33 --- /dev/null +++ b/board/zynqmp/kria/kd240/pm_cfg_obj.c @@ -0,0 +1,494 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 35, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + + /* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 10, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif diff --git a/board/zynqmp/kria/kr260/kr260.sh b/board/zynqmp/kria/kr260/kr260.sh new file mode 100755 index 00000000000..ac49fa5ee4e --- /dev/null +++ b/board/zynqmp/kria/kr260/kr260.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# This is a temporary work around for generating kr260 u-boot.itb. +# The problem is there is no way to currently configure u-boot to apply +# the carrier board dtb overlay during build, so all kr260 carrier board +# drivers are missing. +# This will be removed when u-boot can build the kr260 u-boot.itb natively. + +UBOOT_DIR="$4" + +fdtoverlay -o "${UBOOT_DIR}/fit-dtb.blob" \ + -i "${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k26-revA.dtb" \ + "${UBOOT_DIR}/arch/arm/dts/zynqmp-sck-kr-g-revB.dtbo" + +"${UBOOT_DIR}/tools/mkimage" -E -f "${UBOOT_DIR}/u-boot.its" \ + -B 0x8 "${BINARIES_DIR}/u-boot.itb" diff --git a/board/zynqmp/kria/kr260/pm_cfg_obj.c b/board/zynqmp/kria/kr260/pm_cfg_obj.c new file mode 100644 index 00000000000..9692a30d370 --- /dev/null +++ b/board/zynqmp/kria/kr260/pm_cfg_obj.c @@ -0,0 +1,496 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 35, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SPI_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK| PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + +/* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 10, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + PM_CONFIG_GPO1_MIO_PIN_35_MAP | + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif + diff --git a/board/zynqmp/kria/kv260/kv260.sh b/board/zynqmp/kria/kv260/kv260.sh index e891852009e..dc92c51d43e 100755 --- a/board/zynqmp/kria/kv260/kv260.sh +++ b/board/zynqmp/kria/kv260/kv260.sh @@ -1,12 +1,16 @@ #!/bin/sh # This is a temporary work around for generating kv260 u-boot.itb. -# The problem is there is no way to currently configure u-boot to apply -# the carrier board dtb overlay during build, so all kv260 carrier board +# The problem is there is no way to currently configure u-boot to apply +# the carrier board dtb overlay during build, so all kv260 carrier board # drivers are missing. # This will be removed when u-boot can build the kv260 u-boot.itb natively. -UBOOT_DIR=$4 +UBOOT_DIR="$4" -fdtoverlay -o ${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k26-revA.dtb -i ${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k26-revA.dtb ${UBOOT_DIR}/arch/arm/dts/zynqmp-sck-kv-g-revB.dtbo -${UBOOT_DIR}/tools/mkimage -E -f ${UBOOT_DIR}/u-boot.its -B 0x8 ${BINARIES_DIR}/u-boot.itb +fdtoverlay -o "${UBOOT_DIR}/fit-dtb.blob" \ + -i "${UBOOT_DIR}/arch/arm/dts/zynqmp-smk-k26-revA.dtb" \ + "${UBOOT_DIR}/arch/arm/dts/zynqmp-sck-kv-g-revB.dtbo" + +"${UBOOT_DIR}/tools/mkimage" -E -f "${UBOOT_DIR}/u-boot.its" \ + -B 0x8 "${BINARIES_DIR}/u-boot.itb" diff --git a/board/zynqmp/kria/kv260/pm_cfg_obj.c b/board/zynqmp/kria/kv260/pm_cfg_obj.c index 019df6e2371..fc6c4024c63 100644 --- a/board/zynqmp/kria/kv260/pm_cfg_obj.c +++ b/board/zynqmp/kria/kv260/pm_cfg_obj.c @@ -30,6 +30,9 @@ #define SUSPEND_TIMEOUT 0xFFFFFFFFU +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + #define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 #define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 #define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 @@ -51,7 +54,7 @@ __root const u32 XPm_ConfigObject[] = /* HEADER */ 2, /* Number of remaining words in the header */ 8, /* Number of sections included in config object */ - 1U, /* Type of config object as base */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ /**********************************************************************/ /* MASTER SECTION */ PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ @@ -81,7 +84,7 @@ __root const u32 XPm_ConfigObject[] = PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ - 49, /* Number of slaves */ + 34, /* Number of slaves */ NODE_OCM_BANK_0, PM_SLAVE_FLAG_IS_SHAREABLE, @@ -131,10 +134,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_USB_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_TTC_0, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -151,54 +150,22 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SATA, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_2, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_ETH_3, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_UART_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_UART_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SPI_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_SPI_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_I2C_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_I2C_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SD_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_SD_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -215,10 +182,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_NAND, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_QSPI, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -227,14 +190,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_CAN_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_CAN_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_EXTERN, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -259,22 +214,10 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_PCIE, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_PCAP, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_RTC, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_VCU, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_PL, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -545,8 +488,6 @@ __root const u32 XPm_ConfigObject[] = /**********************************************************************/ /* GPO SECTION */ PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ - PM_CONFIG_GPO1_BIT_2_MASK | - PM_CONFIG_GPO1_MIO_PIN_34_MAP | PM_CONFIG_GPO1_MIO_PIN_35_MAP | 0, /* State of GPO pins */ }; diff --git a/board/zynqmp/kria/readme.txt b/board/zynqmp/kria/readme.txt index bea1430482a..96009804b30 100644 --- a/board/zynqmp/kria/readme.txt +++ b/board/zynqmp/kria/readme.txt @@ -2,21 +2,29 @@ Xilinx Kria SOM Starter Kits - ZynqMP SoC ************************************************** -This document describes the Buildroot support for the Kria -KV260 starter kit by Xilinx, based on Kria SOM including the +This document describes the Buildroot support for the Kria KD240, +KR260 and KV260 starter kits by Xilinx, based on Kria SOM including the Zynq UltraScale+ MPSoC (aka ZynqMP). It has been tested with -the KV260 production board. +the KD240, KR260 and KV260 production boards. -Evaluation board features can be found here with the link below. +Evaluation board features can be found here with the links below. + +KD240: +https://www.xilinx.com/products/som/kria/kd240-drives-starter-kit.html + +KR260: +https://www.xilinx.com/products/som/kria/kr260-robotics-starter-kit.html KV260: -https://www.xilinx.com/products/boards-and-kits/kv260.html +https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit.html How to build it =============== -Configure Buildroot: +Configure Buildroot: (use the command for the specific board) + $ make zynqmp_kria_kd240_defconfig + $ make zynqmp_kria_kr260_defconfig $ make zynqmp_kria_kv260_defconfig Compile everything and build the rootfs image: @@ -65,7 +73,7 @@ in that the boot.bin and u-boot.itb files need to be flashed into the QSPI boot flash such that U-Boot can then load all of the remaining images from the SD card. -In addition, the KV260 Starter Kit QSPI comes pre-flashed with +In addition, the Kria Starter Kits QSPI comes pre-flashed with a utility designed to make updating the QSPI flash memory easier. @@ -76,8 +84,9 @@ https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM#Bo Additionally, it is possible to use u-boot for updating the QSPI with new boot.bin and u-boot.itb images with the u-boot -commands below: +commands below. +KV260 Flashing Instructions: Flashing u-boot.itb: $ sf probe $ fatload mmc 1 0x1000000 u-boot.itb @@ -90,5 +99,18 @@ Flashing boot.bin: $ sf erase 0x200000 +$filesize $ sf write 0x1000000 0x200000 $filesize +KD240 / KR260 Flashing Instructions: +Flashing u-boot.itb: + $ sf probe + $ fatload usb 0 0x1000000 u-boot.itb + $ sf erase 0xf80000 +$filesize + $ sf write 0x1000000 0xf80000 $filesize + +Flashing boot.bin: + $ sf probe + $ fatload usb 0 0x1000000 boot.bin + $ sf erase 0x200000 +$filesize + $ sf write 0x1000000 0x200000 $filesize + It is possible to boot the Buildroot generated SD card image without updating the QSPI boot.bin image, so this is an optional step. diff --git a/board/zynqmp/kria/uboot.fragment b/board/zynqmp/kria/uboot.fragment index 9e32edfb36c..d8efc230a07 100644 --- a/board/zynqmp/kria/uboot.fragment +++ b/board/zynqmp/kria/uboot.fragment @@ -1,4 +1,5 @@ CONFIG_SYS_SPI_U_BOOT_OFFS=0xF80000 +CONFIG_MULTI_DTB_FIT=y CONFIG_DTB_RESELECT=y CONFIG_DMA=y CONFIG_XILINX_DPDMA=y @@ -6,9 +7,5 @@ CONFIG_PHY=y CONFIG_PHY_XILINX_ZYNQMP=y CONFIG_PINCTRL=y CONFIG_PINCONF=y -CONFIG_POWER_DOMAIN=y -CONFIG_ZYNQMP_POWER_DOMAIN=y -CONFIG_DM_RESET=y -CONFIG_RESET_ZYNQMP=y CONFIG_VIDEO_ZYNQMP_DPSUB=y CONFIG_SF_DEFAULT_SPEED=40000000 diff --git a/board/zynqmp/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch b/board/zynqmp/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 120000 index 00000000000..8ad996914b4 --- /dev/null +++ b/board/zynqmp/patches/arm-trusted-firmware/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1 @@ +../../../../boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch \ No newline at end of file diff --git a/board/zynqmp/patches/arm-trusted-firmware/0002-build-tools-avoid-unnecessary-link.patch b/board/zynqmp/patches/arm-trusted-firmware/0002-build-tools-avoid-unnecessary-link.patch new file mode 120000 index 00000000000..fecdee54493 --- /dev/null +++ b/board/zynqmp/patches/arm-trusted-firmware/0002-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1 @@ +../../../../boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch \ No newline at end of file diff --git a/board/zynqmp/post-build.sh b/board/zynqmp/post-build.sh index 0713bd1b05b..747991e3f1d 100755 --- a/board/zynqmp/post-build.sh +++ b/board/zynqmp/post-build.sh @@ -3,14 +3,13 @@ # genimage will need to find the extlinux.conf # in the binaries directory -BOARD_DIR="$(dirname $0)" -CONSOLE=$2 -ROOT=$3 +CONSOLE="$2" +ROOT="$3" mkdir -p "${BINARIES_DIR}" cat <<-__HEADER_EOF > "${BINARIES_DIR}/extlinux.conf" label linux kernel /Image devicetree /system.dtb - append console=${CONSOLE} root=/dev/${ROOT} rw rootwait + append console="${CONSOLE}" root="/dev/${ROOT}" rw rootwait __HEADER_EOF diff --git a/board/zynqmp/post-image.sh b/board/zynqmp/post-image.sh index ed6dbe188c0..f44b66342d4 100755 --- a/board/zynqmp/post-image.sh +++ b/board/zynqmp/post-image.sh @@ -5,11 +5,11 @@ # devicetree listed in the config. FIRST_DT=$(sed -nr \ - -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/([-_/[:alnum:]\\.]*).*"$|\1|p' \ - ${BR2_CONFIG}) + -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(xilinx/)?([-_/[:alnum:]\\.]*).*"$|\2|p' \ + "${BR2_CONFIG}") -[ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/system.dtb +[ -z "${FIRST_DT}" ] || ln -fs "${FIRST_DT}.dtb" "${BINARIES_DIR}/system.dtb" -BOARD_DIR="$(dirname $0)" +BOARD_DIR="$(dirname "$0")" -support/scripts/genimage.sh -c $BOARD_DIR/genimage.cfg +support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg" diff --git a/board/zynqmp/readme.txt b/board/zynqmp/readme.txt index dcde422091b..3a8a9b03ac2 100644 --- a/board/zynqmp/readme.txt +++ b/board/zynqmp/readme.txt @@ -1,9 +1,9 @@ -****************************************** -Xilinx ZCU102 / ZCU106 boards - ZynqMP SoC -****************************************** +*************************************************** +Xilinx ZCU102 / ZCU104 / ZCU106 boards - ZynqMP SoC +*************************************************** -This document describes the Buildroot support for the ZCU102 and -ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka +This document describes the Buildroot support for the ZCU102, ZCU104 +and ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka ZynqMP). It has been tested with the ZCU102 and ZCU106 production boards. @@ -12,6 +12,9 @@ Evaluation board features can be found here with the links below. ZCU102: https://www.xilinx.com/products/boards-and-kits/zcu102.html +ZCU104: +https://www.xilinx.com/products/boards-and-kits/zcu104.html + ZCU106: https://www.xilinx.com/products/boards-and-kits/zcu106.html @@ -19,8 +22,10 @@ https://www.xilinx.com/products/boards-and-kits/zcu106.html How to build it =============== -Configure Buildroot: +Configure Buildroot: (use the command for the specific board) + $ make zynqmp_zcu102_defconfig + $ make zynqmp_zcu104_defconfig $ make zynqmp_zcu106_defconfig Compile everything and build the rootfs image: diff --git a/board/zynqmp/zcu102/pm_cfg_obj.c b/board/zynqmp/zcu102/pm_cfg_obj.c index 68557c4cb43..04bfb16e35c 100644 --- a/board/zynqmp/zcu102/pm_cfg_obj.c +++ b/board/zynqmp/zcu102/pm_cfg_obj.c @@ -30,6 +30,9 @@ #define SUSPEND_TIMEOUT 0xFFFFFFFFU +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + #define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 #define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 #define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 @@ -51,7 +54,7 @@ __root const u32 XPm_ConfigObject[] = /* HEADER */ 2, /* Number of remaining words in the header */ 8, /* Number of sections included in config object */ - 1U, /* Type of config object as base */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ /**********************************************************************/ /* MASTER SECTION */ PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ @@ -81,7 +84,7 @@ __root const u32 XPm_ConfigObject[] = PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ - 49, /* Number of slaves */ + 38, /* Number of slaves */ NODE_OCM_BANK_0, PM_SLAVE_FLAG_IS_SHAREABLE, @@ -131,10 +134,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_USB_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_TTC_0, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -155,18 +154,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_ETH_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_2, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_ETH_3, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -179,14 +166,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SPI_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_SPI_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_I2C_0, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -195,10 +174,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SD_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_SD_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -215,10 +190,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_NAND, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_QSPI, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -227,10 +198,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_CAN_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_CAN_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -263,18 +230,10 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_PCAP, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_RTC, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_VCU, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_PL, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ diff --git a/board/zynqmp/zcu104/pm_cfg_obj.c b/board/zynqmp/zcu104/pm_cfg_obj.c new file mode 100644 index 00000000000..bd0b59cfc29 --- /dev/null +++ b/board/zynqmp/zcu104/pm_cfg_obj.c @@ -0,0 +1,503 @@ +/****************************************************************************** +* Copyright (c) 2017 - 2021 Xilinx, Inc. All rights reserved. +* SPDX-License-Identifier: MIT +******************************************************************************/ + +#include "xil_types.h" +#include "pm_defs.h" + +#define PM_CONFIG_MASTER_SECTION_ID 0x101U +#define PM_CONFIG_SLAVE_SECTION_ID 0x102U +#define PM_CONFIG_PREALLOC_SECTION_ID 0x103U +#define PM_CONFIG_POWER_SECTION_ID 0x104U +#define PM_CONFIG_RESET_SECTION_ID 0x105U +#define PM_CONFIG_SHUTDOWN_SECTION_ID 0x106U +#define PM_CONFIG_SET_CONFIG_SECTION_ID 0x107U +#define PM_CONFIG_GPO_SECTION_ID 0x108U + +#define PM_SLAVE_FLAG_IS_SHAREABLE 0x1U +#define PM_MASTER_USING_SLAVE_MASK 0x2U + +#define PM_CONFIG_GPO1_MIO_PIN_34_MAP (1U << 10U) +#define PM_CONFIG_GPO1_MIO_PIN_35_MAP (1U << 11U) +#define PM_CONFIG_GPO1_MIO_PIN_36_MAP (1U << 12U) +#define PM_CONFIG_GPO1_MIO_PIN_37_MAP (1U << 13U) + +#define PM_CONFIG_GPO1_BIT_2_MASK (1U << 2U) +#define PM_CONFIG_GPO1_BIT_3_MASK (1U << 3U) +#define PM_CONFIG_GPO1_BIT_4_MASK (1U << 4U) +#define PM_CONFIG_GPO1_BIT_5_MASK (1U << 5U) + +#define SUSPEND_TIMEOUT 0xFFFFFFFFU + +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + +#define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 +#define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 +#define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 + + + +#if defined (__ICCARM__) +#pragma language=save +#pragma language=extended +#endif +#if defined (__GNUC__) + const u32 XPm_ConfigObject[] __attribute__((used, section(".sys_cfg_data"))) = +#elif defined (__ICCARM__) +#pragma location = ".sys_cfg_data" +__root const u32 XPm_ConfigObject[] = +#endif +{ + /**********************************************************************/ + /* HEADER */ + 2, /* Number of remaining words in the header */ + 8, /* Number of sections included in config object */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ + /**********************************************************************/ + /* MASTER SECTION */ + PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ + 3U, /* No. of Masters*/ + + NODE_APU, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_0, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Wake permissions */ + + NODE_RPU_1, /* Master Node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask of this master */ + SUSPEND_TIMEOUT, /* Suspend timeout */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Suspend permissions */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* Wake permissions */ + + + /**********************************************************************/ + /* SLAVE SECTION */ + + + PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ + 36, /* Number of slaves */ + + NODE_OCM_BANK_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_OCM_BANK_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_0_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_0_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_TCM_1_A, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TCM_1_B, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_L2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU_PP_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_USB_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_2, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_TTC_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SATA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ETH_3, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_0, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_UART_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_I2C_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_SD_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DP, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GDMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_ADMA, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_QSPI, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPIO, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_CAN_1, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_EXTERN, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_DDR, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_IPI_APU, + 0U, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_0, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, /* IPI Mask */ + + NODE_IPI_RPU_1, + 0U, + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_GPU, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_RTC, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + NODE_PL, + PM_SLAVE_FLAG_IS_SHAREABLE, + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ + + + /**********************************************************************/ + /* PREALLOC SECTION */ + + PM_CONFIG_PREALLOC_SECTION_ID, /* Preallaoc SectionID */ + 3U, /* No. of Masters*/ + + /* Prealloc for psu_cortexa53_0 */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK, + 11, + NODE_DDR, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_L2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_2, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_OCM_BANK_3, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_I2C_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_SD_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_QSPI, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_PL, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_APU, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_0 */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + 3, + NODE_TCM_0_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_0_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_0, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + /* Prealloc for psu_cortexr5_1 */ + PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + 3, + NODE_TCM_1_A, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_TCM_1_B, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + NODE_IPI_RPU_1, + PM_MASTER_USING_SLAVE_MASK, /* Master is using Slave */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Current Requirements */ + PM_CAP_ACCESS | PM_CAP_CONTEXT, /* Default Requirements */ + + + + /**********************************************************************/ + /* POWER SECTION */ + + PM_CONFIG_POWER_SECTION_ID, /* Power Section ID */ + 4U, /* Number of power nodes */ + + NODE_APU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_RPU, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_FPD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + NODE_PLD, /* Power node ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Force power down permissions */ + + + /**********************************************************************/ + /* RESET SECTION */ + + PM_CONFIG_RESET_SECTION_ID, /* Reset Section ID */ + 120U, /* Number of resets */ + + XILPM_RESET_PCIE_CFG, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_BRIDGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PCIE_CTRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRF, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_AFI_FM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GDMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU_PP0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPU, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SATA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0_PWRON, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APU_L2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ACPU0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DDR, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SOFT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GEM3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_QSPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_UART1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SPI1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SDIO1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_CAN1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_I2C1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TTC3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SWDT_CRL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_NAND, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_ADMA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOU_CC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_TIMESTAMP, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R50, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_R51, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_AMBA, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_OCM, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_PGE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_CORERESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_HIBERRESET, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB0_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_USB1_APB, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IPI, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APM_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RTC, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_SYSMON, 0, + XILPM_RESET_AFI_FM6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_LPD_SWDT, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_FPD, PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK, + XILPM_RESET_RPU_DBG1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_DBG0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_LPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DBG_FPD, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_APLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_DPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_VPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_IOPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPLL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_0, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_1, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_2, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_3, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_4, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_5, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_6, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_7, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_8, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_9, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_10, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_11, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_12, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_13, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_14, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_15, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_16, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_17, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_18, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_19, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_20, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_21, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_22, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_23, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_24, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_25, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_26, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_27, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_28, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_29, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_30, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPO3_PL_31, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_RPU_LS, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PS_ONLY, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_PL, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_92, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_93, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_94, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + XILPM_RESET_GPIO5_EMIO_95, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, + + /**********************************************************************/ + /* SET CONFIG SECTION */ + PM_CONFIG_SET_CONFIG_SECTION_ID, /* Set Config Section ID */ + 0U, /* Permissions to load base config object */ + 0U, /* Permissions to load overlay config object */ + + /**********************************************************************/ + /* SHUTDOWN SECTION */ + + PM_CONFIG_SHUTDOWN_SECTION_ID, /* Shutdown Section ID */ + PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* System Shutdown/Restart Permission */ + + /**********************************************************************/ + /* GPO SECTION */ + PM_CONFIG_GPO_SECTION_ID, /* GPO Section ID */ + 0, /* State of GPO pins */ +}; +#if defined (__ICCARM__) +#pragma language=restore +#endif diff --git a/board/zynqmp/zcu106/pm_cfg_obj.c b/board/zynqmp/zcu106/pm_cfg_obj.c index 6d15d510e94..54a1afa902e 100644 --- a/board/zynqmp/zcu106/pm_cfg_obj.c +++ b/board/zynqmp/zcu106/pm_cfg_obj.c @@ -30,6 +30,9 @@ #define SUSPEND_TIMEOUT 0xFFFFFFFFU +#define PM_CONFIG_OBJECT_TYPE_BASE 0x1U + + #define PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK 0x00000001 #define PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK 0x00000100 #define PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK 0x00000200 @@ -51,7 +54,7 @@ __root const u32 XPm_ConfigObject[] = /* HEADER */ 2, /* Number of remaining words in the header */ 8, /* Number of sections included in config object */ - 1U, /* Type of config object as base */ + PM_CONFIG_OBJECT_TYPE_BASE, /* Type of config object as base */ /**********************************************************************/ /* MASTER SECTION */ PM_CONFIG_MASTER_SECTION_ID, /* Master SectionID */ @@ -81,7 +84,7 @@ __root const u32 XPm_ConfigObject[] = PM_CONFIG_SLAVE_SECTION_ID, /* Section ID */ - 49, /* Number of slaves */ + 38, /* Number of slaves */ NODE_OCM_BANK_0, PM_SLAVE_FLAG_IS_SHAREABLE, @@ -131,10 +134,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_USB_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_TTC_0, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -155,18 +154,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_ETH_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_ETH_2, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_ETH_3, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -179,14 +166,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SPI_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_SPI_1, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_I2C_0, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -195,10 +174,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_SD_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_SD_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -215,10 +190,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_NAND, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_QSPI, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -227,10 +198,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_CAN_0, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_CAN_1, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ @@ -259,14 +226,6 @@ __root const u32 XPm_ConfigObject[] = PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ - NODE_PCIE, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - - NODE_PCAP, - PM_SLAVE_FLAG_IS_SHAREABLE, - 0U, /* IPI Mask */ - NODE_RTC, PM_SLAVE_FLAG_IS_SHAREABLE, PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* IPI Mask */ diff --git a/boot/Config.in b/boot/Config.in index ce17b2df6b0..bf0cfaae86d 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -12,17 +12,17 @@ source "boot/binaries-marvell/Config.in" source "boot/boot-wrapper-aarch64/Config.in" source "boot/edk2/Config.in" source "boot/grub2/Config.in" -source "boot/gummiboot/Config.in" -source "boot/lpc32xxcdl/Config.in" source "boot/mv-ddr-marvell/Config.in" source "boot/mxs-bootlets/Config.in" source "boot/optee-os/Config.in" source "boot/opensbi/Config.in" source "boot/s500-bootloader/Config.in" source "boot/shim/Config.in" -source "boot/sun20i-d1-spl/Config.in" source "boot/syslinux/Config.in" +source "boot/ti-k3-boot-firmware/Config.in" +source "boot/ti-k3-image-gen/Config.in" source "boot/ti-k3-r5-loader/Config.in" +source "boot/trusted-firmware-m/Config.in" source "boot/uboot/Config.in" source "boot/vexpress-firmware/Config.in" diff --git a/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch b/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch new file mode 100644 index 00000000000..27a81b45d55 --- /dev/null +++ b/boot/afboot-stm32/0003-Makefile-disable-stack-protector.patch @@ -0,0 +1,36 @@ +From d65b07d6fe438e760fdbc33a8e42650a27d5b417 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 31 Dec 2022 11:09:38 +0100 +Subject: [PATCH] Makefile: disable stack-protector + +Disable stack-protector to avoid the following build failure: + +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld -T stm32f429.lds --gc-sections -o stm32f469i-disco.elf stm32f469i-disco.o gpio.o mpu.o qspi.o start_kernel.o usart-f4.o +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.o: in function `main': +stm32f469i-disco.c:(.text.startup.main+0x3b0): undefined reference to `__stack_chk_guard' +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.c:(.text.startup.main+0x4c0): undefined reference to `__stack_chk_fail' +/home/autobuild/autobuild/instance-14/output-1/host/bin/arm-buildroot-linux-gnueabi-ld: stm32f469i-disco.c:(.text.startup.main+0x4ec): undefined reference to `__stack_chk_guard' + +Fixes: + - http://autobuild.buildroot.org/results/fa6ffab24c3998f21034ab24e8d2852cacde08c1 + +Signed-off-by: Fabrice Fontaine +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 8f42be1..8da7a25 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,6 +14,7 @@ CFLAGS := -mthumb -mcpu=cortex-m4 + CFLAGS += -ffunction-sections -fdata-sections + CFLAGS += -Os -std=gnu99 -Wall + CFLAGS += -fno-builtin ++CFLAGS += -fno-stack-protector + LINKERFLAGS := --gc-sections + + obj-y += gpio.o mpu.o qspi.o start_kernel.o +-- +2.35.1 + diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index a9b9bbcc5a1..2fe3dd1146e 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -14,7 +14,12 @@ choice Select the specific ATF version you want to use config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION - bool "v2.7" + bool "v2.10" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION + bool "latest lts-v2.8.x" + help + Select the latest LTS v2.8.x version available config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION bool "Custom version" @@ -42,7 +47,8 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION string - default "v2.7" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "v2.10" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "lts-v2.8.13" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT @@ -129,8 +135,27 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE endchoice +choice + prompt "BL33" + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33 + help + Select the image to include as BL33. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_NONE_AS_BL33 + bool "None" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 + bool "Barebox" + depends on BR2_TARGET_BAREBOX + help + This option allows to embed the Barebox generic BL33 image in + the ARM Trusted Firmware. It ensures that the Barebox package + gets built before ATF, and that the appropriate BL33 + variable pointing to the generic bl33 image is passed + when building ATF. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 - bool "Use U-Boot as BL33" + bool "U-Boot" depends on BR2_TARGET_UBOOT help This option allows to embed u-boot.bin as the BL33 part of @@ -138,19 +163,8 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 gets built before ATF, and that the appropriate BL33 variable pointing to u-boot.bin is passed when building ATF. -if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 - -config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE - string "U-Boot BL33 image name" - default "u-boot.bin" - help - Name of the U-Boot BL33 image to include in ATF, it must - have been installed to BINARIES_DIR by the U-Boot package. - -endif - config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 - bool "Use EDK2 as BL33" + bool "EDK2" depends on BR2_TARGET_EDK2 help This option allows to embed EDK2 as the BL33 part of @@ -162,6 +176,30 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33 for the 'qemu_sbsa' platform. In this case, due to the EDK2 build system, the dependency between ATF and EDK is reversed. +endchoice + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33 + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE + string "Barebox BL33 image name" + default "*-generic-bl33.img" + help + Name of the Barebox BL33 image to include in ATF, it must + have been installed to BINARIES_DIR by the Barebox package. + +endif + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE + string "U-Boot BL33 image name" + default "u-boot.bin" + help + Name of the U-Boot BL33 image to include in ATF, it must + have been installed to BINARIES_DIR by the U-Boot package. + +endif + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW bool "Include NXP RCW in BL2" depends on BR2_PACKAGE_HOST_QORIQ_RCW diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/arm-trusted-firmware.hash index d931610dc43..73ab431b9fc 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.hash +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 327c65b1bc231608a7a808b068b00c1a22310e9fc86158813cd10a9711d5725e arm-trusted-firmware-v2.7.tar.gz +sha256 2e18b881ada9198173238cca80086c787b1fa3f698944bde1743142823fc511c arm-trusted-firmware-v2.10.tar.gz +sha256 e55ae7105c996b60f748b2eb6adeaf5ac8946425e1d4294ecc1c56aebf435274 arm-trusted-firmware-lts-v2.8.13.tar.gz sha256 130d0c6e5159fa454b1e969fd281fa1d388819aefb203f65dd282544b5ab7ba9 docs/license.rst diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 1164c814106..abf917948ee 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -25,7 +25,7 @@ ARM_TRUSTED_FIRMWARE_LICENSE_FILES = docs/license.rst endif endif -ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE):$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y:y) BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) endif @@ -59,10 +59,13 @@ endif endif ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + $(if $(VERBOSE),V=1) \ CROSS_COMPILE="$(TARGET_CROSS)" \ + BUILD_STRING=$(ARM_TRUSTED_FIRMWARE_VERSION) \ $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \ - TARGET_BOARD=$(ARM_TRUSTED_FIRMWARE_TARGET_BOARD) + TARGET_BOARD=$(ARM_TRUSTED_FIRMWARE_TARGET_BOARD) \ + HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP),y) ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ @@ -105,6 +108,12 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += AARCH32_SP=optee endif endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33),y) +ARM_TRUSTED_FIRMWARE_BAREBOX_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_BL33_IMAGE)) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_BAREBOX_BIN) +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += barebox +endif + ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33),y) ARM_TRUSTED_FIRMWARE_DEPENDENCIES += edk2 # Since the flash device name vary between platforms, we use the variable @@ -140,18 +149,6 @@ ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y) ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += fip ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-openssl -# fiptool only exists in newer (>= 1.3) versions of ATF, so we build -# it conditionally. We need to explicitly build it as it requires -# OpenSSL, and therefore needs to be passed proper variables to find -# the host OpenSSL. -define ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL - if test -d $(@D)/tools/fiptool; then \ - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/fiptool \ - $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ - CPPFLAGS="$(HOST_CPPFLAGS)" \ - LDLIBS="$(HOST_LDFLAGS) -lcrypto" ; \ - fi -endef endif ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW),y) @@ -199,7 +196,6 @@ define ARM_TRUSTED_FIRMWARE_BUILD_CMDS $(if $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH), cp -f $(ARM_TRUSTED_FIRMWARE_CUSTOM_DTS_PATH) $(@D)/fdts/ ) - $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL) $(ARM_TRUSTED_FIRMWARE_MAKE_ENV) $(MAKE) -C $(@D) \ $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) diff --git a/boot/arm-trusted-firmware/lts-v2.8.13/0001-build-tools-avoid-unnecessary-link.patch b/boot/arm-trusted-firmware/lts-v2.8.13/0001-build-tools-avoid-unnecessary-link.patch new file mode 100644 index 00000000000..9e0ea74248b --- /dev/null +++ b/boot/arm-trusted-firmware/lts-v2.8.13/0001-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1,77 @@ +From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 4 Jul 2023 16:14:02 +0200 +Subject: [PATCH] build(tools): avoid unnecessary link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In their respective makefiles, cert_create, encrypt_fw and fiptool +depend on the --openssl phony target as a prerequisite. This forces +those tools to be re-linked each time. + +Move the dependencies on the --openssl target from the tools to their +makefiles all targets, to avoid unnecessary linking while preserving the +OpenSSL version printing done in the --openssl targets when in debug. + +Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility") +Signed-off-by: Vincent Stehlé +Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d +Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab +--- + tools/cert_create/Makefile | 4 ++-- + tools/encrypt_fw/Makefile | 4 ++-- + tools/fiptool/Makefile | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile +index 042e844626..b911d19d2b 100644 +--- a/tools/cert_create/Makefile ++++ b/tools/cert_create/Makefile +@@ -85,9 +85,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \ + const char platform_msg[] = "${PLAT_MSG}";' | \ +diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile +index 2939b142be..924e5febab 100644 +--- a/tools/encrypt_fw/Makefile ++++ b/tools/encrypt_fw/Makefile +@@ -65,9 +65,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ + ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o +diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile +index 2ebee33931..4bdebd9235 100644 +--- a/tools/fiptool/Makefile ++++ b/tools/fiptool/Makefile +@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS)) + + .PHONY: all clean distclean --openssl + +-all: ${PROJECT} ++all: --openssl ${PROJECT} + +-${PROJECT}: --openssl ${OBJECTS} Makefile ++${PROJECT}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + @${ECHO_BLANK_LINE} +-- +2.25.1 + diff --git a/boot/arm-trusted-firmware/v2.2/0001-PATCH-feat-build-add-support-for-new-binutils-versio.patch b/boot/arm-trusted-firmware/v2.2/0001-PATCH-feat-build-add-support-for-new-binutils-versio.patch new file mode 100644 index 00000000000..d4d2b068f37 --- /dev/null +++ b/boot/arm-trusted-firmware/v2.2/0001-PATCH-feat-build-add-support-for-new-binutils-versio.patch @@ -0,0 +1,59 @@ +From 5e1beb793c06352e87c46eca1144ff1fe8555103 Mon Sep 17 00:00:00 2001 +From: Heiko Thiery +Date: Mon, 10 Jul 2023 10:43:03 +0200 +Subject: [PATCH] [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 + +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 721246d51..5893cf422 100644 +--- a/Makefile ++++ b/Makefile +@@ -297,11 +297,16 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 + TF_LDFLAGS += --remove --info=unused,unusedsymbols + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + endif + TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.3/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.3/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.3/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.4/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.4/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.4/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.5/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.5/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.5/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.6/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.7/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.7/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.7/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch b/boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch new file mode 100644 index 00000000000..335c18553ac --- /dev/null +++ b/boot/arm-trusted-firmware/v2.8/0001-feat-build-add-support-for-new-binutils-versions.patch @@ -0,0 +1,61 @@ +From 0f75b03c008eacb9818af3a56dc088e72a623d17 Mon Sep 17 00:00:00 2001 +From: Marco Felsch +Date: Wed, 9 Nov 2022 12:59:09 +0100 +Subject: [PATCH] feat(build): add support for new binutils versions + +Users of GNU ld (BPF) from binutils 2.39+ will observe multiple instaces +of a new warning when linking the bl*.elf in the form: + + ld.bfd: warning: stm32mp1_helper.o: missing .note.GNU-stack section implies executable stack + ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker + ld.bfd: warning: bl2.elf has a LOAD segment with RWX permissions + ld.bfd: warning: bl32.elf has a LOAD segment with RWX permissions + +These new warnings are enbaled by default to secure elf binaries: + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107 + - https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=0d38576a34ec64a1b4500c9277a8e9d0f07e6774 + +Fix it in a similar way to what the Linux kernel does, see: +https://lore.kernel.org/all/20220810222442.2296651-1-ndesaulniers@google.com/ + +Following the reasoning there, we set "-z noexecstack" for all linkers +(although LLVM's LLD defaults to it) and optional add +--no-warn-rwx-segments since this a ld.bfd related. + +Signed-off-by: Marco Felsch +Signed-off-by: Robert Schwebel +Change-Id: I9430f5fa5036ca88da46cd3b945754d62616b617 +Signed-off-by: Heiko Thiery +Upstream: https://github.com/ARM-software/arm-trusted-firmware/commit/1f49db5f25cdd4e43825c9bcc0575070b80f628c +--- + Makefile | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1ddb7b844..470956b19 100644 +--- a/Makefile ++++ b/Makefile +@@ -416,6 +416,8 @@ endif + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + ++TF_LDFLAGS += -z noexecstack ++ + # LD = armlink + ifneq ($(findstring armlink,$(notdir $(LD))),) + TF_LDFLAGS += --diag_error=warning --lto_level=O1 +@@ -442,7 +444,10 @@ TF_LDFLAGS += $(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH))) + + # LD = gcc-ld (ld) or llvm-ld (ld.lld) or other + else +-TF_LDFLAGS += --fatal-warnings -O1 ++# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we ++# are not loaded by a elf loader. ++TF_LDFLAGS += $(call ld_option, --no-warn-rwx-segments) ++TF_LDFLAGS += -O1 + TF_LDFLAGS += --gc-sections + # ld.lld doesn't recognize the errata flags, + # therefore don't add those in that case +-- +2.30.2 + diff --git a/boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch b/boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch new file mode 100644 index 00000000000..9e0ea74248b --- /dev/null +++ b/boot/arm-trusted-firmware/v2.8/0002-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1,77 @@ +From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 4 Jul 2023 16:14:02 +0200 +Subject: [PATCH] build(tools): avoid unnecessary link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In their respective makefiles, cert_create, encrypt_fw and fiptool +depend on the --openssl phony target as a prerequisite. This forces +those tools to be re-linked each time. + +Move the dependencies on the --openssl target from the tools to their +makefiles all targets, to avoid unnecessary linking while preserving the +OpenSSL version printing done in the --openssl targets when in debug. + +Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility") +Signed-off-by: Vincent Stehlé +Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d +Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab +--- + tools/cert_create/Makefile | 4 ++-- + tools/encrypt_fw/Makefile | 4 ++-- + tools/fiptool/Makefile | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile +index 042e844626..b911d19d2b 100644 +--- a/tools/cert_create/Makefile ++++ b/tools/cert_create/Makefile +@@ -85,9 +85,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \ + const char platform_msg[] = "${PLAT_MSG}";' | \ +diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile +index 2939b142be..924e5febab 100644 +--- a/tools/encrypt_fw/Makefile ++++ b/tools/encrypt_fw/Makefile +@@ -65,9 +65,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ + ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o +diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile +index 2ebee33931..4bdebd9235 100644 +--- a/tools/fiptool/Makefile ++++ b/tools/fiptool/Makefile +@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS)) + + .PHONY: all clean distclean --openssl + +-all: ${PROJECT} ++all: --openssl ${PROJECT} + +-${PROJECT}: --openssl ${OBJECTS} Makefile ++${PROJECT}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + @${ECHO_BLANK_LINE} +-- +2.25.1 + diff --git a/boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch b/boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch new file mode 100644 index 00000000000..9e0ea74248b --- /dev/null +++ b/boot/arm-trusted-firmware/v2.9/0001-build-tools-avoid-unnecessary-link.patch @@ -0,0 +1,77 @@ +From aa57ce632c629fe72ff417e261e0f5bfd8db6bab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Tue, 4 Jul 2023 16:14:02 +0200 +Subject: [PATCH] build(tools): avoid unnecessary link +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In their respective makefiles, cert_create, encrypt_fw and fiptool +depend on the --openssl phony target as a prerequisite. This forces +those tools to be re-linked each time. + +Move the dependencies on the --openssl target from the tools to their +makefiles all targets, to avoid unnecessary linking while preserving the +OpenSSL version printing done in the --openssl targets when in debug. + +Fixes: cf2dd17ddda2 ("refactor(security): add OpenSSL 1.x compatibility") +Signed-off-by: Vincent Stehlé +Change-Id: I98a3ab30f36dffc253cecaaf3a57d2712522135d +Upstream: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=aa57ce632c629fe72ff417e261e0f5bfd8db6bab +--- + tools/cert_create/Makefile | 4 ++-- + tools/encrypt_fw/Makefile | 4 ++-- + tools/fiptool/Makefile | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/cert_create/Makefile b/tools/cert_create/Makefile +index 042e844626..b911d19d2b 100644 +--- a/tools/cert_create/Makefile ++++ b/tools/cert_create/Makefile +@@ -85,9 +85,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__; \ + const char platform_msg[] = "${PLAT_MSG}";' | \ +diff --git a/tools/encrypt_fw/Makefile b/tools/encrypt_fw/Makefile +index 2939b142be..924e5febab 100644 +--- a/tools/encrypt_fw/Makefile ++++ b/tools/encrypt_fw/Makefile +@@ -65,9 +65,9 @@ HOSTCC ?= gcc + + .PHONY: all clean realclean --openssl + +-all: ${BINARY} ++all: --openssl ${BINARY} + +-${BINARY}: --openssl ${OBJECTS} Makefile ++${BINARY}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + @echo 'const char build_msg[] = "Built : "__TIME__", "__DATE__;' | \ + ${HOSTCC} -c ${HOSTCCFLAGS} -xc - -o src/build_msg.o +diff --git a/tools/fiptool/Makefile b/tools/fiptool/Makefile +index 2ebee33931..4bdebd9235 100644 +--- a/tools/fiptool/Makefile ++++ b/tools/fiptool/Makefile +@@ -68,9 +68,9 @@ DEPS := $(patsubst %.o,%.d,$(OBJECTS)) + + .PHONY: all clean distclean --openssl + +-all: ${PROJECT} ++all: --openssl ${PROJECT} + +-${PROJECT}: --openssl ${OBJECTS} Makefile ++${PROJECT}: ${OBJECTS} Makefile + @echo " HOSTLD $@" + ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} + @${ECHO_BLANK_LINE} +-- +2.25.1 + diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk index 1a084756fd2..385957b5d47 100644 --- a/boot/at91bootstrap/at91bootstrap.mk +++ b/boot/at91bootstrap/at91bootstrap.mk @@ -32,8 +32,14 @@ endef AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES endif +# The at91bootstrap Makefile doesn't support customizing +# CFLAGS/LDFLAGS, so we cheat and pass our custom flags through CC and +# LD. define AT91BOOTSTRAP_BUILD_CMDS - $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR) + $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) \ + CC="$(TARGET_CC) -fno-stack-protector" \ + LD="$(TARGET_CC) -fno-PIE" \ + -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR) endef define AT91BOOTSTRAP_INSTALL_IMAGES_CMDS diff --git a/boot/at91dataflashboot/at91dataflashboot.mk b/boot/at91dataflashboot/at91dataflashboot.mk index 0ad8b6fc447..cb329a90dff 100644 --- a/boot/at91dataflashboot/at91dataflashboot.mk +++ b/boot/at91dataflashboot/at91dataflashboot.mk @@ -11,8 +11,14 @@ AT91DATAFLASHBOOT_SITE = ftp://www.at91.com/pub/buildroot AT91DATAFLASHBOOT_INSTALL_TARGET = NO AT91DATAFLASHBOOT_INSTALL_IMAGES = YES +AT91DATAFLASHBOOT_CFLAGS = $(TARGET_CFLAGS) -fno-stack-protector +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +AT91DATAFLASHBOOT_CFLAGS += -marm +endif + define AT91DATAFLASHBOOT_BUILD_CMDS - make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) + make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) \ + CFLAGS="$(AT91DATAFLASHBOOT_CFLAGS)" endef define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 726f0f980b5..0bd3386795c 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -12,7 +12,7 @@ choice Select the specific Barebox version you want to use config BR2_TARGET_BAREBOX_LATEST_VERSION - bool "2022.04.0" + bool "2022.12.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,7 +40,7 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2022.04.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2022.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT @@ -54,6 +54,18 @@ config BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR Most users may leave this empty +config BR2_TARGET_BAREBOX_NEEDS_OPENSSL + bool "Barebox needs OpenSSL" + help + Select this option if your Barebox board configuration + requires OpenSSL to be available on the host. + +config BR2_TARGET_BAREBOX_NEEDS_LIBUSB + bool "Barebox needs LibUSB" + help + Select this option if your Barebox board configuration + requires libUSB to be available on the host. + if BR2_TARGET_BAREBOX_CUSTOM_GIT config BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL @@ -64,7 +76,7 @@ config BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION endif -source boot/barebox/barebox/Config.in +source "boot/barebox/barebox/Config.in" menuconfig BR2_TARGET_BAREBOX_AUX bool "Build barebox with an auxiliary config" @@ -78,7 +90,7 @@ menuconfig BR2_TARGET_BAREBOX_AUX if BR2_TARGET_BAREBOX_AUX -source boot/barebox/barebox-aux/Config.in +source "boot/barebox/barebox-aux/Config.in" endif diff --git a/boot/barebox/barebox-aux/Config.in b/boot/barebox/barebox-aux/Config.in index d39d24f763e..4b0201ea675 100644 --- a/boot/barebox/barebox-aux/Config.in +++ b/boot/barebox/barebox-aux/Config.in @@ -36,8 +36,13 @@ config BR2_TARGET_BAREBOX_AUX_IMAGE_FILE the images directory. If left empty, defaults to: - - barebox.bin for barebox versions older than 2012.10. - - barebox-flash-image for later versions. + - all images as listed in barebox-flash-images (>= v2015.12.0) + - the image pointed at by barebox-flash-image (>= v2012.10.0) + - barebox.bin for even older barebox versions + + In any case, this only influences the artifacts collected by + Buildroot. They will still need to be referenced from image + packages or flashed separately onto the hardware. config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV bool "Generate an environment image" diff --git a/boot/barebox/barebox.hash b/boot/barebox/barebox.hash index 3a92f7fd825..161fc43d43d 100644 --- a/boot/barebox/barebox.hash +++ b/boot/barebox/barebox.hash @@ -1,8 +1,8 @@ -# From https://www.barebox.org/download/barebox-2021.12.0.tar.bz2.md5 -md5 e4970687cf7943eadf71b1ae6d344ff7 barebox-2022.04.0.tar.bz2 +# From https://www.barebox.org/download/barebox-2022.12.0.tar.bz2.md5 +md5 e4bf25cbf1e0b0c9a67ee56214617b9c barebox-2022.12.0.tar.bz2 # Locally calculated -sha256 f751b506deb0a5d82682a85cf65e329dd562e48ea057533dc5c8876120a09ebc barebox-2022.04.0.tar.bz2 +sha256 9f570d4ae089560bd6c17b2b7d21cdb6557ecb00612c77ecee72ac47575a6b74 barebox-2022.12.0.tar.bz2 # License files, locally computed sha256 ab1122aa9f9073ad1ec824edcd970b16a6a7881a34a18fd56c080debb2dca5d4 COPYING diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index da151d3c25d..fe366989b9d 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -43,6 +43,14 @@ ifeq ($(BR2_TARGET_BAREBOX_LATEST_VERSION),y) $(1)_LICENSE_FILES = COPYING endif +ifeq ($(BR2_TARGET_BAREBOX_NEEDS_OPENSSL),y) +BAREBOX_DEPENDENCIES += host-openssl host-pkgconf +endif + +ifeq ($(BR2_TARGET_BAREBOX_NEEDS_LIBUSB),y) +BAREBOX_DEPENDENCIES += host-libusb host-pkgconf +endif + $(1)_CUSTOM_EMBEDDED_ENV_PATH = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_EMBEDDED_ENV_PATH)) ifneq ($$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),) @@ -73,6 +81,19 @@ endif $(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)" $(1)_MAKE_ENV = $$(TARGET_MAKE_ENV) +$(1)_MAKE_ENV += \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" + +ifeq ($$(BR2_REPRODUCIBLE),y) +$(1)_MAKE_ENV += \ + KBUILD_BUILD_USER=buildroot \ + KBUILD_BUILD_HOST=buildroot \ + KBUILD_BUILD_TIMESTAMP="$$(shell LC_ALL=C TZ='UTC' date -d @$(SOURCE_DATE_EPOCH))" +endif ifeq ($$(BR2_TARGET_$(1)_USE_DEFCONFIG),y) $(1)_KCONFIG_DEFCONFIG = $$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))_defconfig @@ -121,7 +142,7 @@ endef define $(1)_BUILD_CMDS $$($(1)_BUILD_BAREBOXENV_CMDS) - $$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) + $$($(1)_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D) $$($(1)_BUILD_CUSTOM_ENV) endef @@ -130,6 +151,8 @@ $(1)_IMAGE_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE)) define $(1)_INSTALL_IMAGES_CMDS if test -n "$$($(1)_IMAGE_FILES)"; then \ cp -L $$(foreach image,$$($(1)_IMAGE_FILES),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \ + elif test -e $$(@D)/barebox-flash-images ; then \ + cp -L $$(foreach image,$$(shell cat $$(@D)/barebox-flash-images),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \ elif test -h $$(@D)/barebox-flash-image ; then \ cp -L $$(@D)/barebox-flash-image $$(BINARIES_DIR)/barebox.bin ; \ else \ diff --git a/boot/barebox/barebox/Config.in b/boot/barebox/barebox/Config.in index 958e294e40b..2fd70a84aec 100644 --- a/boot/barebox/barebox/Config.in +++ b/boot/barebox/barebox/Config.in @@ -36,8 +36,13 @@ config BR2_TARGET_BAREBOX_IMAGE_FILE the images directory. If left empty, defaults to: - - barebox.bin for barebox versions older than 2012.10. - - barebox-flash-image for later versions. + - all images as listed in barebox-flash-images (>= v2015.12.0) + - the image pointed at by barebox-flash-image (>= v2012.10.0) + - barebox.bin for even older barebox versions + + In any case, this only influences the artifacts collected by + Buildroot. They will still need to be referenced from image + packages or flashed separately onto the hardware. config BR2_TARGET_BAREBOX_BAREBOXENV bool "bareboxenv tool in target" diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index 30b352f8e7d..95f7e227603 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOT_WRAPPER_AARCH64_VERSION = 8d5a765251d9113c3c0f9fa14de42a9e7486fe8a +BOOT_WRAPPER_AARCH64_VERSION = 9f26a1c1f27bd6b5b66c265114848007fc22e4aa BOOT_WRAPPER_AARCH64_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git BOOT_WRAPPER_AARCH64_SITE_METHOD = git BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause diff --git a/boot/edk2/Config.in b/boot/edk2/Config.in index 855a62f70b3..4e6e7d122cb 100644 --- a/boot/edk2/Config.in +++ b/boot/edk2/Config.in @@ -2,6 +2,7 @@ config BR2_TARGET_EDK2_ARCH_SUPPORTS bool default y if BR2_aarch64 default y if BR2_i386 + default y if BR2_RISCV_64 default y if BR2_x86_64 config BR2_TARGET_EDK2 @@ -20,6 +21,7 @@ if BR2_TARGET_EDK2 choice prompt "Platform" default BR2_TARGET_EDK2_PLATFORM_OVMF_I386 if BR2_i386 + default BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV if BR2_RISCV_64 default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64 default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64 @@ -31,6 +33,14 @@ config BR2_TARGET_EDK2_PLATFORM_OVMF_I386 This platform will boot from flash address 0x0. It should therefore be used as the first bootloader. +config BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV + bool "RISC-V" + depends on BR2_RISCV_64 + help + Platform configuration for RISC-V QEMU targeting the Virt + machine. This platform will only boot from flash address + 0x0. It should therefore be used as the first bootloader. + config BR2_TARGET_EDK2_PLATFORM_OVMF_X64 bool "x86-64" depends on BR2_x86_64 @@ -108,6 +118,21 @@ comment "QEMU SBSA depends on ATF not using EDK2 as BL33" endchoice +config BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL + bool "OVMF Debug on Serial" + depends on BR2_ENABLE_DEBUG + depends on BR2_TARGET_EDK2_PLATFORM_OVMF_I386 || \ + BR2_TARGET_EDK2_PLATFORM_OVMF_X64 + help + When EDK2 OVMF is built with debug, messages are printed to + IO port 0x402. Those messages are not shown in the normal + Qemu emulated serial port. Enabling this option will print + debug messages on the emulated serial port, potentially + mixing messages with UEFI serial console output. + + See OVMF README: + https://github.com/tianocore/edk2/blob/master/OvmfPkg/README + config BR2_TARGET_EDK2_FD_NAME string default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_I386 diff --git a/boot/edk2/edk2.hash b/boot/edk2/edk2.hash index 94ee22ddc4e..17918ee7bb2 100644 --- a/boot/edk2/edk2.hash +++ b/boot/edk2/edk2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c10520f269557d566e35fe8104141aa2865f9085ad2b3a30aae8a7e78a3ca5aa edk2-edk2-stable202208-br1.tar.gz +sha256 9389ad20bc75f2a8fa9e7c1b1948ef07481c94e96dec57ae2f9f9be9c754f92c edk2-edk2-stable202308-br1.tar.gz sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk index fb6b9a32808..87ac80c88f4 100644 --- a/boot/edk2/edk2.mk +++ b/boot/edk2/edk2.mk @@ -4,7 +4,7 @@ # ################################################################################ -EDK2_VERSION = edk2-stable202208 +EDK2_VERSION = edk2-stable202308 EDK2_SITE = https://github.com/tianocore/edk2 EDK2_SITE_METHOD = git EDK2_LICENSE = BSD-2-Clause-Patent @@ -16,8 +16,15 @@ EDK2_INSTALL_IMAGES = YES ifeq ($(BR2_ENABLE_DEBUG),y) EDK2_BUILD_TYPE = DEBUG +ifeq ($(BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL),y) +# DEBUG_ON_SERIAL_PORT is only tested to be set, so don't disable it, as +# it would still be set. +EDK2_BUILD_OPTS += -DDEBUG_ON_SERIAL_PORT +endif else EDK2_BUILD_TYPE = RELEASE +# DEBUG_ON_SERIAL_PORT is only valid in debug builds, so useless to set +# it (enabled or disabled) on a relase build. endif # Build system notes. @@ -129,6 +136,12 @@ define EDK2_PRE_BUILD_QEMU_SBSA ln -srf $(BINARIES_DIR)/{bl1.bin,fip.bin} $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa/ endef +else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_RISCV),y) +EDK2_ARCH = RISCV64 +EDK2_PACKAGE_NAME = OvmfPkg/RiscVVirt +EDK2_PLATFORM_NAME = RiscVVirtQemu +EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME) + endif EDK2_BASETOOLS_OPTS = \ @@ -137,7 +150,13 @@ EDK2_BASETOOLS_OPTS = \ EDK2_PACKAGES_PATH = $(subst $(space),:,$(strip $(EDK2_PACKAGES_PATHS))) +# EDK2 "build" script internally uses and calls "make", which controls +# its own flags. It is mainly tested while not being a sub-make. In +# order to stay in that configuration, we avoid leaking top-level +# Buildroot make flags into EDK2 build by clearing the MAKEFLAGS +# environment variable. EDK2_BUILD_ENV += \ + MAKEFLAGS= \ WORKSPACE=$(@D) \ PACKAGES_PATH=$(EDK2_PACKAGES_PATH) \ PYTHON_COMMAND=$(HOST_DIR)/bin/python3 \ diff --git a/boot/grub2/0001-Add-missing-grub-core-extra_deps.lst-file-in-release.patch b/boot/grub2/0001-Add-missing-grub-core-extra_deps.lst-file-in-release.patch new file mode 100644 index 00000000000..2a7c206b2db --- /dev/null +++ b/boot/grub2/0001-Add-missing-grub-core-extra_deps.lst-file-in-release.patch @@ -0,0 +1,37 @@ +From 4d4dae6a52b1749642261a15f5dcc1e3d4150b36 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Fri, 22 Dec 2023 19:02:53 +0100 +Subject: [PATCH] Add missing grub-core/extra_deps.lst file in release tarball + +A file is missing in the grub-2.12 release tarballs (both .gz and .xz). +See [1]. The issue was reported in [2] and fixed upstream in [3]. + +This patch adds the missing file, on top of the release tarball. This +patch won't apply on upstream git, since the file is present in the +source repository. Since the issue is fixed upstream in [3], it is +expected upcoming releases tarballs will include the file. + +The file content was fetched from the upstream git repo: +https://git.savannah.gnu.org/gitweb/?p=grub.git;a=blob_plain;f=grub-core/extra_deps.lst;hb=refs/tags/grub-2.12 + +[1] https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz +[2] https://lists.gnu.org/archive/html/grub-devel/2023-12/msg00054.html +[3] https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e + +Signed-off-by: Julien Olivain +Upstream: Fixed by: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=b835601c7639ed1890f2d3db91900a8506011a8e +--- + grub-core/extra_deps.lst | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 grub-core/extra_deps.lst + +diff --git a/grub-core/extra_deps.lst b/grub-core/extra_deps.lst +new file mode 100644 +index 0000000..f44ad6a +--- /dev/null ++++ b/grub-core/extra_deps.lst +@@ -0,0 +1 @@ ++depends bli part_gpt +-- +2.43.0 + diff --git a/boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch b/boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch deleted file mode 100644 index ea8787de7a8..00000000000 --- a/boot/grub2/0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch +++ /dev/null @@ -1,45 +0,0 @@ -From bb08b723fa7bc56439c7bc166cff361628e73453 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Stefan Agner -Date: Fri, 5 Aug 2022 08:59:52 +0200 -Subject: [PATCH] Makefile: Make grub_fstest.pp depend on config-util.h - -Warning: This commit does not apply to the GRUB git repository. This -patch applies against the release tarballs. - -Upstream status: https://lists.gnu.org/archive/html/grub-devel/2022-08/msg00045.html -Signed-off-by: Stefan Agner ---- - Makefile.am | 2 +- - Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index bf9c1ba..f08cfc0 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -51,7 +51,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh - CLEANFILES += libgrub_a_init.c - - # For grub-fstest --grub_fstest.pp: $(grub_fstest_SOURCES) -+grub_fstest.pp: config-util.h $(grub_fstest_SOURCES) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \ - -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) - CLEANFILES += grub_fstest.pp -diff --git a/Makefile.in b/Makefile.in -index 13f2eef..2c1d20b 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -13312,7 +13312,7 @@ libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh - sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1) - - # For grub-fstest --grub_fstest.pp: $(grub_fstest_SOURCES) -+grub_fstest.pp: config-util.h $(grub_fstest_SOURCES) - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \ - -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1) - --- -2.37.1 - diff --git a/boot/grub2/0002-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch b/boot/grub2/0002-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch deleted file mode 100644 index 0d6a1a6e010..00000000000 --- a/boot/grub2/0002-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 8418defaf0902bdd8af188221ae54c5a3d6ad05d Mon Sep 17 00:00:00 2001 -From: Michael Chang -Date: Fri, 3 Dec 2021 16:13:28 +0800 -Subject: [PATCH] grub-mkconfig: Restore umask for the grub.cfg - -The commit ab2e53c8a (grub-mkconfig: Honor a symlink when generating -configuration by grub-mkconfig) has inadvertently discarded umask for -creating grub.cfg in the process of running grub-mkconfig. The resulting -wrong permission (0644) would allow unprivileged users to read GRUB -configuration file content. This presents a low confidentiality risk -as grub.cfg may contain non-secured plain-text passwords. - -This patch restores the missing umask and sets the creation file mode -to 0600 preventing unprivileged access. - -Fixes: CVE-2021-3981 - -Signed-off-by: Michael Chang -Reviewed-by: Daniel Kiper -[Upstream: https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=0adec29674561034771c13e446069b41ef41e4d4] -Signed-off-by: Thomas Petazzoni ---- - util/grub-mkconfig.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index f8cbb8d7a..84f356ea4 100644 ---- a/util/grub-mkconfig.in -+++ b/util/grub-mkconfig.in -@@ -300,7 +300,10 @@ and /etc/grub.d/* files or please file a bug report with - exit 1 - else - # none of the children aborted with error, install the new grub.cfg -+ oldumask=$(umask) -+ umask 077 - cat ${grub_cfg}.new > ${grub_cfg} -+ umask $oldumask - rm -f ${grub_cfg}.new - fi - fi --- -2.37.2 - diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index 92b5dd501b7..7c235e96f71 100644 --- a/boot/grub2/Config.in +++ b/boot/grub2/Config.in @@ -4,6 +4,7 @@ config BR2_TARGET_GRUB2_ARCH_SUPPORTS default y if BR2_x86_64 default y if BR2_arm default y if BR2_aarch64 + default y if BR2_RISCV_64 depends on BR2_USE_MMU config BR2_TARGET_GRUB2 @@ -27,6 +28,10 @@ config BR2_TARGET_GRUB2 Amongst others, GRUB2 offers EFI support, which GRUB Legacy doesn't provide. + The file boot/grub2/grub.cfg is used by default as the Grub + configuration file. It can be overridden using a rootfs + overlay or post-build script. + For additional notes on using Grub 2 with Buildroot, see boot/grub2/readme.txt @@ -98,6 +103,15 @@ config BR2_TARGET_GRUB2_ARM64_EFI Aarch64 platform and you want to boot Grub 2 as an EFI application. +config BR2_TARGET_GRUB2_RISCV64_EFI + bool "riscv64-efi" + depends on BR2_RISCV_64 + select BR2_TARGET_GRUB2_HAS_EFI_BOOT + help + Select this option if the platform you're targetting is a + 64bit RISC-V platform and you want to boot Grub 2 as an EFI + application. + if BR2_TARGET_GRUB2_HAS_LEGACY_BOOT comment "Options for the x86 legacy BIOS or ARM U-Boot support" diff --git a/boot/grub2/grub2.hash b/boot/grub2/grub2.hash index 5d9db423d47..65a8ec8e4f5 100644 --- a/boot/grub2/grub2.hash +++ b/boot/grub2/grub2.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature -# https://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz.sig -sha256 b79ea44af91b93d17cd3fe80bdae6ed43770678a9a5ae192ccea803ebb657ee1 grub-2.06.tar.xz +# https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz.sig +sha256 f3c97391f7c4eaa677a78e090c7e97e6dc47b16f655f04683ebd37bef7fe0faa grub-2.12.tar.xz # Locally computed: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 875884cf5c4..6d0d71c47d0 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -4,22 +4,15 @@ # ################################################################################ -GRUB2_VERSION = 2.06 +GRUB2_VERSION = 2.12 GRUB2_SITE = http://ftp.gnu.org/gnu/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz GRUB2_LICENSE = GPL-3.0+ GRUB2_LICENSE_FILES = COPYING -GRUB2_DEPENDENCIES = host-bison host-flex host-grub2 -HOST_GRUB2_DEPENDENCIES = host-bison host-flex +GRUB2_DEPENDENCIES = host-bison host-flex host-gawk host-grub2 +HOST_GRUB2_DEPENDENCIES = host-bison host-flex host-gawk GRUB2_INSTALL_IMAGES = YES -# 0001-Makefile-Make-grub_fstest.pp-depend-on-config-util.h.patch -define GRUB2_AVOID_AUTORECONF - $(Q)touch $(@D)/Makefile.in -endef -GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF -HOST_GRUB2_POST_PATCH_HOOKS += GRUB2_AVOID_AUTORECONF - # CVE-2019-14865 is about a flaw in the grub2-set-bootflag tool, which # doesn't exist upstream, but is added by the Redhat/Fedora # packaging. Not applicable to Buildroot. @@ -30,8 +23,6 @@ GRUB2_IGNORE_CVES += CVE-2019-14865 # grub_linuxefi_secure_validate() is not implemented in the grub2 # version available in Buildroot. GRUB2_IGNORE_CVES += CVE-2020-15705 -# 0002-grub-mkconfig-Restore-umask-for-the-grub.cfg.patch -GRUB2_IGNORE_CVES += CVE-2021-3981 # vulnerability is specific to the SUSE distribution GRUB2_IGNORE_CVES += CVE-2021-46705 @@ -102,6 +93,15 @@ GRUB2_BUILTIN_CONFIG_arm64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) GRUB2_BUILTIN_MODULES_arm64-efi = $(GRUB2_BUILTIN_MODULES_EFI) GRUB2_TUPLES-$(BR2_TARGET_GRUB2_ARM64_EFI) += arm64-efi +GRUB2_IMAGE_riscv64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootriscv64.efi +GRUB2_CFG_riscv64-efi = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX_riscv64-efi = /EFI/BOOT +GRUB2_TARGET_riscv64-efi = riscv64 +GRUB2_PLATFORM_riscv64-efi = efi +GRUB2_BUILTIN_CONFIG_riscv64-efi = $(GRUB2_BUILTIN_CONFIG_EFI) +GRUB2_BUILTIN_MODULES_riscv64-efi = $(GRUB2_BUILTIN_MODULES_EFI) +GRUB2_TUPLES-$(BR2_TARGET_GRUB2_RISCV64_EFI) += riscv64-efi + # Grub2 is kind of special: it considers CC, LD and so on to be the # tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS, # TARGET_CPPFLAGS, TARGET_LDFLAGS to build the bootloader itself. diff --git a/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch b/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch deleted file mode 100644 index b35cd499bce..00000000000 --- a/boot/gummiboot/0001-Allow-building-with-newer-glibc-versions.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 40ab4167b5a45c772304a879c71b47d54de3b0e3 Mon Sep 17 00:00:00 2001 -From: Esben Haabendal -Date: Wed, 20 Mar 2019 14:19:40 +0100 -Subject: [PATCH] Allow building with newer glibc versions - -Newer glibc versions does not include sys/sysmacros.h from sys/types.h -anymore. Including it unconditionally should be safe. - -See https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html for why -this was done. - -Signed-off-by: Esben Haabendal ---- - src/setup/setup.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/setup/setup.c b/src/setup/setup.c -index 6a4275a2ae36..53429375a146 100644 ---- a/src/setup/setup.c -+++ b/src/setup/setup.c -@@ -37,6 +37,7 @@ - #include - #include - #include -+#include - - #include "efivars.h" - --- -2.21.0 - diff --git a/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch b/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch deleted file mode 100644 index 7104a581e2f..00000000000 --- a/boot/gummiboot/0002-Fix-linking-for-non-host-compatible-targets.patch +++ /dev/null @@ -1,54 +0,0 @@ -From fc05ced797b87286b8ec7303fe32bf200a072972 Mon Sep 17 00:00:00 2001 -From: Esben Haabendal -Date: Mon, 18 Mar 2019 11:14:31 +0100 -Subject: [PATCH] Fix linking for non-host compatible targets - -Without this, gummiboot build system will use host 'ld' when linking -target binary, which is obviously not a good idea. - -Signed-off-by: Esben Haabendal ---- - Makefile.am | 4 ++-- - configure.ac | 4 ++++ - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 6568a355ed74..9051dd44edd9 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -142,7 +142,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir) - $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ - - $(gummiboot_solib): $(gummiboot_objects) -- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(gummiboot_objects) \ -+ $(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(gummiboot_objects) \ - -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ - nm -D -u $@ | grep ' U ' && exit 1 || : - .DELETE_ON_ERROR: $(gummboot_solib) -@@ -177,7 +177,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir) - $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ - - $(stub_solib): $(stub_objects) -- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \ -+ $(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(stub_objects) \ - -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ - nm -D -u $@ | grep ' U ' && exit 1 || : - .DELETE_ON_ERROR: $(gummboot_solib) -diff --git a/configure.ac b/configure.ac -index 27bbe1d73396..b948696c220b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,6 +40,10 @@ dnl Don't try to use things like -std=c99 for efi compilation - EFI_CC=$CC - AC_SUBST([EFI_CC]) - -+dnl Allow specifying linker compatible with the compiler -+EFI_LD=$LD -+AC_SUBST([EFI_LD]) -+ - AC_PROG_CC_C99 - AM_PROG_CC_C_O - AC_PROG_GCC_TRADITIONAL --- -2.21.0 - diff --git a/boot/gummiboot/Config.in b/boot/gummiboot/Config.in deleted file mode 100644 index 1b5c4279f71..00000000000 --- a/boot/gummiboot/Config.in +++ /dev/null @@ -1,24 +0,0 @@ -config BR2_TARGET_GUMMIBOOT - bool "gummiboot" - depends on BR2_i386 || BR2_x86_64 - depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS - select BR2_PACKAGE_GNU_EFI - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID - help - gummiboot is a simple UEFI boot manager which executes - configured EFI images. The default entry is selected by a - configured pattern (glob) or an on-screen menu. - - gummiboot operates on the EFI System Partition (ESP) - only. Configuration file fragments, kernels, initrds, other - EFI images need to reside on the ESP. Linux kernels need to - be built with CONFIG_EFI_STUB to be able to be directly - executed as an EFI image. - - See the Grub2 help text for details on preparing an EFI - capable disk image using Gummiboot: the instructions are - exactly the same, except that the Gummiboot configuration - files will be located in /loader/ inside the EFI partition. - - http://freedesktop.org/wiki/Software/gummiboot/ diff --git a/boot/gummiboot/buildroot.conf b/boot/gummiboot/buildroot.conf deleted file mode 100644 index 8a6f02e56af..00000000000 --- a/boot/gummiboot/buildroot.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Buildroot -version 1 -linux /bzImage -options console=ttyS0 root=/dev/sda2 diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk deleted file mode 100644 index eb1f3da78ca..00000000000 --- a/boot/gummiboot/gummiboot.mk +++ /dev/null @@ -1,41 +0,0 @@ -################################################################################ -# -# gummiboot -# -################################################################################ - -GUMMIBOOT_SITE = https://gitlab.freedesktop.org/archived-projects/gummiboot.git -GUMMIBOOT_SITE_METHOD = git -GUMMIBOOT_VERSION = 2bcd919c681c952eb867ef1bdb458f1bc49c2d55 -GUMMIBOOT_LICENSE = LGPL-2.1+ -GUMMIBOOT_LICENSE_FILES = LICENSE - -# The git archive does not have the autoconf/automake stuff generated. -GUMMIBOOT_AUTORECONF = YES -GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux -GUMMIBOOT_INSTALL_TARGET = NO -GUMMIBOOT_INSTALL_IMAGES = YES - -ifeq ($(BR2_i386),y) -GUMMIBOOT_IMGARCH = ia32 -else ifeq ($(BR2_x86_64),y) -GUMMIBOOT_IMGARCH = x64 -endif - -GUMMIBOOT_CONF_OPTS = \ - --host=$(BR2_ARCH) \ - --with-efi-libdir=$(STAGING_DIR)/usr/lib \ - --with-efi-ldsdir=$(STAGING_DIR)/usr/lib \ - --with-efi-includedir=$(STAGING_DIR)/usr/include \ - --disable-manpages - -define GUMMIBOOT_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \ - $(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi - $(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \ - $(BINARIES_DIR)/efi-part/loader/loader.conf - $(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \ - $(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf -endef - -$(eval $(autotools-package)) diff --git a/boot/gummiboot/loader.conf b/boot/gummiboot/loader.conf deleted file mode 100644 index 93b77b8f93a..00000000000 --- a/boot/gummiboot/loader.conf +++ /dev/null @@ -1,2 +0,0 @@ -timeout 3 -default buildroot diff --git a/boot/lpc32xxcdl/0001-compiler_name.patch b/boot/lpc32xxcdl/0001-compiler_name.patch deleted file mode 100644 index 6aecbdeba62..00000000000 --- a/boot/lpc32xxcdl/0001-compiler_name.patch +++ /dev/null @@ -1,52 +0,0 @@ -Use CROSS_COMPILE as compiler name and stop using libc - -Signed-off-by: Alexandre Belloni ---- - makerule/lpc32xx/make.lpc32xx.gnu | 22 +++++++++++----------- - 1 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu -index 1014c28..3277d99 100644 ---- a/makerule/lpc32xx/make.lpc32xx.gnu -+++ b/makerule/lpc32xx/make.lpc32xx.gnu -@@ -27,19 +27,19 @@ CFLAGS += -mno-sched-prolog -fno-hosted -mno-thumb-interwork -ffunction-sectio - CFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) - AFLAGS = -mcpu=arm926ej-s - AFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) --CC = arm-none-eabi-gcc --AS = arm-none-eabi-as --AR = arm-none-eabi-ar -r --LD = arm-none-eabi-gcc --NM = arm-none-eabi-nm --OBJDUMP = arm-none-eabi-objdump --OBJCOPY = arm-none-eabi-objcopy --READELF = arm-none-eabi-readelf -+CC = $(CROSS_COMPILE)gcc -+AS = $(CROSS_COMPILE)as -+AR = $(CROSS_COMPILE)ar -r -+LD = $(CROSS_COMPILE)gcc -+NM = $(CROSS_COMPILE)nm -+OBJDUMP = $(CROSS_COMPILE)objdump -+OBJCOPY = $(CROSS_COMPILE)objcopy -+READELF = $(CROSS_COMPILE)readelf - LDFLAGS += -Wl,--gc-sections - - LK = -static - LK += -Wl,--start-group $(TARGET_CSP_LIB) $(TARGET_BSP_LIB) $(TARGET_GEN_LIB) --LK += -lgcc -lc -lg -lm -lstdc++ -lsupc++ -+LK += -nostdlib -lgcc #-lc -lg -lm -lstdc++ -lsupc++ - LK += -Wl,--end-group - MAP = -Xlinker -Map -Xlinker - LDESC = -Xlinker -T -@@ -47,6 +47,6 @@ ENTRY = -e - BIN = -bin - EXT = .elf - LEXT = --ELFTOREC =arm-none-eabi-objcopy -O srec --strip-all --verbose --ELFTOBIN =arm-none-eabi-objcopy -I elf32-littlearm -O binary --strip-all --verbose -+ELFTOREC = $(OBJCOPY) -O srec --strip-all --verbose -+ELFTOBIN = $(OBJCOPY) -I elf32-littlearm -O binary --strip-all --verbose - REC =.srec --- -1.7.7.3 - diff --git a/boot/lpc32xxcdl/0002-delete_redundant_files.patch b/boot/lpc32xxcdl/0002-delete_redundant_files.patch deleted file mode 100644 index 39966f01e9f..00000000000 --- a/boot/lpc32xxcdl/0002-delete_redundant_files.patch +++ /dev/null @@ -1,969 +0,0 @@ -Remove duplicated files to stop the linker from complaining about duplicate -symbols - -Signed-off-by: Alexandre Belloni ---- ---- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sysapi_timer.c 2011-10-05 19:10:37.000000000 +0200 -+++ /dev/null 2012-01-01 16:39:47.918907000 +0100 -@@ -1,212 +0,0 @@ --/*********************************************************************** -- * $Id:: sysapi_timer.c 3394 2010-05-06 17:56:27Z usb10132 $ -- * -- * Project: Time support functions -- * -- * Description: -- * Implements the following functions required for the S1L API -- * time_init -- * time_reset -- * time_start -- * time_stop -- * time_get -- * time_get_rate -- * -- *********************************************************************** -- * Software that is described herein is for illustrative purposes only -- * which provides customers with programming information regarding the -- * products. This software is supplied "AS IS" without any warranties. -- * NXP Semiconductors assumes no responsibility or liability for the -- * use of the software, conveys no license or title under any patent, -- * copyright, or mask work right to the product. NXP Semiconductors -- * reserves the right to make changes in the software without -- * notification. NXP Semiconductors also make no representation or -- * warranty that such application will be suitable for the specified -- * use without further testing or modification. -- **********************************************************************/ -- --#include "s1l_sys_inf.h" --#include "lpc32xx_intc_driver.h" --#include "lpc32xx_timer_driver.h" -- --static UNS_64 base_rate; --static INT_32 tdev = 0; -- --/*********************************************************************** -- * -- * Function: time_init -- * -- * Purpose: Initializes time system -- * -- * Processing: Initializes the system timer. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: 0 if the init failed, otherwise non-zero -- * -- * Notes: None -- * -- **********************************************************************/ --INT_32 time_init(void) --{ -- TMR_PSCALE_SETUP_T pscale; -- -- /* Open timer driver */ -- if (tdev == 0) -- { -- tdev = timer_open((void *) TIMER_CNTR0, 0); -- if (tdev != 0) -- { -- /* Use a prescale count to 100000 */ -- pscale.ps_tick_val = 100000; -- pscale.ps_us_val = 0; /* Not needed when ps_tick_val != 0 */ -- timer_ioctl(tdev, TMR_SETUP_PSCALE, (INT_32) &pscale); -- -- /* Get timer clock rate */ -- base_rate = (UNS_64) timer_ioctl(tdev, TMR_GET_STATUS, -- TMR_GET_CLOCK); -- } -- } -- -- return tdev; --} -- --/*********************************************************************** -- * -- * Function: time_reset -- * -- * Purpose: Resets system timer -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --void time_reset(void) --{ -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_RESET, 1); -- } --} -- --/*********************************************************************** -- * -- * Function: time_start -- * -- * Purpose: Starts system timer -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --void time_start(void) --{ -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_ENABLE, 1); -- } --} -- --/*********************************************************************** -- * -- * Function: time_stop -- * -- * Purpose: Stops system timer -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --void time_stop(void) --{ -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_ENABLE, 0); -- } --} -- --/*********************************************************************** -- * -- * Function: time_get -- * -- * Purpose: Returns current system time value -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: The number of ticks of the timer counter -- * -- * Notes: None -- * -- **********************************************************************/ --UNS_64 time_get(void) --{ -- TMR_COUNTS_T tcounts; -- UNS_64 ticks = 0; -- -- if (tdev != 0) -- { -- timer_ioctl(tdev, TMR_GET_COUNTS, (INT_32) &tcounts); -- -- /* Compute number of timer ticks */ -- ticks = (UNS_64) tcounts.count_val * 100000; -- ticks = ticks + (UNS_64) tcounts.ps_count_val; -- } -- -- return ticks; --} -- --/*********************************************************************** -- * -- * Function: time_get_rate -- * -- * Purpose: -- * Returns base tick rate (ticks per second) of the time counter -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: The timer tick rate (in ticks per second) -- * -- * Notes: None -- * -- **********************************************************************/ --UNS_64 time_get_rate(void) --{ -- return base_rate; --} -- ---- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sys_mmu_cmd_group.c 2011-10-05 19:10:37.000000000 +0200 -+++ /dev/null 2012-01-01 16:39:47.918907000 +0100 -@@ -1,746 +0,0 @@ --/*********************************************************************** -- * $Id:: sys_mmu_cmd_group.c 3430 2010-05-07 17:39:08Z usb10132 $ -- * -- * Project: Command processor for peek, poke, dump, and fill -- * -- * Description: -- * Processes commands from the command prompt -- * -- *********************************************************************** -- * Software that is described herein is for illustrative purposes only -- * which provides customers with programming information regarding the -- * products. This software is supplied "AS IS" without any warranties. -- * NXP Semiconductors assumes no responsibility or liability for the -- * use of the software, conveys no license or title under any patent, -- * copyright, or mask work right to the product. NXP Semiconductors -- * reserves the right to make changes in the software without -- * notification. NXP Semiconductors also make no representation or -- * warranty that such application will be suitable for the specified -- * use without further testing or modification. -- **********************************************************************/ -- --#include "lpc_arm922t_cp15_driver.h" --#include "lpc_string.h" --#include "startup.h" --#include "s1l_cmds.h" --#include "s1l_sys_inf.h" -- --/* dcache command */ --BOOL_32 cmd_dcache(void); --static UNS_32 cmd_dcache_plist[] = --{ -- (PARSE_TYPE_STR), /* The "dcache" command */ -- (PARSE_TYPE_DEC | PARSE_TYPE_END) --}; --static CMD_ROUTE_T core_dcache_cmd = --{ -- (UNS_8 *) "dcache", -- cmd_dcache, -- (UNS_8 *) "Enables, disables, or flushes data cache", -- (UNS_8 *) "dcache [0(disable), 1(enable), 2(flush)]", -- cmd_dcache_plist, -- NULL --}; -- --/* icache command */ --BOOL_32 cmd_icache(void); --static UNS_32 cmd_icache_plist[] = --{ -- (PARSE_TYPE_STR), /* The "icache" command */ -- (PARSE_TYPE_DEC | PARSE_TYPE_END) --}; --static CMD_ROUTE_T core_icache_cmd = --{ -- (UNS_8 *) "icache", -- cmd_icache, -- (UNS_8 *) "Enables or disables instruction cache", -- (UNS_8 *) "icache [0(disable), 1(enable)]", -- cmd_icache_plist, -- NULL --}; -- --/* inval command */ --BOOL_32 cmd_inval(void); --static UNS_32 cmd_inval_plist[] = --{ -- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "inval" command */ --}; --static CMD_ROUTE_T core_inval_cmd = --{ -- (UNS_8 *) "inval", -- cmd_inval, -- (UNS_8 *) "Flushes data cache and invalidates instruction cache", -- (UNS_8 *) "inval", -- cmd_inval_plist, -- NULL --}; -- --/* mmuenab command */ --BOOL_32 cmd_mmuenab(void); --static UNS_32 cmd_mmuenab_plist[] = --{ -- (PARSE_TYPE_STR), /* The "mmuenab" command */ -- (PARSE_TYPE_DEC | PARSE_TYPE_END) --}; --static CMD_ROUTE_T core_mmuenab_cmd = --{ -- (UNS_8 *) "mmuenab", -- cmd_mmuenab, -- (UNS_8 *) "Enables or disables the MMU", -- (UNS_8 *) "mmuenab [0(disable), 1(enable)]", -- cmd_mmuenab_plist, -- NULL --}; -- --/* map command */ --BOOL_32 cmd_map(void); --static UNS_32 cmd_map_plist[] = --{ -- (PARSE_TYPE_STR), /* The "map" command */ -- (PARSE_TYPE_HEX), -- (PARSE_TYPE_HEX), -- (PARSE_TYPE_DEC), -- (PARSE_TYPE_DEC | PARSE_TYPE_END), --}; --static CMD_ROUTE_T core_map_cmd = --{ -- (UNS_8 *) "map", -- cmd_map, -- (UNS_8 *) "Maps a range of physical address sections to virtual addresses", -- (UNS_8 *) "map [virt hex addr][phy hex addr][sections][0(uncached), 1(cached), 2(unmap)]", -- cmd_map_plist, -- NULL --}; -- --/* mmuinfo command */ --static BOOL_32 cmd_mmuinfo(void); --static UNS_32 cmd_mmuinfo_plist[] = --{ -- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "mmuinfo" command */ --}; --static CMD_ROUTE_T core_mmuinfo_cmd = --{ -- (UNS_8 *) "mmuinfo", -- cmd_mmuinfo, -- (UNS_8 *) "Dumps page table and MMU info", -- (UNS_8 *) "mmuinfo", -- cmd_mmuinfo_plist, -- NULL --}; -- --/* MMU group */ --static GROUP_LIST_T mmu_group = --{ -- (UNS_8 *) "mmu", /* mmu group */ -- (UNS_8 *) "MMU command group", -- NULL, -- NULL --}; -- --static UNS_8 enabled_msg [] =" enabled"; --static UNS_8 disabled_msg [] =" disabled"; --static UNS_8 dcache_msg[] = "Data cache"; --static UNS_8 icache_msg[] = "Instruction cache"; --static UNS_8 pagetab_msg[] = "Page table at address: "; --static UNS_8 slist_msg[] = "Type Virt Phy fl Size"; --static UNS_8 mmu_msg [] ="MMU"; --static UNS_8 cpage_msg[] = "Coarse page:"; --static UNS_8 fpage_msg[] = "Fine page :"; --static UNS_8 sect_msg[] = "Section :"; --static UNS_8 mbytes_msg[] = "M"; --static UNS_8 map1_err_msg[] = -- "Error : section addresses must be aligned on a 32-bit boundary"; --static UNS_8 map2_err_msg[] = -- "Error : Number of sections exceeds address range of device"; --static UNS_8 phya_msg[] = "Virtual address "; --static UNS_8 mapped_msg[] = " mapped to physical address "; --static UNS_8 unmapped_msg[] = " unmapped from physical address "; --static UNS_8 cached_msg[] = " (cached)"; --static UNS_8 inval_msg[] = " invalidated"; --static UNS_8 caches_msg [] ="Caches"; --static UNS_8 flushed_msg[] = " flushed"; -- --/*********************************************************************** -- * -- * Function: show_section -- * -- * Purpose: Display section information -- * -- * Processing: -- * See function. -- * -- * Parameters: -- * mmu_reg : MMU settings for this section -- * virt_addr : Starting virtual address for this section -- * segs : Number of 1M segments for this section -- * -- * Outputs: None -- * -- * Returns: Nothing -- * -- * Notes: None -- * -- **********************************************************************/ --static void show_section(UNS_32 mmu_reg, -- UNS_32 virt_addr, -- UNS_32 segs) --{ -- UNS_8 straddr [16]; -- UNS_32 mmu_phy; -- -- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) != -- ARM922T_L1D_TYPE_FAULT) -- { -- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == -- ARM922T_L1D_TYPE_CPAGE) -- { -- term_dat_out(cpage_msg); -- } -- else if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == -- ARM922T_L1D_TYPE_FPAGE) -- { -- term_dat_out(fpage_msg); -- } -- else -- { -- term_dat_out(sect_msg); -- } -- -- /* Compute virtual address */ -- str_makehex(straddr, virt_addr, 8); -- term_dat_out(straddr); -- term_dat_out((UNS_8 *) " "); -- -- /* Compute mapped physical address */ -- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) == -- ARM922T_L1D_TYPE_SECTION) -- { -- mmu_phy = mmu_reg & 0xFFF00000; -- } -- else -- { -- /* Don't compute addresses for non-sections */ -- mmu_phy = 0; -- } -- str_makehex(straddr, mmu_phy, 8); -- term_dat_out(straddr); -- term_dat_out((UNS_8 *) " "); -- -- /* MMU flags */ -- if ((mmu_reg & ARM922T_L1D_BUFFERABLE) != 0) -- { -- term_dat_out((UNS_8 *) "b"); -- } -- else -- { -- term_dat_out((UNS_8 *) " "); -- } -- if ((mmu_reg & ARM922T_L1D_CACHEABLE) != 0) -- { -- term_dat_out((UNS_8 *) "c"); -- } -- else -- { -- term_dat_out((UNS_8 *) " "); -- } -- term_dat_out((UNS_8 *) " "); -- -- /* Displays used megabytes */ -- str_makedec(straddr, segs); -- term_dat_out(straddr); -- term_dat_out_crlf(mbytes_msg); -- } --} -- --/*********************************************************************** -- * -- * Function: mmu_dumpinfo -- * -- * Purpose: Display MMU info -- * -- * Processing: -- * Display the MMU information, including enable status, cache -- * status, and page table. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --static BOOL_32 mmu_dumpinfo(void) --{ -- UNS_32 segsz, last_mmu_reg, mmu_vrt, mmu_reg, mmu_vrtsav = 0, *pt; -- UNS_32 mlast_mmu_reg, mmmu_reg; -- int idx; -- UNS_8 hexaddr [16]; -- -- term_dat_out(mmu_msg); -- if (cp15_mmu_enabled() == FALSE) -- { -- term_dat_out_crlf(disabled_msg); -- } -- else -- { -- term_dat_out_crlf(enabled_msg); -- -- /* Get MMU control register word */ -- mmu_reg = cp15_get_mmu_control_reg(); -- -- /* Instruction cache status */ -- term_dat_out(icache_msg); -- if ((mmu_reg & ARM922T_MMU_CONTROL_I) == 0) -- { -- term_dat_out_crlf(disabled_msg); -- } -- else -- { -- term_dat_out_crlf(enabled_msg); -- } -- -- /* Data cache status */ -- term_dat_out(dcache_msg); -- if ((mmu_reg & ARM922T_MMU_CONTROL_C) == 0) -- { -- term_dat_out_crlf(disabled_msg); -- } -- else -- { -- term_dat_out_crlf(enabled_msg); -- } -- -- term_dat_out(pagetab_msg); -- mmu_reg = (UNS_32) cp15_get_ttb(); -- str_makehex(hexaddr, mmu_reg, 8); -- term_dat_out_crlf(hexaddr); -- term_dat_out_crlf(slist_msg); -- -- /* Process MMU table - assume that the physical and -- virtual locations of table are the same */ -- pt = (UNS_32 *) mmu_reg; -- mmu_vrt = 0x0; -- segsz = 0xFFFFFFFF; -- last_mmu_reg = mlast_mmu_reg = 0xFFFFFFFF; -- for (idx = 0; idx < 4096; idx++) -- { -- mmu_reg = *pt; -- mmmu_reg = (mmu_reg & (ARM922T_L1D_TYPE_PG_SN_MASK | -- ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE)); -- segsz = segsz + 1; -- -- if ((last_mmu_reg != 0xFFFFFFFF) && -- (mlast_mmu_reg != mmmu_reg)) -- { -- show_section(last_mmu_reg, mmu_vrtsav, segsz); -- segsz = 0; -- } -- -- if (mlast_mmu_reg != mmmu_reg) -- { -- mmu_vrtsav = mmu_vrt; -- last_mmu_reg = mmu_reg; -- mlast_mmu_reg = mmmu_reg; -- } -- -- pt++; -- mmu_vrt += 0x00100000; -- } -- } -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: mmu_dumpmap -- * -- * Purpose: Map a virtual address range to a physical range -- * -- * Processing: -- * From the input addresses and number of sections, generate the -- * appropriate entries in the page table. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --static BOOL_32 mmu_dumpmap(UNS_32 vrt, -- UNS_32 phy, -- UNS_32 sections, -- UNS_32 cache) --{ -- BOOL_32 processed = FALSE; -- UNS_32 mmu_phy, mmu_vrt, tmp1 = 0, tmp2, *pt; -- UNS_8 hexaddr [16]; -- -- /* Verify address boundaries are sectional */ -- mmu_vrt = vrt & ~ARM922T_L2D_SN_BASE_MASK; -- mmu_phy = phy & ~ARM922T_L2D_SN_BASE_MASK; -- if ((mmu_vrt != 0) || (mmu_phy != 0)) -- { -- term_dat_out_crlf(map1_err_msg); -- } -- else -- { -- /* Verify that address range and section count will not -- exceed address range of device */ -- tmp1 = vrt >> 20; -- tmp1 = (tmp1 + sections) - 1; -- tmp2 = phy >> 20; -- tmp2 = (tmp2 + sections) - 1; -- if ((tmp1 < 4096) && (tmp2 < 4096)) -- { -- /* Good address range and good section count */ -- processed = TRUE; -- } -- else -- { -- term_dat_out_crlf(map2_err_msg); -- } -- } -- -- /* Generate static part of MMU word */ -- if (cache == 0) -- { -- /* Section mapped with cache disabled */ -- tmp1 = ARM922T_L1D_TYPE_SECTION; -- } -- else if (cache == 1) -- { -- /* Section mapped with cache enabled */ -- tmp1 = (ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE | -- ARM922T_L1D_TYPE_SECTION); -- } -- else if (cache == 2) -- { -- /* Section unmapped */ -- tmp1 = ARM922T_L1D_TYPE_FAULT; -- } -- tmp1 |= ARM922T_L1D_AP_ALL; -- -- /* Offset into page table for virtual address */ -- tmp2 = (vrt >> 20); -- pt = cp15_get_ttb() + tmp2; -- -- /* Loop until all sections are complete */ -- while ((sections > 0) && (processed == TRUE)) -- { -- /* Add in physical address */ -- tmp2 = tmp1 | (phy & ARM922T_L2D_SN_BASE_MASK); -- -- /* Save new section descriptor for virtual address */ -- *pt = tmp2; -- -- /* Output message shown the map */ -- term_dat_out(phya_msg); -- str_makehex(hexaddr, phy, 8); -- term_dat_out(hexaddr); -- if (cache == 2) -- { -- term_dat_out(unmapped_msg); -- } -- else -- { -- term_dat_out(mapped_msg); -- } -- str_makehex(hexaddr, vrt, 8); -- term_dat_out(hexaddr); -- if (cache == 1) -- { -- term_dat_out(cached_msg); -- } -- term_dat_out_crlf((UNS_8 *) ""); -- -- /* Next section and page table entry*/ -- phy += 0x00100000; -- vrt += 0x00100000; -- pt++; -- sections--; -- } -- -- return processed; --} -- --/*********************************************************************** -- * -- * Function: cmd_mmuinfo -- * -- * Purpose: Display MMU information -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --static BOOL_32 cmd_mmuinfo(void) --{ -- mmu_dumpinfo(); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_map -- * -- * Purpose: Map a physical address region to a virtual region -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_map(void) --{ -- UNS_32 phy, virt, sects, ce = 0; -- -- /* Get arguments */ -- virt = cmd_get_field_val(1); -- phy = cmd_get_field_val(2); -- sects = cmd_get_field_val(3); -- ce = cmd_get_field_val(4); -- -- if (ce <= 2) -- { -- mmu_dumpmap(virt, phy, sects, ce); -- } -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_inval -- * -- * Purpose: MMU cache flush and invalidate -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_inval(void) --{ -- dcache_flush(); -- icache_inval(); -- term_dat_out(caches_msg); -- term_dat_out(inval_msg); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_dcache -- * -- * Purpose: MMU data cache enable and disable -- * -- * Processing: -- * If the value passed in the parser is 1, enable the data cache, -- * otherwise disable the data cache. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_dcache(void) --{ -- UNS_32 cenable; -- UNS_8 *ppar; -- -- /* Get argument */ -- cenable = cmd_get_field_val(1); -- -- switch (cenable) -- { -- case 0: -- dcache_flush(); -- cp15_set_dcache(0); -- ppar = disabled_msg; -- break; -- -- case 1: -- cp15_invalidate_cache(); -- cp15_set_dcache(1); -- ppar = enabled_msg; -- break; -- -- case 2: -- default: -- dcache_flush(); -- ppar = flushed_msg; -- break; -- } -- -- term_dat_out(dcache_msg); -- term_dat_out_crlf(ppar); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: cmd_icache -- * -- * Purpose: MMU instruction cache enable and disable -- * -- * Processing: -- * If the value passed in the parser is 1, enable the instruction -- * cache, otherwise disable the instruction cache. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_icache(void) --{ -- UNS_32 cenable; -- UNS_8 *ppar; -- -- /* Get argument */ -- cenable = cmd_get_field_val(1); -- -- if (cenable == 1) -- { -- dcache_flush(); -- cp15_invalidate_cache(); -- cp15_set_icache(1); -- ppar = enabled_msg; -- } -- else -- { -- cp15_set_icache(0); -- ppar = disabled_msg; -- } -- -- term_dat_out(icache_msg); -- term_dat_out_crlf(ppar); -- -- return TRUE; --} -- -- --/*********************************************************************** -- * -- * Function: cmd_mmuenab -- * -- * Purpose: Enable or disable MMU -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: TRUE if the command was processed, otherwise FALSE -- * -- * Notes: None -- * -- **********************************************************************/ --BOOL_32 cmd_mmuenab(void) --{ -- UNS_8 *ppar; -- UNS_32 cenable; -- -- term_dat_out_crlf((UNS_8 *) "Warning: Changing MMU status on " -- " cached and buffered code can cause system crashes."); -- -- /* Get argument */ -- cenable = cmd_get_field_val(1); -- -- if (cenable == 1) -- { -- if ((cp15_get_mmu_control_reg() & ARM922T_MMU_CONTROL_C) != 0) -- { -- cp15_invalidate_cache(); -- } -- -- cp15_set_mmu(1); -- ppar = enabled_msg; -- } -- else -- { -- cp15_dcache_flush(); -- cp15_write_buffer_flush(); -- cp15_invalidate_cache(); -- cp15_set_mmu(0); -- ppar = disabled_msg; -- } -- -- term_dat_out(mmu_msg); -- term_dat_out_crlf(ppar); -- -- return TRUE; --} -- --/*********************************************************************** -- * -- * Function: mmu_cmd_group_init -- * -- * Purpose: Initialize MMU command group -- * -- * Processing: -- * See function. -- * -- * Parameters: None -- * -- * Outputs: None -- * -- * Returns: Nothin -- * -- * Notes: None -- * -- **********************************************************************/ --void mmu_cmd_group_init(void) --{ -- /* Add MMU group */ -- cmd_add_group(&mmu_group); -- -- /* Add commands to the MMU group */ -- cmd_add_new_command(&mmu_group, &core_dcache_cmd); -- cmd_add_new_command(&mmu_group, &core_icache_cmd); -- cmd_add_new_command(&mmu_group, &core_inval_cmd); -- cmd_add_new_command(&mmu_group, &core_mmuenab_cmd); -- cmd_add_new_command(&mmu_group, &core_map_cmd); -- cmd_add_new_command(&mmu_group, &core_mmuinfo_cmd); --} diff --git a/boot/lpc32xxcdl/0003-libnosys_gnu.patch b/boot/lpc32xxcdl/0003-libnosys_gnu.patch deleted file mode 100644 index cfd77bead6f..00000000000 --- a/boot/lpc32xxcdl/0003-libnosys_gnu.patch +++ /dev/null @@ -1,188 +0,0 @@ -Fix compilation and eabi issues - -Since we are not linking with libc anymore, we need to define our own memset, -strlen and memcpy. Also, as we are using a *libc compiler, we need to "handle" -exceptions (mostly division by 0) by defining raise() and -__aeabi_unwind_cpp_pr0. - -Signed-off-by: Alexandre Belloni ---- - csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ - csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ - csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++ - 3 files changed, 123 insertions(+), 0 deletions(-) - -diff --git a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c -index 385b0ab..f1f0a0a 100644 ---- a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c -+++ b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - /* errno definition */ - #undef errno -@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ - return 0; - } - -+void * memset(void * s,int c,size_t count) -+{ -+ char *xs = (char *) s; -+ -+ while (count--) -+ *xs++ = c; -+ -+ return s; -+} -+ -+ -+size_t strlen(const char * s) -+{ -+ const char *sc; -+ -+ for (sc = s; *sc != '\0'; ++sc) -+ /* nothing */; -+ return sc - s; -+} -+ -+void * memcpy(void * dest,const void *src,size_t count) -+{ -+ char *tmp = (char *) dest, *s = (char *) src; -+ -+ while (count--) -+ *tmp++ = *s++; -+ -+ return dest; -+} -+ -+ -+/* Dummy functions to avoid linker complaints */ -+void __aeabi_unwind_cpp_pr0(void) -+{ -+}; -+ -+void raise(void) -+{ -+}; -+ - #endif /*__GNUC__*/ -diff --git a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c -index 385b0ab..f1f0a0a 100644 ---- a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c -+++ b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - /* errno definition */ - #undef errno -@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ - return 0; - } - -+void * memset(void * s,int c,size_t count) -+{ -+ char *xs = (char *) s; -+ -+ while (count--) -+ *xs++ = c; -+ -+ return s; -+} -+ -+ -+size_t strlen(const char * s) -+{ -+ const char *sc; -+ -+ for (sc = s; *sc != '\0'; ++sc) -+ /* nothing */; -+ return sc - s; -+} -+ -+void * memcpy(void * dest,const void *src,size_t count) -+{ -+ char *tmp = (char *) dest, *s = (char *) src; -+ -+ while (count--) -+ *tmp++ = *s++; -+ -+ return dest; -+} -+ -+ -+/* Dummy functions to avoid linker complaints */ -+void __aeabi_unwind_cpp_pr0(void) -+{ -+}; -+ -+void raise(void) -+{ -+}; -+ - #endif /*__GNUC__*/ -diff --git a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c -index cfdb674..6b50c60 100644 ---- a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c -+++ b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - /* errno definition */ - #undef errno -@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){ - return 0; - } - -+void * memset(void * s,int c,size_t count) -+{ -+ char *xs = (char *) s; -+ -+ while (count--) -+ *xs++ = c; -+ -+ return s; -+} -+ -+ -+size_t strlen(const char * s) -+{ -+ const char *sc; -+ -+ for (sc = s; *sc != '\0'; ++sc) -+ /* nothing */; -+ return sc - s; -+} -+ -+void * memcpy(void * dest,const void *src,size_t count) -+{ -+ char *tmp = (char *) dest, *s = (char *) src; -+ -+ while (count--) -+ *tmp++ = *s++; -+ -+ return dest; -+} -+ -+ -+/* Dummy functions to avoid linker complaints */ -+void __aeabi_unwind_cpp_pr0(void) -+{ -+}; -+ -+void raise(void) -+{ -+}; -+ - #endif /*__GNUC__*/ --- -1.7.7.3 - diff --git a/boot/lpc32xxcdl/0004-slashes.patch b/boot/lpc32xxcdl/0004-slashes.patch deleted file mode 100644 index 94c184780e9..00000000000 --- a/boot/lpc32xxcdl/0004-slashes.patch +++ /dev/null @@ -1,521 +0,0 @@ -Use slashes instead of backslashes - -Signed-off-by: Alexandre Belloni ---- - .../bsps/common/examples/buildfiles/makefile | 10 +++--- - .../startup/examples/burners/makefile.burner | 16 +++++----- - csps/lpc32xx/bsps/ea3250/source/makefile | 10 +++--- - csps/lpc32xx/bsps/fdi3250/source/makefile | 12 ++++---- - csps/lpc32xx/bsps/phy3250/examples/makefile | 2 +- - csps/lpc32xx/bsps/phy3250/source/makefile | 2 +- - .../examples/Burners/nor/kickstart/makefile | 2 +- - .../startup/examples/Burners/nor/norerase/makefile | 2 +- - .../startup/examples/Burners/nor/s1lapp/makefile | 2 +- - .../examples/Burners/spi/kickstart/makefile | 2 +- - csps/lpc32xx/source/makefile | 10 +++--- - lpc/source/makefile | 10 +++--- - makefile | 2 +- - makerule/common/make.rules.environment | 30 ++++++++++---------- - makerule/lpc32xx/make.lpc32xx.gnu | 2 +- - makerule/lpc32xx/make.lpc32xx.iar | 12 ++++---- - makerule/lpc32xx/make.lpc32xx.keil | 6 ++-- - makerule/lpc32xx/make.lpc32xx.rvw | 2 +- - 18 files changed, 67 insertions(+), 67 deletions(-) - -diff --git a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile -index cf4977c..1da2201 100644 ---- a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile -+++ b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile -@@ -25,16 +25,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -42,6 +42,6 @@ CFLAGS +=-I..\Include - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - -diff --git a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner -index fca3947..18bd703 100644 ---- a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner -+++ b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner -@@ -22,9 +22,9 @@ - # - ######################################################################## - --COMMON_BASE := $(NXPMCU_SOFTWARE)\csps\$(CSP)\bsps\common --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) --include $(COMMON_BASE)\startup\examples\buildfiles\make.env -+COMMON_BASE := $(NXPMCU_SOFTWARE)/csps/$(CSP)/bsps/common -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) -+include $(COMMON_BASE)/startup/examples/buildfiles/make.env - - ######################################################################## - # ARM Realview -@@ -38,7 +38,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" - #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" - - # This runs from IRAM --LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld -+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld - LDFLAGS = --remove - MAP = --map --info=totals,sizes,unused --symbols --list - endif -@@ -55,7 +55,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}" - #AFLAGS += --predefine "RW_RELOC SETL {TRUE}" - - # This runs from IRAM --LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld -+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld - LDFLAGS = --remove - MAP = --map --info=totals,sizes,unused --symbols --list - endif -@@ -72,7 +72,7 @@ AFLAGS += --defsym USE_ALL_STACKS=1 - #AFLAGS += --defsym RW_RELOC=1 - - # This runs from IRAM --LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_gnu.ld -+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_gnu.ld - - endif - -@@ -108,7 +108,7 @@ endif - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes - - ######################################################################## - # -@@ -157,6 +157,6 @@ endif - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: debug bin -diff --git a/csps/lpc32xx/bsps/ea3250/source/makefile b/csps/lpc32xx/bsps/ea3250/source/makefile -index 7cada25..2899b20 100644 ---- a/csps/lpc32xx/bsps/ea3250/source/makefile -+++ b/csps/lpc32xx/bsps/ea3250/source/makefile -@@ -22,16 +22,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -64,7 +64,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/csps/lpc32xx/bsps/fdi3250/source/makefile b/csps/lpc32xx/bsps/fdi3250/source/makefile -index 4e153bb..11e4b63 100644 ---- a/csps/lpc32xx/bsps/fdi3250/source/makefile -+++ b/csps/lpc32xx/bsps/fdi3250/source/makefile -@@ -22,16 +22,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -53,7 +53,7 @@ lib_clean: - # delete all targets this Makefile can make and all built libraries - # linked in - lib_realclean: -- -@$(RM) $(BSP_LIB_DIR)\*.a -+ -@$(RM) $(BSP_LIB_DIR)/*.a - -@$(RMDIR) $(BSP_LIB_DIR) - - clean: lib_clean -@@ -65,7 +65,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/csps/lpc32xx/bsps/phy3250/examples/makefile b/csps/lpc32xx/bsps/phy3250/examples/makefile -index b939252..e7feaa6 100644 ---- a/csps/lpc32xx/bsps/phy3250/examples/makefile -+++ b/csps/lpc32xx/bsps/phy3250/examples/makefile -@@ -25,7 +25,7 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - SUBDIRS = adc dram_self_refresh hstimer hsuart i2c kscan lcd_colorbars - SUBDIRS += lcd_tsc mi2c mstimer pwm pwm_simple rtc sdcard sdcard_dma -diff --git a/csps/lpc32xx/bsps/phy3250/source/makefile b/csps/lpc32xx/bsps/phy3250/source/makefile -index 7c48e7d..750b776 100644 ---- a/csps/lpc32xx/bsps/phy3250/source/makefile -+++ b/csps/lpc32xx/bsps/phy3250/source/makefile -@@ -32,7 +32,7 @@ include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes - AFLAGS +=-I../Include - CFLAGS +=-I../Include - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile -index 01e2b38..526d6cc 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile -@@ -78,7 +78,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile -index ce329f5..e81b8db 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile -@@ -77,7 +77,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile -index 4426fc7..196faec 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile -@@ -77,7 +77,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile -index dc73b64..39fc304 100644 ---- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile -+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile -@@ -78,7 +78,7 @@ endif - - ######################################################################## - # --# Compiler\linker specific stuff -+# Compiler/linker specific stuff - # - ######################################################################## - -diff --git a/csps/lpc32xx/source/makefile b/csps/lpc32xx/source/makefile -index 8e05456..16bd944 100644 ---- a/csps/lpc32xx/source/makefile -+++ b/csps/lpc32xx/source/makefile -@@ -25,16 +25,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - - ######################################################################## -@@ -68,7 +68,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/lpc/source/makefile b/lpc/source/makefile -index 2860db9..ae7d612 100644 ---- a/lpc/source/makefile -+++ b/lpc/source/makefile -@@ -25,16 +25,16 @@ - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # - # Pick up the assembler and C source files in the directory - # - ######################################################################## --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes --AFLAGS +=-I..\Include --CFLAGS +=-I..\Include -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes -+AFLAGS +=-I../Include -+CFLAGS +=-I../Include - - ######################################################################## - # -@@ -67,7 +67,7 @@ realclean: lib_realclean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build - - .PHONY: all lib_clean lib_realclean - -diff --git a/makefile b/makefile -index 8645fcc..86fa6bc 100644 ---- a/makefile -+++ b/makefile -@@ -34,7 +34,7 @@ TARGETS_CLN =gen_clean csp_clean bsp_clean - # - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL) -+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL) - - ######################################################################## - # -diff --git a/makerule/common/make.rules.environment b/makerule/common/make.rules.environment -index d5737fe..4e6df48 100644 ---- a/makerule/common/make.rules.environment -+++ b/makerule/common/make.rules.environment -@@ -52,7 +52,7 @@ ASTYLE =astyle --options=$(BUILD_ROOT)/tools/astyle.cfg - # - ######################################################################## - --CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib -+CSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/lib - - ######################################################################## - # -@@ -60,7 +60,7 @@ CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib - # - ######################################################################## - --BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib -+BSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)/lib - - ######################################################################## - # -@@ -68,7 +68,7 @@ BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib - # - ######################################################################## - --GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib -+GEN_LIB_DIR =$(BUILD_ROOT)/$(GEN)/lib - - ######################################################################## - # -@@ -76,9 +76,9 @@ GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib - # - ######################################################################## - --CSP_DIR =$(BUILD_ROOT)\csps\$(CSP) --CSP_SRC_DIR =$(CSP_DIR)\source --CSP_INC_DIR =$(CSP_DIR)\include -+CSP_DIR =$(BUILD_ROOT)/csps/$(CSP) -+CSP_SRC_DIR =$(CSP_DIR)/source -+CSP_INC_DIR =$(CSP_DIR)/include - - ######################################################################## - # -@@ -86,9 +86,9 @@ CSP_INC_DIR =$(CSP_DIR)\include - # - ######################################################################## - --BSP_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP) --BSP_SRC_DIR =$(BSP_DIR)\source --BSP_INC_DIR =$(BSP_DIR)\include -+BSP_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP) -+BSP_SRC_DIR =$(BSP_DIR)/source -+BSP_INC_DIR =$(BSP_DIR)/include - - ######################################################################## - # -@@ -96,9 +96,9 @@ BSP_INC_DIR =$(BSP_DIR)\include - # - ######################################################################## - --GEN_DIR =$(BUILD_ROOT)\$(GEN) --GEN_SRC_DIR =$(GEN_DIR)\source --GEN_INC_DIR =$(GEN_DIR)\include -+GEN_DIR =$(BUILD_ROOT)/$(GEN) -+GEN_SRC_DIR =$(GEN_DIR)/source -+GEN_INC_DIR =$(GEN_DIR)/include - - ######################################################################## - # -@@ -151,6 +151,6 @@ endif - # - ######################################################################## - --TARGET_CSP_LIB =$(CSP_LIB_DIR)\$(CSP_ARCHIVE) --TARGET_BSP_LIB =$(BSP_LIB_DIR)\$(BSP_ARCHIVE) --TARGET_GEN_LIB =$(GEN_LIB_DIR)\$(GEN_ARCHIVE) -+TARGET_CSP_LIB =$(CSP_LIB_DIR)/$(CSP_ARCHIVE) -+TARGET_BSP_LIB =$(BSP_LIB_DIR)/$(BSP_ARCHIVE) -+TARGET_GEN_LIB =$(GEN_LIB_DIR)/$(GEN_ARCHIVE) -diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu -index 3277d99..d80b98d 100644 ---- a/makerule/lpc32xx/make.lpc32xx.gnu -+++ b/makerule/lpc32xx/make.lpc32xx.gnu -@@ -19,7 +19,7 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - - CPU = arm926ej-s - CFLAGS = -mcpu=arm926ej-s -Wall -Os -diff --git a/makerule/lpc32xx/make.lpc32xx.iar b/makerule/lpc32xx/make.lpc32xx.iar -index 238ebbf..27d163f 100644 ---- a/makerule/lpc32xx/make.lpc32xx.iar -+++ b/makerule/lpc32xx/make.lpc32xx.iar -@@ -19,12 +19,12 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - --IARBASE = $(IAR_ROOT)\ARM --IARTOOLS = $(IARBASE)\bin --IAR_LIB = $(IARBASE)\lib --IAR_INC = $(IARBASE)\inc -+IARBASE = $(IAR_ROOT)/ARM -+IARTOOLS = $(IARBASE)/bin -+IAR_LIB = $(IARBASE)/lib -+IAR_INC = $(IARBASE)/inc - CC = iccarm - CCP = iccarm - AS = iasmarm -@@ -36,7 +36,7 @@ CFLAGS += -I"$(IAR_INC)" - AFLAGS = --cpu 5TEJ - LDFLAGS = - LK = "$(TARGET_GEN_LIB)" "$(TARGET_CSP_LIB)" "$(TARGET_BSP_LIB)" --;LK += "$(IAR_LIB)\dl4tpannl8f.r79" -+;LK += "$(IAR_LIB)/dl4tpannl8f.r79" - MAP = --map - LDESC = --config - ENTRY = --entry -diff --git a/makerule/lpc32xx/make.lpc32xx.keil b/makerule/lpc32xx/make.lpc32xx.keil -index dd27583..7334d3f 100644 ---- a/makerule/lpc32xx/make.lpc32xx.keil -+++ b/makerule/lpc32xx/make.lpc32xx.keil -@@ -19,7 +19,7 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - - CC =armcc - CCP =armcc -@@ -27,11 +27,11 @@ AS =armasm - LD =armlink - AR =armar -r -s - CFLAGS =--arm -O3 -g --device DARMP3 -D__MICROLIB --CFLAGS +=-I$(KEIL_RVCT)\inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) -+CFLAGS +=-I$(KEIL_RVCT)/inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) - AFLAGS =--arm --device=DARMP3 - AFLAGS +=-I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR) - LDFLAGS =--noremove --LK =--device DARMP3 --libpath $(KEIL_RVCT)\lib --scan $(TARGET_CSP_LIB) -+LK =--device DARMP3 --libpath $(KEIL_RVCT)/lib --scan $(TARGET_CSP_LIB) - LK +=--scan $(TARGET_BSP_LIB) - LK +=--scan $(TARGET_GEN_LIB) - MAP =--map --list -diff --git a/makerule/lpc32xx/make.lpc32xx.rvw b/makerule/lpc32xx/make.lpc32xx.rvw -index 59961dd..2419976 100644 ---- a/makerule/lpc32xx/make.lpc32xx.rvw -+++ b/makerule/lpc32xx/make.lpc32xx.rvw -@@ -19,7 +19,7 @@ - # use without further testing or modification. - ######################################################################## - --include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment -+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment - - CC =armcc - CCP =armcpp --- -1.7.7.3 - diff --git a/boot/lpc32xxcdl/Config.in b/boot/lpc32xxcdl/Config.in deleted file mode 100644 index 97137aa7d4e..00000000000 --- a/boot/lpc32xxcdl/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_TARGET_LPC32XXCDL - bool "LPC32XX CDL (kickstart and S1L)" - depends on BR2_arm926t - -if BR2_TARGET_LPC32XXCDL - -config BR2_TARGET_LPC32XXCDL_BOARDNAME - string "LPC32xx board name" - -endif #BR2_TARGET_LPC32XXCDL diff --git a/boot/lpc32xxcdl/lpc32xxcdl.hash b/boot/lpc32xxcdl/lpc32xxcdl.hash deleted file mode 100644 index 8c6b73d63fa..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 ded3fa936a96d3fb8188ca6214f57b5208bd49e5416bd69f38bfc810b34197bc lpc32xx_cdl-v2.11.zip diff --git a/boot/lpc32xxcdl/lpc32xxcdl.mk b/boot/lpc32xxcdl/lpc32xxcdl.mk deleted file mode 100644 index 9f5cd27f508..00000000000 --- a/boot/lpc32xxcdl/lpc32xxcdl.mk +++ /dev/null @@ -1,71 +0,0 @@ -################################################################################ -# -# lpc32xxcdl -# -################################################################################ - -LPC32XXCDL_VERSION = 2.11 -LPC32XXCDL_SOURCE = lpc32xx_cdl-v$(LPC32XXCDL_VERSION).zip -LPC32XXCDL_SITE = https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/lpcware-archive/61/2 - -LPC32XXCDL_INSTALL_TARGET = NO -LPC32XXCDL_INSTALL_IMAGES = YES - -ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250") -LPC32XXCDL_KICKSTART = kickstart/nand -LPC32XXCDL_KICKSTART_BURNER = nand/kickstart -LPC32XXCDL_S1L = s1l -LPC32XXCDL_S1L_BURNER = nand/s1lapp -endif - -ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250") -LPC32XXCDL_KICKSTART = kickstart/kickstart_nand -LPC32XXCDL_KICKSTART_BURNER = nand/kickstart -LPC32XXCDL_S1L = s1l/s1l_nand_boot -LPC32XXCDL_S1L_BURNER = nand/s1lapp -endif - -ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250") -LPC32XXCDL_KICKSTART = kickstart/nand -LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag -LPC32XXCDL_S1L = s1l -LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag -endif - -LPC32XXCDL_BUILD_FLAGS = \ - CROSS_COMPILE=$(TARGET_CROSS) \ - NXPMCU_WINBASE=$(@D) \ - NXPMCU_SOFTWARE=$(@D) \ - BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \ - CSP=lpc32xx TOOL=gnu GEN=lpc - -LPC32XXCDL_BOARD_STARTUP_DIR = \ - csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/ - -# Source files are with dos newlines, which our patch infrastructure doesn't -# handle. Work around it by converting the affected files to unix newlines -# before patching -define LPC32XXCDL_EXTRACT_CMDS - unzip $(LPC32XXCDL_DL_DIR)/$(LPC32XXCDL_SOURCE) -d $(@D) - mv $(@D)/lpc3xxx_cdl/* $(@D) - rmdir $(@D)/lpc3xxx_cdl/ - sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \ - boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//' -endef - -define LPC32XXCDL_BUILD_CMDS - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER) - $(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L) -endef - -define LPC32XXCDL_INSTALL_IMAGES_CMDS - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR) - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR) - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR) - cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR) -endef - -$(eval $(generic-package)) diff --git a/boot/mv-ddr-marvell/0001-Allow-access-to-low-addresses-with-gcc-12.patch b/boot/mv-ddr-marvell/0001-Allow-access-to-low-addresses-with-gcc-12.patch new file mode 100644 index 00000000000..5a623f28f95 --- /dev/null +++ b/boot/mv-ddr-marvell/0001-Allow-access-to-low-addresses-with-gcc-12.patch @@ -0,0 +1,49 @@ +From 4796a1eacc6a5ccb623e7d2e46a5196f8335e496 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 11 Aug 2023 11:19:49 +0300 +Subject: [PATCH] Allow access to low addresses with gcc 12 + +gcc 12 added a warning that triggers on access to low addresses. Add a +compile option that allows access to lower addresses. + +Add the 'cc_option' macro to avoid the compile option when the compiler +does not support it. + +This fixes build with TF-A. TF-A added a similar fix in commit +dea23e245fb89. + +See some more details in +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 + +Upstream: https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/pull/42 +Signed-off-by: Baruch Siach +--- + Makefile | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Makefile b/Makefile +index 3f0dd89a7381..045284c30cbc 100644 +--- a/Makefile ++++ b/Makefile +@@ -108,6 +108,10 @@ MV_DDR_VER_CSRC = mv_ddr_build_message.c + # create mv_ddr build message and version string source file + $(shell $(MV_DDR_ROOT)/scripts/localversion.sh $(MV_DDR_ROOT) $(MV_DDR_VER_CSRC) 2> /dev/null) + ++define cc_option ++ $(shell if $(CC) $(1) -c -x c /dev/null -o /dev/null >/dev/null 2>&1; then echo $(1); fi ) ++endef ++ + # ****************** + # U-BOOT SPL SUPPORT + # ****************** +@@ -331,6 +335,7 @@ OBJ_DIR ?= $(MV_DDR_ROOT) + CFLAGS = -DMV_DDR_ATF -DCONFIG_DDR4 + CFLAGS += -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc + CFLAGS += -march=armv8-a -fpie ++CFLAGS += $(call cc_option, --param=min-pagesize=0) + + # PLATFORM is set in ble/ble.mk + ifneq ($(findstring a80x0,$(PLATFORM)),) +-- +2.40.1 + diff --git a/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch b/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch deleted file mode 100644 index 62b1000727f..00000000000 --- a/boot/mv-ddr-marvell/0001-Makefile-disable-stack-protection.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 53e34e3bff26fcbb7cc14178fa9fc80e7a73d556 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 11 Oct 2022 16:34:44 +0300 -Subject: [PATCH] Makefile: disable stack protection - -The Buildroot toolchain might enable stack protection by default. That -breaks linking because ATF does not provide the required __stack_chk -routines. - -The mv-ddr-marvell Makefile provides no way to add custom CFLAGS. Patch -Makefile to disable stack protection. - -Signed-off-by: Baruch Siach ---- -Upstream status: not applicable; Buildroot specific ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile b/Makefile -index 3f0dd89a7381..feae75cc16e4 100644 ---- a/Makefile -+++ b/Makefile -@@ -331,6 +331,7 @@ OBJ_DIR ?= $(MV_DDR_ROOT) - CFLAGS = -DMV_DDR_ATF -DCONFIG_DDR4 - CFLAGS += -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc - CFLAGS += -march=armv8-a -fpie -+CFLAGS += -fno-stack-protector - - # PLATFORM is set in ble/ble.mk - ifneq ($(findstring a80x0,$(PLATFORM)),) --- -2.35.1 - diff --git a/boot/mv-ddr-marvell/0002-Makefile-disable-stack-protection.patch b/boot/mv-ddr-marvell/0002-Makefile-disable-stack-protection.patch new file mode 100644 index 00000000000..626279eb471 --- /dev/null +++ b/boot/mv-ddr-marvell/0002-Makefile-disable-stack-protection.patch @@ -0,0 +1,33 @@ +From 53e34e3bff26fcbb7cc14178fa9fc80e7a73d556 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 11 Oct 2022 16:34:44 +0300 +Subject: [PATCH] Makefile: disable stack protection + +The Buildroot toolchain might enable stack protection by default. That +breaks linking because ATF does not provide the required __stack_chk +routines. + +The mv-ddr-marvell Makefile provides no way to add custom CFLAGS. Patch +Makefile to disable stack protection. + +Upstream: not applicable; Buildroot specific +Signed-off-by: Baruch Siach +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index 045284c30cbc..9641354bcf86 100644 +--- a/Makefile ++++ b/Makefile +@@ -336,6 +336,7 @@ CFLAGS = -DMV_DDR_ATF -DCONFIG_DDR4 + CFLAGS += -Wall -Werror -Os -ffreestanding -mlittle-endian -g -gdwarf-2 -nostdinc + CFLAGS += -march=armv8-a -fpie + CFLAGS += $(call cc_option, --param=min-pagesize=0) ++CFLAGS += -fno-stack-protector + + # PLATFORM is set in ble/ble.mk + ifneq ($(findstring a80x0,$(PLATFORM)),) +-- +2.40.1 + diff --git a/boot/mxs-bootlets/Config.in b/boot/mxs-bootlets/Config.in index b3e392afa86..8f9334b610b 100644 --- a/boot/mxs-bootlets/Config.in +++ b/boot/mxs-bootlets/Config.in @@ -1,6 +1,8 @@ config BR2_TARGET_MXS_BOOTLETS bool "mxs-bootlets" depends on BR2_arm + depends on BR2_TARGET_BAREBOX || BR2_LINUX_KERNEL || \ + BR2_TARGET_UBOOT help Stage1 bootloaders for Freescale iMX23/iMX28 SoCs diff --git a/boot/opensbi/0.9/0001-Makefile-Don-t-specify-mabi-or-march.patch b/boot/opensbi/0.9/0001-Makefile-Don-t-specify-mabi-or-march.patch deleted file mode 100644 index 5f554a6c249..00000000000 --- a/boot/opensbi/0.9/0001-Makefile-Don-t-specify-mabi-or-march.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f5871e1f3650d6c8a032928cb5d8ca00c275c377 Mon Sep 17 00:00:00 2001 -From: Alistair Francis -Date: Fri, 15 Feb 2019 14:57:41 -0800 -Subject: [PATCH] Makefile: Don't specify mabi or march - -To avoid - can't link double-float modules with soft-float modules -errors when building 32-bit openSBI don't specify mabi or march. - -Signed-off-by: Alistair Francis ---- - Makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Makefile b/Makefile -index ae68f55..10851fc 100644 ---- a/Makefile -+++ b/Makefile -@@ -145,7 +145,6 @@ GENFLAGS += $(firmware-genflags-y) - CFLAGS = -g -Wall -Werror -nostdlib -fno-strict-aliasing -O2 - CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls - CFLAGS += -mno-save-restore -mstrict-align --CFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) - CFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) - CFLAGS += $(GENFLAGS) - CFLAGS += $(platform-cflags-y) -@@ -158,7 +157,6 @@ CPPFLAGS += $(firmware-cppflags-y) - ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__ - ASFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls - ASFLAGS += -mno-save-restore -mstrict-align --ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) - ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) - ASFLAGS += $(GENFLAGS) - ASFLAGS += $(platform-asflags-y) --- -2.20.1 - diff --git a/boot/opensbi/0.9/0002-Makefile-unconditionally-disable-SSP.patch b/boot/opensbi/0.9/0002-Makefile-unconditionally-disable-SSP.patch deleted file mode 100644 index c4edd37f1a9..00000000000 --- a/boot/opensbi/0.9/0002-Makefile-unconditionally-disable-SSP.patch +++ /dev/null @@ -1,53 +0,0 @@ -From e389d5fbc296e496db15368b2b621e0f178f7f34 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 8 May 2021 21:28:10 +0200 -Subject: [PATCH] Makefile: unconditionally disable SSP - -Though -nostdlib is passed in {C,+AS,DTSCPP}FLAGS, -fno-stack-protector -must also be passed to avoid linking errors related to undefined -references to '__stack_chk_guard' and '__stack_chk_fail' if toolchain -enforces -fstack-protector. - -Fixes: - - https://gitlab.com/kubu93/buildroot/-/jobs/1247043359 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/riscv/opensbi/pull/211] ---- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index eeffe6b..1419360 100644 ---- a/Makefile -+++ b/Makefile -@@ -203,7 +203,7 @@ GENFLAGS += $(libsbiutils-genflags-y) - GENFLAGS += $(platform-genflags-y) - GENFLAGS += $(firmware-genflags-y) - --CFLAGS = -g -Wall -Werror -ffreestanding -nostdlib -fno-strict-aliasing -O2 -+CFLAGS = -g -Wall -Werror -ffreestanding -nostdlib -fno-stack-protector -fno-strict-aliasing -O2 - CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls - CFLAGS += -mno-save-restore -mstrict-align - CFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) -@@ -217,7 +217,7 @@ CPPFLAGS += $(GENFLAGS) - CPPFLAGS += $(platform-cppflags-y) - CPPFLAGS += $(firmware-cppflags-y) - --ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__ -+ASFLAGS = -g -Wall -nostdlib -fno-stack-protector -D__ASSEMBLY__ - ASFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls - ASFLAGS += -mno-save-restore -mstrict-align - ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA) -@@ -236,7 +236,7 @@ MERGEFLAGS += -r - MERGEFLAGS += -b elf$(PLATFORM_RISCV_XLEN)-littleriscv - MERGEFLAGS += -m elf$(PLATFORM_RISCV_XLEN)lriscv - --DTSCPPFLAGS = $(CPPFLAGS) -nostdinc -nostdlib -fno-builtin -D__DTS__ -x assembler-with-cpp -+DTSCPPFLAGS = $(CPPFLAGS) -nostdinc -nostdlib -fno-stack-protector -fno-builtin -D__DTS__ -x assembler-with-cpp - - # Setup functions for compilation - define dynamic_flags --- -2.30.2 - diff --git a/boot/opensbi/Config.in b/boot/opensbi/Config.in index 86f848f1771..de2f0aae20d 100644 --- a/boot/opensbi/Config.in +++ b/boot/opensbi/Config.in @@ -19,7 +19,7 @@ choice Select the specific OpenSBI version you want to use config BR2_TARGET_OPENSBI_LATEST_VERSION - bool "0.9" + bool "1.3" config BR2_TARGET_OPENSBI_CUSTOM_VERSION bool "Custom version" @@ -57,10 +57,10 @@ endif config BR2_TARGET_OPENSBI_VERSION string - default "0.9" if BR2_TARGET_OPENSBI_LATEST_VERSION + default "1.3" if BR2_TARGET_OPENSBI_LATEST_VERSION default BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE \ if BR2_TARGET_OPENSBI_CUSTOM_VERSION - default "custom" if BR2_TARGET_OPENSBI_CUSTOM_TARBALL + default "custom" if BR2_TARGET_OPENSBI_CUSTOM_TARBALL default BR2_TARGET_OPENSBI_CUSTOM_REPO_VERSION \ if BR2_TARGET_OPENSBI_CUSTOM_GIT diff --git a/boot/opensbi/opensbi.hash b/boot/opensbi/opensbi.hash index 3b6d97c42d1..980fb141dcf 100644 --- a/boot/opensbi/opensbi.hash +++ b/boot/opensbi/opensbi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 60f995cb3cd03e3cf5e649194d3395d0fe67499fd960a36cf7058a4efde686f0 opensbi-0.9.tar.gz +sha256 2c0501eb3475f463b15f5b8531996f64604ea49e0e3ed040ecbd1fc27ecd8c5c opensbi-1.3.tar.gz sha256 82d13fb1bf6bb162629deeea9eb9c117e74548d3b707e478967691fe79a68e21 COPYING.BSD diff --git a/boot/opensbi/opensbi.mk b/boot/opensbi/opensbi.mk index 06ec87b2c3a..dd113a0bf87 100644 --- a/boot/opensbi/opensbi.mk +++ b/boot/opensbi/opensbi.mk @@ -71,6 +71,7 @@ OPENSBI_INSTALL_IMAGES = YES OPENSBI_FW_IMAGES += payload endif +ifneq ($(OPENSBI_PLAT),) define OPENSBI_INSTALL_IMAGES_CMDS $(foreach f,$(OPENSBI_FW_IMAGES),\ $(INSTALL) -m 0644 -D $(@D)/build/platform/$(OPENSBI_PLAT)/firmware/fw_$(f).bin \ @@ -79,6 +80,7 @@ define OPENSBI_INSTALL_IMAGES_CMDS $(BINARIES_DIR)/fw_$(f).elf ) endef +endif # libsbi.a is not a library meant to be linked in user-space code, but # with bare metal code, which is why we don't install it in diff --git a/boot/optee-os/Config.in b/boot/optee-os/Config.in index 8bcce223062..9f834c7faf5 100644 --- a/boot/optee-os/Config.in +++ b/boot/optee-os/Config.in @@ -18,7 +18,7 @@ choice Select the version of OP-TEE OS you want to use config BR2_TARGET_OPTEE_OS_LATEST - bool "3.19.0" + bool "4.0.0" depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS select BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY help @@ -70,7 +70,7 @@ endif config BR2_TARGET_OPTEE_OS_VERSION string - default "3.19.0" if BR2_TARGET_OPTEE_OS_LATEST + default "4.0.0" if BR2_TARGET_OPTEE_OS_LATEST default "custom" if BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL default BR2_TARGET_OPTEE_OS_CUSTOM_REPO_VERSION \ if BR2_TARGET_OPTEE_OS_CUSTOM_GIT @@ -91,6 +91,12 @@ config BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY python-cryptography. Select this option if optee-os needs python-cryptography to be built. +config BR2_TARGET_OPTEE_OS_NEEDS_CMAKE + bool "OP-TEE OS needs cmake" + help + Select this option if your OP-TEE OS platform configuration + requires the cmake build system to be available. + config BR2_TARGET_OPTEE_OS_CORE bool "Build core" default y @@ -130,6 +136,18 @@ config BR2_TARGET_OPTEE_OS_PLATFORM_FLAVOR Value for the optional PLATFORM_FLAVOR build directive provided to OP-TEE OS. +config BR2_TARGET_OPTEE_OS_CUSTOM_DTS_PATH + string "Device Tree Source file paths" + help + Space-separated list of paths to device tree source files + that will be copied to core/arch/arm/dts/ before starting + the build. + + To use this device tree source file, the OP-TEE OS + configuration must refer to it with the + CFG_EMBED_DTB_SOURCE_FILE option and no platform flavor + needs to be specified. + config BR2_TARGET_OPTEE_OS_ADDITIONAL_VARIABLES string "Additional build variables" help diff --git a/boot/optee-os/optee-os.hash b/boot/optee-os/optee-os.hash index a87f21a9bfb..1f13931ca20 100644 --- a/boot/optee-os/optee-os.hash +++ b/boot/optee-os/optee-os.hash @@ -1,4 +1,4 @@ -# From https://github.com/OP-TEE/optee_os/archive/3.19.0/optee-os-3.19.0.tar.gz -sha256 5e0c03bbc4d106f262a6bd33333c002c3380205ae6b82334aa7b644721ff7868 optee-os-3.19.0.tar.gz +# From https://github.com/OP-TEE/optee_os/archive/4.0.0/optee-os-4.0.0.tar.gz +sha256 2c2c9525b36c96dfad6216520721b8e9663e6cacc61d0108a0c8bffc0ea175f1 optee-os-4.0.0.tar.gz # Locally computed sha256 1247ee90858f4037b6cac63cbffddfed435d0d73c631b37d78c1e6e6ab3e5d1a LICENSE diff --git a/boot/optee-os/optee-os.mk b/boot/optee-os/optee-os.mk index 38b0d367efa..8fa5c824da8 100644 --- a/boot/optee-os/optee-os.mk +++ b/boot/optee-os/optee-os.mk @@ -30,6 +30,10 @@ endif OPTEE_OS_DEPENDENCIES = host-openssl host-python3 host-python-pyelftools +ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_CMAKE),y) +OPTEE_OS_DEPENDENCIES += host-cmake +endif + ifeq ($(BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY),y) OPTEE_OS_DEPENDENCIES += host-python-cryptography else @@ -84,6 +88,8 @@ endif OPTEE_OS_IMAGE_FILES = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CORE_IMAGES)) +OPTEE_OS_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_TARGET_OPTEE_OS_CUSTOM_DTS_PATH)) + ifeq ($(BR2_TARGET_OPTEE_OS_CORE),y) define OPTEE_OS_BUILD_CORE $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) O=$(OPTEE_OS_BUILDDIR_OUT) \ @@ -120,6 +126,9 @@ endef endif # BR2_TARGET_OPTEE_OS_SDK define OPTEE_OS_BUILD_CMDS + $(if $(OPTEE_OS_CUSTOM_DTS_PATH), + cp -f $(OPTEE_OS_CUSTOM_DTS_PATH) $(@D)/core/arch/arm/dts/ + ) $(OPTEE_OS_BUILD_CORE) $(OPTEE_OS_BUILD_SDK) endef diff --git a/boot/shim/shim.hash b/boot/shim/shim.hash index a0a9f06f35d..5aa4ca06e85 100644 --- a/boot/shim/shim.hash +++ b/boot/shim/shim.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 8344473dd10569588b8238a4656b8fab226714eea9f5363f8c410aa8a5090297 shim-15.4.tar.bz2 +sha256 a79f0a9b89f3681ab384865b1a46ab3f79d88b11b4ca59aa040ab03fffae80a9 shim-15.8.tar.bz2 sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT diff --git a/boot/shim/shim.mk b/boot/shim/shim.mk index 0a6d1527aae..ae57677320f 100644 --- a/boot/shim/shim.mk +++ b/boot/shim/shim.mk @@ -4,7 +4,7 @@ # ################################################################################ -SHIM_VERSION = 15.4 +SHIM_VERSION = 15.8 SHIM_SITE = https://github.com/rhboot/shim/releases/download/$(SHIM_VERSION) SHIM_SOURCE = shim-$(SHIM_VERSION).tar.bz2 SHIM_LICENSE = BSD-2-Clause @@ -13,10 +13,19 @@ SHIM_CPE_ID_VENDOR = redhat SHIM_INSTALL_TARGET = NO SHIM_INSTALL_IMAGES = YES +SHIM_CFLAGS = $(TARGET_CFLAGS) SHIM_MAKE_OPTS = \ ARCH="$(GNU_EFI_PLATFORM)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ - DASHJ="-j$(PARALLEL_JOBS)" + DASHJ="-j$(PARALLEL_JOBS)" \ + OPTIMIZATIONS="$(SHIM_CFLAGS)" + +# shim has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `mrc p15,0,r2,c9,c13,0' in Thumb mode +# so, we desactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +SHIM_CFLAGS += -marm +endif define SHIM_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS) diff --git a/boot/sun20i-d1-spl/Config.in b/boot/sun20i-d1-spl/Config.in deleted file mode 100644 index 9d94d87b1cf..00000000000 --- a/boot/sun20i-d1-spl/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_TARGET_SUN20I_D1_SPL - bool "sun20-d1-spl" - depends on BR2_RISCV_64 - help - Allwinner D1 boot0 code with modifications to use as U-Boot - SPL. - - https://github.com/smaeul/sun20i_d1_spl diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.hash b/boot/sun20i-d1-spl/sun20i-d1-spl.hash deleted file mode 100644 index 11d17a9a16f..00000000000 --- a/boot/sun20i-d1-spl/sun20i-d1-spl.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 08e2d0574e58c99734cd1d9ea89b86464242bf2db4f6769b23803bf9dcdac3c4 sun20i-d1-spl-882671fcf53137aaafc3a94fa32e682cb7b921f1.tar.gz diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.mk b/boot/sun20i-d1-spl/sun20i-d1-spl.mk deleted file mode 100644 index 6bcea0fa969..00000000000 --- a/boot/sun20i-d1-spl/sun20i-d1-spl.mk +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################ -# -# sun20i-d1-spl -# -################################################################################ - -# Commit on the 'mainline' branch -SUN20I_D1_SPL_VERSION = 882671fcf53137aaafc3a94fa32e682cb7b921f1 -SUN20I_D1_SPL_SITE = $(call github,smaeul,sun20i_d1_spl,$(SUN20I_D1_SPL_VERSION)) -SUN20I_D1_SPL_INSTALL_TARGET = NO -SUN20I_D1_SPL_INSTALL_IMAGES = YES -SUN20I_D1_SPL_LICENSE = GPL-2.0+ - -define SUN20I_D1_SPL_BUILD_CMDS - $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)" p=sun20iw1p1 mmc -endef - -define SUN20I_D1_SPL_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0644 $(@D)/nboot/boot0_sdcard_sun20iw1p1.bin \ - $(BINARIES_DIR)/boot0_sdcard_sun20iw1p1.bin -endef - -$(eval $(generic-package)) diff --git a/boot/syslinux/0018-single-load-segment.patch b/boot/syslinux/0018-single-load-segment.patch new file mode 100644 index 00000000000..11d73c31a4e --- /dev/null +++ b/boot/syslinux/0018-single-load-segment.patch @@ -0,0 +1,313 @@ +From: Lukas Schwaighofer +Date: Sat, 18 Aug 2018 16:56:35 +0200 +Subject: Force the linker to put all sections into a single PT_LOAD segment + +This is required when using binutils >= 2.31 which writes two PT_LOAD segments +by default. This is not supported by the wrapper.c script used to convert the +shared object into an elf binary. + +Forwarded: https://www.syslinux.org/archives/2018-August/026167.html +[yann.morin.1998@free.fr: + - grab from the Debian package + - https://salsa.debian.org/images-team/syslinux/-/blob/fa1349f1f8e5f5d6307e589f02c0a679031d1c7f/debian/patches/0017-single-load-segment.patch +] +Signed-off-by: Yann E. MORIN +Upstream: reported https://www.syslinux.org/archives/2018-August/026167.html +Upstream: acknowledged https://wiki.syslinux.org/wiki/index.php?title=Building +--- + efi/i386/syslinux.ld | 37 +++++++++++++++++++++---------------- + efi/x86_64/syslinux.ld | 37 +++++++++++++++++++++---------------- + 2 files changed, 42 insertions(+), 32 deletions(-) + +diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld +index bab3fc7..19c1647 100644 +--- a/efi/i386/syslinux.ld ++++ b/efi/i386/syslinux.ld +@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") + OUTPUT_ARCH(i386) + ENTRY(_start) + ++PHDRS ++{ ++ all PT_LOAD ; ++} ++ + SECTIONS + { + . = 0; +@@ -31,7 +36,7 @@ SECTIONS + *(.text) + *(.text.*) + __text_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -40,7 +45,7 @@ SECTIONS + *(.rodata) + *(.rodata.*) + __rodata_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -49,14 +54,14 @@ SECTIONS + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; +- } ++ } :all + + .dtors : { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; +- } ++ } :all + + . = ALIGN(4096); + .rel : { +@@ -64,7 +69,7 @@ SECTIONS + *(.rel.data) + *(.rel.data.*) + *(.rel.ctors) +- } ++ } :all + + . = ALIGN(4); + +@@ -72,14 +77,14 @@ SECTIONS + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; +- } ++ } :all + + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -87,7 +92,7 @@ SECTIONS + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -104,7 +109,7 @@ SECTIONS + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -112,7 +117,7 @@ SECTIONS + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -122,19 +127,19 @@ SECTIONS + *(.data.*) + *(.lowmem) + __data_end = .; +- } ++ } :all + + .reloc : { + *(.reloc) +- } ++ } :all + + .symtab : { + *(.symtab) +- } ++ } :all + + .strtab : { + *(.strtab) +- } ++ } :all + + .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, +@@ -148,7 +153,7 @@ SECTIONS + __bss_end = .; + *(.sbss) + *(.scommon) +- } ++ } :all + __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); + __bss_dwords = (__bss_len + 3) >> 2; + +@@ -161,7 +166,7 @@ SECTIONS + *(.hugebss) + *(.hugebss.*) + __hugebss_end = .; +- } ++ } :all + + _end = .; + +diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld +index 450641c..a2c124f 100644 +--- a/efi/x86_64/syslinux.ld ++++ b/efi/x86_64/syslinux.ld +@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") + OUTPUT_ARCH(i386:x86-64) + ENTRY(_start) + ++PHDRS ++{ ++ all PT_LOAD ; ++} ++ + SECTIONS + { + . = 0; +@@ -31,7 +36,7 @@ SECTIONS + *(.text) + *(.text.*) + __text_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -40,7 +45,7 @@ SECTIONS + *(.rodata) + *(.rodata.*) + __rodata_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -49,14 +54,14 @@ SECTIONS + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + __ctors_end = .; +- } ++ } :all + + .dtors : { + __dtors_start = .; + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + __dtors_end = .; +- } ++ } :all + + . = ALIGN(4096); + .rel : { +@@ -64,7 +69,7 @@ SECTIONS + *(.rel.data) + *(.rel.data.*) + *(.rel.ctors) +- } ++ } :all + + . = ALIGN(4); + +@@ -72,14 +77,14 @@ SECTIONS + __gnu_hash_start = .; + *(.gnu.hash) + __gnu_hash_end = .; +- } ++ } :all + + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + __dynsym_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -87,7 +92,7 @@ SECTIONS + __dynstr_start = .; + *(.dynstr) + __dynstr_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -104,7 +109,7 @@ SECTIONS + KEEP (*(.got.plt)) + KEEP (*(.got)) + __got_end = .; +- } ++ } :all + + . = ALIGN(4); + +@@ -112,7 +117,7 @@ SECTIONS + __dynamic_start = .; + *(.dynamic) + __dynamic_end = .; +- } ++ } :all + + . = ALIGN(16); + +@@ -122,19 +127,19 @@ SECTIONS + *(.data.*) + *(.lowmem) + __data_end = .; +- } ++ } :all + + .reloc : { + *(.reloc) +- } ++ } :all + + .symtab : { + *(.symtab) +- } ++ } :all + + .strtab : { + *(.strtab) +- } ++ } :all + + .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, +@@ -148,7 +153,7 @@ SECTIONS + __bss_end = .; + *(.sbss) + *(.scommon) +- } ++ } :all + __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start); + __bss_dwords = (__bss_len + 3) >> 2; + +@@ -161,7 +166,7 @@ SECTIONS + *(.hugebss) + *(.hugebss.*) + __hugebss_end = .; +- } ++ } :all + + _end = .; + diff --git a/boot/syslinux/0019-stddef.h-add-wchar_t-type-definition.patch b/boot/syslinux/0019-stddef.h-add-wchar_t-type-definition.patch new file mode 100644 index 00000000000..65d9463a6f6 --- /dev/null +++ b/boot/syslinux/0019-stddef.h-add-wchar_t-type-definition.patch @@ -0,0 +1,59 @@ +From 063dac55c45d0264671c3463e824ab659e5cbb87 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Tue, 27 Feb 2024 21:09:15 +0100 +Subject: [PATCH] stddef.h: add wchar_t type definition + +Syslinux fail to build with gnu-efi >= 3.0.16 with error: + + In file included from /host/i686-buildroot-linux-gnu/sysroot/usr/include/efi/efi.h:44, + from /build/syslinux-6.03/efi/efi.h:23, + from /build/syslinux-6.03/efi/adv.h:4, + from /build/syslinux-6.03/efi/adv.c:29: + /host/i686-buildroot-linux-gnu/sysroot/usr/include/efi/ia32/efibind.h:90:9: error: unknown type name 'wchar_t' + typedef wchar_t CHAR16; + ^~~~~~~ + +This is because gnu-efi started to use the "wchar_t" type from the +toolchain's header, in commit [1]. Before this commit, +gnu-efi was defining the type as "short". + +Syslinux is including its own minimal stddef.h file, which masks the +one provided by the toolchain. See [2]. This file does not have a type +definition for "wchar_t". + +Finally, the POSIX header is supposed to provide this +"wchar_t" type definition. See [3]. + +This commit fixes the issue by adding the "wchar_t" type definition in +the com32/include/stddef.h header. Since Syslinux has "-fshort-wchar" +in its CFLAGS (see [4]), "wchar_t" is simply defined as "short". This +also follow the previous gnu-efi < 3.0.16 behavior. + +This issue was seen in Buildroot Linux, in [5]. + +[1] https://sourceforge.net/p/gnu-efi/code/ci/189200d0b0f6fff473d302880d9569f45d4d8c4d +[2] https://repo.or.cz/syslinux.git/blob/refs/tags/syslinux-6.03:/com32/include/stddef.h +[3] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html +[4] https://repo.or.cz/syslinux.git/blob/refs/tags/syslinux-6.03:/mk/efi.mk#l27 +[5] https://lists.buildroot.org/pipermail/buildroot/2024-February/685971.html + +Upstream: Proposed: https://www.syslinux.org/archives/2024-February/026903.html +Signed-off-by: Julien Olivain +--- + com32/include/stddef.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/com32/include/stddef.h b/com32/include/stddef.h +index f52d62f3..437b11f2 100644 +--- a/com32/include/stddef.h ++++ b/com32/include/stddef.h +@@ -29,4 +29,6 @@ + */ + #define container_of(p, c, m) ((c *)((char *)(p) - offsetof(c,m))) + ++typedef short wchar_t; ++ + #endif /* _STDDEF_H */ +-- +2.44.0 + diff --git a/boot/ti-k3-boot-firmware/Config.in b/boot/ti-k3-boot-firmware/Config.in new file mode 100644 index 00000000000..d80bb4bdb38 --- /dev/null +++ b/boot/ti-k3-boot-firmware/Config.in @@ -0,0 +1,7 @@ +config BR2_TARGET_TI_K3_BOOT_FIRMWARE + bool "ti-k3-boot-firmware" + depends on BR2_aarch64 + help + This package downloads and installs the TI-specific ti-sysfw + and ti-dm firmware needed to boot TI K3 platforms (which + include AM62x, AM64x, AM65x and more). diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.hash b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.hash new file mode 100644 index 00000000000..95131180ef4 --- /dev/null +++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ab20ffbe7bba7e94be246b3417d33a914b3f07c16c47ef5a7f7602349a666a61 LICENSE.ti +sha256 6032a258ce731d987576115f5de44c677a6b0cf8bddcd61a9a2852928bdfff92 ti-linux-firmware-08.06.00.006.tar.xz diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk new file mode 100644 index 00000000000..1f8ade207c1 --- /dev/null +++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# ti-k3-boot-firmware +# +################################################################################ + +# The hash 340194800a581baf976360386dfc7b5acab8d948 defined in the +# Makefile of ti-k3-image-gen corresponds to the tag 08.06.00.006. +TI_K3_BOOT_FIRMWARE_VERSION = 08.06.00.006 +TI_K3_BOOT_FIRMWARE_SITE = https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/snapshot +TI_K3_BOOT_FIRMWARE_SOURCE = ti-linux-firmware-$(TI_K3_BOOT_FIRMWARE_VERSION).tar.xz +TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES = YES +TI_K3_BOOT_FIRMWARE_LICENSE = TI Proprietary +TI_K3_BOOT_FIRMWARE_LICENSE_FILES = LICENSE.ti + +define TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES_CMDS + cp -dpfr $(@D)/ti-sysfw $(BINARIES_DIR)/ + cp -dpfr $(@D)/ti-dm $(BINARIES_DIR)/ +endef + +$(eval $(generic-package)) diff --git a/boot/ti-k3-image-gen/Config.in b/boot/ti-k3-image-gen/Config.in new file mode 100644 index 00000000000..d76cef82e91 --- /dev/null +++ b/boot/ti-k3-image-gen/Config.in @@ -0,0 +1,77 @@ +config BR2_TARGET_TI_K3_IMAGE_GEN + bool "ti-k3-image-gen" + depends on BR2_TARGET_TI_K3_R5_LOADER + select BR2_TARGET_TI_K3_BOOT_FIRMWARE + # We need FIT support in uboot-tools, which is why we select a + # host package + select BR2_PACKAGE_HOST_UBOOT_TOOLS + select BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT + help + Use TI's k3-image-gen to build a separate bare metal boot + binary from a separate SPL that is running on the R5 core. + + https://git.ti.com/cgit/k3-image-gen/k3-image-gen/ + +if BR2_TARGET_TI_K3_IMAGE_GEN +choice + prompt "SoC family" + +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX + bool "am62ax" + +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X + bool "am62x" + +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X + bool "am64x" + +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X + bool "am65x" + +endchoice + +choice + prompt "Security type" + help + The target SoC security type option for image gen. Valid + options are "gp" for General Purpose devices, "hs-fs" for + High Security - Field Securable devices, or "hs" for High + Security - Security Enforcing devices. Note for all High + Security device variants the TI_SECURE_DEV_PKG environmental + variable must be defined at build time pointing to a valid + core-secdev-k3 folder location, otherwise the build will + fail, see + https://git.ti.com/cgit/security-development-tools/core-secdev-k3 + +config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP + bool "gp" + +config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS_FS + bool "hs-fs" + +config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS + bool "hs" + +endchoice + +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC + string + default "am62ax" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX + default "am62x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X + default "am64x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X + default "am65x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X + +config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE + string + default "ti-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX + default "ti-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X + default "ti-sci" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X + default "ti-sci" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X + +config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE + string + default "gp" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP + default "hs-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS_FS + default "hs" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS + +endif diff --git a/boot/ti-k3-image-gen/ti-k3-image-gen.hash b/boot/ti-k3-image-gen/ti-k3-image-gen.hash new file mode 100644 index 00000000000..c968c5648f7 --- /dev/null +++ b/boot/ti-k3-image-gen/ti-k3-image-gen.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f89ea4b1f5c992455b1a682fde48359221b53f3294135df4bf20feea6aea90e4 k3-image-gen-08.06.00.007.tar.gz +sha256 f012e8d000d711d0539e5b4c812fc1d3a59c10fc1e3d6ea155556f5b78286845 LICENSE diff --git a/boot/ti-k3-image-gen/ti-k3-image-gen.mk b/boot/ti-k3-image-gen/ti-k3-image-gen.mk new file mode 100644 index 00000000000..64be9a18f2c --- /dev/null +++ b/boot/ti-k3-image-gen/ti-k3-image-gen.mk @@ -0,0 +1,54 @@ +################################################################################ +# +# ti-k3-image-gen +# +################################################################################ + +TI_K3_IMAGE_GEN_VERSION = 08.06.00.007 +TI_K3_IMAGE_GEN_SITE = https://git.ti.com/cgit/k3-image-gen/k3-image-gen/snapshot +TI_K3_IMAGE_GEN_SOURCE = k3-image-gen-$(TI_K3_IMAGE_GEN_VERSION).tar.gz +TI_K3_IMAGE_GEN_LICENSE = BSD-3-Clause +TI_K3_IMAGE_GEN_LICENSE_FILES = LICENSE +TI_K3_IMAGE_GEN_INSTALL_IMAGES = YES + +# - ti-k3-image-gen is used to build tiboot3.bin, using the +# r5-u-boot-spl.bin file from the ti-k3-r5-loader package. Hence the +# dependency on ti-k3-r5-loader. +# - the ti-k3-image-gen makefiles seem to need some feature from Make +# v4.0, similar to u-boot. +TI_K3_IMAGE_GEN_DEPENDENCIES = \ + host-arm-gnu-toolchain \ + host-python3 \ + host-openssl \ + host-uboot-tools \ + ti-k3-r5-loader \ + ti-k3-boot-firmware \ + $(BR2_MAKE_HOST_DEPENDENCY) + +TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE)) +TI_K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC)) +TI_K3_IMAGE_GEN_SECTYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE)) + +TI_K3_IMAGE_GEN_SYSFW = $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SECTYPE).bin + +define TI_K3_IMAGE_GEN_CONFIGURE_CMDS + cp $(BINARIES_DIR)/ti-sysfw/$(TI_K3_IMAGE_GEN_SYSFW) $(@D) +endef + +define TI_K3_IMAGE_GEN_BUILD_CMDS + $(TARGET_MAKE_ENV) \ + $(BR2_MAKE) -C $(@D) \ + SOC=$(TI_K3_IMAGE_GEN_SOC) \ + SOC_TYPE=$(TI_K3_IMAGE_GEN_SECTYPE) \ + CONFIG=evm \ + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \ + SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \ + O=$(@D)/tmp \ + BIN_DIR=$(@D) +endef + +define TI_K3_IMAGE_GEN_INSTALL_IMAGES_CMDS + cp $(@D)/tiboot3.bin $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in index 10602c8df32..8c8368a1a5a 100644 --- a/boot/ti-k3-r5-loader/Config.in +++ b/boot/ti-k3-r5-loader/Config.in @@ -2,13 +2,74 @@ config BR2_TARGET_TI_K3_R5_LOADER bool "ti-k3-r5-loader" depends on BR2_aarch64 help - Separate U-Boot build for R5 cores on TI's k3 boards. + Separate U-Boot SPL build for R5 core on TI's K3 processors. Usually used to build tiboot3.bin with k3-image-gen. if BR2_TARGET_TI_K3_R5_LOADER choice - prompt "Configuration" + prompt "U-Boot Version" + help + Select the specific U-Boot version you want to use to build + the initial SPL running on the R5 core. Note that for most + use cases you will want to use the exact same version/source + here as it is used to build the main U-Boot package. + +config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION + bool "2022.10" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT + bool "Custom Git repository" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG + bool "Custom Mercurial repository" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN + bool "Custom Subversion repository" + +endchoice + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE + string "U-Boot version" + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION + string "URL of custom U-Boot tarball" + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL + +if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. + +endif + +config BR2_TARGET_TI_K3_R5_LOADER_VERSION + string + default "2022.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION + default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \ + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || \ + BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || \ + BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN +choice + prompt "U-Boot Configuration" default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk index 422ab20d71e..0ffcb8235f2 100644 --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk @@ -4,9 +4,32 @@ # ################################################################################ -TI_K3_R5_LOADER_VERSION = 2022.10 +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION)) + +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y) +# Handle custom U-Boot tarballs as specified by the configuration +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION)) +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL))) +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL)) +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y) +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL)) +TI_K3_R5_LOADER_SITE_METHOD = git +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y) +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL)) +TI_K3_R5_LOADER_SITE_METHOD = hg +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y) +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL)) +TI_K3_R5_LOADER_SITE_METHOD = svn +else +# Handle stable official U-Boot versions TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2 +endif + +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) +endif + TI_K3_R5_LOADER_LICENSE = GPL-2.0+ TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt TI_K3_R5_LOADER_CPE_ID_VENDOR = denx @@ -26,7 +49,6 @@ TI_K3_R5_LOADER_KCONFIG_DEPENDENCIES = \ $(BR2_BISON_HOST_DEPENDENCY) \ $(BR2_FLEX_HOST_DEPENDENCY) -TI_K3_R5_LOADER_BOARD = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_BOARD)) ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG),y) TI_K3_R5_LOADER_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG))_defconfig else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_USE_CUSTOM_CONFIG),y) diff --git a/boot/trusted-firmware-m/Config.in b/boot/trusted-firmware-m/Config.in new file mode 100644 index 00000000000..1571d35360a --- /dev/null +++ b/boot/trusted-firmware-m/Config.in @@ -0,0 +1,102 @@ +config BR2_TARGET_TRUSTED_FIRMWARE_M + bool "TrustedFirmware-M (TF-M)" + select BR2_TARGET_TFM_TESTS + select BR2_TARGET_TFM_MBEDTLS + select BR2_TARGET_TFM_MCUBOOT + select BR2_TARGET_TFM_QCBOR + select BR2_TARGET_TFM_CMSIS + select BR2_HOST_CMAKE_AT_LEAST_3_21 + help + Enable this option if you want to build the TF-M for your + ARMv8 microcontroller. + + https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git + +if BR2_TARGET_TRUSTED_FIRMWARE_M +choice + prompt "TF-M Version" + help + Select the specific TF-M version you want to use + +config BR2_TARGET_TRUSTED_FIRMWARE_M_LATEST_VERSION + bool "TF-Mv2.1.0" + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_VERSION + bool "Custom version" + select BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + help + This option allows to use a specific official versions + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL + bool "Custom tarball" + select BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_GIT + bool "Custom Git repository" + select BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +endchoice + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL_LOCATION + string "URL of custom TF-M tarball" + +endif + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_VERSION_VALUE + string "TF-M version" + depends on BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_VERSION + +config BR2_TARGET_TRUSTED_FIRMWARE_M_VERSION + string + default "0c4c99ba33b3e66deea070e149279278dc7647f4" \ + if BR2_TARGET_TRUSTED_FIRMWARE_M_LATEST_VERSION + default "custom" if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL + default BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_REPO_VERSION \ + if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_GIT + default BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_VERSION + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_GIT + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git + E.G. a sha id, a tag, .. + +endif + +menu "TF-M 3rd party projects" +config BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + bool "Use custom tarball for TF-M 3rd party projects" + +source "boot/trusted-firmware-m/tfm-mbedtls/Config.in" +source "boot/trusted-firmware-m/tfm-mcuboot/Config.in" +source "boot/trusted-firmware-m/tfm-qcbor/Config.in" +source "boot/trusted-firmware-m/tfm-cmsis/Config.in" +source "boot/trusted-firmware-m/tfm-tests/Config.in" + +endmenu + +config BR2_TARGET_TRUSTED_FIRMWARE_M_PLATFORM + string "TF-M platform path" + help + Target plaform path to build for. + +config BR2_TARGET_TRUSTED_FIRMWARE_M_ADDITIONAL_VARIABLES + string "Additional TF-M build variables" + help + Additional parameters for the TF-M build + E.G. '-DTFM_ISOLATION_LEVEL=2 -DTFM_PROFILE=large' + +config BR2_TARGET_TRUSTED_FIRMWARE_M_DEBUG + bool "Build in debug mode" + help + Enable this option to build TF-M with -DCMAKE_BUILD_TYPE=Debug. + +endif diff --git a/boot/trusted-firmware-m/tfm-3rdparty.mk b/boot/trusted-firmware-m/tfm-3rdparty.mk new file mode 100644 index 00000000000..1a7bab40110 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-3rdparty.mk @@ -0,0 +1,7 @@ +################################################################################ +# +# TrustedFirmware-M 3rd parties +# +################################################################################ + +include $(sort $(wildcard boot/trusted-firmware-m/*/*.mk)) diff --git a/boot/trusted-firmware-m/tfm-cmsis/Config.in b/boot/trusted-firmware-m/tfm-cmsis/Config.in new file mode 100644 index 00000000000..3774b2d9bcb --- /dev/null +++ b/boot/trusted-firmware-m/tfm-cmsis/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_TFM_CMSIS + bool + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +config BR2_TARGET_TFM_CMSIS_CUSTOM_TARBALL_LOCATION + string "URL of custom cmcis tarball" + default "$(call github,arm-software,cmsis_6)/d0c460c169.tar.gz" + +endif diff --git a/boot/trusted-firmware-m/tfm-cmsis/tfm-cmsis.hash b/boot/trusted-firmware-m/tfm-cmsis/tfm-cmsis.hash new file mode 100644 index 00000000000..4811118a798 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-cmsis/tfm-cmsis.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 d846342840831f9124157b69b8edcdfcacc5427691f5b3341f714f0235c3cc49 tfm-cmsis-d0c460c1697d210b49a4b90998195831c0cd325c.tar.gz +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/boot/trusted-firmware-m/tfm-cmsis/tfm-cmsis.mk b/boot/trusted-firmware-m/tfm-cmsis/tfm-cmsis.mk new file mode 100644 index 00000000000..eb106ce414f --- /dev/null +++ b/boot/trusted-firmware-m/tfm-cmsis/tfm-cmsis.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# cmcis +# +################################################################################ + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY),y) +TFM_CMSIS_VERSION = custom +TFM_CMSIS_TARBALL = $(call qstrip,$(BR2_TARGET_TFM_CMSIS_CUSTOM_TARBALL_LOCATION)) +TFM_CMSIS_SITE = $(patsubst %/,%,$(dir $(TFM_CMSIS_TARBALL))) +TFM_CMSIS_SOURCE = $(notdir $(TFM_CMSIS_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(TFM_CMSIS_SOURCE) +else +TFM_CMSIS_VERSION = d0c460c1697d210b49a4b90998195831c0cd325c +TFM_CMSIS_SITE = $(call github,arm-software,cmsis_6,$(TFM_CMSIS_VERSION)) +TFM_CMSIS_LICENSE = Apache-2.0 +TFM_CMSIS_LICENSE_FILES = LICENSE +endif + +# This components is not built and installed, because it is intended to +# be included as source in TrustedFirmware-M build. + +$(eval $(generic-package)) diff --git a/boot/trusted-firmware-m/tfm-mbedtls/Config.in b/boot/trusted-firmware-m/tfm-mbedtls/Config.in new file mode 100644 index 00000000000..91f18c9bc14 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-mbedtls/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_TFM_MBEDTLS + bool + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +config BR2_TARGET_TFM_MBEDTLS_CUSTOM_TARBALL_LOCATION + string "URL of custom mbedtls tarball" + default "https://github.com/Mbed-TLS/mbedtls/releases/download/v3.6.0/mbedtls-3.6.0.tar.bz2" + +endif diff --git a/boot/trusted-firmware-m/tfm-mbedtls/tfm-mbedtls.hash b/boot/trusted-firmware-m/tfm-mbedtls/tfm-mbedtls.hash new file mode 100644 index 00000000000..e90b6321873 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-mbedtls/tfm-mbedtls.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 3ecf94fcfdaacafb757786a01b7538a61750ebd85c4b024f56ff8ba1490fcd38 mbedtls-3.6.0.tar.bz2 +sha256 9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b LICENSE diff --git a/boot/trusted-firmware-m/tfm-mbedtls/tfm-mbedtls.mk b/boot/trusted-firmware-m/tfm-mbedtls/tfm-mbedtls.mk new file mode 100644 index 00000000000..d728a282df2 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-mbedtls/tfm-mbedtls.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# mbedtls +# +################################################################################ + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY),y) +TFM_MBEDTLS_VERSION = custom +TFM_MBEDTLS_TARBALL = $(call qstrip,$(BR2_TARGET_TFM_MBEDTLS_CUSTOM_TARBALL_LOCATION)) +TFM_MBEDTLS_SITE = $(patsubst %/,%,$(dir $(TFM_MBEDTLS_TARBALL))) +TFM_MBEDTLS_SOURCE = $(notdir $(TFM_MBEDTLS_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(TFM_MBEDTLS_SOURCE) +else +TFM_MBEDTLS_VERSION = 3.6.0 +TFM_MBEDTLS_SITE = https://github.com/Mbed-TLS/mbedtls/releases/download/v$(TFM_MBEDTLS_VERSION) +TFM_MBEDTLS_SOURCE = mbedtls-$(TFM_MBEDTLS_VERSION).tar.bz2 +TFM_MBEDTLS_LICENSE = Apache-2.0 or GPL-2.0-or-later +TFM_MBEDTLS_LICENSE_FILES = LICENSE +endif + +# This components is not built and installed, because it is intended to +# be included as source in TrustedFirmware-M build. + +$(eval $(generic-package)) diff --git a/boot/trusted-firmware-m/tfm-mcuboot/Config.in b/boot/trusted-firmware-m/tfm-mcuboot/Config.in new file mode 100644 index 00000000000..be1e83be35e --- /dev/null +++ b/boot/trusted-firmware-m/tfm-mcuboot/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_TFM_MCUBOOT + bool + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +config BR2_TARGET_TFM_MCUBOOT_CUSTOM_TARBALL_LOCATION + string "URL of custom mcuboot tarball" + default "$(call github,mcu-tools,mcuboot)/v2.1.0.tar.gz" + +endif diff --git a/boot/trusted-firmware-m/tfm-mcuboot/tfm-mcuboot.hash b/boot/trusted-firmware-m/tfm-mcuboot/tfm-mcuboot.hash new file mode 100644 index 00000000000..1fbd254b343 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-mcuboot/tfm-mcuboot.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 bcee8c4b5a51477b27c6c587d11f46388823626aba7bd5082c77864a89dcf1b7 tfm-mcuboot-v2.1.0.tar.gz +sha256 86438164119907debf649e2f9f18a43ad506d75421c9d9675700066b0456205d LICENSE diff --git a/boot/trusted-firmware-m/tfm-mcuboot/tfm-mcuboot.mk b/boot/trusted-firmware-m/tfm-mcuboot/tfm-mcuboot.mk new file mode 100644 index 00000000000..cc2599e55a1 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-mcuboot/tfm-mcuboot.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# mcuboot +# +################################################################################ + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY),y) +TFM_MCUBOOT_VERSION = custom +TFM_MCUBOOT_TARBALL = $(call qstrip,$(BR2_TARGET_TFM_MCUBOOT_CUSTOM_TARBALL_LOCATION)) +TFM_MCUBOOT_SITE = $(patsubst %/,%,$(dir $(TFM_MCUBOOT_TARBALL))) +TFM_MCUBOOT_SOURCE = $(notdir $(TFM_MCUBOOT_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(TFM_MCUBOOT_SOURCE) +else +TFM_MCUBOOT_VERSION = v2.1.0 +TFM_MCUBOOT_SITE = $(call github,mcu-tools,mcuboot,$(TFM_MCUBOOT_VERSION)) +TFM_MCUBOOT_LICENSE = Apache-2.0 +TFM_MCUBOOT_LICENSE_FILES = LICENSE +endif + +# This components is not built and installed, because it is intended to +# be included as source in TrustedFirmware-M build. + +$(eval $(generic-package)) diff --git a/boot/trusted-firmware-m/tfm-qcbor/Config.in b/boot/trusted-firmware-m/tfm-qcbor/Config.in new file mode 100644 index 00000000000..1ec74ce5587 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-qcbor/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_TFM_QCBOR + bool + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +config BR2_TARGET_TFM_QCBOR_CUSTOM_TARBALL_LOCATION + string "URL of custom qcbor tarball" + default "$(call github,laurencelundblade,qcbor)/v1.2.tar.gz" + +endif diff --git a/boot/trusted-firmware-m/tfm-qcbor/tfm-qcbor.hash b/boot/trusted-firmware-m/tfm-qcbor/tfm-qcbor.hash new file mode 100644 index 00000000000..2c27cdeb84c --- /dev/null +++ b/boot/trusted-firmware-m/tfm-qcbor/tfm-qcbor.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 0f706ad90ada600bd1ddbdf8dc6f2f5910e11de355bb4454b9b4123f0e4ff525 tfm-qcbor-v1.2.tar.gz +sha256 fc6db297a2751188d9c2ece6ee468a295f285b9a24f96eab954a1a823c71be3b README.md diff --git a/boot/trusted-firmware-m/tfm-qcbor/tfm-qcbor.mk b/boot/trusted-firmware-m/tfm-qcbor/tfm-qcbor.mk new file mode 100644 index 00000000000..b303b9f5a34 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-qcbor/tfm-qcbor.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# qcbor +# +################################################################################ + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY),y) +TFM_QCBOR_VERSION = custom +TFM_QCBOR_TARBALL = $(call qstrip,$(BR2_TARGET_TFM_QCBOR_CUSTOM_TARBALL_LOCATION)) +TFM_QCBOR_SITE = $(patsubst %/,%,$(dir $(TFM_QCBOR_TARBALL))) +TFM_QCBOR_SOURCE = $(notdir $(TFM_QCBOR_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(TFM_QCBOR_SOURCE) +else +TFM_QCBOR_VERSION = v1.2 +TFM_QCBOR_SITE = $(call github,laurencelundblade,qcbor,$(TFM_QCBOR_VERSION)) +TFM_QCBOR_LICENSE = BSD-3-Clause +TFM_QCBOR_LICENSE_FILES = README.md +endif + +# This components is not built and installed, because it is intended to +# be included as source in TrustedFirmware-M build. + +$(eval $(generic-package)) diff --git a/boot/trusted-firmware-m/tfm-tests/Config.in b/boot/trusted-firmware-m/tfm-tests/Config.in new file mode 100644 index 00000000000..758e66b8c47 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-tests/Config.in @@ -0,0 +1,10 @@ +config BR2_TARGET_TFM_TESTS + bool + +if BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY + +config BR2_TARGET_TFM_TESTS_CUSTOM_TARBALL_LOCATION + string "URL of custom TF-M-tests tarball" + default "https://git.trustedfirmware.org/TF-M/tf-m-tests.git/+archive/TF-Mv2.1.0.tar.gz" + +endif diff --git a/boot/trusted-firmware-m/tfm-tests/tfm-tests.hash b/boot/trusted-firmware-m/tfm-tests/tfm-tests.hash new file mode 100644 index 00000000000..d48f0cfdfc8 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-tests/tfm-tests.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 409dee3cbbceb3f1ea2543cfc9e06a9de23706f5ae798b866d0f12b0c21a7bd5 tfm-tests-TF-Mv2.1.0-br1.tar.gz +sha256 42195e7f4ae4655d000688af4d4b143048352461dff5849d24e5afe6d1d84808 license.rst diff --git a/boot/trusted-firmware-m/tfm-tests/tfm-tests.mk b/boot/trusted-firmware-m/tfm-tests/tfm-tests.mk new file mode 100644 index 00000000000..c11a58da322 --- /dev/null +++ b/boot/trusted-firmware-m/tfm-tests/tfm-tests.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# TF-M tests +# +################################################################################ + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_3RD_PARTY),y) +TFM_TESTS_VERSION = custom +TFM_TESTS_TARBALL = $(call qstrip,$(BR2_TARGET_TFM_TESTS_CUSTOM_TARBALL_LOCATION)) +TFM_TESTS_SITE = $(patsubst %/,%,$(dir $(TFM_TESTS_TARBALL))) +TFM_TESTS_SOURCE = $(notdir $(TFM_TESTS_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(TFM_TESTS_SOURCE) +else +TFM_TESTS_VERSION = TF-Mv2.1.0 +TFM_TESTS_SITE = https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git +TFM_TESTS_SITE_METHOD = git +TFM_TESTS_LICENSE = BSD-3-Clause +TFM_TESTS_LICENSE_FILES = license.rst +endif + +# This components is not built and installed, because it is intended to +# be included as source in TrustedFirmware-M build. + +$(eval $(generic-package)) diff --git a/boot/trusted-firmware-m/trusted-firmware-m.hash b/boot/trusted-firmware-m/trusted-firmware-m.hash new file mode 100644 index 00000000000..571c2e7a259 --- /dev/null +++ b/boot/trusted-firmware-m/trusted-firmware-m.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 5da6aee3e3dffbde61ee061fed8fc0b693ce934a8a707c91b19916e9b1ade638 trusted-firmware-m-0c4c99ba33b3e66deea070e149279278dc7647f4-br1.tar.gz +sha256 c16df600171bfdae60d22a01f046d742f89ba1046e2e5ed135bbf091b21be34f license.rst diff --git a/boot/trusted-firmware-m/trusted-firmware-m.mk b/boot/trusted-firmware-m/trusted-firmware-m.mk new file mode 100644 index 00000000000..0ad8b6afb5d --- /dev/null +++ b/boot/trusted-firmware-m/trusted-firmware-m.mk @@ -0,0 +1,120 @@ +################################################################################ +# +# TrustedFirmware-M +# +################################################################################ + +TRUSTED_FIRMWARE_M_VERSION = $(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_VERSION)) + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL),y) +# Handle custom FT-M tarballs as specified by the configuration +TRUSTED_FIRMWARE_M_TARBALL = $(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL_LOCATION)) +TRUSTED_FIRMWARE_M_SITE = $(patsubst %/,%,$(dir $(TRUSTED_FIRMWARE_M_TARBALL))) +TRUSTED_FIRMWARE_M_SOURCE = $(notdir $(TRUSTED_FIRMWARE_M_TARBALL)) +else ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_GIT),y) +TRUSTED_FIRMWARE_M_SITE = $(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_REPO_URL)) +TRUSTED_FIRMWARE_M_SITE_METHOD = git +else +# Handle stable official TF-M versions +TRUSTED_FIRMWARE_M_SITE = https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git +TRUSTED_FIRMWARE_M_SITE_METHOD = git +# The licensing of custom or from-git versions is unknown. +# This is valid only for the latest (i.e. known) version. +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_LATEST_VERSION),y) +TRUSTED_FIRMWARE_M_LICENSE = BSD-3-Clause +TRUSTED_FIRMWARE_M_LICENSE_FILES = license.rst +endif +endif + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M):$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_VERSION)$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL)$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_GIT),y:y) +BR_NO_CHECK_HASH_FOR += $(TRUSTED_FIRMWARE_M_SOURCE) +endif + +TRUSTED_FIRMWARE_M_DEPENDENCIES += \ + $(BR2_CMAKE_HOST_DEPENDENCY) \ + host-arm-gnu-toolchain \ + host-python-cbor2 \ + host-python-click \ + host-python-cryptography \ + host-python-jinja2 \ + host-python-intelhex \ + host-python-pyyaml + +TRUSTED_FIRMWARE_M_PATCH_DEPENDENCIES += \ + tfm-mbedtls \ + tfm-mcuboot \ + tfm-qcbor \ + tfm-cmsis \ + tfm-tests + +define TRUSTED_FIRMWARE_M_PATCH_3RD_PARTIES + if [ -d $(@D)/lib/ext/cmsis ]; then \ + $(APPLY_PATCHES) $(TFM_CMSIS_SRCDIR) $(@D)/lib/ext/cmsis \*.patch; \ + fi + $(APPLY_PATCHES) $(TFM_MBEDTLS_SRCDIR) $(@D)/lib/ext/mbedcrypto \*.patch; \ + $(APPLY_PATCHES) $(TFM_MCUBOOT_SRCDIR) $(@D)/lib/ext/mcuboot \*.patch; \ + $(APPLY_PATCHES) $(TFM_QCBOR_SRCDIR) $(@D)/lib/ext/qcbor \*.patch; \ + $(APPLY_PATCHES) $(TFM_TESTS_SRCDIR) $(@D)/lib/ext/tf-m-tests \*.patch; +endef +TRUSTED_FIRMWARE_M_POST_PATCH_HOOKS += TRUSTED_FIRMWARE_M_PATCH_3RD_PARTIES + +TRUSTED_FIRMWARE_M_CONF_OPTS += \ + -DCMAKE_TOOLCHAIN_FILE="$(HOST_DIR)/share/buildroot/toolchainfile.cmake" \ + -DFETCHCONTENT_FULLY_DISCONNECTED=ON \ + -DMBEDCRYPTO_PATH=$(TFM_MBEDTLS_SRCDIR) \ + -DTFM_TEST_REPO_PATH=$(TFM_TESTS_SRCDIR) \ + -DMCUBOOT_PATH=$(TFM_MCUBOOT_SRCDIR) \ + -DQCBOR_PATH=$(TFM_QCBOR_SRCDIR) \ + -DCMSIS_PATH=$(TFM_CMSIS_SRCDIR) \ + -DTFM_PLATFORM=$(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_PLATFORM)) + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_DEBUG),y) +TRUSTED_FIRMWARE_M_CONF_OPTS += -DCMAKE_BUILD_TYPE=Debug +endif + +TRUSTED_FIRMWARE_M_CONF_ENV += \ + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- + +define TRUSTED_FIRMWARE_M_CONFIGURE_CMDS + rm -f $(@D)/CMakeCache.txt + PATH=$(BR_PATH) \ + $(TRUSTED_FIRMWARE_M_CONF_ENV) $(BR2_CMAKE) -S $(@D) -B $(@D) \ + $(TRUSTED_FIRMWARE_M_CONF_OPTS) \ + $(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_ADDITIONAL_VARIABLES)) +endef + +define TRUSTED_FIRMWARE_M_BUILD_CMDS + PATH=$(BR_PATH) \ + $(TRUSTED_FIRMWARE_M_CONF_ENV) $(BR2_CMAKE) \ + --build $(@D) -- install +endef + +define TRUSTED_FIRMWARE_M_INSTALL_TARGET_CMDS + # Install path for old version of TF-M + if [ -d $(@D)/install/outputs ]; then \ + $(INSTALL) -D -m 0755 $(@D)/install/outputs/*.bin $(BINARIES_DIR); \ + $(INSTALL) -D -m 0755 $(@D)/install/outputs/*.elf $(BINARIES_DIR); \ + else \ + $(INSTALL) -D -m 0755 $(@D)/api_ns/bin/*.bin $(BINARIES_DIR); \ + $(INSTALL) -D -m 0755 $(@D)/api_ns/bin/*.elf $(BINARIES_DIR); \ + fi +endef + +# Configuration check +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M)$(BR_BUILDING),yy) + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL),y) +ifeq ($(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_TARBALL_LOCATION) +endif +endif + +ifeq ($(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_GIT),y) +ifeq ($(call qstrip,$(BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_REPO_URL)),) +$(error No repository specified. Please check BR2_TARGET_TRUSTED_FIRMWARE_M_CUSTOM_REPO_URL) +endif +endif + +endif + +$(eval $(generic-package)) diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index a7292800601..beafb38930d 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -41,7 +41,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2022.04" + bool "2024.01" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -85,7 +85,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2022.04" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2024.01" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL @@ -198,6 +198,14 @@ config BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX This is typically the case when the board configuration has CONFIG_TOOLS_MKEFICAPSULE enabled. +config BR2_TARGET_UBOOT_NEEDS_XXD + bool "U-Boot needs xxd" + help + Select this option if your U-Boot board configuration + requires xxd to be available on the host. This is + typically the case when the board configuration has + CONFIG_USE_DEFAULT_ENV_FILE enabled. + config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 bool "U-Boot needs ATF BL31" depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE @@ -232,6 +240,25 @@ config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE U-Boot, and that the TEE variable pointing to OPTEE's tee.elf, is passed during the Buildroot build. +config BR2_TARGET_UBOOT_NEEDS_TI_K3_DM + bool "U-Boot needs TI K3 Device Manager (DM)" + # We use the SoC selection defined for the ti-k3-image-gen + # package + depends on BR2_TARGET_TI_K3_IMAGE_GEN + depends on BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX || BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X + help + Some TI K3 devices need the Device Manager (DM) firmware to + be available for the U-Boot build. + +if BR2_TARGET_UBOOT_NEEDS_TI_K3_DM + +config BR2_TARGET_UBOOT_TI_K3_DM_SOCNAME + string + default "am62axx" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX + default "am62xx" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X + +endif + config BR2_TARGET_UBOOT_NEEDS_OPENSBI bool "U-Boot needs OpenSBI" depends on BR2_TARGET_OPENSBI @@ -254,6 +281,15 @@ config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE This option makes sure that the i.MX firmwares are copied into the U-Boot source directory. +config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN + bool "U-Boot needs rockchip-rkbin" + depends on BR2_PACKAGE_ROCKCHIP_RKBIN + help + For some Rockchip SoCs U-Boot needs binary blobs from + Rockchip. + This option makes sure that the needed binary blobs are copied + into the U-Boot source directory. + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS @@ -387,6 +423,16 @@ config BR2_TARGET_UBOOT_FORMAT_STM32 bool "u-boot.stm32" depends on BR2_arm +if BR2_TARGET_UBOOT_FORMAT_STM32 +config BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY + bool "Legacy build (u-boot.stm32 target)" + help + Select this option if you use U-Boot with version older than + 2022.01), so that we use the old build target. Otherwise, + binman application is called to create the stm32 binary + format. +endif + config BR2_TARGET_UBOOT_FORMAT_CUSTOM bool "Custom (specify below)" help @@ -442,7 +488,6 @@ endif config BR2_TARGET_UBOOT_SPL bool "Install U-Boot SPL binary image" - depends on !BR2_TARGET_XLOADER help Install the U-Boot SPL binary image to the images directory. @@ -485,6 +530,8 @@ config BR2_TARGET_UBOOT_ZYNQMP_PMUFW (e.g. http://...), and it will be downloaded and used from the download directory. + The PMU firmware binary can be either in ELF or BIN format. + If empty, the generated boot.bin will not contain a PMU firmware. diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index a8bd817900c..fbe5d215409 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 68e065413926778e276ec3abd28bb32fa82abaa4a6898d570c1f48fbdb08bcd0 u-boot-2022.04.tar.bz2 +sha256 b99611f1ed237bf3541bdc8434b68c96a6e05967061f992443cb30aabebef5b3 u-boot-2024.01.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 99e80ea5a17..dda606a8805 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -133,8 +133,10 @@ endif ifeq ($(BR2_TARGET_UBOOT_FORMAT_STM32),y) UBOOT_BINS += u-boot.stm32 +ifeq ($(BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY),y) UBOOT_MAKE_TARGET += u-boot.stm32 endif +endif ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y) UBOOT_BINS += $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME)) @@ -184,6 +186,12 @@ UBOOT_DEPENDENCIES += optee-os UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_TI_K3_DM),y) +UBOOT_TI_K3_DM_SOCNAME = $(call qstrip,$(BR2_TARGET_UBOOT_TI_K3_DM_SOCNAME)) +UBOOT_DEPENDENCIES += ti-k3-boot-firmware +UBOOT_MAKE_OPTS += DM=$(BINARIES_DIR)/ti-dm/$(UBOOT_TI_K3_DM_SOCNAME)/ipc_echo_testb_mcu1_0_release_strip.xer5f +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSBI),y) UBOOT_DEPENDENCIES += opensbi UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin @@ -207,8 +215,26 @@ endef UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_FW_FILES endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN),y) +UBOOT_DEPENDENCIES += rockchip-rkbin +define UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN + $(INSTALL) -D -m 0644 $(@D)/u-boot-rockchip.bin $(BINARIES_DIR)/u-boot-rockchip.bin +endef +UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN +ifneq ($(ROCKCHIP_RKBIN_BL31_FILENAME),) +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_BL31_FILENAME)) +endif +ifneq ($(ROCKCHIP_RKBIN_TPL_FILENAME),) +UBOOT_MAKE_OPTS += ROCKCHIP_TPL=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TPL_FILENAME)) +endif +ifneq ($(ROCKCHIP_RKBIN_TEE_FILENAME),) +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TEE_FILENAME)) +endif +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc +UBOOT_MAKE_OPTS += DTC=$(HOST_DIR)/bin/dtc endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYTHON3),y) @@ -216,7 +242,7 @@ UBOOT_DEPENDENCIES += host-python3 host-python-setuptools endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYLIBFDT),y) -UBOOT_DEPENDENCIES += host-swig +UBOOT_DEPENDENCIES += host-python-pylibfdt endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS),y) @@ -239,6 +265,10 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX),y) UBOOT_DEPENDENCIES += host-util-linux endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_XXD),y) +UBOOT_DEPENDENCIES += host-vim +endif + # prior to u-boot 2013.10 the license info was in COPYING. Copy it so # legal-info finds it define UBOOT_COPY_OLD_LICENSE_FILE diff --git a/configs/acmesystems_acqua_a5_256mb_defconfig b/configs/acmesystems_acqua_a5_256mb_defconfig index f8129f37809..b102dde0bae 100644 --- a/configs/acmesystems_acqua_a5_256mb_defconfig +++ b/configs/acmesystems_acqua_a5_256mb_defconfig @@ -2,13 +2,15 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/acqua-a5/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/acqua-a5/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.107" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.30" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts" diff --git a/configs/acmesystems_acqua_a5_512mb_defconfig b/configs/acmesystems_acqua_a5_512mb_defconfig index e399d4a9ffe..da54eaf6206 100644 --- a/configs/acmesystems_acqua_a5_512mb_defconfig +++ b/configs/acmesystems_acqua_a5_512mb_defconfig @@ -2,13 +2,15 @@ BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/acmesystems/acqua-a5/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/acmesystems/acqua-a5/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.107" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.30" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/acmesystems/acqua-a5/at91-sama5d3_acqua.dts" diff --git a/configs/am574x_idk_defconfig b/configs/am574x_idk_defconfig new file mode 100644 index 00000000000..bbae73dff4b --- /dev/null +++ b/configs/am574x_idk_defconfig @@ -0,0 +1,45 @@ +# Architecture +BR2_arm=y +BR2_cortex_a15=y + +# System +BR2_SYSTEM_DHCP="eth0" + +# Linux headers same as kernel, a 6.6 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.14" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/omap/am574x-idk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# Image +BR2_ROOTFS_POST_BUILD_SCRIPT="board/ti/am574x-idk/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am574x-idk/genimage.cfg" + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am57xx_evm" +BR2_TARGET_UBOOT_NEEDS_DTC=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="MLO" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y + +# Required tools to create the SD image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/amarula_vyasa_rk3288_defconfig b/configs/amarula_vyasa_rk3288_defconfig index ff96019e1ee..79765372254 100644 --- a/configs/amarula_vyasa_rk3288_defconfig +++ b/configs/amarula_vyasa_rk3288_defconfig @@ -3,14 +3,14 @@ BR2_arm=y BR2_cortex_a17=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y @@ -23,7 +23,7 @@ BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.2" BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" diff --git a/configs/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig index 998276635be..fd8b7db0e74 100644 --- a/configs/andes_ae350_45_defconfig +++ b/configs/andes_ae350_45_defconfig @@ -1,9 +1,5 @@ BR2_riscv=y -BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVC=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y BR2_GLOBAL_PATCH_DIR="board/andes/ae350/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" @@ -38,7 +34,6 @@ BR2_TARGET_UBOOT_NEEDS_OPENSBI=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="ARCH_FLAGS=-march=rv64imafdc" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/arm_foundationv8_defconfig b/configs/arm_foundationv8_defconfig index 3c63f5dc76a..102fe8fd09b 100644 --- a/configs/arm_foundationv8_defconfig +++ b/configs/arm_foundationv8_defconfig @@ -1,15 +1,16 @@ BR2_aarch64=y -# Linux headers same as kernel, a 5.16 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.20" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.13" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/foundation-v8-gicv3-psci" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_BOOT_WRAPPER_AARCH64=y BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS="arm/foundation-v8-gicv3-psci" diff --git a/configs/asus_tinker-s_rk3288_defconfig b/configs/asus_tinker-s_rk3288_defconfig new file mode 100644 index 00000000000..2ed2c4f7128 --- /dev/null +++ b/configs/asus_tinker-s_rk3288_defconfig @@ -0,0 +1,44 @@ +# Architecture +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-s-rk3288" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.79" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-tinker-s" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_GENERIC_HOSTNAME="tinker-rk3288-s" +BR2_TARGET_GENERIC_ISSUE="Welcome to TINKER S RK3288!" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker-s/post-build.sh" diff --git a/configs/asus_tinker_rk3288_defconfig b/configs/asus_tinker_rk3288_defconfig index 6963fa939ff..b3e4502a457 100644 --- a/configs/asus_tinker_rk3288_defconfig +++ b/configs/asus_tinker_rk3288_defconfig @@ -3,31 +3,27 @@ BR2_arm=y BR2_cortex_a17=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin" +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-tinker" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/avenger96_defconfig b/configs/avenger96_defconfig index d2c1b9013ef..536899583cf 100644 --- a/configs/avenger96_defconfig +++ b/configs/avenger96_defconfig @@ -1,8 +1,16 @@ +# Architecture BR2_arm=y BR2_cortex_a7=y + +# Linux headers same as kernel, a 5.8 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y + +# System configuration +BR2_GLOBAL_PATCH_DIR="board/arrow/avenger96/patches" BR2_ROOTFS_OVERLAY="board/arrow/avenger96/overlay/" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/stmicroelectronics/common/stm32mp157/post-image.sh" + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.13" @@ -11,17 +19,24 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32mp157a-dhcor-avenger96" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set + +# Bootloaders BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.6" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-avenger96.dtb" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-avenger96.dtb E=0 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y @@ -29,6 +44,10 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" # BR2_TARGET_UBOOT_FORMAT_BIN is not set -BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp15xx-dhcor-avenger96" + +# Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/avnet_rzboard_v2l_defconfig b/configs/avnet_rzboard_v2l_defconfig new file mode 100644 index 00000000000..285aef39bcf --- /dev/null +++ b/configs/avnet_rzboard_v2l_defconfig @@ -0,0 +1,20 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_KERNEL_HEADERS_5_10=y +BR2_TARGET_GENERIC_HOSTNAME="rzboard_v2l" +BR2_TARGET_GENERIC_ISSUE="Welcome to the AVNET RZBoard V2L" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/avnet/rzboard_v2l/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Avnet/renesas-linux-cip.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="c197622df526c82ae9e3674e06b4092dac33eafa" +BR2_LINUX_KERNEL_DEFCONFIG="rzboard" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="renesas/rzboard" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="64M" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/bananapi_m2_berry_defconfig b/configs/bananapi_m2_berry_defconfig new file mode 100644 index 00000000000..200257ac0d5 --- /dev/null +++ b/configs/bananapi_m2_berry_defconfig @@ -0,0 +1,30 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Berry" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bananapi/bananapi-m2-berry/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-berry/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.57" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-v40-bananapi-m2-berry" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m2_berry" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/bananapi_m2_ultra_defconfig b/configs/bananapi_m2_ultra_defconfig index 2ec0e60e8d7..6b2ba13e41e 100644 --- a/configs/bananapi_m2_ultra_defconfig +++ b/configs/bananapi_m2_ultra_defconfig @@ -1,22 +1,24 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Ultra" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bananapi/bananapi-m2-ultra/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-ultra/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.57" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-r40-bananapi-m2-ultra" +BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m2_berry" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y @@ -27,6 +29,3 @@ BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m2-ultra/boot.cmd" diff --git a/configs/beaglebone_defconfig b/configs/beaglebone_defconfig index 06154d98b73..e2d67019b10 100644 --- a/configs/beaglebone_defconfig +++ b/configs/beaglebone_defconfig @@ -3,11 +3,8 @@ BR2_arm=y BR2_cortex_a8=y BR2_ARM_FPU_VFPV3=y -# Patches -BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" - -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y @@ -20,10 +17,10 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglebone/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,5.10.30-ti-r3)/linux-5.10.30-ti-r3.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,6.1.46-ti-r13)/linux-6.1.46-ti-r13.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bb.org" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless am335x-bonegreen-wireless" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # Filesystem @@ -34,9 +31,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y @@ -47,6 +45,9 @@ BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -# Supporting host tools to build FIT image -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig index ff03a05a8eb..0038acfcfdb 100644 --- a/configs/beaglebone_qt5_defconfig +++ b/configs/beaglebone_qt5_defconfig @@ -15,7 +15,7 @@ BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.19.7 BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/beaglebone/linux-sgx.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue am335x-boneblack-wireless am335x-bonegreen-wireless" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_FBV=y BR2_PACKAGE_QT5=y diff --git a/configs/beaglev_defconfig b/configs/beaglev_defconfig index 79af8c2ece8..9984b8b74e4 100644 --- a/configs/beaglev_defconfig +++ b/configs/beaglev_defconfig @@ -1,9 +1,10 @@ BR2_riscv=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglev/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" @@ -39,3 +40,4 @@ BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,u-boot,64e BR2_TARGET_UBOOT_BOARD_DEFCONFIG="starfive_vic7100_beagle_v_smode" BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_JH71XX_TOOLS=y +BR2_GLOBAL_PATCH_DIR="board/beaglev/patches" diff --git a/configs/broadcom_northstar_defconfig b/configs/broadcom_northstar_defconfig index 1008de168f3..bbd368ac798 100644 --- a/configs/broadcom_northstar_defconfig +++ b/configs/broadcom_northstar_defconfig @@ -1,11 +1,14 @@ BR2_arm=y BR2_cortex_a9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/broadcom/northstar/post-image.sh" BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.9" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/broadcom/northstar/linux.config" BR2_LINUX_KERNEL_APPENDED_ZIMAGE=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm4708-smartrg-sr400ac bcm47094-luxul-xwr-3150-v1" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm4708-smartrg-sr400ac broadcom/bcm47094-luxul-xwr-3150-v1" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 diff --git a/configs/canaan_kd233_defconfig b/configs/canaan_kd233_defconfig index 77b8abf531b..672fee57a18 100644 --- a/configs/canaan_kd233_defconfig +++ b/configs/canaan_kd233_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -29,7 +29,6 @@ BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin" # Packages BR2_PACKAGE_HOST_PYTHON_KFLASH=y -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set diff --git a/configs/ci20_defconfig b/configs/ci20_defconfig index 09eddc4e68a..7e119376e15 100644 --- a/configs/ci20_defconfig +++ b/configs/ci20_defconfig @@ -15,7 +15,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci20/genimage.cfg" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.58" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.254" BR2_LINUX_KERNEL_DEFCONFIG="ci20" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/freescale_imx6dlsabreauto_defconfig b/configs/freescale_imx6dlsabreauto_defconfig index 8fe10f6275a..4081fa74a2d 100644 --- a/configs/freescale_imx6dlsabreauto_defconfig +++ b/configs/freescale_imx6dlsabreauto_defconfig @@ -16,9 +16,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabreauto" @@ -38,7 +37,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabreauto" BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6dlsabresd_defconfig b/configs/freescale_imx6dlsabresd_defconfig index 74debbfd460..976c180d6c5 100644 --- a/configs/freescale_imx6dlsabresd_defconfig +++ b/configs/freescale_imx6dlsabresd_defconfig @@ -16,9 +16,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-sabresd" @@ -37,7 +36,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6dlsabresd" BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6qsabreauto_defconfig b/configs/freescale_imx6qsabreauto_defconfig index 58b4a5f92d1..72696ab1ad6 100644 --- a/configs/freescale_imx6qsabreauto_defconfig +++ b/configs/freescale_imx6qsabreauto_defconfig @@ -16,9 +16,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabreauto" @@ -38,7 +37,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6qsabreauto" BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6qsabresd_defconfig b/configs/freescale_imx6qsabresd_defconfig index f2ac993da0e..dddfaf5228d 100644 --- a/configs/freescale_imx6qsabresd_defconfig +++ b/configs/freescale_imx6qsabresd_defconfig @@ -16,9 +16,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd" @@ -38,7 +37,6 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6qsabresd" BR2_TARGET_UBOOT_FORMAT_IMX=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6sxsabresd_defconfig b/configs/freescale_imx6sxsabresd_defconfig index 9f48ef2da5f..0c585c97f0e 100644 --- a/configs/freescale_imx6sxsabresd_defconfig +++ b/configs/freescale_imx6sxsabresd_defconfig @@ -16,9 +16,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sx-sdb" @@ -36,8 +35,7 @@ BR2_PACKAGE_HOST_MTOOLS=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sxsabresd" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx6ullevk_defconfig b/configs/freescale_imx6ullevk_defconfig index 4c5c3b25246..fd4254edbfc 100644 --- a/configs/freescale_imx6ullevk_defconfig +++ b/configs/freescale_imx6ullevk_defconfig @@ -1,24 +1,28 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.1.36-2.1.0)/linux-imx-lf-6.1.36-2.1.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx6ullevk/linux_sdma.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ull-14x14-evk" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL=y +BR2_PACKAGE_FIRMWARE_IMX=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.1.36-2.1.0)/uboot-imx-lf-6.1.36-2.1.0.tar.gz" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/freescale_imx7dsabresd_defconfig b/configs/freescale_imx7dsabresd_defconfig index 5a9cff488d1..d3378658318 100644 --- a/configs/freescale_imx7dsabresd_defconfig +++ b/configs/freescale_imx7dsabresd_defconfig @@ -10,9 +10,8 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" @@ -25,9 +24,8 @@ BR2_TARGET_ROOTFS_EXT2_4=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/freescale_imx8dxlevk_defconfig b/configs/freescale_imx8dxlevk_defconfig new file mode 100644 index 00000000000..0f4caa0ea9a --- /dev/null +++ b/configs/freescale_imx8dxlevk_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_cortex_a35=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8dxl-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.1.22-2.0.0)/linux-imx-lf-6.1.22-2.0.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8dxl-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_IMX_SC_FIRMWARE=y +BR2_PACKAGE_IMX_SECO=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.1.22-2.0.0)/imx-atf-lf-6.1.22-2.0.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8dxl" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.1.22-2.0.0)/uboot-imx-lf-6.1.22-2.0.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8dxl_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/freescale_imx8mmevk_defconfig b/configs/freescale_imx8mmevk_defconfig index ae82f291587..ca5c308da62 100644 --- a/configs/freescale_imx8mmevk_defconfig +++ b/configs/freescale_imx8mmevk_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mm-evk.dtb" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-evk freescale/imx8mm-evk-revb-qca-wifi" @@ -19,16 +19,14 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.y-1.0.0)/imx-atf-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mm_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/freescale_imx8mnevk_defconfig b/configs/freescale_imx8mnevk_defconfig index b24eb1566b9..ac73bea7699 100644 --- a/configs/freescale_imx8mnevk_defconfig +++ b/configs/freescale_imx8mnevk_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mn-ddr4-evk.dtb" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-ddr4-evk" @@ -20,16 +20,14 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.y-1.0.0)/imx-atf-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_ddr4_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/freescale_imx8mpevk_defconfig b/configs/freescale_imx8mpevk_defconfig index 8d0e6e0f3ed..2aed0484826 100644 --- a/configs/freescale_imx8mpevk_defconfig +++ b/configs/freescale_imx8mpevk_defconfig @@ -1,13 +1,12 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mp-evk.dtb" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.1.22-2.0.0)/linux-imx-lf-6.1.22-2.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-evk" @@ -19,18 +18,20 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.1.22-2.0.0)/imx-atf-lf-6.1.22-2.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.1.22-2.0.0)/uboot-imx-lf-6.1.22-2.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mp_evk" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/imx8mpevk/uboot-fragment.config" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_SPL=y diff --git a/configs/freescale_imx8mqevk_defconfig b/configs/freescale_imx8mqevk_defconfig index 7f5dd87b5fa..79375d7f886 100644 --- a/configs/freescale_imx8mqevk_defconfig +++ b/configs/freescale_imx8mqevk_defconfig @@ -1,13 +1,13 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV3=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-evk.dtb" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-evk" @@ -19,16 +19,14 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.y-1.0.0)/imx-atf-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/freescale_imx8qmmek_defconfig b/configs/freescale_imx8qmmek_defconfig index 8a0e866cee4..0fc3fe7b077 100644 --- a/configs/freescale_imx8qmmek_defconfig +++ b/configs/freescale_imx8qmmek_defconfig @@ -1,12 +1,12 @@ BR2_aarch64=y BR2_ARM_FPU_VFPV4=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8qm-mek.dtb" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8qm-mek" @@ -20,16 +20,14 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.y-1.0.0)/imx-atf-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8qm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8qm_mek" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/freescale_imx8qxpmek_defconfig b/configs/freescale_imx8qxpmek_defconfig index 1ffbd123e08..47a2104d5b0 100644 --- a/configs/freescale_imx8qxpmek_defconfig +++ b/configs/freescale_imx8qxpmek_defconfig @@ -2,13 +2,13 @@ BR2_aarch64=y BR2_cortex_a35=y BR2_ARM_FPU_VFPV3=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8qxp-mek.dtb" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-5.10.y-1.0.0)/linux-imx-lf-5.10.y-1.0.0.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8qxp-mek" @@ -22,16 +22,14 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.10.y-1.0.0)/imx-atf-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8qx" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="lf-5.10.y-1.0.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-5.10.y-1.0.0)/uboot-imx-lf-5.10.y-1.0.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8qxp_mek" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/freescale_imx93evk_defconfig b/configs/freescale_imx93evk_defconfig new file mode 100644 index 00000000000..fa169678846 --- /dev/null +++ b/configs/freescale_imx93evk_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_cortex_a55=y +BR2_ARM_FPU_VFPV4D16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_GLOBAL_PATCH_DIR="board/freescale/imx93evk/patches" +BR2_TARGET_GENERIC_GETTY_PORT="ttyLP0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx9-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,linux-imx,lf-6.1.55-2.2.0)/linux-imx-lf-6.1.55-2.2.0.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx93-11x11-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93=y +BR2_PACKAGE_FIRMWARE_ELE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-6.1.55-2.2.0)/imx-atf-lf-6.1.55-2.2.0.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx93" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,lf-6.1.55-2.2.0)/uboot-imx-lf-6.1.55-2.2.0.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx93_11x11_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/grinn_chiliboard_defconfig b/configs/grinn_chiliboard_defconfig index 80f3077b763..a5a8f7a65f2 100644 --- a/configs/grinn_chiliboard_defconfig +++ b/configs/grinn_chiliboard_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a8=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/grinn/chiliboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.4" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-chiliboard" @@ -16,8 +16,9 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="chiliboard" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" diff --git a/configs/grinn_liteboard_defconfig b/configs/grinn_liteboard_defconfig index 9cad66e15a7..3ae4a2a0b59 100644 --- a/configs/grinn_liteboard_defconfig +++ b/configs/grinn_liteboard_defconfig @@ -1,12 +1,12 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/grinn/liteboard/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.4" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-liteboard" @@ -16,7 +16,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="liteboard" BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_IMG=y diff --git a/configs/hifive_unleashed_defconfig b/configs/hifive_unleashed_defconfig index 0b87f2588f7..1aa06f59e74 100644 --- a/configs/hifive_unleashed_defconfig +++ b/configs/hifive_unleashed_defconfig @@ -1,10 +1,11 @@ # Architecture BR2_riscv=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y BR2_RISCV_64=y BR2_RISCV_ABI_LP64D=y @@ -27,7 +28,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.190" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sifive/hifive-unleashed/linux.config.fragment" BR2_LINUX_KERNEL_IMAGE=y @@ -37,15 +38,20 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y # Bootloader BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" BR2_TARGET_OPENSBI_PLAT="generic" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sifive_fu540" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sifive_unleashed" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSBI=y -BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" BR2_TARGET_UBOOT_SPL=y # Host tools diff --git a/configs/icnova-a20-adb4006_defconfig b/configs/icnova-a20-adb4006_defconfig new file mode 100644 index 00000000000..ba529c8db5a --- /dev/null +++ b/configs/icnova-a20-adb4006_defconfig @@ -0,0 +1,48 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 6.6 LTS series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y + +# System +BR2_TARGET_GENERIC_HOSTNAME="ICnova A20 ADB4006" +BR2_TARGET_GENERIC_ISSUE="Welcome to ICnova A20 ADB4006!" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/in-circuit/icnova-a20-adb4006/genimage.cfg" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.14" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/in-circuit/icnova-a20-adb4006/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-icnova-a20-adb4006" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="icnova-a20-adb4006" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/in-circuit/icnova-a20-adb4006/boot.cmd" diff --git a/configs/imx6ullevk_defconfig b/configs/imx6ullevk_defconfig index c6e2981697f..662ef0270e7 100644 --- a/configs/imx6ullevk_defconfig +++ b/configs/imx6ullevk_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.6 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,20 +12,20 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.4" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ull-14x14-evk" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6ull-14x14-evk" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" -BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y # required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y @@ -36,3 +36,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y + +# NXP firmware package for SDMA Firmware +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL=y +BR2_PACKAGE_FIRMWARE_IMX=y + +# For automatic kernel module loading +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + diff --git a/configs/imx7d-sdb_defconfig b/configs/imx7d-sdb_defconfig index 8ee5e1fc401..cf4da342c15 100644 --- a/configs/imx7d-sdb_defconfig +++ b/configs/imx7d-sdb_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,7 +12,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.34" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" diff --git a/configs/imx8mmpico_defconfig b/configs/imx8mmpico_defconfig index 7c19c8c81b8..711cdeb3907 100644 --- a/configs/imx8mmpico_defconfig +++ b/configs/imx8mmpico_defconfig @@ -1,10 +1,11 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mm-pico-pi.dtb" +BR2_GLOBAL_PATCH_DIR="board/technexion/imx8mmpico/patches" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,linux-tn-imx,tn-hardknott_5.10.72-2.2.0_20220207)/linux-tn-im-tn-hardknott_5.10.72-2.2.0_20220207.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,linux-tn-imx,tn-kirkstone_5.15.71-2.2.0_20230512)/linux-tn-imx-tn-kirkstone_5.15.71-2.2.0_20230512.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="tn_imx8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mm-pico-pi freescale/imx8mm-pico-pi-ili9881c" @@ -17,17 +18,17 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.72-2.2.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.15.71-2.2.0)/imx-atf-lf-5.15.71-2.2.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,u-boot-tn-imx,tn-hardknott_5.10.72-2.2.0_20220207)/u-boot-tn-imx-tn-hardknott_5.10.72-2.2.0_20220207.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,u-boot-tn-imx,tn-kirkstone_5.15.71-2.2.0_20230512)/u-boot-tn-imx-tn-kirkstone_5.15.71-2.2.0_20230512.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pico-imx8mm" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_SPL=y diff --git a/configs/imx8mn_bsh_smm_s2_defconfig b/configs/imx8mn_bsh_smm_s2_defconfig new file mode 100644 index 00000000000..8b2b74395ef --- /dev/null +++ b/configs/imx8mn_bsh_smm_s2_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/imx8mn-bsh-smm-s2/post-build.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.6" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-bsh-smm-s2" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_DDR3=y +BR2_TARGET_ROOTFS_UBIFS=y +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 +BR2_TARGET_ROOTFS_UBIFS_RT_NONE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30a60000" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_bsh_smm_s2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_UUU=y diff --git a/configs/imx8mn_bsh_smm_s2_pro_defconfig b/configs/imx8mn_bsh_smm_s2_pro_defconfig new file mode 100644 index 00000000000..e9ff244a355 --- /dev/null +++ b/configs/imx8mn_bsh_smm_s2_pro_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.6" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-bsh-smm-s2pro" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_PACKAGE_FIRMWARE_IMX_DDR3=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30a60000" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_bsh_smm_s2pro" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UUU=y diff --git a/configs/imx8mpico_defconfig b/configs/imx8mpico_defconfig index 55746fb67e7..dd0f0e7b650 100644 --- a/configs/imx8mpico_defconfig +++ b/configs/imx8mpico_defconfig @@ -1,10 +1,11 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-pico-pi.dtb" +BR2_GLOBAL_PATCH_DIR="board/technexion/imx8mpico/patches" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,linux-tn-imx,tn-hardknott_5.10.72-2.2.0_20220207)/linux-tn-im-tn-hardknott_5.10.72-2.2.0_20220207.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,linux-tn-imx,tn-kirkstone_5.15.71-2.2.0_20230512)/linux-tn-imx-tn-kirkstone_5.15.71-2.2.0_20230512.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="tn_imx8" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-pico-pi freescale/imx8mq-pico-pi-dcss-ili9881c" @@ -17,17 +18,17 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="lf-5.10.72-2.2.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,lf-5.15.71-2.2.0)/imx-atf-lf-5.15.71-2.2.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,u-boot-tn-imx,tn-hardknott_5.10.72-2.2.0_20220207)/u-boot-tn-imx-tn-hardknott_5.10.72-2.2.0_20220207.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,TechNexion,u-boot-tn-imx,tn-kirkstone_5.15.71-2.2.0_20230512)/u-boot-tn-imx-tn-kirkstone_5.15.71-2.2.0_20230512.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pico-imx8mq" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_SPL=y diff --git a/configs/imx8mqevk_defconfig b/configs/imx8mqevk_defconfig index 73f3f3dcc5b..943a4799326 100644 --- a/configs/imx8mqevk_defconfig +++ b/configs/imx8mqevk_defconfig @@ -18,16 +18,14 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_5.4.24_2.1.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,imx-atf,rel_imx_5.4.24_2.1.0)/imx-atf-rel_imx_5.4.24_2.1.0.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_5.4.24_2.1.0" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-imx,uboot-imx,rel_imx_5.4.24_2.1.0)/uboot-imx-rel_imx_5.4.24_2.1.0.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/configs/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig new file mode 100644 index 00000000000..b493c110982 --- /dev/null +++ b/configs/imxrt1050-evk_defconfig @@ -0,0 +1,41 @@ +# Architecture +BR2_arm=y +BR2_cortex_m7=y + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/imxrt1050evk/genimage.cfg" + +# Toolchain +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_7=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.7" +BR2_LINUX_KERNEL_DEFCONFIG="imxrt" +BR2_LINUX_KERNEL_ZIMAGE=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imxrt1050-evk" + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="16M" + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imxrt1050-evk" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/imxrt1050evk/uboot.fragment" +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="SPL" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y + +# Required tools to create the SD card image +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/khadas_vim3_defconfig b/configs/khadas_vim3_defconfig new file mode 100644 index 00000000000..0a838833345 --- /dev/null +++ b/configs/khadas_vim3_defconfig @@ -0,0 +1,47 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a73_a53=y +BR2_ARM_FPU_VFPV4=y + +# Image +BR2_ROOTFS_POST_BUILD_SCRIPT="board/khadas/vim3/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/khadas/vim3/post-image.sh" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.3" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-g12b-a311d-khadas-vim3" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Linux headers same as kernel, a 6.3 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_3=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="khadas-vim3" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y + +# Required tool to sign the bootloader image +BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP=y +BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE="khadas-vim3" + +# Required tools to create the SD image +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y + +# Supporting host tools to build FIT image +# BR2_PACKAGE_HOST_UBOOT_TOOLS=y +# BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/configs/licheepi_zero_defconfig b/configs/licheepi_zero_defconfig deleted file mode 100644 index 0d3115a996f..00000000000 --- a/configs/licheepi_zero_defconfig +++ /dev/null @@ -1,53 +0,0 @@ -# Target options -BR2_arm=y -BR2_cortex_a7=y -BR2_ARM_FPU_VFPV4=y - -# Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y - -# System configuration -BR2_TARGET_GENERIC_HOSTNAME="licheepi-zero" -BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the LicheePi Zero" -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/licheepi/genimage.cfg" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.5" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-v3s-licheepi-zero sun8i-v3s-licheepi-zero-dock" - -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y - -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y - -# Filesystem images -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y - -# Bootloaders -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="LicheePi_Zero" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/licheepi/boot.cmd" - -# Required host utilities for building an SDCard image -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/linksprite_pcduino_defconfig b/configs/linksprite_pcduino_defconfig index 806c4f06976..2b215201cbc 100644 --- a/configs/linksprite_pcduino_defconfig +++ b/configs/linksprite_pcduino_defconfig @@ -18,16 +18,16 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" # For kernel modules autoloading BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y +# Linux headers same as kernel, a 6.6 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun4i-a10-pcduino" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun4i-a10-pcduino" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/linksprite/pcduino/linux-extras.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -40,7 +40,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Linksprite_pcDuino" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/ls1028ardb_defconfig b/configs/ls1028ardb_defconfig index 1bc84f7b805..d92c543b449 100644 --- a/configs/ls1028ardb_defconfig +++ b/configs/ls1028ardb_defconfig @@ -2,6 +2,9 @@ BR2_aarch64=y BR2_cortex_a72=y +# patches +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" + # Toolchain # Linux headers same as kernel, a 5.10 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y @@ -17,9 +20,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1028ardb/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-21.08" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,LSDK-21.08)/linux-LSDK-21.08.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="imx_v8" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -37,9 +39,8 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-21.08" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,LSDK-21.08)/atf-LSDK-21.08.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y @@ -48,9 +49,8 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd" BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-21.08" +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,LSDK-21.08)/u-boot-LSDK-21.08.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1028ardb_tfa" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/ls1046a-frwy_defconfig b/configs/ls1046a-frwy_defconfig new file mode 100644 index 00000000000..ce796ce3ef4 --- /dev/null +++ b/configs/ls1046a-frwy_defconfig @@ -0,0 +1,61 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a72=y + +# patches +BR2_GLOBAL_PATCH_DIR="board/freescale/common/patches" + +# Toolchain +# Linux headers same as kernel, a 5.10 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y + +# System configuration +BR2_TARGET_GENERIC_HOSTNAME="ls1046afrwy" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/freescale/ls1046a-frwy/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/ls1046a-frwy/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,linux,LSDK-21.08)/linux-LSDK-21.08.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1046a-frwy freescale/fsl-ls1046a-frwy-sdk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set + +# Bootloaders +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,atf,LSDK-21.08)/atf-LSDK-21.08.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1046afrwy" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_RCW=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,nxp-qoriq,u-boot,LSDK-21.08)/u-boot-LSDK-21.08.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ls1046afrwy_tfa" +BR2_TARGET_UBOOT_NEEDS_DTC=y + +# Firmware +BR2_PACKAGE_QORIQ_FM_UCODE=y +BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM="ls1046" + +# Host utilities +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_QORIQ_RCW=y +BR2_PACKAGE_HOST_QORIQ_RCW_INTREE="ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_sdboot.bin" diff --git a/configs/mangopi_mq1rdw2_defconfig b/configs/mangopi_mq1rdw2_defconfig new file mode 100644 index 00000000000..2249fa4be5e --- /dev/null +++ b/configs/mangopi_mq1rdw2_defconfig @@ -0,0 +1,41 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_TARGET_GENERIC_HOSTNAME="mangopi-mq1rdw2" +BR2_TARGET_GENERIC_ISSUE="Welcome to MangoPI MQ1RDW2" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS3" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/mangopi/mq1rdw2/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/mangopi/mq1rdw2/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.5" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-t113s-mangopi-mq-r-t113" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_RTL8723DS=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01-rc4" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mangopi_mq_r" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/microchip_mpfs_icicle_defconfig b/configs/microchip_mpfs_icicle_defconfig new file mode 100644 index 00000000000..1af7a3c474b --- /dev/null +++ b/configs/microchip_mpfs_icicle_defconfig @@ -0,0 +1,29 @@ +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_HOSTNAME="mpfs_icicle" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/microchip/mpfs_icicle/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4microchip,linux,linux-6.1-mchp+fpga)/linux4microchip+fpga-2023.09.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="mpfs" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/microchip/mpfs_icicle/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="microchip/mpfs-icicle-kit" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,polarfire-soc,u-boot)linux4microchip+fpga-2023.09.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="microchip_mpfs_icicle" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/microchip/mpfs_icicle/uboot-fragment-rootfs.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/microchip/mpfs_icicle/uboot-env.txt" diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig index 18785aa0c8d..d03c7d0916e 100644 --- a/configs/mx53loco_defconfig +++ b/configs/mx53loco_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -22,13 +22,14 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx53loco" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.20" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx53-qsb imx53-qsrb" diff --git a/configs/nezha_defconfig b/configs/nezha_defconfig index 5d0948a0133..dd947079051 100644 --- a/configs/nezha_defconfig +++ b/configs/nezha_defconfig @@ -1,13 +1,12 @@ BR2_riscv=y -BR2_GLOBAL_PATCH_DIR="board/nezha/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/nezha/overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/nezha/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,fe178cf0153d98b71cb01a46c8cc050826a17e77)/linux-fe178cf0153d98b71cb01a46c8cc050826a17e77.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,ca67838d84af4c9f85d06311c9e98e1adf46308f)/linux-ca67838d84af4c9f85d06311c9e98e1adf46308f.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="nezha" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-nezha" @@ -16,22 +15,20 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_OPENSBI=y -BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y -BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,opensbi,e6793dc36a71537023f078034fe795c64a9992a3)/opensbi-e6793dc36a71537023f078034fe795c64a9992a3.tar.gz" +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" BR2_TARGET_OPENSBI_PLAT="generic" # BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set -BR2_TARGET_SUN20I_D1_SPL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,d1-2022-05-26)/uboot-d1-2022-05-26.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,528ae9bc6c55edd3ffe642734b4132a8246ea777)/uboot-528ae9bc6c55edd3ffe642734b4132a8246ea777.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nezha" BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_OPENSBI=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.toc1" +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/nitrogen6sx_defconfig b/configs/nitrogen6sx_defconfig index 967d064f1c5..ba2c79d4a70 100644 --- a/configs/nitrogen6sx_defconfig +++ b/configs/nitrogen6sx_defconfig @@ -17,17 +17,18 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6sx" BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" @@ -35,8 +36,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/bo # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nitrogen6x_defconfig b/configs/nitrogen6x_defconfig index 1cded537657..d490ec3c467 100644 --- a/configs/nitrogen6x_defconfig +++ b/configs/nitrogen6x_defconfig @@ -16,17 +16,18 @@ BR2_PACKAGE_HOST_GENIMAGE=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen6q" BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" @@ -34,8 +35,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/bo # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nitrogen7_defconfig b/configs/nitrogen7_defconfig index d1e81d90fde..429d84c1d48 100644 --- a/configs/nitrogen7_defconfig +++ b/configs/nitrogen7_defconfig @@ -16,17 +16,18 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen7" BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/boot.cmd" @@ -34,8 +35,8 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/boundarydevices/common/bo # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nitrogen8m_defconfig b/configs/nitrogen8m_defconfig index 6c490f195ba..ea5f21cb3da 100644 --- a/configs/nitrogen8m_defconfig +++ b/configs/nitrogen8m_defconfig @@ -18,8 +18,8 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -29,8 +29,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-lf-5.15.52-2.1.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/697a8319.tar.gz" +# Latest revision of branch boundary-lf-6.1.22-2.0.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -40,18 +40,19 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8m" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/nitrogen8mm_defconfig b/configs/nitrogen8mm_defconfig index 27cdc9e19e5..5b7fb4a3bc3 100644 --- a/configs/nitrogen8mm_defconfig +++ b/configs/nitrogen8mm_defconfig @@ -18,8 +18,8 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -29,8 +29,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-lf-5.15.52-2.1.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/697a8319.tar.gz" +# Latest revision of branch boundary-lf-6.1.22-2.0.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mm" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -40,18 +40,19 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8mm_2g" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/nitrogen8mn_defconfig b/configs/nitrogen8mn_defconfig index 775bdecd90a..2fc9442d9e7 100644 --- a/configs/nitrogen8mn_defconfig +++ b/configs/nitrogen8mn_defconfig @@ -18,8 +18,8 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -29,8 +29,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-lf-5.15.52-2.1.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/697a8319.tar.gz" +# Latest revision of branch boundary-lf-6.1.22-2.0.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -40,18 +40,19 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8_nano_8mn1gr0" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/nitrogen8mp_defconfig b/configs/nitrogen8mp_defconfig index 0767ab13753..c5f79c39131 100644 --- a/configs/nitrogen8mp_defconfig +++ b/configs/nitrogen8mp_defconfig @@ -18,8 +18,8 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # DDR training binaries BR2_PACKAGE_FREESCALE_IMX=y @@ -29,8 +29,8 @@ BR2_PACKAGE_FIRMWARE_IMX=y # ARM Trusted Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -# Latest revision of branch boundary-lf-5.15.52-2.1.0 -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/697a8319.tar.gz" +# Latest revision of branch boundary-lf-6.1.22-2.0.0 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/7e3484cc.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mp" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -40,20 +40,21 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8mp_2gr0" BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y # Latest revision of branch boundary-v2022.04 -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/c2042594.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot/archive/7e7eff74.tar.gz" BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -# Latest revision of branch boundary-imx_5.15.y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/97cc67c4.tar.gz" +# Latest revision of branch boundary-imx_6.1.y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux/archive/4470b050.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="boundary" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INSTALL_TARGET=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-nitrogen8mp freescale/imx8mp-nitrogen8mp-m4 freescale/imx8mp-nitrogen8mp-enc freescale/imx8mp-nitrogen8mp-enc-tc358743" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mp-nitrogen_smarc freescale/imx8mp-nitrogen8mp freescale/imx8mp-nitrogen8mp-m4 freescale/imx8mp-nitrogen8mp-enc freescale/imx8mp-nitrogen8mp-enc-tc358743" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/olimex_a10_olinuxino_lime_defconfig b/configs/olimex_a10_olinuxino_lime_defconfig index d0e00301f72..9c454b19153 100644 --- a/configs/olimex_a10_olinuxino_lime_defconfig +++ b/configs/olimex_a10_olinuxino_lime_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a10-olinuxino" @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a10_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.9" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -33,7 +33,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A10-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y diff --git a/configs/olimex_a13_olinuxino_defconfig b/configs/olimex_a13_olinuxino_defconfig index 6d25d7d0a1a..8469ce1fd0d 100644 --- a/configs/olimex_a13_olinuxino_defconfig +++ b/configs/olimex_a13_olinuxino_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a13-olinuxino" @@ -15,7 +15,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A13-OLinuXino" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y @@ -28,7 +28,7 @@ BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.9" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/olimex_a20_olinuxino_lime2_defconfig b/configs/olimex_a20_olinuxino_lime2_defconfig index 1bb628b56b5..bf44207393c 100644 --- a/configs/olimex_a20_olinuxino_lime2_defconfig +++ b/configs/olimex_a20_olinuxino_lime2_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 5.15 LTS series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.6 LTS series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # Toolchain # glibc is needed for sunxi-mali-utgard package. @@ -15,6 +15,7 @@ BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" @@ -22,12 +23,12 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.10" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/a20_olinuxino/linux-disable-lima.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime2" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-olinuxino-lime2" BR2_LINUX_KERNEL_INSTALL_TARGET=y # sunxi packages @@ -44,7 +45,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime2" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig index 7105ea99627..5e26eaf857a 100644 --- a/configs/olimex_a20_olinuxino_lime_defconfig +++ b/configs/olimex_a20_olinuxino_lime_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 5.15 LTS series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.6 LTS series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # Toolchain # glibc is needed for sunxi-mali-utgard package. @@ -15,6 +15,7 @@ BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/olimex/a20_olinuxino/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" @@ -22,12 +23,12 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.71" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.10" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/a20_olinuxino/linux-disable-lima.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun7i-a20-olinuxino-lime" BR2_LINUX_KERNEL_INSTALL_TARGET=y # sunxi packages @@ -44,7 +45,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y diff --git a/configs/olimex_a20_olinuxino_micro_defconfig b/configs/olimex_a20_olinuxino_micro_defconfig index 1394c0b8b85..a7a6eb51a01 100644 --- a/configs/olimex_a20_olinuxino_micro_defconfig +++ b/configs/olimex_a20_olinuxino_micro_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.9" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-micro" @@ -33,7 +33,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino_MICRO" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y diff --git a/configs/olimex_a33_olinuxino_defconfig b/configs/olimex_a33_olinuxino_defconfig index cdbc63efe18..35398ac6da5 100644 --- a/configs/olimex_a33_olinuxino_defconfig +++ b/configs/olimex_a33_olinuxino_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a7=y -# Linux headers same as kernel, a 5.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="A33-olinuxino" @@ -15,7 +15,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A33-OLinuXino" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y @@ -31,7 +31,7 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a33_olinuxino/boot # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.9" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/olimex_a64_olinuxino_defconfig b/configs/olimex_a64_olinuxino_defconfig index 53e8c2ece54..dd445e8ce0e 100644 --- a/configs/olimex_a64_olinuxino_defconfig +++ b/configs/olimex_a64_olinuxino_defconfig @@ -2,13 +2,13 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -# Linux headers same as kernel, a 5.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.8" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -16,7 +16,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="a64-olinuxino" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y @@ -33,7 +33,7 @@ BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/olimex/a64-olinuxino/boot # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.9" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-olinuxino" @@ -43,6 +43,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_GENERIC_ISSUE="Welcome to Olimex A64-OLinuXino" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/olimex_stmp157_olinuxino_lime_defconfig b/configs/olimex_stmp157_olinuxino_lime_defconfig index a63394fa0b4..8bd8e10ca98 100644 --- a/configs/olimex_stmp157_olinuxino_lime_defconfig +++ b/configs/olimex_stmp157_olinuxino_lime_defconfig @@ -8,6 +8,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="stmp1-olinuxino" BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" +BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_OVERLAY="board/olimex/stmp1_olinuxino/rootfs_overlay" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/stmp1_olinuxino/genimage.cfg" @@ -16,8 +17,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/stmp1_olinuxino/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/OLIMEX/linux-olimex.git" -# branch release-20220413-v5.10.105 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d417808c240d55576ee76e5cbb40413ad444ecfd" +# branch release-20230622-v5.10.180 +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fc74113e14d76aea9482264ff42e07397b94553d" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/olimex/stmp1_olinuxino/linux.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -34,12 +35,13 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/OLIMEX/u-boot-olinuxino.git" -# release-20220413, based on 2021.04 -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="b39c5a7c93a2d8efaecc9cad4284378af857c3f7" +# release-20230515, based on 2021.04 +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="efadf793a0a5924e2c96362dc1df3e56622ebb97" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="STM32-OLinuXino-LIME" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32" diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig index ba128424a0b..1431619620b 100644 --- a/configs/orangepi_one_defconfig +++ b/configs/orangepi_one_defconfig @@ -1,16 +1,16 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_One" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi One" BR2_SYSTEM_DHCP="eth0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-one" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-orangepi-one" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_TARGET_ROOTFS_EXT2=y @@ -19,11 +19,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_one" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig new file mode 100644 index 00000000000..46d04b34c84 --- /dev/null +++ b/configs/orangepi_pc2_defconfig @@ -0,0 +1,37 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi PC2" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.45" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-pc2" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig index fd0f64e0e69..e6898bd13d5 100644 --- a/configs/orangepi_pc_defconfig +++ b/configs/orangepi_pc_defconfig @@ -22,11 +22,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_pc_plus_defconfig b/configs/orangepi_pc_plus_defconfig index ba946e5285f..068eb096364 100644 --- a/configs/orangepi_pc_plus_defconfig +++ b/configs/orangepi_pc_plus_defconfig @@ -2,16 +2,16 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC_Plus" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC Plus" BR2_SYSTEM_DHCP="eth0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc-plus" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h3-orangepi-pc-plus" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-pc-plus/linux-extras.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -21,11 +21,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc_plus" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_r1_defconfig b/configs/orangepi_r1_defconfig index bad1f9400cd..5e7dccf49b6 100644 --- a/configs/orangepi_r1_defconfig +++ b/configs/orangepi_r1_defconfig @@ -19,20 +19,20 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_r1" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-r1/boot.cmd" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-r1/boot.cmd" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-r1/genimage.cfg" diff --git a/configs/orangepi_zero3_defconfig b/configs/orangepi_zero3_defconfig new file mode 100644 index 00000000000..93d53dc3014 --- /dev/null +++ b/configs/orangepi_zero3_defconfig @@ -0,0 +1,56 @@ +BR2_aarch64=y +BR2_cortex_a53=y +BR2_ARM_FPU_VFPV4=y + +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_7=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_SYSTEM_DHCP="eth0" + +# Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h616" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero3" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.7" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h618-orangepi-zero3" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y + +# Filesystem +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero3" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +# BR2_TARGET_ROOTFS_TAR is not set + +# host tools +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y + +# image scripts +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig index 464e075e5c3..596805bd475 100644 --- a/configs/orangepi_zero_defconfig +++ b/configs/orangepi_zero_defconfig @@ -8,16 +8,16 @@ BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero" BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_SYSTEM_DHCP="eth0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.16" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun8i-h2-plus-orangepi-zero" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero/linux-extras.fragment" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -31,11 +31,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/orangepi_zero_plus2_defconfig b/configs/orangepi_zero_plus2_defconfig index ef171c3ad30..990e16463f3 100644 --- a/configs/orangepi_zero_plus2_defconfig +++ b/configs/orangepi_zero_plus2_defconfig @@ -2,14 +2,14 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay" # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -17,7 +17,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y @@ -31,7 +31,7 @@ BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.3" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2" @@ -56,7 +56,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_CLI=y BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus2" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" # host tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/orangepi_zero_plus_defconfig b/configs/orangepi_zero_plus_defconfig index e8de5c203d7..c564d8a3425 100644 --- a/configs/orangepi_zero_plus_defconfig +++ b/configs/orangepi_zero_plus_defconfig @@ -2,14 +2,14 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_SYSTEM_DHCP="eth0" # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y @@ -17,35 +17,38 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07.02" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero-plus/boot.cmd" +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="SCP=/dev/null" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.53" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y # Filesystem BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + +# host tools BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y + +# image scripts +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/common/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-zero-plus/genimage.cfg" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BINARIES_DIR)/genimage.cfg" diff --git a/configs/pc_x86_64_bios_defconfig b/configs/pc_x86_64_bios_defconfig index ec34a41667f..cba92ad93d7 100644 --- a/configs/pc_x86_64_bios_defconfig +++ b/configs/pc_x86_64_bios_defconfig @@ -21,17 +21,18 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" -# Linux headers same as kernel, a 4.19 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +# Linux headers same as kernel, a 6.1 LTS series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.24" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y # Firmware BR2_PACKAGE_LINUX_FIRMWARE=y @@ -61,3 +62,4 @@ BR2_PACKAGE_ACPID=y BR2_PACKAGE_CONNMAN=y BR2_PACKAGE_CONNMAN_CLIENT=y BR2_PACKAGE_CONNMAN_WIFI=y +BR2_PACKAGE_WIRELESS_REGDB=y diff --git a/configs/pc_x86_64_efi_defconfig b/configs/pc_x86_64_efi_defconfig index da05471e28c..fe6686b4a21 100644 --- a/configs/pc_x86_64_efi_defconfig +++ b/configs/pc_x86_64_efi_defconfig @@ -22,17 +22,18 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh" -# Linux headers same as kernel, a 4.19 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +# Linux headers same as kernel, a 6.1 LTS series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.24" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y # Firmware BR2_PACKAGE_LINUX_FIRMWARE=y @@ -62,3 +63,4 @@ BR2_PACKAGE_ACPID=y BR2_PACKAGE_CONNMAN=y BR2_PACKAGE_CONNMAN_CLIENT=y BR2_PACKAGE_CONNMAN_WIFI=y +BR2_PACKAGE_WIRELESS_REGDB=y diff --git a/configs/pine64_pinecube_defconfig b/configs/pine64_pinecube_defconfig new file mode 100644 index 00000000000..5cdaf59fae3 --- /dev/null +++ b/configs/pine64_pinecube_defconfig @@ -0,0 +1,45 @@ +# Target options +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y + +# Toolchain options +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y + +# System configuration +BR2_TARGET_GENERIC_HOSTNAME="pinecube" +BR2_TARGET_GENERIC_ISSUE="Welcome to Pine64 Pinecube" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/pinecube/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/pinecube/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.60" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-s3-pinecube" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="pinecube" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" + +# Required host utilities for building an SDCard image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/qemu_aarch64_ebbr_defconfig b/configs/qemu_aarch64_ebbr_defconfig index d293ad0e608..75a892f798f 100644 --- a/configs/qemu_aarch64_ebbr_defconfig +++ b/configs/qemu_aarch64_ebbr_defconfig @@ -6,12 +6,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/aarch64-ebbr/p BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/aarch64-ebbr/genimage.cfg" # Linux headers -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.0.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.11" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -27,7 +27,7 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="200M" # Firmware and bootloader BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y @@ -39,9 +39,9 @@ BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_armv8a" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm64" -BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/aarch64-ebbr/u-boot.config" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/aarch64-ebbr/u-boot.fragment" BR2_TARGET_UBOOT_NEEDS_OPENSSL=y # Host tools diff --git a/configs/qemu_aarch64_sbsa_defconfig b/configs/qemu_aarch64_sbsa_defconfig index 609444e787f..5acfaea7774 100644 --- a/configs/qemu_aarch64_sbsa_defconfig +++ b/configs/qemu_aarch64_sbsa_defconfig @@ -17,12 +17,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/aarch64-sbsa/a BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/aarch64-sbsa/genimage.cfg" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_aarch64_virt_defconfig b/configs/qemu_aarch64_virt_defconfig index 03df0ad9e20..11670603083 100644 --- a/configs/qemu_aarch64_virt_defconfig +++ b/configs/qemu_aarch64_virt_defconfig @@ -15,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_arm_ebbr_defconfig b/configs/qemu_arm_ebbr_defconfig new file mode 100644 index 00000000000..a0520edcf46 --- /dev/null +++ b/configs/qemu_arm_ebbr_defconfig @@ -0,0 +1,57 @@ +# Architecture +BR2_arm=y +BR2_cortex_a15=y + +# Image +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/arm-ebbr/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/arm-ebbr/genimage.cfg" + +# Linux headers +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.11" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-ebbr/linux.fragment" + +# Packages +BR2_PACKAGE_OPTEE_CLIENT=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set + +# Firmware and bootloader +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.10" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_RAM_LOCATION=tdram" +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_ARM_EFI=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_NEEDS_DTC=y +BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_virt" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/qemu/arm-ebbr/u-boot.fragment" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y + +# Host tools +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# host-qemu for gitlab testing +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_arm_versatile_defconfig b/configs/qemu_arm_versatile_defconfig index 4f43273a821..7c93ae3e7ec 100644 --- a/configs/qemu_arm_versatile_defconfig +++ b/configs/qemu_arm_versatile_defconfig @@ -15,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="versatile" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-versatile/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/qemu_arm_vexpress_defconfig b/configs/qemu_arm_vexpress_defconfig index 2c813456f40..ccbcc8ea4ef 100644 --- a/configs/qemu_arm_vexpress_defconfig +++ b/configs/qemu_arm_vexpress_defconfig @@ -20,12 +20,12 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_TARGET_ROOTFS_EXT2_SIZE="64M" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" diff --git a/configs/qemu_arm_vexpress_tz_defconfig b/configs/qemu_arm_vexpress_tz_defconfig index 576c4411549..11a5c981748 100644 --- a/configs/qemu_arm_vexpress_tz_defconfig +++ b/configs/qemu_arm_vexpress_tz_defconfig @@ -17,12 +17,12 @@ BR2_TARGET_ROOTFS_CPIO_UIMAGE=y # BR2_TARGET_ROOTFS_TAR is not set # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-vexpress-tz/linux.fragment" @@ -40,7 +40,6 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_RAM_LOCATION=tdram" BR2_TARGET_OPTEE_OS=y BR2_TARGET_OPTEE_OS_NEEDS_DTC=y BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_virt" -BR2_PACKAGE_OPTEE_BENCHMARK=y BR2_PACKAGE_OPTEE_EXAMPLES=y BR2_PACKAGE_OPTEE_TEST=y diff --git a/configs/qemu_m68k_mcf5208_defconfig b/configs/qemu_m68k_mcf5208_defconfig index 0490b9e29e8..0c95756a8e1 100644 --- a/configs/qemu_m68k_mcf5208_defconfig +++ b/configs/qemu_m68k_mcf5208_defconfig @@ -14,23 +14,21 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux.config" +BR2_LINUX_KERNEL_PATCH="board/qemu/m68k-mcf5208/0001-m68k-Fix-invalid-.section-syntax.patch" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" -# use minimal busybox with hush and networking tools -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" - # host-qemu for gitlab testing BR2_PACKAGE_HOST_QEMU=y BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_m68k_q800_defconfig b/configs/qemu_m68k_q800_defconfig index 30d8982db3f..a3a09ef775a 100644 --- a/configs/qemu_m68k_q800_defconfig +++ b/configs/qemu_m68k_q800_defconfig @@ -14,14 +14,15 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux.config" +BR2_LINUX_KERNEL_PATCH="board/qemu/m68k-q800/0001-m68k-Fix-invalid-.section-syntax.patch" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/configs/qemu_microblazebe_mmu_defconfig b/configs/qemu_microblazebe_mmu_defconfig index 7bd2ae53b82..a93ef3564d8 100644 --- a/configs/qemu_microblazebe_mmu_defconfig +++ b/configs/qemu_microblazebe_mmu_defconfig @@ -15,16 +15,15 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazebe-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y -BR2_LINUX_KERNEL_PATCH="board/qemu/microblazebe-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch" # host-qemu for gitlab testing BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_microblazeel_mmu_defconfig b/configs/qemu_microblazeel_mmu_defconfig index cd8c5a3cb29..0b00b58b4ef 100644 --- a/configs/qemu_microblazeel_mmu_defconfig +++ b/configs/qemu_microblazeel_mmu_defconfig @@ -15,16 +15,15 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazeel-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y -BR2_LINUX_KERNEL_PATCH="board/qemu/microblazeel-mmu/0001-net-xilinx-xemaclite-add-2.00.b-revision.patch" # host-qemu for gitlab testing BR2_PACKAGE_HOST_QEMU=y diff --git a/configs/qemu_mips32r2_malta_defconfig b/configs/qemu_mips32r2_malta_defconfig index 49d84c308b5..1fdc5889984 100644 --- a/configs/qemu_mips32r2_malta_defconfig +++ b/configs/qemu_mips32r2_malta_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips32r2el_malta_defconfig b/configs/qemu_mips32r2el_malta_defconfig index 5363018c47c..35d071010db 100644 --- a/configs/qemu_mips32r2el_malta_defconfig +++ b/configs/qemu_mips32r2el_malta_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips32r6_malta_defconfig b/configs/qemu_mips32r6_malta_defconfig index f77feb9b6d4..a57347d2a68 100644 --- a/configs/qemu_mips32r6_malta_defconfig +++ b/configs/qemu_mips32r6_malta_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips32r6el_malta_defconfig b/configs/qemu_mips32r6el_malta_defconfig index 575034441a6..9fb82a76d2e 100644 --- a/configs/qemu_mips32r6el_malta_defconfig +++ b/configs/qemu_mips32r6el_malta_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips64_malta_defconfig b/configs/qemu_mips64_malta_defconfig index e9438fda1e1..f314b123a8e 100644 --- a/configs/qemu_mips64_malta_defconfig +++ b/configs/qemu_mips64_malta_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips64el_malta_defconfig b/configs/qemu_mips64el_malta_defconfig index 4b1c8e22af7..672c416a091 100644 --- a/configs/qemu_mips64el_malta_defconfig +++ b/configs/qemu_mips64el_malta_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips64r6_malta_defconfig b/configs/qemu_mips64r6_malta_defconfig index 87ef7902af8..15dba14cc61 100644 --- a/configs/qemu_mips64r6_malta_defconfig +++ b/configs/qemu_mips64r6_malta_defconfig @@ -15,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_mips64r6el_malta_defconfig b/configs/qemu_mips64r6el_malta_defconfig index 5774207f65d..39b9c73bcd9 100644 --- a/configs/qemu_mips64r6el_malta_defconfig +++ b/configs/qemu_mips64r6el_malta_defconfig @@ -15,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_nios2_10m50_defconfig b/configs/qemu_nios2_10m50_defconfig index 4b9c53e8deb..698ff68e5eb 100644 --- a/configs/qemu_nios2_10m50_defconfig +++ b/configs/qemu_nios2_10m50_defconfig @@ -1,7 +1,7 @@ BR2_nios2=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="10m50" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/nios2-10m50/linux.fragment" BR2_TARGET_ROOTFS_INITRAMFS=y @@ -11,7 +11,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel needs mkimage BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/qemu_or1k_defconfig b/configs/qemu_or1k_defconfig index b3d9d791567..4f1030b35f1 100644 --- a/configs/qemu_or1k_defconfig +++ b/configs/qemu_or1k_defconfig @@ -1,6 +1,9 @@ # Architecture BR2_or1k=y +# System +BR2_SYSTEM_DHCP="eth0" + # Filesystem # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y @@ -10,12 +13,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/or1k/linux.config" diff --git a/configs/qemu_ppc64_e5500_defconfig b/configs/qemu_ppc64_e5500_defconfig index 6ad03c4c871..8e68fae3c25 100644 --- a/configs/qemu_ppc64_e5500_defconfig +++ b/configs/qemu_ppc64_e5500_defconfig @@ -3,7 +3,6 @@ BR2_powerpc64=y BR2_powerpc_e5500=y # System -BR2_BINUTILS_VERSION_2_38_X=y BR2_SYSTEM_DHCP="eth0" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" @@ -12,12 +11,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as the kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_ppc64_pseries_defconfig b/configs/qemu_ppc64_pseries_defconfig index 50844dc93b0..4bc9534166a 100644 --- a/configs/qemu_ppc64_pseries_defconfig +++ b/configs/qemu_ppc64_pseries_defconfig @@ -3,7 +3,6 @@ BR2_powerpc64=y BR2_powerpc_power7=y # System -BR2_BINUTILS_VERSION_2_38_X=y BR2_SYSTEM_DHCP="eth0" BR2_TARGET_GENERIC_GETTY_PORT="hvc0" @@ -16,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="pseries" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc64le_powernv8_defconfig b/configs/qemu_ppc64le_powernv8_defconfig index f6a5c3d409f..4975a90bc6e 100644 --- a/configs/qemu_ppc64le_powernv8_defconfig +++ b/configs/qemu_ppc64le_powernv8_defconfig @@ -3,7 +3,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y # System -BR2_BINUTILS_VERSION_2_38_X=y BR2_TARGET_GENERIC_GETTY_PORT="hvc0" BR2_SYSTEM_DHCP="eth0" @@ -16,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="powernv" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc64le_pseries_defconfig b/configs/qemu_ppc64le_pseries_defconfig index 7ce5a9d3103..1cca03053b3 100644 --- a/configs/qemu_ppc64le_pseries_defconfig +++ b/configs/qemu_ppc64le_pseries_defconfig @@ -3,7 +3,6 @@ BR2_powerpc64le=y BR2_powerpc_power8=y # System -BR2_BINUTILS_VERSION_2_38_X=y BR2_TARGET_GENERIC_GETTY_PORT="hvc0" BR2_SYSTEM_DHCP="eth0" @@ -16,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="pseries_le" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_bamboo_defconfig b/configs/qemu_ppc_bamboo_defconfig index f4cc5589e7b..284982cf2c0 100644 --- a/configs/qemu_ppc_bamboo_defconfig +++ b/configs/qemu_ppc_bamboo_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="44x/bamboo" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-bamboo/linux.fragment" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_e500mc_defconfig b/configs/qemu_ppc_e500mc_defconfig index 0a1877c44b4..e50484f5a3c 100644 --- a/configs/qemu_ppc_e500mc_defconfig +++ b/configs/qemu_ppc_e500mc_defconfig @@ -11,12 +11,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as the kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="corenet32_smp" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-e500mc/linux.fragment" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_ppc_g3beige_defconfig b/configs/qemu_ppc_g3beige_defconfig index 1c11bcf77d0..6c14a1ca902 100644 --- a/configs/qemu_ppc_g3beige_defconfig +++ b/configs/qemu_ppc_g3beige_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-g3beige/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_mac99_defconfig b/configs/qemu_ppc_mac99_defconfig index 2331041c2a8..33b9ec0d63f 100644 --- a/configs/qemu_ppc_mac99_defconfig +++ b/configs/qemu_ppc_mac99_defconfig @@ -6,12 +6,12 @@ BR2_powerpc_7400=y BR2_SYSTEM_DHCP="eth0" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="pmac32" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc-mac99/linux.fragment" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_ppc_mpc8544ds_defconfig b/configs/qemu_ppc_mpc8544ds_defconfig index b9a0812d525..efbc5fc81dd 100644 --- a/configs/qemu_ppc_mpc8544ds_defconfig +++ b/configs/qemu_ppc_mpc8544ds_defconfig @@ -3,7 +3,6 @@ BR2_powerpc=y BR2_powerpc_8548=y # System -BR2_GLOBAL_PATCH_DIR="board/qemu/ppc-mpc8544ds/patches" BR2_SYSTEM_DHCP="eth0" # Filesystem @@ -15,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_17=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.17.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-mpc8544ds/linux.config" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/configs/qemu_riscv32_virt_defconfig b/configs/qemu_riscv32_virt_defconfig index faf4e1e3127..74a67400ea5 100644 --- a/configs/qemu_riscv32_virt_defconfig +++ b/configs/qemu_riscv32_virt_defconfig @@ -14,17 +14,19 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.43" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="rv32" BR2_LINUX_KERNEL_IMAGE=y # Bootloader BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" BR2_TARGET_OPENSBI_PLAT="generic" # host-qemu for gitlab testing diff --git a/configs/qemu_riscv64_nommu_virt_defconfig b/configs/qemu_riscv64_nommu_virt_defconfig index ee70beb2088..9999bcf7f33 100644 --- a/configs/qemu_riscv64_nommu_virt_defconfig +++ b/configs/qemu_riscv64_nommu_virt_defconfig @@ -3,11 +3,8 @@ BR2_riscv=y BR2_RISCV_64=y # BR2_RISCV_USE_MMU is not set -# Linux headers same as kernel, a 5.19 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y - -# Busybox with hush -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # System BR2_TARGET_GENERIC_GETTY=y @@ -22,7 +19,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_DEFCONFIG="nommu_virt" BR2_LINUX_KERNEL_IMAGE=y diff --git a/configs/qemu_riscv64_virt_defconfig b/configs/qemu_riscv64_virt_defconfig index c455680ee01..52ad87fa7c4 100644 --- a/configs/qemu_riscv64_virt_defconfig +++ b/configs/qemu_riscv64_virt_defconfig @@ -14,17 +14,19 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.43" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_IMAGE=y # Bootloader BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" BR2_TARGET_OPENSBI_PLAT="generic" # host-qemu for gitlab testing diff --git a/configs/qemu_riscv64_virt_efi_defconfig b/configs/qemu_riscv64_virt_efi_defconfig new file mode 100644 index 00000000000..79aadf78ca7 --- /dev/null +++ b/configs/qemu_riscv64_virt_efi_defconfig @@ -0,0 +1,19 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh board/qemu/riscv64-virt-efi/assemble-flash-images support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG) -c board/qemu/riscv64-virt-efi/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.69" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_EDK2=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_RISCV64_EFI=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_s390x_defconfig b/configs/qemu_s390x_defconfig index 346df04adab..39dae4be2a7 100644 --- a/configs/qemu_s390x_defconfig +++ b/configs/qemu_s390x_defconfig @@ -9,15 +9,16 @@ BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/qemu_sh4_r2d_defconfig b/configs/qemu_sh4_r2d_defconfig index 0f12b7dfe9c..038a9763c3b 100644 --- a/configs/qemu_sh4_r2d_defconfig +++ b/configs/qemu_sh4_r2d_defconfig @@ -15,12 +15,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_sh4eb_r2d_defconfig b/configs/qemu_sh4eb_r2d_defconfig index d5ee371e79f..a8988d44462 100644 --- a/configs/qemu_sh4eb_r2d_defconfig +++ b/configs/qemu_sh4eb_r2d_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4eb-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/configs/qemu_sparc64_sun4u_defconfig b/configs/qemu_sparc64_sun4u_defconfig index 485b497e71a..8a611554113 100644 --- a/configs/qemu_sparc64_sun4u_defconfig +++ b/configs/qemu_sparc64_sun4u_defconfig @@ -14,12 +14,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux.config" diff --git a/configs/qemu_sparc_ss10_defconfig b/configs/qemu_sparc_ss10_defconfig deleted file mode 100644 index 2ba04c08642..00000000000 --- a/configs/qemu_sparc_ss10_defconfig +++ /dev/null @@ -1,28 +0,0 @@ -# Architecture -BR2_sparc=y -BR2_sparc_v8=y - -# System -BR2_SYSTEM_DHCP="eth0" - -# Filesystem -BR2_TARGET_ROOTFS_EXT2=y -# BR2_TARGET_ROOTFS_TAR is not set - -# Image -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" - -# Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y - -# Linux kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux.config" - -# host-qemu for gitlab testing -BR2_PACKAGE_HOST_QEMU=y -BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/configs/qemu_x86_64_defconfig b/configs/qemu_x86_64_defconfig index cc505a85401..9e99d9d2b25 100644 --- a/configs/qemu_x86_64_defconfig +++ b/configs/qemu_x86_64_defconfig @@ -16,12 +16,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y diff --git a/configs/qemu_x86_defconfig b/configs/qemu_x86_defconfig index 34b7e2d2926..5c6bebd3e3c 100644 --- a/configs/qemu_x86_defconfig +++ b/configs/qemu_x86_defconfig @@ -17,12 +17,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config" diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig index cb781060918..8dcdced01be 100644 --- a/configs/qemu_xtensa_lx60_defconfig +++ b/configs/qemu_xtensa_lx60_defconfig @@ -16,12 +16,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig index 4be1b66edc5..d1d59b95254 100644 --- a/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/configs/qemu_xtensa_lx60_nommu_defconfig @@ -4,9 +4,6 @@ BR2_XTENSA_CUSTOM=y BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz" # BR2_XTENSA_USE_MMU is not set -# Use minimal busybox with hush and networking tools -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" - # System BR2_SYSTEM_DHCP="eth0" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" @@ -20,12 +17,12 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" # Linux headers same as kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-nommu.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y diff --git a/configs/raspberrypi0_defconfig b/configs/raspberrypi0_defconfig index 4506e94bce5..6bff1ebf813 100644 --- a/configs/raspberrypi0_defconfig +++ b/configs/raspberrypi0_defconfig @@ -2,14 +2,14 @@ BR2_arm=y BR2_arm1176jzf_s=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B from the kernel sources: the zero is the same @@ -37,3 +37,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi0w_defconfig b/configs/raspberrypi0w_defconfig index 7a35794c2d7..ac72d49f92e 100644 --- a/configs/raspberrypi0w_defconfig +++ b/configs/raspberrypi0w_defconfig @@ -2,14 +2,14 @@ BR2_arm=y BR2_arm1176jzf_s=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w" @@ -32,3 +32,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig index 9b484c5588e..dee9a0b23fc 100644 --- a/configs/raspberrypi2_defconfig +++ b/configs/raspberrypi2_defconfig @@ -7,12 +7,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -39,3 +39,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi2/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi2/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi3_64_defconfig b/configs/raspberrypi3_64_defconfig index 4d838ae0e89..6871dc0fe0e 100644 --- a/configs/raspberrypi3_64_defconfig +++ b/configs/raspberrypi3_64_defconfig @@ -6,12 +6,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" # Build the DTB from the kernel sources @@ -37,3 +37,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig index 0a59ab42a93..f0e7b821919 100644 --- a/configs/raspberrypi3_defconfig +++ b/configs/raspberrypi3_defconfig @@ -6,12 +6,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -37,3 +37,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi3_qt5we_defconfig b/configs/raspberrypi3_qt5we_defconfig index 40d0c0f8889..532b3ed6866 100644 --- a/configs/raspberrypi3_qt5we_defconfig +++ b/configs/raspberrypi3_qt5we_defconfig @@ -7,12 +7,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -51,3 +51,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="400M" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig index 5942f7c4e1a..453bbe9440d 100644 --- a/configs/raspberrypi4_64_defconfig +++ b/configs/raspberrypi4_64_defconfig @@ -6,12 +6,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" # Build the DTB from the kernel sources @@ -36,3 +36,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi4_defconfig b/configs/raspberrypi4_defconfig index 4e5580c140d..1ed5d34b56e 100644 --- a/configs/raspberrypi4_defconfig +++ b/configs/raspberrypi4_defconfig @@ -6,12 +6,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" # Build the DTB from the kernel sources @@ -36,3 +36,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig index cca53f9b378..01b4353b845 100644 --- a/configs/raspberrypi_defconfig +++ b/configs/raspberrypi_defconfig @@ -4,14 +4,14 @@ BR2_ARM_EABIHF=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B, A+/B+ and compute module from the kernel sources @@ -38,3 +38,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypicm4io_64_defconfig b/configs/raspberrypicm4io_64_defconfig index 29cb0472d72..d53711c3a79 100644 --- a/configs/raspberrypicm4io_64_defconfig +++ b/configs/raspberrypicm4io_64_defconfig @@ -6,12 +6,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" # Build the DTB from the kernel sources @@ -39,3 +39,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io-64/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io-64/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypicm4io_defconfig b/configs/raspberrypicm4io_defconfig index 017aecc0dd0..4b50dc9ef9c 100644 --- a/configs/raspberrypicm4io_defconfig +++ b/configs/raspberrypicm4io_defconfig @@ -6,12 +6,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, a 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" # Build the DTB from the kernel sources @@ -39,3 +39,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/raspberrypizero2w_defconfig b/configs/raspberrypizero2w_defconfig index 2ea503ca24d..e152889f2d4 100644 --- a/configs/raspberrypizero2w_defconfig +++ b/configs/raspberrypizero2w_defconfig @@ -2,14 +2,14 @@ BR2_arm=y BR2_cortex_a53=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, 5.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +# Linux headers same as kernel, 6.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,0b54dbda3cca2beb51e236a25738784e90853b64)/linux-0b54dbda3cca2beb51e236a25738784e90853b64.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,17f135b742c4edb340afb365873c3a574f7e16cb)/linux-17f135b742c4edb340afb365873c3a574f7e16cb.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -34,3 +34,10 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypizero2w/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypizero2w/post-image.sh" + +# Enable compressed kernel module support +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/configs/roc_pc_rk3399_defconfig b/configs/roc_pc_rk3399_defconfig new file mode 100644 index 00000000000..13237526837 --- /dev/null +++ b/configs/roc_pc_rk3399_defconfig @@ -0,0 +1,45 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_TARGET_GENERIC_HOSTNAME="roc-rk3399-pc" +BR2_TARGET_GENERIC_ISSUE="Welcome to ROC-RK3399-PC!" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/firefly/roc-rk3399-pc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/firefly/roc-rk3399-pc/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.61" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-roc-pc" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="130M" +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O 64bit" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.9" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="roc-pc-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/rock5b_defconfig b/configs/rock5b_defconfig new file mode 100644 index 00000000000..1ac42c8dc5f --- /dev/null +++ b/configs/rock5b_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_cortex_a76_a55=y +BR2_KERNEL_HEADERS_5_10=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/radxa/rock5b/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="" +BR2_TARGET_GENERIC_HOSTNAME="rock5b" +BR2_TARGET_GENERIC_ISSUE="Welcome to the rock5b board" +BR2_GLOBAL_PATCH_DIR="board/radxa/rock5b/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_SYSTEM_DHCP="eth0" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/radxa/kernel.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="52f51a2b5ba178f331af62260d2da86d7472c14b" +BR2_LINUX_KERNEL_DEFCONFIG="rockchip_linux" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/radxa/rock5b/rock5b.dts" +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/radxa/rock5b/linux.fragment" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="250M" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock5b-rk3588" +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/radxa/rock5b/boot.cmd" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_DTC=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_ROCKCHIP_RKBIN=y +BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin" +BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME="bin/rk35/rk3588_bl31_v1.40.elf" diff --git a/configs/rockpro64_defconfig b/configs/rockpro64_defconfig index d39640f855b..472b9aded20 100644 --- a/configs/rockpro64_defconfig +++ b/configs/rockpro64_defconfig @@ -2,13 +2,13 @@ BR2_aarch64=y BR2_cortex_a72_a53=y -# Linux headers same as kernel, a 5.8 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8=y +# Linux headers same as kernel, a 6.5 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5=y # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9.0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y @@ -18,10 +18,13 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rockpro64-rk3399" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y @@ -32,7 +35,7 @@ BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.5.7" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rockpro64" @@ -43,6 +46,7 @@ BR2_TARGET_GENERIC_HOSTNAME="rockpro64" BR2_TARGET_GENERIC_ISSUE="Welcome to ROCKPRO64" BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig index 7f186df22c0..6b3719a5076 100644 --- a/configs/sheevaplug_defconfig +++ b/configs/sheevaplug_defconfig @@ -4,6 +4,7 @@ BR2_arm926t=y # system BR2_GLOBAL_PATCH_DIR="board/sheevaplug/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_SYSTEM_DHCP="eth0" @@ -27,7 +28,7 @@ BR2_TARGET_UBOOT_FORMAT_KWB=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.253" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.336" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v5" BR2_LINUX_KERNEL_APPENDED_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" diff --git a/configs/sipeed_lichee_rv_defconfig b/configs/sipeed_lichee_rv_defconfig new file mode 100644 index 00000000000..750d2d6e3b0 --- /dev/null +++ b/configs/sipeed_lichee_rv_defconfig @@ -0,0 +1,33 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_OVERLAY="board/sipeed/lichee_rv/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/lichee_rv/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,ca67838d84af4c9f85d06311c9e98e1adf46308f)/linux-ca67838d84af4c9f85d06311c9e98e1adf46308f.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="nezha" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-lichee-rv" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,528ae9bc6c55edd3ffe642734b4132a8246ea777)/uboot-528ae9bc6c55edd3ffe642734b4132a8246ea777.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lichee_rv_dock" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/sipeed_lichee_rv_dock_defconfig b/configs/sipeed_lichee_rv_dock_defconfig new file mode 100644 index 00000000000..a228cd8cb77 --- /dev/null +++ b/configs/sipeed_lichee_rv_dock_defconfig @@ -0,0 +1,41 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/sipeed/lichee_rv/overlay board/sipeed/lichee_rv_dock/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/lichee_rv_dock/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,linux,ca67838d84af4c9f85d06311c9e98e1adf46308f)/linux-ca67838d84af4c9f85d06311c9e98e1adf46308f.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="nezha" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun20i-d1-lichee-rv-dock" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/lichee_rv_dock/linux.fragment" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_RTL8723DS=y +BR2_PACKAGE_RTL8723DS_BT=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,smaeul,u-boot,528ae9bc6c55edd3ffe642734b4132a8246ea777)/uboot-528ae9bc6c55edd3ffe642734b4132a8246ea777.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="lichee_rv_dock" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/sipeed_licheepi_nano_defconfig b/configs/sipeed_licheepi_nano_defconfig new file mode 100644 index 00000000000..6eb4a3069db --- /dev/null +++ b/configs/sipeed_licheepi_nano_defconfig @@ -0,0 +1,48 @@ +# Target options +BR2_arm=y + +# System configuration +BR2_TARGET_GENERIC_HOSTNAME="licheepi-nano" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the LicheePi Nano" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/licheepi_nano/genimage.cfg" + +# Linux headers same as kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_5=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.5.9" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/licheepi_nano/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/suniv-f1c100s-licheepi-nano" + +# Filesystem images +BR2_TARGET_ROOTFS_JFFS2=y +BR2_TARGET_ROOTFS_JFFS2_FLASH_64=y +BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y +BR2_TARGET_ROOTFS_JFFS2_PAD=y + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="licheepi_nano" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/sipeed/licheepi_nano/uboot.fragment" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y + +# Required host utilities +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_SUNXI_TOOLS=y diff --git a/configs/sipeed_licheepi_zero_defconfig b/configs/sipeed_licheepi_zero_defconfig new file mode 100644 index 00000000000..1fa76923c88 --- /dev/null +++ b/configs/sipeed_licheepi_zero_defconfig @@ -0,0 +1,53 @@ +# Target options +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y + +# Toolchain +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y + +# System configuration +BR2_TARGET_GENERIC_HOSTNAME="licheepi-zero" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the LicheePi Zero" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/sipeed/licheepi_zero/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.5" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-v3s-licheepi-zero sun8i-v3s-licheepi-zero-dock" + +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y + +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y + +# Filesystem images +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="LicheePi_Zero" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/sipeed/licheepi_zero/boot.cmd" + +# Required host utilities for building an SDCard image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/sipeed_maix_bit_defconfig b/configs/sipeed_maix_bit_defconfig index d73ba0266ab..e45996879a6 100644 --- a/configs/sipeed_maix_bit_defconfig +++ b/configs/sipeed_maix_bit_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -29,7 +29,6 @@ BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin" # Packages BR2_PACKAGE_HOST_PYTHON_KFLASH=y -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set diff --git a/configs/sipeed_maix_bit_sdcard_defconfig b/configs/sipeed_maix_bit_sdcard_defconfig index 34769eeca84..7e293e5a490 100644 --- a/configs/sipeed_maix_bit_sdcard_defconfig +++ b/configs/sipeed_maix_bit_sdcard_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -17,6 +17,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT_ONE=y # BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" # Kernel BR2_LINUX_KERNEL=y @@ -30,7 +31,6 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_bit" # Packages -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # Filesystem diff --git a/configs/sipeed_maix_dock_defconfig b/configs/sipeed_maix_dock_defconfig index ccb563310eb..0352382fcd8 100644 --- a/configs/sipeed_maix_dock_defconfig +++ b/configs/sipeed_maix_dock_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -29,7 +29,6 @@ BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin" # Packages BR2_PACKAGE_HOST_PYTHON_KFLASH=y -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set diff --git a/configs/sipeed_maix_dock_sdcard_defconfig b/configs/sipeed_maix_dock_sdcard_defconfig index 62f6a0e0b84..20658813bad 100644 --- a/configs/sipeed_maix_dock_sdcard_defconfig +++ b/configs/sipeed_maix_dock_sdcard_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -17,6 +17,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT_ONE=y # BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" # Kernel BR2_LINUX_KERNEL=y @@ -30,7 +31,6 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_dock" # Packages -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # Filesystem diff --git a/configs/sipeed_maix_go_defconfig b/configs/sipeed_maix_go_defconfig index c3bcf98f812..27272dac4c4 100644 --- a/configs/sipeed_maix_go_defconfig +++ b/configs/sipeed_maix_go_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -29,7 +29,6 @@ BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin" # Packages BR2_PACKAGE_HOST_PYTHON_KFLASH=y -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set diff --git a/configs/sipeed_maix_go_sdcard_defconfig b/configs/sipeed_maix_go_sdcard_defconfig index 6c61e3aaafe..1bc12dd0581 100644 --- a/configs/sipeed_maix_go_sdcard_defconfig +++ b/configs/sipeed_maix_go_sdcard_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -17,6 +17,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT_ONE=y # BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" # Kernel BR2_LINUX_KERNEL=y @@ -30,7 +31,6 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maix_go" # Packages -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # Filesystem diff --git a/configs/sipeed_maixduino_defconfig b/configs/sipeed_maixduino_defconfig index a30596af921..3e04ea3a046 100644 --- a/configs/sipeed_maixduino_defconfig +++ b/configs/sipeed_maixduino_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -29,7 +29,6 @@ BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin" # Packages BR2_PACKAGE_HOST_PYTHON_KFLASH=y -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-soc/busybox-tiny.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set diff --git a/configs/sipeed_maixduino_sdcard_defconfig b/configs/sipeed_maixduino_sdcard_defconfig index da8cbe45f9f..253ee7d7cfc 100644 --- a/configs/sipeed_maixduino_sdcard_defconfig +++ b/configs/sipeed_maixduino_sdcard_defconfig @@ -2,11 +2,11 @@ BR2_riscv=y BR2_RISCV_64=y BR2_riscv_custom=y -BR2_RISCV_ISA_CUSTOM_RVM=y -BR2_RISCV_ISA_CUSTOM_RVA=y -BR2_RISCV_ISA_CUSTOM_RVF=y -BR2_RISCV_ISA_CUSTOM_RVD=y -BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_RISCV_ISA_RVM=y +BR2_RISCV_ISA_RVA=y +BR2_RISCV_ISA_RVF=y +BR2_RISCV_ISA_RVD=y +BR2_RISCV_ISA_RVC=y # BR2_RISCV_USE_MMU is not set BR2_RISCV_ABI_LP64D=y @@ -17,6 +17,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_19=y BR2_BINFMT_FLAT=y BR2_BINFMT_FLAT_ONE=y # BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_GLOBAL_PATCH_DIR="board/canaan/k210-soc/patches" # Kernel BR2_LINUX_KERNEL=y @@ -30,7 +31,6 @@ BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/sipeed_maixduino" # Packages -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # Filesystem diff --git a/configs/snps_arc700_nsim_defconfig b/configs/snps_arc700_nsim_defconfig new file mode 100644 index 00000000000..3964924bed8 --- /dev/null +++ b/configs/snps_arc700_nsim_defconfig @@ -0,0 +1,18 @@ +# Architecture +BR2_arcle=y + +# System +BR2_TARGET_GENERIC_HOSTNAME="arc700" + +# Linux headers same as kernel, a 6.0 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_0=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.0.8" +BR2_LINUX_KERNEL_DEFCONFIG="nsim_700" +BR2_LINUX_KERNEL_VMLINUX=y + +# Rootfs +BR2_TARGET_ROOTFS_INITRAMFS=y diff --git a/configs/spike_riscv64_defconfig b/configs/spike_riscv64_defconfig index cc145bcd8e3..73ea566084f 100644 --- a/configs/spike_riscv64_defconfig +++ b/configs/spike_riscv64_defconfig @@ -2,12 +2,15 @@ BR2_riscv=y BR2_RISCV_64=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.14" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/spike/riscv64/linux.fragment" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.2" BR2_TARGET_OPENSBI_PLAT="generic" BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y BR2_PACKAGE_HOST_RISCV_ISA_SIM=y diff --git a/configs/stm32f429_disco_xip_defconfig b/configs/stm32f429_disco_xip_defconfig index f9b3270ecd9..99ae8cc7533 100644 --- a/configs/stm32f429_disco_xip_defconfig +++ b/configs/stm32f429_disco_xip_defconfig @@ -1,19 +1,20 @@ BR2_arm=y BR2_cortex_m4=y -BR2_KERNEL_HEADERS_5_15=y +BR2_KERNEL_HEADERS_6_1=y # BR2_UCLIBC_INSTALL_UTILS is not set BR2_ENABLE_LTO=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/common/stm32f4xx/stm32-post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.27" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/stmicroelectronics/stm32f429-disco/linux.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f429-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_TARGET_ROOTFS_INITRAMFS=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_AFBOOT_STM32=y diff --git a/configs/stm32f469_disco_sd_defconfig b/configs/stm32f469_disco_sd_defconfig index ea1361efc02..66840a77423 100644 --- a/configs/stm32f469_disco_sd_defconfig +++ b/configs/stm32f469_disco_sd_defconfig @@ -13,11 +13,15 @@ BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_SIZE="32M" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f469-discovery" BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/configs/stm32f469_disco_xip_defconfig b/configs/stm32f469_disco_xip_defconfig index fc3b3f92139..6e6ead0fdeb 100644 --- a/configs/stm32f469_disco_xip_defconfig +++ b/configs/stm32f469_disco_xip_defconfig @@ -13,7 +13,8 @@ BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="xipImage" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f469-disco" -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/stmicroelectronics/common/stm32f4xx/busybox.fragment" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set BR2_TARGET_ROOTFS_INITRAMFS=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_AFBOOT_STM32=y diff --git a/configs/stm32f769_disco_sd_defconfig b/configs/stm32f769_disco_sd_defconfig new file mode 100644 index 00000000000..725c985ec04 --- /dev/null +++ b/configs/stm32f769_disco_sd_defconfig @@ -0,0 +1,29 @@ +BR2_arm=y +BR2_cortex_m7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/stmicroelectronics/stm32f769-disco/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/stmicroelectronics/stm32f769-disco/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.108" +BR2_LINUX_KERNEL_DEFCONFIG="stm32" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm/configs/dram_0xc0000000.config board/stmicroelectronics/stm32f769-disco/linux-sd.fragment" +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="stm32f769-disco" +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_SIZE="32M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32f769-disco" +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_OPENOCD=y diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig index a487ce98914..aed6cfad343 100644 --- a/configs/stm32mp157a_dk1_defconfig +++ b/configs/stm32mp157a_dk1_defconfig @@ -27,20 +27,26 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dk1.dtb" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157a-dk1.dtb E=0 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" # BR2_TARGET_UBOOT_FORMAT_BIN is not set -BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157a-dk1" # Additional tools diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig index f1f7baaa080..c48705b2fb6 100644 --- a/configs/stm32mp157c_dk2_defconfig +++ b/configs/stm32mp157c_dk2_defconfig @@ -27,20 +27,26 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # Bootloaders BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_LTS_2_8_VERSION=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-dk2.dtb" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-nodtb.bin" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-dk2.dtb E=0 BL33_CFG=$(BINARIES_DIR)/u-boot.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin *.stm32" BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" # BR2_TARGET_UBOOT_FORMAT_BIN is not set -BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-dk2" # Additional tools diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig index 6b699830b17..2d3600410a5 100644 --- a/configs/stm32mp157c_odyssey_defconfig +++ b/configs/stm32mp157c_odyssey_defconfig @@ -17,8 +17,10 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="stm32mp1" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-odyssey.dtb" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="STM32MP_SDMMC=1 AARCH32_SP=sp_min DTB_FILE_NAME=stm32mp157c-odyssey.dtb E=0" BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="*.stm32" BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y BR2_TARGET_UBOOT=y @@ -29,6 +31,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" BR2_TARGET_UBOOT_NEEDS_DTC=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-odyssey" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/ti_am62x_sk_defconfig b/configs/ti_am62x_sk_defconfig new file mode 100644 index 00000000000..a129e216d25 --- /dev/null +++ b/configs/ti_am62x_sk_defconfig @@ -0,0 +1,47 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am62x-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.4.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am62x" +BR2_TARGET_TI_K3_IMAGE_GEN=y +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X=y +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_TI_K3_DM=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/ti_am64x_sk_defconfig b/configs/ti_am64x_sk_defconfig new file mode 100644 index 00000000000..26195194c7d --- /dev/null +++ b/configs/ti_am64x_sk_defconfig @@ -0,0 +1,46 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_4=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am64x-sk/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.4.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am642-sk" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y +BR2_TARGET_OPTEE_OS=y +BR2_TARGET_OPTEE_OS_PLATFORM="k3-am64x" +BR2_TARGET_TI_K3_IMAGE_GEN=y +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X=y +BR2_TARGET_TI_K3_R5_LOADER=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION=y +BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am64x_evm_r5" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="tispl.bin" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/toradex_apalis_imx6_defconfig b/configs/toradex_apalis_imx6_defconfig index 40a2d2d520d..e447190e0ce 100644 --- a/configs/toradex_apalis_imx6_defconfig +++ b/configs/toradex_apalis_imx6_defconfig @@ -1,6 +1,7 @@ BR2_arm=y BR2_cortex_a9=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_GLOBAL_PATCH_DIR="board/toradex/apalis-imx6/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/toradex/apalis-imx6/post-image.sh" BR2_LINUX_KERNEL=y diff --git a/configs/versal_vck190_defconfig b/configs/versal_vck190_defconfig index fcda6eb4316..8561b6641ab 100644 --- a/configs/versal_vck190_defconfig +++ b/configs/versal_vck190_defconfig @@ -1,12 +1,13 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_cortex_a72=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2 vck190" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="xilinx_versal" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vck190-rev1.1" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -15,7 +16,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.6_2022.2)/xlnx_rebase_v2.6_2022.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y @@ -23,18 +24,19 @@ BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt" -BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/versal/uboot.fragment" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vck190-rev1.1" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y BR2_TARGET_UBOOT_FORMAT_DTB=y BR2_PACKAGE_VERSAL_FIRMWARE=y -BR2_PACKAGE_VERSAL_FIRMWARE_VERSION="v2022.2" +BR2_PACKAGE_VERSAL_FIRMWARE_VERSION="xilinx_v2023.2" BR2_PACKAGE_VERSAL_FIRMWARE_BOARD="vck190" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_BOOTGEN=y +BR2_GLOBAL_PATCH_DIR="board/versal/patches" diff --git a/configs/visionfive2_defconfig b/configs/visionfive2_defconfig new file mode 100644 index 00000000000..3a1a4f527c7 --- /dev/null +++ b/configs/visionfive2_defconfig @@ -0,0 +1,18 @@ +BR2_riscv=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="board/visionfive2/overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/visionfive2/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,starfive-tech,linux,05533e9c31d6f0da20efc2d436a3b0f6d516ed4b)/linux-05533e9c31d6f0da20efc2d436a3b0f6d516ed4b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="starfive_visionfive2" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="starfive/jh7110-visionfive-v2" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index 0966719d486..b110c292dd6 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -5,8 +5,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 5.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_13=y +# Linux headers same as kernel, a 6.6 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -23,19 +23,20 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="wandboard" BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.12" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1 imx6q-wandboard-revd1 imx6dl-wandboard-revd1 imx6qp-wandboard-revd1" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx6q-wandboard nxp/imx/imx6dl-wandboard nxp/imx/imx6q-wandboard-revb1 nxp/imx/imx6dl-wandboard-revb1 nxp/imx/imx6q-wandboard-revd1 nxp/imx/imx6dl-wandboard-revd1 nxp/imx/imx6qp-wandboard-revd1" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index 04dfc94f7dd..7389919396a 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 5.16 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_16=y +# Linux headers same as kernel, a 6.6 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -15,17 +15,17 @@ BR2_ROOTFS_OVERLAY="board/warp7/rootfs_overlay" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.16.5" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7s-warp" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="nxp/imx/imx7s-warp" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # U-Boot BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="warp7" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig index 459a3a40bc0..d598a46c396 100644 --- a/configs/zynq_microzed_defconfig +++ b/configs/zynq_microzed_defconfig @@ -2,12 +2,12 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" @@ -19,11 +19,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-microzed" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" diff --git a/configs/zynq_qmtech_defconfig b/configs/zynq_qmtech_defconfig deleted file mode 100644 index f536b80f57b..00000000000 --- a/configs/zynq_qmtech_defconfig +++ /dev/null @@ -1,33 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_GLOBAL_PATCH_DIR="board/qmtech/zynq/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xilinx-v2019.2.01)/linux-xilinx-v2019.2.01.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-qmtech" -BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,jolivain,u-boot-xlnx,xilinx-v2019.2.qmtech.1)/uboot-xilinx-v2019.2.qmtech.1.tar.gz" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_qmtech" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig new file mode 100644 index 00000000000..e85285a8321 --- /dev/null +++ b/configs/zynq_zc702_defconfig @@ -0,0 +1,33 @@ +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zc702" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-zc702" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig index 3ad8cbafe39..3489f864e1e 100644 --- a/configs/zynq_zc706_defconfig +++ b/configs/zynq_zc706_defconfig @@ -2,12 +2,12 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" @@ -19,11 +19,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-zc706" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig index a39911b757b..a3a94687f58 100644 --- a/configs/zynq_zed_defconfig +++ b/configs/zynq_zed_defconfig @@ -2,12 +2,12 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynq/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" @@ -19,11 +19,12 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynq_virt" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynq-zed" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" diff --git a/configs/zynqmp_kria_kd240_defconfig b/configs/zynqmp_kria_kd240_defconfig new file mode 100644 index 00000000000..78302a48c0b --- /dev/null +++ b/configs/zynqmp_kria_kd240_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh board/zynqmp/kria/kd240/kd240.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS1,115200 sda2 ${UBOOT_DIR}" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k24-revA-sck-kd-g-revA" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ZYNQMP_CONSOLE=cadence1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/zynqmp/kria/uboot.fragment" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-smk-k24-revA" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.2/kd240-kria/pmufw.elf" +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/kria/kd240/pm_cfg_obj.c" +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/zynqmp/kria/kd240/patches" diff --git a/configs/zynqmp_kria_kr260_defconfig b/configs/zynqmp_kria_kr260_defconfig new file mode 100644 index 00000000000..2089c3f3554 --- /dev/null +++ b/configs/zynqmp_kria_kr260_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh board/zynqmp/kria/kr260/kr260.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS1,115200 sda2 ${UBOOT_DIR}" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kr-g-revB" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ZYNQMP_CONSOLE=cadence1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/zynqmp/kria/uboot.fragment" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-smk-k26-revA" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.2/kr260-kria/pmufw.elf" +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/kria/kr260/pm_cfg_obj.c" +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches" diff --git a/configs/zynqmp_kria_kv260_defconfig b/configs/zynqmp_kria_kv260_defconfig index 5c53122b468..a3a157267c8 100644 --- a/configs/zynqmp_kria_kv260_defconfig +++ b/configs/zynqmp_kria_kv260_defconfig @@ -1,40 +1,42 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh board/zynqmp/kria/kv260/kv260.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS1,115200 mmcblk1p2 ${UBOOT_DIR}" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/smk-k26-revA-sck-kv-g-revB" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kv-g-revB" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.6_2022.2)/xlnx_rebase_v2.6_2022.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="ZYNQMP_CONSOLE=cadence1" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/zynqmp/kria/uboot.fragment" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-smk-k26-revA" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" BR2_TARGET_UBOOT_ZYNQMP=y -BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/nealfrager/buildroot-firmware/raw/v2022.2/kv260/kv260_pmufw.elf" +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.2/kv260-kria/pmufw.elf" BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/kria/kv260/pm_cfg_obj.c" BR2_TARGET_UBOOT_FORMAT_ITB=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches" diff --git a/configs/zynqmp_zcu102_defconfig b/configs/zynqmp_zcu102_defconfig index 6047d4299c8..c920093d8d7 100644 --- a/configs/zynqmp_zcu102_defconfig +++ b/configs/zynqmp_zcu102_defconfig @@ -1,12 +1,12 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS0,115200 mmcblk0p2" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu102-rev1.0" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -15,24 +15,26 @@ BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.6_2022.2)/xlnx_rebase_v2.6_2022.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu102-rev1.0" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" BR2_TARGET_UBOOT_ZYNQMP=y -BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/nealfrager/buildroot-firmware/raw/v2022.2/zcu102/zcu102_pmufw.elf" +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.2/zcu102-zynqmp/pmufw.elf" BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu102/pm_cfg_obj.c" BR2_TARGET_UBOOT_FORMAT_ITB=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches" diff --git a/configs/zynqmp_zcu104_defconfig b/configs/zynqmp_zcu104_defconfig new file mode 100644 index 00000000000..452f2343c8d --- /dev/null +++ b/configs/zynqmp_zcu104_defconfig @@ -0,0 +1,40 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu104-revC" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu104-revC" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.2/zcu104-zynqmp/pmufw.elf" +BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu104/pm_cfg_obj.c" +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches" diff --git a/configs/zynqmp_zcu106_defconfig b/configs/zynqmp_zcu106_defconfig index 699e528f32a..011c7f0fae5 100644 --- a/configs/zynqmp_zcu106_defconfig +++ b/configs/zynqmp_zcu106_defconfig @@ -1,12 +1,12 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="ttyPS0,115200 mmcblk0p2" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v5.15_LTS_2022.2)/xlnx_rebase_v5.15_LTS_2022.2.tar.gz" -BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.1_LTS_2023.2)/xlnx_rebase_v6.1_LTS_2023.2.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu106-revA" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -15,24 +15,26 @@ BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.6_2022.2)/xlnx_rebase_v2.6_2022.2.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.8_2023.2)/xlnx_rebase_v2.8_2023.2.tar.gz" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2022.01_2022.2)/xlnx_rebase_v2022.01_2022.2.tar.gz" +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2023.01_2023.2)/xlnx_rebase_v2023.01_2023.2.tar.gz" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_virt" BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-revA" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" BR2_TARGET_UBOOT_ZYNQMP=y -BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/nealfrager/buildroot-firmware/raw/v2022.2/zcu106/zcu106_pmufw.elf" +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.2/zcu106-zynqmp/pmufw.elf" BR2_TARGET_UBOOT_ZYNQMP_PM_CFG="board/zynqmp/zcu106/pm_cfg_obj.c" BR2_TARGET_UBOOT_FORMAT_ITB=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches" diff --git a/docs/manual/adding-board-support.adoc b/docs/manual/adding-board-support.adoc new file mode 100644 index 00000000000..ef6dbd3c2b9 --- /dev/null +++ b/docs/manual/adding-board-support.adoc @@ -0,0 +1,73 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[adding-board-support]] +== Adding support for a particular board + +Buildroot contains basic configurations for several publicly available +hardware boards, so that users of such a board can easily build a system +that is known to work. You are welcome to add support for other boards +to Buildroot too. + +To do so, you need to create a normal Buildroot configuration that +builds a basic system for the hardware: (internal) toolchain, kernel, +bootloader, filesystem and a simple BusyBox-only userspace. No specific +package should be selected: the configuration should be as minimal as +possible, and should only build a working basic BusyBox system for the +target platform. You can of course use more complicated configurations +for your internal projects, but the Buildroot project will only +integrate basic board configurations. This is because package +selections are highly application-specific. + +Once you have a known working configuration, run +make +savedefconfig+. This will generate a minimal +defconfig+ file at the +root of the Buildroot source tree. Move this file into the +configs/+ +directory, and rename it +_defconfig+. If the configuration +is a bit more complicated, it is nice to manually reformat it and +separate it into sections, with a comment before each section. Typical +sections are _Architecture_, _Toolchain options_ (typically just linux +headers version), _Firmware_, _Bootloader_, _Kernel_, and _Filesystem_. + +Always use fixed versions or commit hashes for the different +components, not the "latest" version. For example, set ++BR2_LINUX_KERNEL_CUSTOM_VERSION=y+ and ++BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE+ to the kernel version you tested +with. + +It is recommended to use as much as possible upstream versions of the +Linux kernel and bootloaders, and to use as much as possible default +kernel and bootloader configurations. If they are incorrect for your +board, or no default exists, we encourage you to send fixes to the +corresponding upstream projects. + +However, in the mean time, you may want to store kernel or bootloader +configuration or patches specific to your target platform. To do so, +create a directory +board/+ and a subdirectory ++board//+. You can then store your patches +and configurations in these directories, and reference them from the main +Buildroot configuration. Refer to xref:customize[] for more details. + +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 _defconfig + $ make +-------------------- + +By default, Buildroot developers use the official image hosted on the +https://gitlab.com/buildroot.org/buildroot/container_registry/2395076[gitlab.com +registry] and it should be convenient for most usage. If you still want +to build your own docker image, you can base it off the official image +as the +FROM+ directive of your own _Dockerfile_: + +---- +FROM registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM +RUN ... +COPY ... +---- + +The current version _YYYYMMDD.HHMM_ can be found in the +.gitlab-ci.yml+ +file at the top of the Buildroot source tree; all past versions are +listed in the aforementioned registry as well. diff --git a/docs/manual/adding-board-support.txt b/docs/manual/adding-board-support.txt deleted file mode 100644 index cd90a5871fa..00000000000 --- a/docs/manual/adding-board-support.txt +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[adding-board-support]] -== Adding support for a particular board - -Buildroot contains basic configurations for several publicly available -hardware boards, so that users of such a board can easily build a system -that is known to work. You are welcome to add support for other boards -to Buildroot too. - -To do so, you need to create a normal Buildroot configuration that -builds a basic system for the hardware: (internal) toolchain, kernel, -bootloader, filesystem and a simple BusyBox-only userspace. No specific -package should be selected: the configuration should be as minimal as -possible, and should only build a working basic BusyBox system for the -target platform. You can of course use more complicated configurations -for your internal projects, but the Buildroot project will only -integrate basic board configurations. This is because package -selections are highly application-specific. - -Once you have a known working configuration, run +make -savedefconfig+. This will generate a minimal +defconfig+ file at the -root of the Buildroot source tree. Move this file into the +configs/+ -directory, and rename it +_defconfig+. If the configuration -is a bit more complicated, it is nice to manually reformat it and -separate it into sections, with a comment before each section. Typical -sections are _Architecture_, _Toolchain options_ (typically just linux -headers version), _Firmware_, _Bootloader_, _Kernel_, and _Filesystem_. - -Always use fixed versions or commit hashes for the different -components, not the "latest" version. For example, set -+BR2_LINUX_KERNEL_CUSTOM_VERSION=y+ and -+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE+ to the kernel version you tested -with. - -It is recommended to use as much as possible upstream versions of the -Linux kernel and bootloaders, and to use as much as possible default -kernel and bootloader configurations. If they are incorrect for your -board, or no default exists, we encourage you to send fixes to the -corresponding upstream projects. - -However, in the mean time, you may want to store kernel or bootloader -configuration or patches specific to your target platform. To do so, -create a directory +board/+ and a subdirectory -+board//+. You can then store your patches -and configurations in these directories, and reference them from the main -Buildroot configuration. Refer to xref:customize[] for more details. - -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 +_defconfig+ - $ make --------------------- diff --git a/docs/manual/adding-packages-asciidoc.adoc b/docs/manual/adding-packages-asciidoc.adoc new file mode 100644 index 00000000000..d68978b1cbd --- /dev/null +++ b/docs/manual/adding-packages-asciidoc.adoc @@ -0,0 +1,143 @@ +// -*- mode:doc; -*- +// vim: syntax=asciidoc + +=== Infrastructure for asciidoc documents + +[[asciidoc-documents-tutorial]] + +The Buildroot manual, which you are currently reading, is entirely written +using the http://asciidoc.org/[AsciiDoc] mark-up syntax. The manual is then +rendered to many formats: + +* html +* split-html +* pdf +* epub +* text + +Although Buildroot only contains one document written in AsciiDoc, there +is, as for packages, an infrastructure for rendering documents using the +AsciiDoc syntax. + +Also as for packages, the AsciiDoc infrastructure is available from a +xref:outside-br-custom[br2-external tree]. This allows documentation for +a br2-external tree to match the Buildroot documentation, as it will be +rendered to the same formats and use the same layout and theme. + +==== +asciidoc-document+ tutorial + +Whereas package infrastructures are suffixed with +-package+, the document +infrastructures are suffixed with +-document+. So, the AsciiDoc infrastructure +is named +asciidoc-document+. + +Here is an example to render a simple AsciiDoc document. + +---- +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) +08: $(eval $(call asciidoc-document)) +---- + +On line 7, the Makefile declares what the sources of the document are. +Currently, it is expected that the document's sources are only local; +Buildroot will not attempt to download anything to render a document. +Thus, you must indicate where the sources are. Usually, the string +above is sufficient for a document with no sub-directory structure. + +On line 8, we call the +asciidoc-document+ function, which generates all +the Makefile code necessary to render the document. + +==== +asciidoc-document+ reference + +The list of variables that can be set in a +.mk+ file to give metadata +information is (assuming the document name is +foo+) : + +* +FOO_SOURCES+, mandatory, defines the source files for the document. + +* +FOO_RESOURCES+, optional, may contain a space-separated list of paths + to one or more directories containing so-called resources (like CSS or + images). By default, empty. + +* +FOO_DEPENDENCIES+, optional, the list of packages (most probably, + host-packages) that must be built before building this document. + +* +FOO_TOC_DEPTH+, +FOO_TOC_DEPTH_+, optionals, the depth of the + table of content for this document, which can be overridden for the + specified format ++ (see the list of rendered formats, above, + but in uppercase, and with dash replaced by underscore; see example, + below). By default: +1+. + +There are also additional hooks (see xref:hooks[] for general information +on hooks), that a document may set to define extra actions to be done at +various steps: + +* +FOO_POST_RSYNC_HOOKS+ to run additional commands after the sources + have been copied by Buildroot. This can for example be used to + generate part of the manual with information extracted from the + tree. As an example, Buildroot uses this hook to generate the tables + in the appendices. + +* +FOO_CHECK_DEPENDENCIES_HOOKS+ to run additional tests on required + components to generate the document. In AsciiDoc, it is possible to + call filters, that is, programs that will parse an AsciiDoc block and + render it appropriately (e.g. http://ditaa.sourceforge.net/[ditaa] or + https://pythonhosted.org/aafigure/[aafigure]). + +* +FOO_CHECK_DEPENDENCIES__HOOKS+, to run additional tests for + the specified format ++ (see the list of rendered formats, above). + +Buildroot sets the following variable that can be used in the definitions +above: + +* +$(FOO_DOCDIR)+, similar to +$(FOO_PKGDIR)+, contains the path to the + directory containing +foo.mk+. It can be used to refer to the document + sources, and can be used in the hooks, especially the post-rsync hook + if parts of the documentation needs to be generated. + +* +$(@D)+, as for traditional packages, contains the path to the directory + where the document will be copied and built. + +Here is a complete example that uses all variables and all hooks: + +---- +01: ################################################################################ +02: # +03: # foo-document +04: # +05: ################################################################################ +06: +07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) +08: FOO_RESOURCES = $(sort $(wildcard $(FOO_DOCDIR)/ressources)) +09: +10: FOO_TOC_DEPTH = 2 +11: FOO_TOC_DEPTH_HTML = 1 +12: FOO_TOC_DEPTH_SPLIT_HTML = 3 +13: +14: define FOO_GEN_EXTRA_DOC +15: /path/to/generate-script --outdir=$(@D) +16: endef +17: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC +18: +19: define FOO_CHECK_MY_PROG +20: if ! which my-prog >/dev/null 2>&1; then \ +21: echo "You need my-prog to generate the foo document"; \ +22: exit 1; \ +23: fi +24: endef +25: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG +26: +27: define FOO_CHECK_MY_OTHER_PROG +28: if ! which my-other-prog >/dev/null 2>&1; then \ +29: echo "You need my-other-prog to generate the foo document as PDF"; \ +30: exit 1; \ +31: fi +32: endef +33: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG +34: +35: $(eval $(call asciidoc-document)) +---- diff --git a/docs/manual/adding-packages-asciidoc.txt b/docs/manual/adding-packages-asciidoc.txt deleted file mode 100644 index 0bfe99d22e8..00000000000 --- a/docs/manual/adding-packages-asciidoc.txt +++ /dev/null @@ -1,133 +0,0 @@ -// -*- mode:doc; -*- -// vim: syntax=asciidoc - -=== Infrastructure for asciidoc documents - -[[asciidoc-documents-tutorial]] - -The Buildroot manual, which you are currently reading, is entirely written -using the http://asciidoc.org/[AsciiDoc] mark-up syntax. The manual is then -rendered to many formats: - -* html -* split-html -* pdf -* epub -* text - -Although Buildroot only contains one document written in AsciiDoc, there -is, as for packages, an infrastructure for rendering documents using the -AsciiDoc syntax. - -Also as for packages, the AsciiDoc infrastructure is available from a -xref:outside-br-custom[br2-external tree]. This allows documentation for -a br2-external tree to match the Buildroot documentation, as it will be -rendered to the same formats and use the same layout and theme. - -==== +asciidoc-document+ tutorial - -Whereas package infrastructures are suffixed with +-package+, the document -infrastructures are suffixed with +-document+. So, the AsciiDoc infrastructure -is named +asciidoc-document+. - -Here is an example to render a simple AsciiDoc document. - ----- -01: ################################################################################ -02: # -03: # foo-document -04: # -05: ################################################################################ -06: -07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) -08: $(eval $(call asciidoc-document)) ----- - -On line 7, the Makefile declares what the sources of the document are. -Currently, it is expected that the document's sources are only local; -Buildroot will not attempt to download anything to render a document. -Thus, you must indicate where the sources are. Usually, the string -above is sufficient for a document with no sub-directory structure. - -On line 8, we call the +asciidoc-document+ function, which generates all -the Makefile code necessary to render the document. - -==== +asciidoc-document+ reference - -The list of variables that can be set in a +.mk+ file to give metadata -information is (assuming the document name is +foo+) : - -* +FOO_SOURCES+, mandatory, defines the source files for the document. - -* +FOO_RESOURCES+, optional, may contain a space-separated list of paths - to one or more directories containing so-called resources (like CSS or - images). By default, empty. - -* +FOO_DEPENDENCIES+, optional, the list of packages (most probably, - host-packages) that must be built before building this document. - -There are also additional hooks (see xref:hooks[] for general information -on hooks), that a document may set to define extra actions to be done at -various steps: - -* +FOO_POST_RSYNC_HOOKS+ to run additional commands after the sources - have been copied by Buildroot. This can for example be used to - generate part of the manual with information extracted from the - tree. As an example, Buildroot uses this hook to generate the tables - in the appendices. - -* +FOO_CHECK_DEPENDENCIES_HOOKS+ to run additional tests on required - components to generate the document. In AsciiDoc, it is possible to - call filters, that is, programs that will parse an AsciiDoc block and - render it appropriately (e.g. http://ditaa.sourceforge.net/[ditaa] or - https://pythonhosted.org/aafigure/[aafigure]). - -* +FOO_CHECK_DEPENDENCIES__HOOKS+, to run additional tests for - the specified format ++ (see the list of rendered formats, above). - -Buildroot sets the following variable that can be used in the definitions -above: - -* +$(FOO_DOCDIR)+, similar to +$(FOO_PKGDIR)+, contains the path to the - directory containing +foo.mk+. It can be used to refer to the document - sources, and can be used in the hooks, especially the post-rsync hook - if parts of the documentation needs to be generated. - -* +$(@D)+, as for traditional packages, contains the path to the directory - where the document will be copied and built. - -Here is a complete example that uses all variables and all hooks: - ----- -01: ################################################################################ -02: # -03: # foo-document -04: # -05: ################################################################################ -06: -07: FOO_SOURCES = $(sort $(wildcard $(FOO_DOCDIR)/*)) -08: FOO_RESOURCES = $(sort $(wildcard $(FOO_DOCDIR)/ressources)) -09: -10: define FOO_GEN_EXTRA_DOC -11: /path/to/generate-script --outdir=$(@D) -12: endef -13: FOO_POST_RSYNC_HOOKS += FOO_GEN_EXTRA_DOC -14: -15: define FOO_CHECK_MY_PROG -16: if ! which my-prog >/dev/null 2>&1; then \ -17: echo "You need my-prog to generate the foo document"; \ -18: exit 1; \ -19: fi -20: endef -21: FOO_CHECK_DEPENDENCIES_HOOKS += FOO_CHECK_MY_PROG -22: -23: define FOO_CHECK_MY_OTHER_PROG -24: if ! which my-other-prog >/dev/null 2>&1; then \ -25: echo "You need my-other-prog to generate the foo document as PDF"; \ -26: exit 1; \ -27: fi -28: endef -29: FOO_CHECK_DEPENDENCIES_PDF_HOOKS += FOO_CHECK_MY_OTHER_PROG -30: -31: $(eval $(call asciidoc-document)) ----- diff --git a/docs/manual/adding-packages-autotools.adoc b/docs/manual/adding-packages-autotools.adoc new file mode 100644 index 00000000000..ad96957f3d8 --- /dev/null +++ b/docs/manual/adding-packages-autotools.adoc @@ -0,0 +1,168 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for autotools-based packages + +[[autotools-package-tutorial]] + +==== +autotools-package+ tutorial + +First, let's see how to write a +.mk+ file for an autotools-based +package, with an example : + +------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = --disable-shared +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(autotools-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in +output/staging/+ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the +make install+ command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the +make install+ command. + +On line 12, we tell Buildroot to pass a custom configure option, that +will be passed to the +./configure+ script before configuring +and building the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the +autotools-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[autotools-package-reference]] + +==== +autotools-package+ reference + +The main macro of the autotools package infrastructure is ++autotools-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-autotools-package+ macro. + +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+. + +A few additional variables, specific to the autotools infrastructure, +can also be defined. Many of them are only useful in very specific +cases, typical packages will therefore only use a few of them. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory + inside the package that contains the configure script. This is useful, + if for example, the main configure script is not at the root of the + tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is + not specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_CONF_ENV+, to specify additional environment + variables to pass to the configure script. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional configure + options to pass to the configure script. By default, empty. + +* +LIBFOO_MAKE+, to specify an alternate +make+ + command. This is typically useful when parallel make is enabled in + the configuration (using +BR2_JLEVEL+) but that this + feature should be disabled for the given package, for one reason or + another. By default, set to +$(MAKE)+. If parallel building + is not supported by the package, then it should be set to + +LIBFOO_MAKE=$(MAKE1)+. + +* +LIBFOO_MAKE_ENV+, to specify additional environment + variables to pass to make in the build step. These are passed before + the +make+ command. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional variables to + pass to make in the build step. These are passed after the + +make+ command. By default, empty. + +* +LIBFOO_AUTORECONF+, tells whether the package should + be autoreconfigured or not (i.e. if the configure script and + Makefile.in files should be re-generated by re-running autoconf, + automake, libtool, etc.). Valid values are +YES+ and + +NO+. By default, the value is +NO+ + +* +LIBFOO_AUTORECONF_ENV+, to specify additional environment + variables to pass to the 'autoreconf' program if + +LIBFOO_AUTORECONF=YES+. These are passed in the environment of + the 'autoreconf' command. By default, empty. + +* +LIBFOO_AUTORECONF_OPTS+ to specify additional options + passed to the 'autoreconf' program if + +LIBFOO_AUTORECONF=YES+. By default, empty. + +* +LIBFOO_AUTOPOINT+, tells whether the package should be + autopointed or not (i.e. if the package needs I18N infrastructure + copied in.) Only valid when +LIBFOO_AUTORECONF=YES+. Valid + values are +YES+ and +NO+. The default is +NO+. + +* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot + patch to fix libtool cross-compilation issues should be applied or + not. Valid values are +YES+ and +NO+. By + default, the value is +YES+ + +* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options + used to install the package to the staging directory. By default, the + value is +DESTDIR=$(STAGING_DIR) install+, which is + correct for most autotools packages. It is still possible to override + it. + +* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options + used to install the package to the target directory. By default, the + value is +DESTDIR=$(TARGET_DIR) install+. The default + value is correct for most autotools packages, but it is still possible + to override it if needed. + +With the autotools infrastructure, all the steps required to build +and install the packages are already defined, and they generally work +well for most autotools-based packages. However, when required, it is +still possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the autotools + infrastructure is used, if the package +.mk+ file defines its + own +LIBFOO_CONFIGURE_CMDS+ variable, it will be used + instead of the default autotools one. However, using this method + should be restricted to very specific cases. Do not use it in the + general case. diff --git a/docs/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.txt deleted file mode 100644 index a041d91eb62..00000000000 --- a/docs/manual/adding-packages-autotools.txt +++ /dev/null @@ -1,175 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for autotools-based packages - -[[autotools-package-tutorial]] - -==== +autotools-package+ tutorial - -First, let's see how to write a +.mk+ file for an autotools-based -package, with an example : - ------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_INSTALL_STAGING = YES -11: LIBFOO_INSTALL_TARGET = NO -12: LIBFOO_CONF_OPTS = --disable-shared -13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf -14: -15: $(eval $(autotools-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) -and the location of the tarball on the Web. Buildroot will automatically -download the tarball from this location. - -On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in +output/staging/+ -is the directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed in -the staging directory: their development files are needed to compile -other libraries or applications depending on them. Also by default, when -staging installation is enabled, packages are installed in this location -using the +make install+ command. - -On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they will -not be used at runtime. By default, target installation is enabled; setting -this variable to NO is almost never needed. Also by default, packages are -installed in this location using the +make install+ command. - -On line 12, we tell Buildroot to pass a custom configure option, that -will be passed to the +./configure+ script before configuring -and building the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line line 15, we invoke the +autotools-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[autotools-package-reference]] - -==== +autotools-package+ reference - -The main macro of the autotools package infrastructure is -+autotools-package+. It is similar to the +generic-package+ macro. The ability to -have target and host packages is also available, with the -+host-autotools-package+ macro. - -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+. - -A few additional variables, specific to the autotools infrastructure, -can also be defined. Many of them are only useful in very specific -cases, typical packages will therefore only use a few of them. - -* +LIBFOO_SUBDIR+ may contain the name of a subdirectory - inside the package that contains the configure script. This is useful, - if for example, the main configure script is not at the root of the - tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is - not specified, it defaults to +LIBFOO_SUBDIR+. - -* +LIBFOO_CONF_ENV+, to specify additional environment - variables to pass to the configure script. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional configure - options to pass to the configure script. By default, empty. - -* +LIBFOO_MAKE+, to specify an alternate +make+ - command. This is typically useful when parallel make is enabled in - the configuration (using +BR2_JLEVEL+) but that this - feature should be disabled for the given package, for one reason or - another. By default, set to +$(MAKE)+. If parallel building - is not supported by the package, then it should be set to - +LIBFOO_MAKE=$(MAKE1)+. - -* +LIBFOO_MAKE_ENV+, to specify additional environment - variables to pass to make in the build step. These are passed before - the +make+ command. By default, empty. - -* +LIBFOO_MAKE_OPTS+, to specify additional variables to - pass to make in the build step. These are passed after the - +make+ command. By default, empty. - -* +LIBFOO_AUTORECONF+, tells whether the package should - be autoreconfigured or not (i.e. if the configure script and - Makefile.in files should be re-generated by re-running autoconf, - automake, libtool, etc.). Valid values are +YES+ and - +NO+. By default, the value is +NO+ - -* +LIBFOO_AUTORECONF_ENV+, to specify additional environment - variables to pass to the 'autoreconf' program if - +LIBFOO_AUTORECONF=YES+. These are passed in the environment of - the 'autoreconf' command. By default, empty. - -* +LIBFOO_AUTORECONF_OPTS+ to specify additional options - passed to the 'autoreconf' program if - +LIBFOO_AUTORECONF=YES+. By default, empty. - -* +LIBFOO_GETTEXTIZE+, tells whether the package should be - gettextized or not (i.e. if the package uses a different gettext - version than Buildroot provides, and it is needed to run - 'gettextize'.) Only valid when +LIBFOO_AUTORECONF=YES+. Valid - values are +YES+ and +NO+. The default is +NO+. - -* +LIBFOO_GETTEXTIZE_OPTS+, to specify additional options passed to - the 'gettextize' program, if +LIBFOO_GETTEXTIZE=YES+. You may - use that if, for example, the +.po+ files are not located in the - standard place (i.e. in +po/+ at the root of the package.) By - default, '-f'. - -* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot - patch to fix libtool cross-compilation issues should be applied or - not. Valid values are +YES+ and +NO+. By - default, the value is +YES+ - -* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options - used to install the package to the staging directory. By default, the - value is +DESTDIR=$(STAGING_DIR) install+, which is - correct for most autotools packages. It is still possible to override - it. - -* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options - used to install the package to the target directory. By default, the - value is +DESTDIR=$(TARGET_DIR) install+. The default - value is correct for most autotools packages, but it is still possible - to override it if needed. - -With the autotools infrastructure, all the steps required to build -and install the packages are already defined, and they generally work -well for most autotools-based packages. However, when required, it is -still possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the autotools - infrastructure is used, if the package +.mk+ file defines its - own +LIBFOO_CONFIGURE_CMDS+ variable, it will be used - instead of the default autotools one. However, using this method - should be restricted to very specific cases. Do not use it in the - general case. diff --git a/docs/manual/adding-packages-cargo.txt b/docs/manual/adding-packages-cargo.adoc similarity index 100% rename from docs/manual/adding-packages-cargo.txt rename to docs/manual/adding-packages-cargo.adoc diff --git a/docs/manual/adding-packages-cmake.adoc b/docs/manual/adding-packages-cmake.adoc new file mode 100644 index 00000000000..4f336db7373 --- /dev/null +++ b/docs/manual/adding-packages-cmake.adoc @@ -0,0 +1,165 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for CMake-based packages + +[[cmake-package-tutorial]] + +==== +cmake-package+ tutorial + +First, let's see how to write a +.mk+ file for a CMake-based package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_INSTALL_STAGING = YES +11: LIBFOO_INSTALL_TARGET = NO +12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON +13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf +14: +15: $(eval $(cmake-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) +and the location of the tarball on the Web. Buildroot will automatically +download the tarball from this location. + +On line 10, we tell Buildroot to install the package to the staging +directory. The staging directory, located in +output/staging/+ +is the directory where all the packages are installed, including their +development files, etc. By default, packages are not installed to the +staging directory, since usually, only libraries need to be installed in +the staging directory: their development files are needed to compile +other libraries or applications depending on them. Also by default, when +staging installation is enabled, packages are installed in this location +using the +make install+ command. + +On line 11, we tell Buildroot to not install the package to the +target directory. This directory contains what will become the root +filesystem running on the target. For purely static libraries, it is +not necessary to install them in the target directory because they will +not be used at runtime. By default, target installation is enabled; setting +this variable to NO is almost never needed. Also by default, packages are +installed in this location using the +make install+ command. + +On line 12, we tell Buildroot to pass custom options to CMake when it is +configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +Finally, on line line 15, we invoke the +cmake-package+ +macro that generates all the Makefile rules that actually allows the +package to be built. + +[[cmake-package-reference]] + +==== +cmake-package+ reference + +The main macro of the CMake package infrastructure is ++cmake-package+. It is similar to the +generic-package+ macro. The ability to +have target and host packages is also available, with the ++host-cmake-package+ macro. + +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+. + +A few additional variables, specific to the CMake infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main CMakeLists.txt file. This is useful, + if for example, the main CMakeLists.txt file is not at the root of + the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not + specified, it defaults to +LIBFOO_SUBDIR+. + +* +LIBFOO_CMAKE_BACKEND+ specifies the cmake backend to use, one of + `make` (to use the GNU Makefiles generator, the default) or `ninja` + (to use the Ninja generator). + +* +LIBFOO_CONF_ENV+, to specify additional environment variables to + pass to CMake. By default, empty. + +* +LIBFOO_CONF_OPTS+, to specify additional configure options to pass + to CMake. By default, empty. A number of common CMake options are + set by the +cmake-package+ infrastructure; so it is normally not + necessary to set them in the package's +*.mk+ file unless you want + to override them: + +** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_RUNTIME_DEBUG+; +** +CMAKE_INSTALL_PREFIX+; +** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+; +** +BUILD_DOC+, +BUILD_DOCS+ are disabled; +** +BUILD_EXAMPLE+, +BUILD_EXAMPLES+ are disabled; +** +BUILD_TEST+, +BUILD_TESTS+, +BUILD_TESTING+ are disabled. + +* +LIBFOO_BUILD_ENV+ and +LIBFOO_BUILD_OPTS+ to specify additional + environment variables, or command line options, to pass to the backend + at build time. + +* +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO+ should be set when the package + cannot be built inside the source tree but needs a separate build + directory. + +* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is + typically useful when parallel make is enabled in the configuration + (using +BR2_JLEVEL+) but that this feature should be disabled for + the given package, for one reason or another. By default, set to + +$(MAKE)+. If parallel building is not supported by the package, + then it should be set to +LIBFOO_MAKE=$(MAKE1)+. + +* +LIBFOO_MAKE_ENV+, to specify additional environment variables to + pass to make in the build step. These are passed before the +make+ + command. By default, empty. + +* +LIBFOO_MAKE_OPTS+, to specify additional variables to pass to make + in the build step. These are passed after the +make+ command. By + default, empty. + +* +LIBFOO_INSTALL_OPTS+ contains the make options used to + install the package to the host directory. By default, the value + is +install+, which is correct for most CMake packages. It is still + possible to override it. + +* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to + install the package to the staging directory. By default, the value + is +DESTDIR=$(STAGING_DIR) install/fast+, which is correct for most + CMake packages. It is still possible to override it. + +* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to + install the package to the target directory. By default, the value + is +DESTDIR=$(TARGET_DIR) install/fast+. The default value is correct + for most CMake packages, but it is still possible to override it if + needed. + +With the CMake infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most CMake-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the CMake + infrastructure is used, if the package +.mk+ file defines its own + +LIBFOO_CONFIGURE_CMDS+ variable, it will be used instead of the + default CMake one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. diff --git a/docs/manual/adding-packages-cmake.txt b/docs/manual/adding-packages-cmake.txt deleted file mode 100644 index 541d7422cf3..00000000000 --- a/docs/manual/adding-packages-cmake.txt +++ /dev/null @@ -1,157 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for CMake-based packages - -[[cmake-package-tutorial]] - -==== +cmake-package+ tutorial - -First, let's see how to write a +.mk+ file for a CMake-based package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_INSTALL_STAGING = YES -11: LIBFOO_INSTALL_TARGET = NO -12: LIBFOO_CONF_OPTS = -DBUILD_DEMOS=ON -13: LIBFOO_DEPENDENCIES = libglib2 host-pkgconf -14: -15: $(eval $(cmake-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball recommended) -and the location of the tarball on the Web. Buildroot will automatically -download the tarball from this location. - -On line 10, we tell Buildroot to install the package to the staging -directory. The staging directory, located in +output/staging/+ -is the directory where all the packages are installed, including their -development files, etc. By default, packages are not installed to the -staging directory, since usually, only libraries need to be installed in -the staging directory: their development files are needed to compile -other libraries or applications depending on them. Also by default, when -staging installation is enabled, packages are installed in this location -using the +make install+ command. - -On line 11, we tell Buildroot to not install the package to the -target directory. This directory contains what will become the root -filesystem running on the target. For purely static libraries, it is -not necessary to install them in the target directory because they will -not be used at runtime. By default, target installation is enabled; setting -this variable to NO is almost never needed. Also by default, packages are -installed in this location using the +make install+ command. - -On line 12, we tell Buildroot to pass custom options to CMake when it is -configuring the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -Finally, on line line 15, we invoke the +cmake-package+ -macro that generates all the Makefile rules that actually allows the -package to be built. - -[[cmake-package-reference]] - -==== +cmake-package+ reference - -The main macro of the CMake package infrastructure is -+cmake-package+. It is similar to the +generic-package+ macro. The ability to -have target and host packages is also available, with the -+host-cmake-package+ macro. - -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+. - -A few additional variables, specific to the CMake infrastructure, can -also be defined. Many of them are only useful in very specific cases, -typical packages will therefore only use a few of them. - -* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the - package that contains the main CMakeLists.txt file. This is useful, - if for example, the main CMakeLists.txt file is not at the root of - the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not - specified, it defaults to +LIBFOO_SUBDIR+. - -* +LIBFOO_CONF_ENV+, to specify additional environment variables to - pass to CMake. By default, empty. - -* +LIBFOO_CONF_OPTS+, to specify additional configure options to pass - to CMake. By default, empty. A number of common CMake options are - set by the +cmake-package+ infrastructure; so it is normally not - necessary to set them in the package's +*.mk+ file unless you want - to override them: - -** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_RUNTIME_DEBUG+; -** +CMAKE_INSTALL_PREFIX+; -** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+; -** +BUILD_DOC+, +BUILD_DOCS+ are disabled; -** +BUILD_EXAMPLE+, +BUILD_EXAMPLES+ are disabled; -** +BUILD_TEST+, +BUILD_TESTS+, +BUILD_TESTING+ are disabled. - -* +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO+ should be set when the package - cannot be built inside the source tree but needs a separate build - directory. - -* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is - typically useful when parallel make is enabled in the configuration - (using +BR2_JLEVEL+) but that this feature should be disabled for - the given package, for one reason or another. By default, set to - +$(MAKE)+. If parallel building is not supported by the package, - then it should be set to +LIBFOO_MAKE=$(MAKE1)+. - -* +LIBFOO_MAKE_ENV+, to specify additional environment variables to - pass to make in the build step. These are passed before the +make+ - command. By default, empty. - -* +LIBFOO_MAKE_OPTS+, to specify additional variables to pass to make - in the build step. These are passed after the +make+ command. By - default, empty. - -* +LIBFOO_INSTALL_OPTS+ contains the make options used to - install the package to the host directory. By default, the value - is +install+, which is correct for most CMake packages. It is still - possible to override it. - -* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to - install the package to the staging directory. By default, the value - is +DESTDIR=$(STAGING_DIR) install/fast+, which is correct for most - CMake packages. It is still possible to override it. - -* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to - install the package to the target directory. By default, the value - is +DESTDIR=$(TARGET_DIR) install/fast+. The default value is correct - for most CMake packages, but it is still possible to override it if - needed. - -With the CMake infrastructure, all the steps required to build and -install the packages are already defined, and they generally work well -for most CMake-based packages. However, when required, it is still -possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the CMake - infrastructure is used, if the package +.mk+ file defines its own - +LIBFOO_CONFIGURE_CMDS+ variable, it will be used instead of the - default CMake one. However, using this method should be restricted - to very specific cases. Do not use it in the general case. diff --git a/docs/manual/adding-packages-conclusion.txt b/docs/manual/adding-packages-conclusion.adoc similarity index 100% rename from docs/manual/adding-packages-conclusion.txt rename to docs/manual/adding-packages-conclusion.adoc diff --git a/docs/manual/adding-packages-directory.adoc b/docs/manual/adding-packages-directory.adoc new file mode 100644 index 00000000000..0b7221aae0f --- /dev/null +++ b/docs/manual/adding-packages-directory.adoc @@ -0,0 +1,651 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Package directory + +First of all, create a directory under the +package+ directory for +your software, for example +libfoo+. + +Some packages have been grouped by topic in a sub-directory: ++x11r7+, +qt5+ and +gstreamer+. If your package fits in +one of these categories, then create your package directory in these. +New subdirectories are discouraged, however. + +=== Config files + +For the package to be displayed in the configuration tool, you need to +create a Config file in your package directory. There are two types: ++Config.in+ and +Config.in.host+. + +==== +Config.in+ file + +For packages used on the target, create a file named +Config.in+. This +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 + This is a comment that explains what libfoo is. The help text + 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 +itself should be indented with one tab and two spaces, lines should +be wrapped to fit 72 columns, where tab counts for 8, so 62 characters +in the text itself. The help text must mention the upstream URL of the +project after an empty line. + +As a convention specific to Buildroot, the ordering of the attributes +is as follows: + +. The type of option: +bool+, +string+... with the prompt +. If needed, the +default+ value(s) +. Any dependencies on the target in +depends on+ form +. Any dependencies on the toolchain in +depends on+ form +. Any dependencies on other packages in +depends on+ form +. Any dependency of the +select+ form +. The help keyword and help text. + +You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+ +statement to configure particular things in your software. You can look at +examples in other packages. The syntax of the +Config.in+ file is the same +as the one for the kernel Kconfig file. The documentation for this syntax is +available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[] + +Finally you have to add your new +libfoo/Config.in+ to ++package/Config.in+ (or in a category subdirectory if you decided to +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 + +Some packages also need to be built for the host system. There are two +options here: + +* The host package is only required to satisfy build-time + dependencies of one or more target packages. In this case, add + +host-foo+ to the target package's +BAR_DEPENDENCIES+ variable. No + +Config.in.host+ file should be created. + +* The host package should be explicitly selectable by the user from + 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. ++ +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. + +[[depends-on-vs-select]] +==== Choosing +depends on+ or +select+ + +The +Config.in+ file of your package must also ensure that +dependencies are enabled. Typically, Buildroot uses the following +rules: + +* Use a +select+ type of dependency for dependencies on + libraries. These dependencies are generally not obvious and it + therefore make sense to have the kconfig system ensure that the + dependencies are selected. For example, the _libgtk2_ package uses + +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also + enabled. + The +select+ keyword expresses the dependency with a backward + semantic. + +* Use a +depends on+ type of dependency when the user really needs to + be aware of the dependency. Typically, Buildroot uses this type of + dependency for dependencies on target architecture, MMU support and + toolchain options (see xref:dependencies-target-toolchain-options[]), + or for dependencies on "big" things, such as the X.org system. + The +depends on+ keyword expresses the dependency with a forward + semantic. + +.Note +The current problem with the _kconfig_ language is that these two +dependency semantics are not internally linked. Therefore, it may be +possible to select a package, whom one of its dependencies/requirement +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 + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_LIBART + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_ZLIB + help + RRDtool is the OpenSource industry standard, high performance + data logging and graphing system for time series data. + + http://oss.oetiker.ch/rrdtool/ + +comment "rrdtool needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR +-------------------------- + + +Note that these two dependency types are only transitive with the +dependencies of the same kind. + +This means, in the following example: + +-------------------------- +config BR2_PACKAGE_A + bool "Package A" + +config BR2_PACKAGE_B + bool "Package B" + depends on BR2_PACKAGE_A + +config BR2_PACKAGE_C + bool "Package C" + depends on BR2_PACKAGE_B + +config BR2_PACKAGE_D + bool "Package D" + select BR2_PACKAGE_B + +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 + selected. + +* Selecting +Package E+ will select +Package D+, which will select + +Package B+, it will not check for the dependencies of +Package B+, + so it will not select +Package A+. + +* Since +Package B+ is selected but +Package A+ is not, this violates + 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 + select BR2_PACKAGE_B + +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. + +Note that such dependencies will ensure that the dependency option +is also enabled, but not necessarily built before your package. To do +so, the dependency also needs to be expressed in the +.mk+ file of the +package. + +Further formatting details: see xref:writing-rules-config-in[the +coding style]. + +[[dependencies-target-toolchain-options]] +==== Dependencies on target and toolchain options + +Many packages depend on certain options of the toolchain: the choice of +C library, C++ support, thread support, RPC support, wchar support, +or dynamic library support. Some packages can only be built on certain +target architectures, or if an MMU is available in the processor. + +These dependencies have to be expressed with the appropriate 'depends +on' statements in the Config.in file. Additionally, for dependencies on +toolchain options, a +comment+ should be displayed when the option is +not enabled, so that the user knows why the package is not available. +Dependencies on target architecture or MMU support should not be +made visible in a comment: since it is unlikely that the user can +freely choose another target, it makes little sense to show these +dependencies explicitly. + +The +comment+ should only be visible if the +config+ option itself would +be visible when the toolchain option dependencies are met. This means +that all other dependencies of the package (including dependencies on +target architecture and MMU support) have to be repeated on the ++comment+ definition. To keep it clear, the +depends on+ statement for +these non-toolchain option should be kept separate from the +depends on+ +statement for the toolchain options. +If there is a dependency on a config option in that same file (typically +the main package) it is preferable to have a global +if ... endif+ +construct rather than repeating the +depends on+ statement on the +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. + +The rest of this section enumerates the different target and toolchain +options, the corresponding config symbols to depend on, and the text to +use in the comment. + +* Target architecture +** Dependency symbol: +BR2_powerpc+, +BR2_mips+, ... (see +arch/Config.in+) +** Comment string: no comment to be added + +* MMU support +** Dependency symbol: +BR2_USE_MMU+ +** Comment string: no comment to be added + +* Gcc +__sync_*+ built-ins used for atomic operations. They are + available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 + bytes. Since different architectures support atomic operations on + different sizes, one dependency symbol is available for each size: +** Dependency symbol: +BR2_TOOLCHAIN_HAS_SYNC_1+ for 1 byte, + +BR2_TOOLCHAIN_HAS_SYNC_2+ for 2 bytes, + +BR2_TOOLCHAIN_HAS_SYNC_4+ for 4 bytes, +BR2_TOOLCHAIN_HAS_SYNC_8+ + for 8 bytes. +** Comment string: no comment to be added + +* Gcc +__atomic_*+ built-ins used for atomic operations. +** Dependency symbol: +BR2_TOOLCHAIN_HAS_ATOMIC+. +** Comment string: no comment to be added + +* Kernel headers +** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +toolchain/Config.in+) +** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace + +X.Y+ with the proper version) + +* GCC version +** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +toolchain/Config.in+) +** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace + +X.Y+ with the proper version) + +* Host GCC version +** Dependency symbol: +BR2_HOST_GCC_AT_LEAST_X_Y+, (replace + +X_Y+ with the proper version, see +Config.in+) +** Comment string: no comment to be added +** Note that it is usually not the package itself that has a minimum + host GCC version, but rather a host-package on which it depends. + +* C library +** Dependency symbol: +BR2_TOOLCHAIN_USES_GLIBC+, + +BR2_TOOLCHAIN_USES_MUSL+, +BR2_TOOLCHAIN_USES_UCLIBC+ +** Comment string: for the C library, a slightly different comment text + is used: +foo needs a glibc toolchain+, or `foo needs a glibc + toolchain w/ C++` + +* C++ support +** Dependency symbol: +BR2_INSTALL_LIBSTDCPP+ +** Comment string: `C++` + +* D support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_DLANG+ +** Comment string: `Dlang` + +* Fortran support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_FORTRAN+ +** Comment string: `fortran` + +* thread support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS+ +** Comment string: +threads+ (unless +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ + is also needed, in which case, specifying only +NPTL+ is sufficient) + +* NPTL thread support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ +** Comment string: +NPTL+ + +* RPC support +** Dependency symbol: +BR2_TOOLCHAIN_HAS_NATIVE_RPC+ +** Comment string: +RPC+ + +* wchar support +** Dependency symbol: +BR2_USE_WCHAR+ +** Comment string: +wchar+ + +* dynamic library +** Dependency symbol: +!BR2_STATIC_LIBS+ +** Comment string: +dynamic library+ + +==== Dependencies on a Linux kernel built by buildroot + +Some packages need a Linux kernel to be built by buildroot. These are +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 + +Some features can be provided by more than one package, such as the +openGL libraries. + +See xref:virtual-package-tutorial[] for more on the virtual packages. + +=== The +.mk+ file + +[[adding-packages-mk]] + +Finally, here's the hardest part. Create a file named +libfoo.mk+. It +describes how the package should be downloaded, configured, built, +installed, etc. + +Depending on the package type, the +.mk+ file must be written in a +different way, using different infrastructures: + +* *Makefiles for generic packages* (not using autotools or CMake): + These are based on an infrastructure similar to the one used for + autotools-based packages, but require a little more work from the + developer. They specify what should be done for the configuration, + compilation and installation of the package. This + infrastructure must be used for all packages that do not use the + autotools as their build system. In the future, other specialized + infrastructures might be written for other build systems. We cover + them through in a xref:generic-package-tutorial[tutorial] and a + xref:generic-package-reference[reference]. + +* *Makefiles for autotools-based software* (autoconf, automake, etc.): + We provide a dedicated infrastructure for such packages, since + autotools is a very common build system. This infrastructure 'must' + be used for new packages that rely on the autotools as their build + system. We cover them through a xref:autotools-package-tutorial[tutorial] + and xref:autotools-package-reference[reference]. + +* *Makefiles for cmake-based software*: We provide a dedicated + infrastructure for such packages, as CMake is a more and more + commonly used build system and has a standardized behaviour. This + infrastructure 'must' be used for new packages that rely on + CMake. We cover them through a xref:cmake-package-tutorial[tutorial] + and xref:cmake-package-reference[reference]. + +* *Makefiles for Python modules*: We have a dedicated infrastructure + for Python modules that use the +flit+, +pep517+, +setuptools+, + +setuptools-rust+ or +maturin+ mechanisms. We cover them through a + xref:python-package-tutorial[tutorial] and a + xref:python-package-reference[reference]. + +* *Makefiles for Lua modules*: We have a dedicated infrastructure for + Lua modules available through the LuaRocks web site. We cover them + through a xref:luarocks-package-tutorial[tutorial] and a + xref:luarocks-package-reference[reference]. + +Further formatting details: see xref:writing-rules-mk[the writing +rules]. + +[[adding-packages-hash]] +=== The +.hash+ file + +When possible, you must add a third file, named +libfoo.hash+, that +contains the hashes of the downloaded files for the +libfoo+ +package. The only reason for not adding a +.hash+ file is when hash +checking is not possible due to how the package is downloaded. + +When a package has a version selection choice, then the hash file may be +stored in a subdirectory named after the version, e.g. ++package/libfoo/1.2.3/libfoo.hash+. This is especially important if the +different versions have different licensing terms, but they are stored +in the same file. Otherwise, the hash file should stay in the package's +directory. + +The hashes stored in that file are used to validate the integrity of the +downloaded files and of the license files. + +The format of this file is one line for each file for which to check the +hash, each line with the following three fields separated by two spaces: + +* the type of hash, one of: +** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+ +* the hash of the file: +** for +md5+, 32 hexadecimal characters +** for +sha1+, 40 hexadecimal characters +** for +sha224+, 56 hexadecimal characters +** for +sha256+, 64 hexadecimal characters +** for +sha384+, 96 hexadecimal characters +** for +sha512+, 128 hexadecimal characters +* the name of the file: +** for a source archive: the basename of the file, without any directory + component, +** for a license file: the path as it appears in +FOO_LICENSE_FILES+. + +Lines starting with a +#+ sign are considered comments, and ignored. Empty +lines are ignored. + +There can be more than one hash for a single file, each on its own line. In +this case, all hashes must match. + +.Note +Ideally, the hashes stored in this file should match the hashes published by +upstream, e.g. on their website, in the e-mail announcement... If upstream +provides more than one type of hash (e.g. +sha1+ and +sha512+), then it is +best to add all those hashes in the +.hash+ file. If upstream does not +provide any hash, or only provides an +md5+ hash, then compute at least one +strong hash yourself (preferably +sha256+, but not +md5+), and mention +this in a comment line above the hashes. + +.Note +The hashes for license files are used to detect a license change when a +package version is bumped. The hashes are checked during the make legal-info +target run. For a package with multiple versions (like Qt5), +create the hash file in a subdirectory ++ of that package +(see also xref:patch-apply-order[]). + +The example below defines a +sha1+ and a +sha256+ published by upstream for +the main +libfoo-1.2.3.tar.bz2+ tarball, an +md5+ from upstream and a +locally-computed +sha256+ hashes for a binary blob, a +sha256+ for a +downloaded patch, and an archive with no hash: + +---- +# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: +sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 +sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 + +# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: +md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin +sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin + +# Locally computed: +sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch + +# Hash for license files: +sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING +sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL +---- + +If the +.hash+ file is present, and it contains one or more hashes for a +downloaded file, the hash(es) computed by Buildroot (after download) must +match the hash(es) stored in the +.hash+ file. If one or more hashes do +not match, Buildroot considers this an error, deletes the downloaded file, +and aborts. + +If the +.hash+ file is present, but it does not contain a hash for a +downloaded file, Buildroot considers this an error and aborts. However, +the downloaded file is left in the download directory since this +typically indicates that the +.hash+ file is wrong but the downloaded +file is probably OK. + +Hashes are currently checked for files fetched from http/ftp servers, +Git or subversion repositories, files copied using scp and local files. +Hashes are not checked for other version control systems (such as CVS, +mercurial) because Buildroot currently does not generate reproducible +tarballs when source code is fetched from such version control +systems. + +Additionally, for packages for which it is possible to specify a custom +version (e.g. a custom version string, a remote tarball URL, or a VCS +repository location and changeset), Buildroot can't carry hashes for +those. It is however possible to xref:customize-hashes[provide a list of +extra hashes] that can cover such cases. + +Hashes should only be added in +.hash+ files for files that are +guaranteed to be stable. For example, patches auto-generated by Github +are not guaranteed to be stable, and therefore their hashes can change +over time. Such patches should not be downloaded, and instead be added +locally to the package folder. + +If the +.hash+ file is missing, then no check is done at all. + +[[adding-packages-start-script]] +=== The +SNNfoo+ start script + +Packages that provide a system daemon usually need to be started somehow +at boot. Buildroot comes with support for several init systems, some +are considered tier one (see xref:init-system[]), while others are also +available but do not have the same level of integration. Ideally, all +packages providing a system daemon should provide a start script for +BusyBox/SysV init and a systemd unit file. + +For consistency, the start script must follow the style and composition +as shown in the reference: +package/busybox/S01syslogd+. An annotated +example of this style is shown below. There is no specific coding style +for systemd unit files, but if a package comes with its own unit file, +that is preferred over a buildroot specific one, if it is compatible +with buildroot. + +The name of the start script is composed of the +SNN+ and the daemon +name. The +NN+ is the start order number which needs to be carefully +chosen. For example, a program that requires networking to be up should +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" +04: PIDFILE="/var/run/$DAEMON.pid" +05: +06: SYSLOGD_ARGS="" +07: +08: # shellcheck source=/dev/null +09: [ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" +10: +11: # BusyBox' syslogd does not create a pidfile, so pass "-n" in the command line +12: # and use "-m" to instruct start-stop-daemon to create one. +13: start() { +14: printf 'Starting %s: ' "$DAEMON" +15: # shellcheck disable=SC2086 # we need the word splitting +16: start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ +17: -- -n $SYSLOGD_ARGS +18: status=$? +19: if [ "$status" -eq 0 ]; then +20: echo "OK" +21: else +22: echo "FAIL" +23: fi +24: return "$status" +25: } +26: +27: stop() { +28: printf 'Stopping %s: ' "$DAEMON" +29: start-stop-daemon -K -q -p "$PIDFILE" +30: status=$? +31: if [ "$status" -eq 0 ]; then +32: rm -f "$PIDFILE" +33: echo "OK" +34: else +35: echo "FAIL" +36: fi +37: return "$status" +38: } +39: +40: restart() { +41: stop +42: sleep 1 +43: start +44: } +45: +46: case "$1" in +47: start|stop|restart) +48: "$1";; +49: reload) +50: # Restart, since there is no true "reload" feature. +51: restart;; +52: *) +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 ++stop()+. The +start-stop-daemon+ supports +-K -s HUP+ for this. +It is recommended to always append +-x "/sbin/$DAEMON"+ to all the ++start-stop-daemon+ commands to ensure signals are set to a PID that +matches +$DAEMON+. + +Both start scripts and unit files can source command line arguments from ++/etc/default/foo+, in general, if such a file does not exist it should +not block the start of the daemon, unless there is some site specirfic +command line argument the daemon requires to start. For start scripts a ++FOO_ARGS="-s -o -m -e -args"+ can be defined to a default value in and +the user can override this from +/etc/default/foo+. diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt deleted file mode 100644 index 04f5241d053..00000000000 --- a/docs/manual/adding-packages-directory.txt +++ /dev/null @@ -1,645 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Package directory - -First of all, create a directory under the +package+ directory for -your software, for example +libfoo+. - -Some packages have been grouped by topic in a sub-directory: -+x11r7+, +qt5+ and +gstreamer+. If your package fits in -one of these categories, then create your package directory in these. -New subdirectories are discouraged, however. - -=== Config files - -For the package to be displayed in the configuration tool, you need to -create a Config file in your package directory. There are two types: -+Config.in+ and +Config.in.host+. - -==== +Config.in+ file - -For packages used on the target, create a file named +Config.in+. This -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 - This is a comment that explains what libfoo is. The help text - 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 -itself should be indented with one tab and two spaces, lines should -be wrapped to fit 72 columns, where tab counts for 8, so 62 characters -in the text itself. The help text must mention the upstream URL of the -project after an empty line. - -As a convention specific to Buildroot, the ordering of the attributes -is as follows: - -1. The type of option: +bool+, +string+... with the prompt -2. If needed, the +default+ value(s) -3. Any dependencies on the target in +depends on+ form -4. Any dependencies on the toolchain in +depends on+ form -5. Any dependencies on other packages in +depends on+ form -6. Any dependency of the +select+ form -7. The help keyword and help text. - -You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+ -statement to configure particular things in your software. You can look at -examples in other packages. The syntax of the +Config.in+ file is the same -as the one for the kernel Kconfig file. The documentation for this syntax is -available at http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[] - -Finally you have to add your new +libfoo/Config.in+ to -+package/Config.in+ (or in a category subdirectory if you decided to -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 - -Some packages also need to be built for the host system. There are two -options here: - -* The host package is only required to satisfy build-time - dependencies of one or more target packages. In this case, add - +host-foo+ to the target package's +BAR_DEPENDENCIES+ variable. No - +Config.in.host+ file should be created. - -* The host package should be explicitly selectable by the user from - 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. -+ -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. - -[[depends-on-vs-select]] -==== Choosing +depends on+ or +select+ - -The +Config.in+ file of your package must also ensure that -dependencies are enabled. Typically, Buildroot uses the following -rules: - -* Use a +select+ type of dependency for dependencies on - libraries. These dependencies are generally not obvious and it - therefore make sense to have the kconfig system ensure that the - dependencies are selected. For example, the _libgtk2_ package uses - +select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also - enabled. - The +select+ keyword expresses the dependency with a backward - semantic. - -* Use a +depends on+ type of dependency when the user really needs to - be aware of the dependency. Typically, Buildroot uses this type of - dependency for dependencies on target architecture, MMU support and - toolchain options (see xref:dependencies-target-toolchain-options[]), - or for dependencies on "big" things, such as the X.org system. - The +depends on+ keyword expresses the dependency with a forward - semantic. - -.Note -The current problem with the _kconfig_ language is that these two -dependency semantics are not internally linked. Therefore, it may be -possible to select a package, whom one of its dependencies/requirement -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 - select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_LIBART - select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_ZLIB - help - RRDtool is the OpenSource industry standard, high performance - data logging and graphing system for time series data. - - http://oss.oetiker.ch/rrdtool/ - -comment "rrdtool needs a toolchain w/ wchar" - depends on !BR2_USE_WCHAR --------------------------- - - -Note that these two dependency types are only transitive with the -dependencies of the same kind. - -This means, in the following example: - --------------------------- -config BR2_PACKAGE_A - bool "Package A" - -config BR2_PACKAGE_B - bool "Package B" - depends on BR2_PACKAGE_A - -config BR2_PACKAGE_C - bool "Package C" - depends on BR2_PACKAGE_B - -config BR2_PACKAGE_D - bool "Package D" - select BR2_PACKAGE_B - -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 - selected. - -* Selecting +Package E+ will select +Package D+, which will select - +Package B+, it will not check for the dependencies of +Package B+, - so it will not select +Package A+. - -* Since +Package B+ is selected but +Package A+ is not, this violates - 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 - select BR2_PACKAGE_B - -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. - -Note that such dependencies will ensure that the dependency option -is also enabled, but not necessarily built before your package. To do -so, the dependency also needs to be expressed in the +.mk+ file of the -package. - -Further formatting details: see xref:writing-rules-config-in[the -coding style]. - -[[dependencies-target-toolchain-options]] -==== Dependencies on target and toolchain options - -Many packages depend on certain options of the toolchain: the choice of -C library, C++ support, thread support, RPC support, wchar support, -or dynamic library support. Some packages can only be built on certain -target architectures, or if an MMU is available in the processor. - -These dependencies have to be expressed with the appropriate 'depends -on' statements in the Config.in file. Additionally, for dependencies on -toolchain options, a +comment+ should be displayed when the option is -not enabled, so that the user knows why the package is not available. -Dependencies on target architecture or MMU support should not be -made visible in a comment: since it is unlikely that the user can -freely choose another target, it makes little sense to show these -dependencies explicitly. - -The +comment+ should only be visible if the +config+ option itself would -be visible when the toolchain option dependencies are met. This means -that all other dependencies of the package (including dependencies on -target architecture and MMU support) have to be repeated on the -+comment+ definition. To keep it clear, the +depends on+ statement for -these non-toolchain option should be kept separate from the +depends on+ -statement for the toolchain options. -If there is a dependency on a config option in that same file (typically -the main package) it is preferable to have a global +if ... endif+ -construct rather than repeating the +depends on+ statement on the -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. - -The rest of this section enumerates the different target and toolchain -options, the corresponding config symbols to depend on, and the text to -use in the comment. - -* Target architecture -** Dependency symbol: +BR2_powerpc+, +BR2_mips+, ... (see +arch/Config.in+) -** Comment string: no comment to be added - -* MMU support -** Dependency symbol: +BR2_USE_MMU+ -** Comment string: no comment to be added - -* Gcc +__sync_*+ built-ins used for atomic operations. They are - available in variants operating on 1 byte, 2 bytes, 4 bytes and 8 - bytes. Since different architectures support atomic operations on - different sizes, one dependency symbol is available for each size: -** Dependency symbol: +BR2_TOOLCHAIN_HAS_SYNC_1+ for 1 byte, - +BR2_TOOLCHAIN_HAS_SYNC_2+ for 2 bytes, - +BR2_TOOLCHAIN_HAS_SYNC_4+ for 4 bytes, +BR2_TOOLCHAIN_HAS_SYNC_8+ - for 8 bytes. -** Comment string: no comment to be added - -* Gcc +__atomic_*+ built-ins used for atomic operations. -** Dependency symbol: +BR2_TOOLCHAIN_HAS_ATOMIC+. -** Comment string: no comment to be added - -* Kernel headers -** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +toolchain/Config.in+) -** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace - +X.Y+ with the proper version) - -* GCC version -** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +toolchain/Config.in+) -** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace - +X.Y+ with the proper version) - -* Host GCC version -** Dependency symbol: +BR2_HOST_GCC_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +Config.in+) -** Comment string: no comment to be added -** Note that it is usually not the package itself that has a minimum - host GCC version, but rather a host-package on which it depends. - -* C library -** Dependency symbol: +BR2_TOOLCHAIN_USES_GLIBC+, - +BR2_TOOLCHAIN_USES_MUSL+, +BR2_TOOLCHAIN_USES_UCLIBC+ -** Comment string: for the C library, a slightly different comment text - is used: +foo needs a glibc toolchain+, or `foo needs a glibc - toolchain w/ C++` - -* C++ support -** Dependency symbol: +BR2_INSTALL_LIBSTDCPP+ -** Comment string: `C++` - -* D support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_DLANG+ -** Comment string: `Dlang` - -* Fortran support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_FORTRAN+ -** Comment string: `fortran` - -* thread support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS+ -** Comment string: +threads+ (unless +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ - is also needed, in which case, specifying only +NPTL+ is sufficient) - -* NPTL thread support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_THREADS_NPTL+ -** Comment string: +NPTL+ - -* RPC support -** Dependency symbol: +BR2_TOOLCHAIN_HAS_NATIVE_RPC+ -** Comment string: +RPC+ - -* wchar support -** Dependency symbol: +BR2_USE_WCHAR+ -** Comment string: +wchar+ - -* dynamic library -** Dependency symbol: +!BR2_STATIC_LIBS+ -** Comment string: +dynamic library+ - -==== Dependencies on a Linux kernel built by buildroot - -Some packages need a Linux kernel to be built by buildroot. These are -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 - -Some features can be provided by more than one package, such as the -openGL libraries. - -See xref:virtual-package-tutorial[] for more on the virtual packages. - -=== The +.mk+ file - -[[adding-packages-mk]] - -Finally, here's the hardest part. Create a file named +libfoo.mk+. It -describes how the package should be downloaded, configured, built, -installed, etc. - -Depending on the package type, the +.mk+ file must be written in a -different way, using different infrastructures: - -* *Makefiles for generic packages* (not using autotools or CMake): - These are based on an infrastructure similar to the one used for - autotools-based packages, but require a little more work from the - developer. They specify what should be done for the configuration, - compilation and installation of the package. This - infrastructure must be used for all packages that do not use the - autotools as their build system. In the future, other specialized - infrastructures might be written for other build systems. We cover - them through in a xref:generic-package-tutorial[tutorial] and a - xref:generic-package-reference[reference]. - -* *Makefiles for autotools-based software* (autoconf, automake, etc.): - We provide a dedicated infrastructure for such packages, since - autotools is a very common build system. This infrastructure 'must' - be used for new packages that rely on the autotools as their build - system. We cover them through a xref:autotools-package-tutorial[tutorial] - and xref:autotools-package-reference[reference]. - -* *Makefiles for cmake-based software*: We provide a dedicated - infrastructure for such packages, as CMake is a more and more - commonly used build system and has a standardized behaviour. This - infrastructure 'must' be used for new packages that rely on - CMake. We cover them through a xref:cmake-package-tutorial[tutorial] - and xref:cmake-package-reference[reference]. - -* *Makefiles for Python modules*: We have a dedicated infrastructure - for Python modules that use the +distutils+, +flit+, +pep517+ or - +setuptools+ mechanisms. We cover them through a - xref:python-package-tutorial[tutorial] and a - xref:python-package-reference[reference]. - -* *Makefiles for Lua modules*: We have a dedicated infrastructure for - Lua modules available through the LuaRocks web site. We cover them - through a xref:luarocks-package-tutorial[tutorial] and a - xref:luarocks-package-reference[reference]. - -Further formatting details: see xref:writing-rules-mk[the writing -rules]. - -[[adding-packages-hash]] -=== The +.hash+ file - -When possible, you must add a third file, named +libfoo.hash+, that -contains the hashes of the downloaded files for the +libfoo+ -package. The only reason for not adding a +.hash+ file is when hash -checking is not possible due to how the package is downloaded. - -When a package has a version selection choice, then the hash file may be -stored in a subdirectory named after the version, e.g. -+package/libfoo/1.2.3/libfoo.hash+. This is especially important if the -different versions have different licensing terms, but they are stored -in the same file. Otherwise, the hash file should stay in the package's -directory. - -The hashes stored in that file are used to validate the integrity of the -downloaded files and of the license files. - -The format of this file is one line for each file for which to check the -hash, each line with the following three fields separated by two spaces: - -* the type of hash, one of: -** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+ -* the hash of the file: -** for +md5+, 32 hexadecimal characters -** for +sha1+, 40 hexadecimal characters -** for +sha224+, 56 hexadecimal characters -** for +sha256+, 64 hexadecimal characters -** for +sha384+, 96 hexadecimal characters -** for +sha512+, 128 hexadecimal characters -* the name of the file: -** for a source archive: the basename of the file, without any directory - component, -** for a license file: the path as it appears in +FOO_LICENSE_FILES+. - -Lines starting with a +#+ sign are considered comments, and ignored. Empty -lines are ignored. - -There can be more than one hash for a single file, each on its own line. In -this case, all hashes must match. - -.Note -Ideally, the hashes stored in this file should match the hashes published by -upstream, e.g. on their website, in the e-mail announcement... If upstream -provides more than one type of hash (e.g. +sha1+ and +sha512+), then it is -best to add all those hashes in the +.hash+ file. If upstream does not -provide any hash, or only provides an +md5+ hash, then compute at least one -strong hash yourself (preferably +sha256+, but not +md5+), and mention -this in a comment line above the hashes. - -.Note -The hashes for license files are used to detect a license change when a -package version is bumped. The hashes are checked during the make legal-info -target run. For a package with multiple versions (like Qt5), -create the hash file in a subdirectory ++ of that package -(see also xref:patch-apply-order[]). - -The example below defines a +sha1+ and a +sha256+ published by upstream for -the main +libfoo-1.2.3.tar.bz2+ tarball, an +md5+ from upstream and a -locally-computed +sha256+ hashes for a binary blob, a +sha256+ for a -downloaded patch, and an archive with no hash: - ----- -# Hashes from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.{sha1,sha256}: -sha1 486fb55c3efa71148fe07895fd713ea3a5ae343a libfoo-1.2.3.tar.bz2 -sha256 efc8103cc3bcb06bda6a781532d12701eb081ad83e8f90004b39ab81b65d4369 libfoo-1.2.3.tar.bz2 - -# md5 from: http://www.foosoftware.org/download/libfoo-1.2.3.tar.bz2.md5, sha256 locally computed: -md5 2d608f3c318c6b7557d551a5a09314f03452f1a1 libfoo-data.bin -sha256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b libfoo-data.bin - -# Locally computed: -sha256 ff52101fb90bbfc3fe9475e425688c660f46216d7e751c4bbdb1dc85cdccacb9 libfoo-fix-blabla.patch - -# Hash for license files: -sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 COPYING -sha256 01b1f9f2c8ee648a7a596a1abe8aa4ed7899b1c9e5551bda06da6e422b04aa55 doc/COPYING.LGPL ----- - -If the +.hash+ file is present, and it contains one or more hashes for a -downloaded file, the hash(es) computed by Buildroot (after download) must -match the hash(es) stored in the +.hash+ file. If one or more hashes do -not match, Buildroot considers this an error, deletes the downloaded file, -and aborts. - -If the +.hash+ file is present, but it does not contain a hash for a -downloaded file, Buildroot considers this an error and aborts. However, -the downloaded file is left in the download directory since this -typically indicates that the +.hash+ file is wrong but the downloaded -file is probably OK. - -Hashes are currently checked for files fetched from http/ftp servers, -Git repositories, files copied using scp and local files. Hashes are -not checked for other version control systems (such as Subversion, -CVS, etc.) because Buildroot currently does not generate reproducible -tarballs when source code is fetched from such version control -systems. - -Hashes should only be added in +.hash+ files for files that are -guaranteed to be stable. For example, patches auto-generated by Github -are not guaranteed to be stable, and therefore their hashes can change -over time. Such patches should not be downloaded, and instead be added -locally to the package folder. - -If the +.hash+ file is missing, then no check is done at all. - -[[adding-packages-start-script]] -=== The +SNNfoo+ start script - -Packages that provide a system daemon usually need to be started somehow -at boot. Buildroot comes with support for several init systems, some -are considered tier one (see xref:init-system[]), while others are also -available but do not have the same level of integration. Ideally, all -packages providing a system daemon should provide a start script for -BusyBox/SysV init and a systemd unit file. - -For consistency, the start script must follow the style and composition -as shown in the reference: +package/busybox/S01syslogd+. An annotated -example of this style is shown below. There is no specific coding style -for systemd unit files, but if a package comes with its own unit file, -that is preferred over a buildroot specific one, if it is compatible -with buildroot. - -The name of the start script is composed of the +SNN+ and the daemon -name. The +NN+ is the start order number which needs to be carefully -chosen. For example, a program that requires networking to be up should -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" -04: PIDFILE="/var/run/$DAEMON.pid" -05: -06: SYSLOGD_ARGS="" -07: -08: # shellcheck source=/dev/null -09: [ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" -10: -11: # BusyBox' syslogd does not create a pidfile, so pass "-n" in the command line -12: # and use "-m" to instruct start-stop-daemon to create one. -13: start() { -14: printf 'Starting %s: ' "$DAEMON" -15: # shellcheck disable=SC2086 # we need the word splitting -16: start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ -17: -- -n $SYSLOGD_ARGS -18: status=$? -19: if [ "$status" -eq 0 ]; then -20: echo "OK" -21: else -22: echo "FAIL" -23: fi -24: return "$status" -25: } -26: -27: stop() { -28: printf 'Stopping %s: ' "$DAEMON" -29: start-stop-daemon -K -q -p "$PIDFILE" -30: status=$? -31: if [ "$status" -eq 0 ]; then -32: rm -f "$PIDFILE" -33: echo "OK" -34: else -35: echo "FAIL" -36: fi -37: return "$status" -38: } -39: -40: restart() { -41: stop -42: sleep 1 -43: start -44: } -45: -46: case "$1" in -47: start|stop|restart) -48: "$1";; -49: reload) -50: # Restart, since there is no true "reload" feature. -51: restart;; -52: *) -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 -+stop()+. The +start-stop-daemon+ supports +-K -s HUP+ for this. -It is recommended to always append +-x "/sbin/$DAEMON"+ to all the -+start-stop-daemon+ commands to ensure signals are set to a PID that -matches +$DAEMON+. - -Both start scripts and unit files can source command line arguments from -+/etc/default/foo+, in general, if such a file does not exist it should -not block the start of the daemon, unless there is some site specirfic -command line argument the daemon requires to start. For start scripts a -+FOO_ARGS="-s -o -m -e -args"+ can be defined to a default value in and -the user can override this from +/etc/default/foo+. diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc new file mode 100644 index 00000000000..9d365a10cae --- /dev/null +++ b/docs/manual/adding-packages-generic.adoc @@ -0,0 +1,672 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for packages with specific build systems + +By 'packages with specific build systems' we mean all the packages +whose build system is not one of the standard ones, such as +'autotools' or 'CMake'. This typically includes packages whose build +system is based on hand-written Makefiles or shell scripts. + +[[generic-package-tutorial]] + +==== +generic-package+ tutorial + +------------------------------ +01: ################################################################################ +02: # +03: # libfoo +04: # +05: ################################################################################ +06: +07: LIBFOO_VERSION = 1.0 +08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz +09: LIBFOO_SITE = http://www.foosoftware.org/download +10: LIBFOO_LICENSE = GPL-3.0+ +11: LIBFOO_LICENSE_FILES = COPYING +12: LIBFOO_INSTALL_STAGING = YES +13: LIBFOO_CONFIG_SCRIPTS = libfoo-config +14: LIBFOO_DEPENDENCIES = host-libaaa libbbb +15: +16: define LIBFOO_BUILD_CMDS +17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all +18: endef +19: +20: define LIBFOO_INSTALL_STAGING_CMDS +21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a +22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h +23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib +24: endef +25: +26: define LIBFOO_INSTALL_TARGET_CMDS +27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib +28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d +29: endef +30: +31: define LIBFOO_USERS +32: foo -1 libfoo -1 * - - - LibFoo daemon +33: endef +34: +35: define LIBFOO_DEVICES +36: /dev/foo c 666 0 0 42 0 - - - +37: endef +38: +39: define LIBFOO_PERMISSIONS +40: /bin/foo f 4755 foo libfoo - - - - - +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 +tarball containing the package (+LIBFOO_SOURCE+) (xz-ed tarball recommended) +the Internet location at which the tarball can be downloaded from +(+LIBFOO_SITE+), the license (+LIBFOO_LICENSE+) and file with the +license text (+LIBFOO_LICENSE_FILES+). All variables must start with +the same prefix, +LIBFOO_+ in this case. This prefix is always the +uppercased version of the package name (see below to understand where +the package name is defined). + +On line 12, we specify that this package wants to install something to +the staging space. This is often needed for libraries, since they must +install header files and other development files in the staging space. +This will ensure that the commands listed in the ++LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed. + +On line 13, we specify that there is some fixing to be done to some +of the 'libfoo-config' files that were installed during ++LIBFOO_INSTALL_STAGING_CMDS+ phase. +These *-config files are executable shell script files that are +located in '$(STAGING_DIR)/usr/bin' directory and are executed +by other 3rd party packages to find out the location and the linking +flags of this particular package. + +The problem is that all these *-config files by default give wrong, +host system linking flags that are unsuitable for cross-compiling. + +For example: '-I/usr/include' instead of '-I$(STAGING_DIR)/usr/include' +or: '-L/usr/lib' instead of '-L$(STAGING_DIR)/usr/lib' + +So some sed magic is done to these scripts to make them give correct +flags. +The argument to be given to +LIBFOO_CONFIG_SCRIPTS+ is the file name(s) +of the shell script(s) needing fixing. All these names are relative to +'$(STAGING_DIR)/usr/bin' and if needed multiple names can be given. + +In addition, the scripts listed in +LIBFOO_CONFIG_SCRIPTS+ are removed +from +$(TARGET_DIR)/usr/bin+, since they are not needed on the target. + +.Config script: 'divine' package +================================ +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: +================================ +Package imagemagick installs the following scripts: +'$(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config' + +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 +on. These dependencies are listed in terms of lower-case package names, +which can be packages for the target (without the +host-+ +prefix) or packages for the host (with the +host-+) prefix). +Buildroot will ensure that all these packages are built and installed +'before' the current package starts its configuration. + +The rest of the Makefile, lines 16..29, defines what should be done +at the different steps of the package configuration, compilation and +installation. ++LIBFOO_BUILD_CMDS+ tells what steps should be performed to +build the package. +LIBFOO_INSTALL_STAGING_CMDS+ tells what +steps should be performed to install the package in the staging space. ++LIBFOO_INSTALL_TARGET_CMDS+ tells what steps should be +performed to install the package in the target space. + +All these steps rely on the +$(@D)+ variable, which +contains the directory where the source code of the package has been +extracted. + +On lines 31..33, we define a user that is used by this package (e.g. +to run a daemon as non-root) (+LIBFOO_USERS+). + +On line 35..37, we define a device-node file used by this package +(+LIBFOO_DEVICES+). + +On line 39..41, we define the permissions to set to specific files +installed by this package (+LIBFOO_PERMISSIONS+). + +Finally, on line 43, we call the +generic-package+ function, which +generates, according to the variables defined previously, all the +Makefile code necessary to make your package working. + +[[generic-package-reference]] + +==== +generic-package+ reference + +There are two variants of the generic target. The +generic-package+ macro is +used for packages to be cross-compiled for the target. The ++host-generic-package+ macro is used for host packages, natively compiled +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 ++libfoo+, then the name of the package for the target is also ++libfoo+, while the name of the package for the host is ++host-libfoo+. These names should be used in the DEPENDENCIES +variables of other packages, if they depend on +libfoo+ or ++host-libfoo+. + +The call to the +generic-package+ and/or +host-generic-package+ macro +*must* be at the end of the +.mk+ file, after all variable definitions. +The call to +host-generic-package+ *must* be after the call to ++generic-package+, if any. + +For the target package, the +generic-package+ uses the variables defined by +the .mk file and prefixed by the uppercased package name: ++LIBFOO_*+. +host-generic-package+ uses the +HOST_LIBFOO_*+ variables. For +'some' variables, if the +HOST_LIBFOO_+ prefixed variable doesn't +exist, the package infrastructure uses the corresponding variable +prefixed by +LIBFOO_+. This is done for variables that are likely to +have the same value for both the target and host packages. See below +for details. + +The list of variables that can be set in a +.mk+ file to give metadata +information is (assuming the package name is +libfoo+) : + +* +LIBFOO_VERSION+, mandatory, must contain the version of the + package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is + assumed to be the same as +LIBFOO_VERSION+. It can also be a + revision number or a tag for packages that are fetched directly + from their version control system. Examples: + ** a version for a release tarball: +LIBFOO_VERSION = 0.1.2+ + ** a sha1 for a git tree: +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ + ** a tag for a git tree +LIBFOO_VERSION = v0.1.2+ ++ +.Note: +Using a branch name as +FOO_VERSION+ is not supported, because it does +not and can not work as people would expect it should: ++ + 1. due to local caching, Buildroot will not re-fetch the repository, + so people who expect to be able to follow the remote repository + would be quite surprised and disappointed; + 2. because two builds can never be perfectly simultaneous, and because + the remote repository may get new commits on the branch anytime, + two users, using the same Buildroot tree and building the same + configuration, may get different source, thus rendering the build + non reproducible, and people would be quite surprised and + disappointed. + +* +LIBFOO_SOURCE+ may contain the name of the tarball of the package, + which Buildroot will use to download the tarball from + +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults + to +LIBFOO_SOURCE+. If none are specified, then the value is assumed + to be +libfoo-$(LIBFOO_VERSION).tar.gz+. + + Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+ + +* +LIBFOO_PATCH+ may contain a space-separated list of patch file + names, that Buildroot will download and apply to the package source + code. If an entry contains +://+, then Buildroot will assume it is a + full URL and download the patch from this location. Otherwise, + Buildroot will assume that the patch should be downloaded from + +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults + to +LIBFOO_PATCH+. Note that patches that are included in Buildroot + itself use a different mechanism: all files of the form + +*.patch+ present in the package directory inside + Buildroot will be applied to the package after extraction (see + xref:patch-policy[patching a package]). Finally, patches listed in + the +LIBFOO_PATCH+ variable are applied _before_ the patches stored + in the Buildroot package directory. + +* +LIBFOO_SITE+ provides the location of the package, which can be a + URL or a local filesystem path. HTTP, FTP and SCP are supported URL + types for retrieving package tarballs. In these cases don't include a + trailing slash: it will be added by Buildroot between the directory + and the filename as appropriate. Git, Subversion, Mercurial, + and Bazaar are supported URL types for retrieving packages directly + from source code management systems. There is a helper function to make + it easier to download source tarballs from GitHub (refer to + xref:github-download-url[] for details). A filesystem path may be used + to specify either a tarball or a directory containing the package + source code. See +LIBFOO_SITE_METHOD+ below for more details on how + retrieval works. + + Note that SCP URLs should be of the form + +scp://[user@]host:filepath+, and that filepath is relative to the + user's home directory, so you may want to prepend the path with a + slash for absolute paths: + +scp://[user@]host:/absolutepath+. The same goes for SFTP URLs. + + If +HOST_LIBFOO_SITE+ is not specified, it defaults to + +LIBFOO_SITE+. + Examples: + + +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + + +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor+ + + +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ + + +LIBFOO_SITE=$(TOPDIR)/../src/libfoo+ + +* +LIBFOO_DL_OPTS+ is a space-separated list of additional options to + pass to the downloader. Useful for retrieving documents with + server-side checking for user logins and passwords, or to use a proxy. + All download methods valid for +LIBFOO_SITE_METHOD+ are supported; + valid options depend on the download method (consult the man page + for the respective download utilities). + +* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional + files that Buildroot should download. If an entry contains +://+ + then Buildroot will assume it is a complete URL and will download + the file using this URL. Otherwise, Buildroot will assume the file + to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do + anything with those additional files, except download them: it will + be up to the package recipe to use them from +$(LIBFOO_DL_DIR)+. + +* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the + package source code. In many cases, Buildroot guesses the method + from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+ + is unnecessary. When +HOST_LIBFOO_SITE_METHOD+ is not specified, it + defaults to the value of +LIBFOO_SITE_METHOD+. + + The possible values of +LIBFOO_SITE_METHOD+ are: + ** +wget+ for normal FTP/HTTP downloads of tarballs. Used by + default when +LIBFOO_SITE+ begins with +http://+, +https://+ or + +ftp://+. + ** +scp+ for downloads of tarballs over SSH with scp. Used by + default when +LIBFOO_SITE+ begins with +scp://+. + ** +sftp+ for downloads of tarballs over SSH with sftp. Used by + default when +LIBFOO_SITE+ begins with +sftp://+. + ** +svn+ for retrieving source code from a Subversion repository. + Used by default when +LIBFOO_SITE+ begins with +svn://+. When a + +http://+ Subversion repository URL is specified in + +LIBFOO_SITE+, one 'must' specify +LIBFOO_SITE_METHOD=svn+. + Buildroot performs a checkout which is preserved as a tarball in + the download cache; subsequent builds use the tarball instead of + performing another checkout. + ** +cvs+ for retrieving source code from a CVS repository. + Used by default when +LIBFOO_SITE+ begins with +cvs://+. + The downloaded source code is cached as with the +svn+ method. + Anonymous pserver mode is assumed otherwise explicitly defined + on +LIBFOO_SITE+. Both + +LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo+ and + +LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo+ + are accepted, on the former anonymous pserver access mode is + assumed. + +LIBFOO_SITE+ 'must' contain the source URL as well as the remote + repository directory. The module is the package name. + +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag, a branch, or + a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 + 13:45+01" see "man cvs" for further details). + ** +git+ for retrieving source code from a Git repository. Used by + default when +LIBFOO_SITE+ begins with +git://+. The downloaded + source code is cached as with the +svn+ method. + ** +hg+ for retrieving source code from a Mercurial repository. One + 'must' specify +LIBFOO_SITE_METHOD=hg+ when +LIBFOO_SITE+ + contains a Mercurial repository URL. The downloaded source code + is cached as with the +svn+ method. + ** +bzr+ for retrieving source code from a Bazaar repository. Used + by default when +LIBFOO_SITE+ begins with +bzr://+. The + downloaded source code is cached as with the +svn+ method. + ** +file+ for a local tarball. One should use this when + +LIBFOO_SITE+ specifies a package tarball as a local filename. + Useful for software that isn't available publicly or in version + control. + ** +local+ for a local source code directory. One should use this + when +LIBFOO_SITE+ specifies a local directory path containing + the package source code. Buildroot copies the contents of the + source directory into the package's build directory. Note that + for +local+ packages, no patches are applied. If you need to + still patch the source code, use +LIBFOO_POST_RSYNC_HOOKS+, see + xref:hooks-rsync[]. + +* +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive + with the git submodules in the repository. This is only available + for packages downloaded with git (i.e. when + +LIBFOO_SITE_METHOD=git+). Note that we try not to use such git + submodules when they contain bundled libraries, in which case we + prefer to use those libraries from their own package. + +* +LIBFOO_GIT_LFS+ should be set to +YES+ if the Git repository uses + Git LFS to store large files out of band. This is only available for + packages downloaded with git (i.e. when +LIBFOO_SITE_METHOD=git+). + +* +LIBFOO_SVN_EXTERNALS+ can be set to +YES+ to create an archive with + the svn external references. This is only available for packages + downloaded with subversion. + +* +LIBFOO_STRIP_COMPONENTS+ is the number of leading components + (directories) that tar must strip from file names on extraction. + The tarball for most packages has one leading component named + "-", thus Buildroot passes + --strip-components=1 to tar to remove it. + For non-standard packages that don't have this component, or + that have more than one leading component to strip, set this + variable with the value to be passed to tar. Default: 1. + +* +LIBFOO_EXCLUDES+ is a space-separated list of patterns to exclude + when extracting the archive. Each item from that list is passed as + a tar's +--exclude+ option. By default, empty. + +* +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package + name) that are required for the current target package to + compile. These dependencies are guaranteed to be compiled and + installed before the configuration of the current package starts. + However, modifications to configuration of these dependencies will + not force a rebuild of the current package. In a similar way, + +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for the current + host package. + +* +LIBFOO_EXTRACT_DEPENDENCIES+ lists the dependencies (in terms of + package name) that are required for the current target package to be + extracted. These dependencies are guaranteed to be compiled and + installed before the extract step of the current package + starts. This is only used internally by the package infrastructure, + and should typically not be used directly by packages. + +* +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of + package name) that are required for the current package to be + patched. These dependencies are guaranteed to be extracted and + patched (but not necessarily built) before the current package is + patched. In a similar way, +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists + the dependencies for the current host package. + This is seldom used; usually, +LIBFOO_DEPENDENCIES+ is what you + really want to use. + +* +LIBFOO_PROVIDES+ lists all the virtual packages +libfoo+ is an + implementation of. See xref:virtual-package-tutorial[]. + +* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If + set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+ + variables are executed to install the package into the staging + directory. + +* +LIBFOO_INSTALL_TARGET+ can be set to +YES+ (default) or +NO+. If + set to +YES+, then the commands in the +LIBFOO_INSTALL_TARGET_CMDS+ + variables are executed to install the package into the target + directory. + +* +LIBFOO_INSTALL_IMAGES+ can be set to +YES+ or +NO+ (default). If + set to +YES+, then the commands in the +LIBFOO_INSTALL_IMAGES_CMDS+ + variable are executed to install the package into the images + directory. + +* +LIBFOO_CONFIG_SCRIPTS+ lists the names of the files in + '$(STAGING_DIR)/usr/bin' that need some special fixing to make them + cross-compiling friendly. Multiple file names separated by space can + be given and all are relative to '$(STAGING_DIR)/usr/bin'. The files + listed in +LIBFOO_CONFIG_SCRIPTS+ are also removed from + +$(TARGET_DIR)/usr/bin+ since they are not needed on the target. + +* +LIBFOO_DEVICES+ lists the device files to be created by Buildroot + when using the static device table. The syntax to use is the + makedevs one. You can find some documentation for this syntax in the + xref:makedev-syntax[]. This variable is optional. + +* +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at + the end of the build process. The syntax is once again the makedevs one. + You can find some documentation for this syntax in the xref:makedev-syntax[]. + This variable is optional. + +* +LIBFOO_USERS+ lists the users to create for this package, if it installs + a program you want to run as a specific user (e.g. as a daemon, or as a + cron-job). The syntax is similar in spirit to the makedevs one, and is + described in the xref:makeuser-syntax[]. This variable is optional. + +* +LIBFOO_LICENSE+ defines the license (or licenses) under which the package + is released. + This name will appear in the manifest file produced by +make legal-info+. + If the license appears in https://spdx.org/licenses/[the SPDX License List], + use the SPDX short identifier to make the manifest file uniform. + Otherwise, describe the license in a precise and concise way, avoiding + ambiguous names such as +BSD+ which actually name a family of licenses. + This variable is optional. If it is not defined, +unknown+ will appear in + the +license+ field of the manifest file for this package. + + The expected format for this variable must comply with the following rules: + ** If different parts of the package are released under different + licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = + GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which + component is licensed under what license, then annotate the license + with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = + GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). + ** If some licenses are conditioned on a sub-option being enabled, append + the conditional licenses with a comma (e.g.: `FOO_LICENSE += , GPL-2.0+ + (programs)`); the infrastructure will internally remove the space before + the comma. + ** If the package is dual licensed, then separate licenses with the + +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). + +* +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package + tarball that contain the license(s) under which the package is released. + +make legal-info+ copies all of these files in the +legal-info+ directory. + See xref:legal-info[] for more information. + This variable is optional. If it is not defined, a warning will be produced + to let you know, and +not saved+ will appear in the +license files+ field + of the manifest file for this package. + +* +LIBFOO_ACTUAL_SOURCE_TARBALL+ only applies to packages whose + +LIBFOO_SITE+ / +LIBFOO_SOURCE+ pair points to an archive that does + not actually contain source code, but binary code. This a very + uncommon case, only known to apply to external toolchains which come + already compiled, although theoretically it might apply to other + packages. In such cases a separate tarball is usually available with + the actual source code. Set +LIBFOO_ACTUAL_SOURCE_TARBALL+ to the + name of the actual source code archive and Buildroot will download + it and use it when you run +make legal-info+ to collect + legally-relevant material. Note this file will not be downloaded + during regular builds nor by +make source+. + +* +LIBFOO_ACTUAL_SOURCE_SITE+ provides the location of the actual + source tarball. The default value is +LIBFOO_SITE+, so you don't + need to set this variable if the binary and source archives are + hosted on the same directory. If +LIBFOO_ACTUAL_SOURCE_TARBALL+ is + not set, it doesn't make sense to define + +LIBFOO_ACTUAL_SOURCE_SITE+. + +* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if + the package source code is allowed to be redistributed. Set it to +NO+ for + non-opensource packages: Buildroot will not save the source code for this + package when collecting the +legal-info+. + +* +LIBFOO_FLAT_STACKSIZE+ defines the stack size of an application built into + the FLAT binary format. The application stack size on the NOMMU architecture + processors can't be enlarged at run time. The default stack size for the + FLAT binary format is only 4k bytes. If the application consumes more stack, + append the required number here. + +* +LIBFOO_BIN_ARCH_EXCLUDE+ is a space-separated list of paths (relative + to the target directory) to ignore when checking that the package + installs correctly cross-compiled binaries. You seldom need to set this + variable, unless the package installs binary blobs outside the default + locations, `/lib/firmware`, `/usr/lib/firmware`, `/lib/modules`, + `/usr/lib/modules`, and `/usr/share`, which are automatically excluded. + +* +LIBFOO_IGNORE_CVES+ is a space-separated list of CVEs that tells + Buildroot CVE tracking tools which CVEs should be ignored for this + package. This is typically used when the CVE is fixed by a patch in + the package, or when the CVE for some reason does not affect the + 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 + identifier]. The available variables are: ++ +-- +** +LIBFOO_CPE_ID_VALID+, if set to +YES+, specifies that the default + values for each of the following variables is appropriate, and + generates a valid CPE ID. + +** +LIBFOO_CPE_ID_PREFIX+, specifies the prefix of the CPE identifier, + i.e the first three fields. When not defined, the default value is + +cpe:2.3:a+. + +** +LIBFOO_CPE_ID_VENDOR+, specifies the vendor part of the CPE + identifier. When not defined, the default value is + +_project+. + +** +LIBFOO_CPE_ID_PRODUCT+, specifies the product part of the CPE + identifier. When not defined, the default value is ++. + +** +LIBFOO_CPE_ID_VERSION+, specifies the version part of the CPE + identifier. When not defined the default value is + +$(LIBFOO_VERSION)+. + +** +LIBFOO_CPE_ID_UPDATE+ specifies the _update_ part of the CPE + identifier. When not defined the default value is +*+. +-- ++ +If any of those variables is defined, then the generic package +infrastructure assumes the package provides valid CPE information. In +this case, the generic package infrastructure will define ++LIBFOO_CPE_ID+. ++ +For a host package, if its +LIBFOO_CPE_ID_*+ variables are not +defined, it inherits the value of those variables from the +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. + +* +LIBFOO_EXTRACT_CMDS+ lists the actions to be performed to extract + the package. This is generally not needed as tarballs are + automatically handled by Buildroot. However, if the package uses a + non-standard archive format, such as a ZIP or RAR file, or has a + tarball with a non-standard organization, this variable allows to + override the package infrastructure default behavior. + +* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to + configure the package before its compilation. + +* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to + compile the package. + +* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed + to install the package, when the package is a host package. The + package must install its files to the directory given by + +$(HOST_DIR)+. All files, including development files such as + headers should be installed, since other packages might be compiled + on top of this package. + +* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be + performed to install the package to the target directory, when the + package is a target package. The package must install its files to + the directory given by +$(TARGET_DIR)+. Only the files required for + 'execution' of the package have to be + installed. Header files, static libraries and documentation will be + removed again when the target filesystem is finalized. + +* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be + performed to install the package to the staging directory, when the + package is a target package. The package must install its files to + the directory given by +$(STAGING_DIR)+. All development files + should be installed, since they might be needed to compile other + packages. + +* +LIBFOO_INSTALL_IMAGES_CMDS+ lists the actions to be performed to + install the package to the images directory, when the package is a + target package. The package must install its files to the directory + given by +$(BINARIES_DIR)+. Only files that are binary images (aka + images) that do not belong in the +TARGET_DIR+ but are necessary + for booting the board should be placed here. For example, a package + should utilize this step if it has binaries which would be similar + to the kernel image, bootloader or root filesystem images. + +* +LIBFOO_INSTALL_INIT_SYSV+, +LIBFOO_INSTALL_INIT_OPENRC+ and + +LIBFOO_INSTALL_INIT_SYSTEMD+ list the actions to install init + scripts either for the systemV-like init systems (busybox, + sysvinit, etc.), openrc or for the systemd units. These commands + will be run only when the relevant init system is installed (i.e. + if systemd is selected as the init system in the configuration, + only +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). The only exception + is when openrc is chosen as init system and +LIBFOO_INSTALL_INIT_OPENRC+ + has not been set, in such situation +LIBFOO_INSTALL_INIT_SYSV+ will + be called, since openrc supports sysv init scripts. + When systemd is used as the init system, buildroot will automatically enable + all services using the +systemctl preset-all+ command in the final phase of + image building. You can add preset files to prevent a particular unit from + being automatically enabled by buildroot. + +* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which + is included to the main +make help+ output. These commands can print + anything in any format. + This is seldom used, as packages rarely have custom rules. *Do not use + this variable*, unless you really know that you need to print help. + +* +LIBFOO_LINUX_CONFIG_FIXUPS+ lists the Linux kernel configuration + options that are needed to build and use this package, and without + which the package is fundamentally broken. This shall be a set of + calls to one of the kconfig tweaking option: `KCONFIG_ENABLE_OPT`, + `KCONFIG_DISABLE_OPT`, or `KCONFIG_SET_OPT`. + This is seldom used, as package usually have no strict requirements on + the kernel options. + +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: + +* +$(LIBFOO_PKGDIR)+ contains the path to the directory containing the + +libfoo.mk+ and +Config.in+ files. This variable is useful when it is + necessary to install a file bundled in Buildroot, like a runtime + configuration file, a splashscreen image... + +* +$(@D)+, which contains the directory in which the package source + code has been uncompressed. + +* +$(LIBFOO_DL_DIR)+ contains the path to the directory where all the downloads + made by Buildroot for +libfoo+ are stored in. + +* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target + cross-compilation utilities + +* +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix + +* Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+ + variables to install the packages properly. Those variables point to + the global _host_, _staging_ and _target_ directories, unless + _per-package directory_ support is used, in which case they point to + the current package _host_, _staging_ and _target_ directories. In + both cases, it doesn't make any difference from the package point of + view: it should simply use +HOST_DIR+, +STAGING_DIR+ and + +TARGET_DIR+. See xref:top-level-parallel-build[] for more details + about _per-package directory_ support. + +Finally, you can also use hooks. See xref:hooks[] for more information. diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt deleted file mode 100644 index fbe37f9ca9f..00000000000 --- a/docs/manual/adding-packages-generic.txt +++ /dev/null @@ -1,664 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for packages with specific build systems - -By 'packages with specific build systems' we mean all the packages -whose build system is not one of the standard ones, such as -'autotools' or 'CMake'. This typically includes packages whose build -system is based on hand-written Makefiles or shell scripts. - -[[generic-package-tutorial]] - -==== +generic-package+ tutorial - ------------------------------- -01: ################################################################################ -02: # -03: # libfoo -04: # -05: ################################################################################ -06: -07: LIBFOO_VERSION = 1.0 -08: LIBFOO_SOURCE = libfoo-$(LIBFOO_VERSION).tar.gz -09: LIBFOO_SITE = http://www.foosoftware.org/download -10: LIBFOO_LICENSE = GPL-3.0+ -11: LIBFOO_LICENSE_FILES = COPYING -12: LIBFOO_INSTALL_STAGING = YES -13: LIBFOO_CONFIG_SCRIPTS = libfoo-config -14: LIBFOO_DEPENDENCIES = host-libaaa libbbb -15: -16: define LIBFOO_BUILD_CMDS -17: $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all -18: endef -19: -20: define LIBFOO_INSTALL_STAGING_CMDS -21: $(INSTALL) -D -m 0755 $(@D)/libfoo.a $(STAGING_DIR)/usr/lib/libfoo.a -22: $(INSTALL) -D -m 0644 $(@D)/foo.h $(STAGING_DIR)/usr/include/foo.h -23: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(STAGING_DIR)/usr/lib -24: endef -25: -26: define LIBFOO_INSTALL_TARGET_CMDS -27: $(INSTALL) -D -m 0755 $(@D)/libfoo.so* $(TARGET_DIR)/usr/lib -28: $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/foo.d -29: endef -30: -31: define LIBFOO_USERS -32: foo -1 libfoo -1 * - - - LibFoo daemon -33: endef -34: -35: define LIBFOO_DEVICES -36: /dev/foo c 666 0 0 42 0 - - - -37: endef -38: -39: define LIBFOO_PERMISSIONS -40: /bin/foo f 4755 foo libfoo - - - - - -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 -tarball containing the package (+LIBFOO_SOURCE+) (xz-ed tarball recommended) -the Internet location at which the tarball can be downloaded from -(+LIBFOO_SITE+), the license (+LIBFOO_LICENSE+) and file with the -license text (+LIBFOO_LICENSE_FILES+). All variables must start with -the same prefix, +LIBFOO_+ in this case. This prefix is always the -uppercased version of the package name (see below to understand where -the package name is defined). - -On line 12, we specify that this package wants to install something to -the staging space. This is often needed for libraries, since they must -install header files and other development files in the staging space. -This will ensure that the commands listed in the -+LIBFOO_INSTALL_STAGING_CMDS+ variable will be executed. - -On line 13, we specify that there is some fixing to be done to some -of the 'libfoo-config' files that were installed during -+LIBFOO_INSTALL_STAGING_CMDS+ phase. -These *-config files are executable shell script files that are -located in '$(STAGING_DIR)/usr/bin' directory and are executed -by other 3rd party packages to find out the location and the linking -flags of this particular package. - -The problem is that all these *-config files by default give wrong, -host system linking flags that are unsuitable for cross-compiling. - -For example: '-I/usr/include' instead of '-I$(STAGING_DIR)/usr/include' -or: '-L/usr/lib' instead of '-L$(STAGING_DIR)/usr/lib' - -So some sed magic is done to these scripts to make them give correct -flags. -The argument to be given to +LIBFOO_CONFIG_SCRIPTS+ is the file name(s) -of the shell script(s) needing fixing. All these names are relative to -'$(STAGING_DIR)/usr/bin' and if needed multiple names can be given. - -In addition, the scripts listed in +LIBFOO_CONFIG_SCRIPTS+ are removed -from +$(TARGET_DIR)/usr/bin+, since they are not needed on the target. - -.Config script: 'divine' package -================================ -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: -================================ -Package imagemagick installs the following scripts: -'$(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config' - -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 -on. These dependencies are listed in terms of lower-case package names, -which can be packages for the target (without the +host-+ -prefix) or packages for the host (with the +host-+) prefix). -Buildroot will ensure that all these packages are built and installed -'before' the current package starts its configuration. - -The rest of the Makefile, lines 16..29, defines what should be done -at the different steps of the package configuration, compilation and -installation. -+LIBFOO_BUILD_CMDS+ tells what steps should be performed to -build the package. +LIBFOO_INSTALL_STAGING_CMDS+ tells what -steps should be performed to install the package in the staging space. -+LIBFOO_INSTALL_TARGET_CMDS+ tells what steps should be -performed to install the package in the target space. - -All these steps rely on the +$(@D)+ variable, which -contains the directory where the source code of the package has been -extracted. - -On lines 31..33, we define a user that is used by this package (e.g. -to run a daemon as non-root) (+LIBFOO_USERS+). - -On line 35..37, we define a device-node file used by this package -(+LIBFOO_DEVICES+). - -On line 39..41, we define the permissions to set to specific files -installed by this package (+LIBFOO_PERMISSIONS+). - -Finally, on line 43, we call the +generic-package+ function, which -generates, according to the variables defined previously, all the -Makefile code necessary to make your package working. - -[[generic-package-reference]] - -==== +generic-package+ reference - -There are two variants of the generic target. The +generic-package+ macro is -used for packages to be cross-compiled for the target. The -+host-generic-package+ macro is used for host packages, natively compiled -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 -+libfoo+, then the name of the package for the target is also -+libfoo+, while the name of the package for the host is -+host-libfoo+. These names should be used in the DEPENDENCIES -variables of other packages, if they depend on +libfoo+ or -+host-libfoo+. - -The call to the +generic-package+ and/or +host-generic-package+ macro -*must* be at the end of the +.mk+ file, after all variable definitions. -The call to +host-generic-package+ *must* be after the call to -+generic-package+, if any. - -For the target package, the +generic-package+ uses the variables defined by -the .mk file and prefixed by the uppercased package name: -+LIBFOO_*+. +host-generic-package+ uses the +HOST_LIBFOO_*+ variables. For -'some' variables, if the +HOST_LIBFOO_+ prefixed variable doesn't -exist, the package infrastructure uses the corresponding variable -prefixed by +LIBFOO_+. This is done for variables that are likely to -have the same value for both the target and host packages. See below -for details. - -The list of variables that can be set in a +.mk+ file to give metadata -information is (assuming the package name is +libfoo+) : - -* +LIBFOO_VERSION+, mandatory, must contain the version of the - package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is - assumed to be the same as +LIBFOO_VERSION+. It can also be a - revision number or a tag for packages that are fetched directly - from their version control system. Examples: - ** a version for a release tarball: +LIBFOO_VERSION = 0.1.2+ - ** a sha1 for a git tree: +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ - ** a tag for a git tree +LIBFOO_VERSION = v0.1.2+ -+ -.Note: -Using a branch name as +FOO_VERSION+ is not supported, because it does -not and can not work as people would expect it should: -+ - 1. due to local caching, Buildroot will not re-fetch the repository, - so people who expect to be able to follow the remote repository - would be quite surprised and disappointed; - 2. because two builds can never be perfectly simultaneous, and because - the remote repository may get new commits on the branch anytime, - two users, using the same Buildroot tree and building the same - configuration, may get different source, thus rendering the build - non reproducible, and people would be quite surprised and - disappointed. - -* +LIBFOO_SOURCE+ may contain the name of the tarball of the package, - which Buildroot will use to download the tarball from - +LIBFOO_SITE+. If +HOST_LIBFOO_SOURCE+ is not specified, it defaults - to +LIBFOO_SOURCE+. If none are specified, then the value is assumed - to be +libfoo-$(LIBFOO_VERSION).tar.gz+. + - Example: +LIBFOO_SOURCE = foobar-$(LIBFOO_VERSION).tar.bz2+ - -* +LIBFOO_PATCH+ may contain a space-separated list of patch file - names, that Buildroot will download and apply to the package source - code. If an entry contains +://+, then Buildroot will assume it is a - full URL and download the patch from this location. Otherwise, - Buildroot will assume that the patch should be downloaded from - +LIBFOO_SITE+. If +HOST_LIBFOO_PATCH+ is not specified, it defaults - to +LIBFOO_PATCH+. Note that patches that are included in Buildroot - itself use a different mechanism: all files of the form - +*.patch+ present in the package directory inside - Buildroot will be applied to the package after extraction (see - xref:patch-policy[patching a package]). Finally, patches listed in - the +LIBFOO_PATCH+ variable are applied _before_ the patches stored - in the Buildroot package directory. - -* +LIBFOO_SITE+ provides the location of the package, which can be a - URL or a local filesystem path. HTTP, FTP and SCP are supported URL - types for retrieving package tarballs. In these cases don't include a - trailing slash: it will be added by Buildroot between the directory - and the filename as appropriate. Git, Subversion, Mercurial, - and Bazaar are supported URL types for retrieving packages directly - from source code management systems. There is a helper function to make - it easier to download source tarballs from GitHub (refer to - xref:github-download-url[] for details). A filesystem path may be used - to specify either a tarball or a directory containing the package - source code. See +LIBFOO_SITE_METHOD+ below for more details on how - retrieval works. + - Note that SCP URLs should be of the form - +scp://[user@]host:filepath+, and that filepath is relative to the - user's home directory, so you may want to prepend the path with a - slash for absolute paths: - +scp://[user@]host:/absolutepath+. The same goes for SFTP URLs. + - If +HOST_LIBFOO_SITE+ is not specified, it defaults to - +LIBFOO_SITE+. - Examples: + - +LIBFOO_SITE=http://www.libfoosoftware.org/libfoo+ + - +LIBFOO_SITE=http://svn.xiph.org/trunk/Tremor+ + - +LIBFOO_SITE=/opt/software/libfoo.tar.gz+ + - +LIBFOO_SITE=$(TOPDIR)/../src/libfoo+ - -* +LIBFOO_DL_OPTS+ is a space-separated list of additional options to - pass to the downloader. Useful for retrieving documents with - server-side checking for user logins and passwords, or to use a proxy. - All download methods valid for +LIBFOO_SITE_METHOD+ are supported; - valid options depend on the download method (consult the man page - for the respective download utilities). - -* +LIBFOO_EXTRA_DOWNLOADS+ is a space-separated list of additional - files that Buildroot should download. If an entry contains +://+ - then Buildroot will assume it is a complete URL and will download - the file using this URL. Otherwise, Buildroot will assume the file - to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do - anything with those additional files, except download them: it will - be up to the package recipe to use them from +$(LIBFOO_DL_DIR)+. - -* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the - package source code. In many cases, Buildroot guesses the method - from the contents of +LIBFOO_SITE+ and setting +LIBFOO_SITE_METHOD+ - is unnecessary. When +HOST_LIBFOO_SITE_METHOD+ is not specified, it - defaults to the value of +LIBFOO_SITE_METHOD+. + - The possible values of +LIBFOO_SITE_METHOD+ are: - ** +wget+ for normal FTP/HTTP downloads of tarballs. Used by - default when +LIBFOO_SITE+ begins with +http://+, +https://+ or - +ftp://+. - ** +scp+ for downloads of tarballs over SSH with scp. Used by - default when +LIBFOO_SITE+ begins with +scp://+. - ** +sftp+ for downloads of tarballs over SSH with sftp. Used by - default when +LIBFOO_SITE+ begins with +sftp://+. - ** +svn+ for retrieving source code from a Subversion repository. - Used by default when +LIBFOO_SITE+ begins with +svn://+. When a - +http://+ Subversion repository URL is specified in - +LIBFOO_SITE+, one 'must' specify +LIBFOO_SITE_METHOD=svn+. - Buildroot performs a checkout which is preserved as a tarball in - the download cache; subsequent builds use the tarball instead of - performing another checkout. - ** +cvs+ for retrieving source code from a CVS repository. - Used by default when +LIBFOO_SITE+ begins with +cvs://+. - The downloaded source code is cached as with the +svn+ method. - Anonymous pserver mode is assumed otherwise explicitly defined - on +LIBFOO_SITE+. Both - +LIBFOO_SITE=cvs://libfoo.net:/cvsroot/libfoo+ and - +LIBFOO_SITE=cvs://:ext:libfoo.net:/cvsroot/libfoo+ - are accepted, on the former anonymous pserver access mode is - assumed. - +LIBFOO_SITE+ 'must' contain the source URL as well as the remote - repository directory. The module is the package name. - +LIBFOO_VERSION+ is 'mandatory' and 'must' be a tag, a branch, or - a date (e.g. "2014-10-20", "2014-10-20 13:45", "2014-10-20 - 13:45+01" see "man cvs" for further details). - ** +git+ for retrieving source code from a Git repository. Used by - default when +LIBFOO_SITE+ begins with +git://+. The downloaded - source code is cached as with the +svn+ method. - ** +hg+ for retrieving source code from a Mercurial repository. One - 'must' specify +LIBFOO_SITE_METHOD=hg+ when +LIBFOO_SITE+ - contains a Mercurial repository URL. The downloaded source code - is cached as with the +svn+ method. - ** +bzr+ for retrieving source code from a Bazaar repository. Used - by default when +LIBFOO_SITE+ begins with +bzr://+. The - downloaded source code is cached as with the +svn+ method. - ** +file+ for a local tarball. One should use this when - +LIBFOO_SITE+ specifies a package tarball as a local filename. - Useful for software that isn't available publicly or in version - control. - ** +local+ for a local source code directory. One should use this - when +LIBFOO_SITE+ specifies a local directory path containing - the package source code. Buildroot copies the contents of the - source directory into the package's build directory. Note that - for +local+ packages, no patches are applied. If you need to - still patch the source code, use +LIBFOO_POST_RSYNC_HOOKS+, see - xref:hooks-rsync[]. - -* +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive - with the git submodules in the repository. This is only available - for packages downloaded with git (i.e. when - +LIBFOO_SITE_METHOD=git+). Note that we try not to use such git - submodules when they contain bundled libraries, in which case we - prefer to use those libraries from their own package. - -* +LIBFOO_GIT_LFS+ should be set to +YES+ if the Git repository uses - Git LFS to store large files out of band. This is only available for - packages downloaded with git (i.e. when +LIBFOO_SITE_METHOD=git+). - -* +LIBFOO_STRIP_COMPONENTS+ is the number of leading components - (directories) that tar must strip from file names on extraction. - The tarball for most packages has one leading component named - "-", thus Buildroot passes - --strip-components=1 to tar to remove it. - For non-standard packages that don't have this component, or - that have more than one leading component to strip, set this - variable with the value to be passed to tar. Default: 1. - -* +LIBFOO_EXCLUDES+ is a space-separated list of patterns to exclude - when extracting the archive. Each item from that list is passed as - a tar's +--exclude+ option. By default, empty. - -* +LIBFOO_DEPENDENCIES+ lists the dependencies (in terms of package - name) that are required for the current target package to - compile. These dependencies are guaranteed to be compiled and - installed before the configuration of the current package starts. - However, modifications to configuration of these dependencies will - not force a rebuild of the current package. In a similar way, - +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for the current - host package. - -* +LIBFOO_EXTRACT_DEPENDENCIES+ lists the dependencies (in terms of - package name) that are required for the current target package to be - extracted. These dependencies are guaranteed to be compiled and - installed before the extract step of the current package - starts. This is only used internally by the package infrastructure, - and should typically not be used directly by packages. - -* +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of - package name) that are required for the current package to be - patched. These dependencies are guaranteed to be extracted and - patched (but not necessarily built) before the current package is - patched. In a similar way, +HOST_LIBFOO_PATCH_DEPENDENCIES+ lists - the dependencies for the current host package. - This is seldom used; usually, +LIBFOO_DEPENDENCIES+ is what you - really want to use. - -* +LIBFOO_PROVIDES+ lists all the virtual packages +libfoo+ is an - implementation of. See xref:virtual-package-tutorial[]. - -* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If - set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+ - variables are executed to install the package into the staging - directory. - -* +LIBFOO_INSTALL_TARGET+ can be set to +YES+ (default) or +NO+. If - set to +YES+, then the commands in the +LIBFOO_INSTALL_TARGET_CMDS+ - variables are executed to install the package into the target - directory. - -* +LIBFOO_INSTALL_IMAGES+ can be set to +YES+ or +NO+ (default). If - set to +YES+, then the commands in the +LIBFOO_INSTALL_IMAGES_CMDS+ - variable are executed to install the package into the images - directory. - -* +LIBFOO_CONFIG_SCRIPTS+ lists the names of the files in - '$(STAGING_DIR)/usr/bin' that need some special fixing to make them - cross-compiling friendly. Multiple file names separated by space can - be given and all are relative to '$(STAGING_DIR)/usr/bin'. The files - listed in +LIBFOO_CONFIG_SCRIPTS+ are also removed from - +$(TARGET_DIR)/usr/bin+ since they are not needed on the target. - -* +LIBFOO_DEVICES+ lists the device files to be created by Buildroot - when using the static device table. The syntax to use is the - makedevs one. You can find some documentation for this syntax in the - xref:makedev-syntax[]. This variable is optional. - -* +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at - the end of the build process. The syntax is once again the makedevs one. - You can find some documentation for this syntax in the xref:makedev-syntax[]. - This variable is optional. - -* +LIBFOO_USERS+ lists the users to create for this package, if it installs - a program you want to run as a specific user (e.g. as a daemon, or as a - cron-job). The syntax is similar in spirit to the makedevs one, and is - described in the xref:makeuser-syntax[]. This variable is optional. - -* +LIBFOO_LICENSE+ defines the license (or licenses) under which the package - is released. - This name will appear in the manifest file produced by +make legal-info+. - If the license appears in https://spdx.org/licenses/[the SPDX License List], - use the SPDX short identifier to make the manifest file uniform. - Otherwise, describe the license in a precise and concise way, avoiding - ambiguous names such as +BSD+ which actually name a family of licenses. - This variable is optional. If it is not defined, +unknown+ will appear in - the +license+ field of the manifest file for this package. + - The expected format for this variable must comply with the following rules: - ** If different parts of the package are released under different - licenses, then +comma+ separate licenses (e.g. +`LIBFOO_LICENSE = - GPL-2.0+, LGPL-2.1+`+). If there is clear distinction between which - component is licensed under what license, then annotate the license - with that component, between parenthesis (e.g. +`LIBFOO_LICENSE = - GPL-2.0+ (programs), LGPL-2.1+ (libraries)`+). - ** If some licenses are conditioned on a sub-option being enabled, append - the conditional licenses with a comma (e.g.: `FOO_LICENSE += , GPL-2.0+ - (programs)`); the infrastructure will internally remove the space before - the comma. - ** If the package is dual licensed, then separate licenses with the - +or+ keyword (e.g. +`LIBFOO_LICENSE = AFL-2.1 or GPL-2.0+`+). - -* +LIBFOO_LICENSE_FILES+ is a space-separated list of files in the package - tarball that contain the license(s) under which the package is released. - +make legal-info+ copies all of these files in the +legal-info+ directory. - See xref:legal-info[] for more information. - This variable is optional. If it is not defined, a warning will be produced - to let you know, and +not saved+ will appear in the +license files+ field - of the manifest file for this package. - -* +LIBFOO_ACTUAL_SOURCE_TARBALL+ only applies to packages whose - +LIBFOO_SITE+ / +LIBFOO_SOURCE+ pair points to an archive that does - not actually contain source code, but binary code. This a very - uncommon case, only known to apply to external toolchains which come - already compiled, although theoretically it might apply to other - packages. In such cases a separate tarball is usually available with - the actual source code. Set +LIBFOO_ACTUAL_SOURCE_TARBALL+ to the - name of the actual source code archive and Buildroot will download - it and use it when you run +make legal-info+ to collect - legally-relevant material. Note this file will not be downloaded - during regular builds nor by +make source+. - -* +LIBFOO_ACTUAL_SOURCE_SITE+ provides the location of the actual - source tarball. The default value is +LIBFOO_SITE+, so you don't - need to set this variable if the binary and source archives are - hosted on the same directory. If +LIBFOO_ACTUAL_SOURCE_TARBALL+ is - not set, it doesn't make sense to define - +LIBFOO_ACTUAL_SOURCE_SITE+. - -* +LIBFOO_REDISTRIBUTE+ can be set to +YES+ (default) or +NO+ to indicate if - the package source code is allowed to be redistributed. Set it to +NO+ for - non-opensource packages: Buildroot will not save the source code for this - package when collecting the +legal-info+. - -* +LIBFOO_FLAT_STACKSIZE+ defines the stack size of an application built into - the FLAT binary format. The application stack size on the NOMMU architecture - processors can't be enlarged at run time. The default stack size for the - FLAT binary format is only 4k bytes. If the application consumes more stack, - append the required number here. - -* +LIBFOO_BIN_ARCH_EXCLUDE+ is a space-separated list of paths (relative - to the target directory) to ignore when checking that the package - installs correctly cross-compiled binaries. You seldom need to set this - variable, unless the package installs binary blobs outside the default - locations, `/lib/firmware`, `/usr/lib/firmware`, `/lib/modules`, - `/usr/lib/modules`, and `/usr/share`, which are automatically excluded. - -* +LIBFOO_IGNORE_CVES+ is a space-separated list of CVEs that tells - Buildroot CVE tracking tools which CVEs should be ignored for this - package. This is typically used when the CVE is fixed by a patch in - the package, or when the CVE for some reason does not affect the - 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 ----------------------- - -* +LIBFOO_CPE_ID_*+ variables is a set of variables that allows the - package to define its https://nvd.nist.gov/products/cpe[CPE - identifier]. The available variables are: -+ --- -** +LIBFOO_CPE_ID_PREFIX+, specifies the prefix of the CPE identifier, - i.e the first three fields. When not defined, the default value is - +cpe:2.3:a+. - -** +LIBFOO_CPE_ID_VENDOR+, specifies the vendor part of the CPE - identifier. When not defined, the default value is - +_project+. - -** +LIBFOO_CPE_ID_PRODUCT+, specifies the product part of the CPE - identifier. When not defined, the default value is ++. - -** +LIBFOO_CPE_ID_VERSION+, specifies the version part of the CPE - identifier. When not defined the default value is - +$(LIBFOO_VERSION)+. - -** +LIBFOO_CPE_ID_UPDATE+ specifies the _update_ part of the CPE - identifier. When not defined the default value is +*+. --- -+ -If any of those variables is defined, then the generic package -infrastructure assumes the package provides valid CPE information. In -this case, the generic package infrastructure will define -+LIBFOO_CPE_ID+. -+ -For a host package, if its +LIBFOO_CPE_ID_*+ variables are not -defined, it inherits the value of those variables from the -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. - -* +LIBFOO_EXTRACT_CMDS+ lists the actions to be performed to extract - the package. This is generally not needed as tarballs are - automatically handled by Buildroot. However, if the package uses a - non-standard archive format, such as a ZIP or RAR file, or has a - tarball with a non-standard organization, this variable allows to - override the package infrastructure default behavior. - -* +LIBFOO_CONFIGURE_CMDS+ lists the actions to be performed to - configure the package before its compilation. - -* +LIBFOO_BUILD_CMDS+ lists the actions to be performed to - compile the package. - -* +HOST_LIBFOO_INSTALL_CMDS+ lists the actions to be performed - to install the package, when the package is a host package. The - package must install its files to the directory given by - +$(HOST_DIR)+. All files, including development files such as - headers should be installed, since other packages might be compiled - on top of this package. - -* +LIBFOO_INSTALL_TARGET_CMDS+ lists the actions to be - performed to install the package to the target directory, when the - package is a target package. The package must install its files to - the directory given by +$(TARGET_DIR)+. Only the files required for - 'execution' of the package have to be - installed. Header files, static libraries and documentation will be - removed again when the target filesystem is finalized. - -* +LIBFOO_INSTALL_STAGING_CMDS+ lists the actions to be - performed to install the package to the staging directory, when the - package is a target package. The package must install its files to - the directory given by +$(STAGING_DIR)+. All development files - should be installed, since they might be needed to compile other - packages. - -* +LIBFOO_INSTALL_IMAGES_CMDS+ lists the actions to be performed to - install the package to the images directory, when the package is a - target package. The package must install its files to the directory - given by +$(BINARIES_DIR)+. Only files that are binary images (aka - images) that do not belong in the +TARGET_DIR+ but are necessary - for booting the board should be placed here. For example, a package - should utilize this step if it has binaries which would be similar - to the kernel image, bootloader or root filesystem images. - -* +LIBFOO_INSTALL_INIT_SYSV+, +LIBFOO_INSTALL_INIT_OPENRC+ and - +LIBFOO_INSTALL_INIT_SYSTEMD+ list the actions to install init - scripts either for the systemV-like init systems (busybox, - sysvinit, etc.), openrc or for the systemd units. These commands - will be run only when the relevant init system is installed (i.e. - if systemd is selected as the init system in the configuration, - only +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). The only exception - is when openrc is chosen as init system and +LIBFOO_INSTALL_INIT_OPENRC+ - has not been set, in such situation +LIBFOO_INSTALL_INIT_SYSV+ will - be called, since openrc supports sysv init scripts. - When systemd is used as the init system, buildroot will automatically enable - all services using the +systemctl preset-all+ command in the final phase of - image building. You can add preset files to prevent a particular unit from - being automatically enabled by buildroot. - -* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which - is included to the main +make help+ output. These commands can print - anything in any format. - This is seldom used, as packages rarely have custom rules. *Do not use - this variable*, unless you really know that you need to print help. - -* +LIBFOO_LINUX_CONFIG_FIXUPS+ lists the Linux kernel configuration - options that are needed to build and use this package, and without - which the package is fundamentally broken. This shall be a set of - calls to one of the kconfig tweaking option: `KCONFIG_ENABLE_OPT`, - `KCONFIG_DISABLE_OPT`, or `KCONFIG_SET_OPT`. - This is seldom used, as package usually have no strict requirements on - the kernel options. - -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: - -* +$(LIBFOO_PKGDIR)+ contains the path to the directory containing the - +libfoo.mk+ and +Config.in+ files. This variable is useful when it is - necessary to install a file bundled in Buildroot, like a runtime - configuration file, a splashscreen image... - -* +$(@D)+, which contains the directory in which the package source - code has been uncompressed. - -* +$(LIBFOO_DL_DIR)+ contains the path to the directory where all the downloads - made by Buildroot for +libfoo+ are stored in. - -* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target - cross-compilation utilities - -* +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix - -* Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+ - variables to install the packages properly. Those variables point to - the global _host_, _staging_ and _target_ directories, unless - _per-package directory_ support is used, in which case they point to - the current package _host_, _staging_ and _target_ directories. In - both cases, it doesn't make any difference from the package point of - view: it should simply use +HOST_DIR+, +STAGING_DIR+ and - +TARGET_DIR+. See xref:top-level-parallel-build[] for more details - about _per-package directory_ support. - -Finally, you can also use hooks. See xref:hooks[] for more information. diff --git a/docs/manual/adding-packages-gettext.adoc b/docs/manual/adding-packages-gettext.adoc new file mode 100644 index 00000000000..739bed25d5e --- /dev/null +++ b/docs/manual/adding-packages-gettext.adoc @@ -0,0 +1,62 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Gettext integration and interaction with packages + +Many packages that support internationalization use the gettext +library. Dependencies for this library are fairly complicated and +therefore, deserve some explanation. + +The 'glibc' C library integrates a full-blown implementation of +'gettext', supporting translation. Native Language Support is +therefore built-in in 'glibc'. + +On the other hand, the 'uClibc' and 'musl' C libraries only provide a +stub implementation of the gettext functionality, which allows to +compile libraries and programs using gettext functions, but without +providing the translation capabilities of a full-blown gettext +implementation. With such C libraries, if real Native Language Support +is necessary, it can be provided by the +libintl+ library of the ++gettext+ package. + +Due to this, and in order to make sure that Native Language Support is +properly handled, packages in Buildroot that can use NLS support +should: + +. Ensure NLS support is enabled when +BR2_SYSTEM_ENABLE_NLS=y+. This + is done automatically for 'autotools' packages and therefore should + only be done for packages using other package infrastructures. + +. Add +$(TARGET_NLS_DEPENDENCIES)+ to the package + +_DEPENDENCIES+ variable. This addition should be done + unconditionally: the value of this variable is automatically + adjusted by the core infrastructure to contain the relevant list of + packages. If NLS support is disabled, this variable is empty. If + NLS support is enabled, this variable contains +host-gettext+ so + that tools needed to compile translation files are available on the + host. In addition, if 'uClibc' or 'musl' are used, this variable + also contains +gettext+ in order to get the full-blown 'gettext' + implementation. + +. If needed, add +$(TARGET_NLS_LIBS)+ to the linker flags, so that + the package gets linked with +libintl+. This is generally not + needed with 'autotools' packages as they usually detect + automatically that they should link with +libintl+. However, + packages using other build systems, or problematic autotools-based + packages may need this. +$(TARGET_NLS_LIBS)+ should be added + unconditionally to the linker flags, as the core automatically + makes it empty or defined to +-lintl+ depending on the + configuration. + +No changes should be made to the +Config.in+ file to support NLS. + +Finally, certain packages need some gettext utilities on the target, +such as the +gettext+ program itself, which allows to retrieve +translated strings, from the command line. In such a case, the package +should: + +* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file, + indicating in a comment above that it's a runtime dependency only. + +* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of + their +.mk+ file. diff --git a/docs/manual/adding-packages-gettext.txt b/docs/manual/adding-packages-gettext.txt deleted file mode 100644 index e9c6968e79c..00000000000 --- a/docs/manual/adding-packages-gettext.txt +++ /dev/null @@ -1,62 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Gettext integration and interaction with packages - -Many packages that support internationalization use the gettext -library. Dependencies for this library are fairly complicated and -therefore, deserve some explanation. - -The 'glibc' C library integrates a full-blown implementation of -'gettext', supporting translation. Native Language Support is -therefore built-in in 'glibc'. - -On the other hand, the 'uClibc' and 'musl' C libraries only provide a -stub implementation of the gettext functionality, which allows to -compile libraries and programs using gettext functions, but without -providing the translation capabilities of a full-blown gettext -implementation. With such C libraries, if real Native Language Support -is necessary, it can be provided by the +libintl+ library of the -+gettext+ package. - -Due to this, and in order to make sure that Native Language Support is -properly handled, packages in Buildroot that can use NLS support -should: - -1. Ensure NLS support is enabled when +BR2_SYSTEM_ENABLE_NLS=y+. This - is done automatically for 'autotools' packages and therefore should - only be done for packages using other package infrastructures. - -1. Add +$(TARGET_NLS_DEPENDENCIES)+ to the package - +_DEPENDENCIES+ variable. This addition should be done - unconditionally: the value of this variable is automatically - adjusted by the core infrastructure to contain the relevant list of - packages. If NLS support is disabled, this variable is empty. If - NLS support is enabled, this variable contains +host-gettext+ so - that tools needed to compile translation files are available on the - host. In addition, if 'uClibc' or 'musl' are used, this variable - also contains +gettext+ in order to get the full-blown 'gettext' - implementation. - -1. If needed, add +$(TARGET_NLS_LIBS)+ to the linker flags, so that - the package gets linked with +libintl+. This is generally not - needed with 'autotools' packages as they usually detect - automatically that they should link with +libintl+. However, - packages using other build systems, or problematic autotools-based - packages may need this. +$(TARGET_NLS_LIBS)+ should be added - unconditionally to the linker flags, as the core automatically - makes it empty or defined to +-lintl+ depending on the - configuration. - -No changes should be made to the +Config.in+ file to support NLS. - -Finally, certain packages need some gettext utilities on the target, -such as the +gettext+ program itself, which allows to retrieve -translated strings, from the command line. In such a case, the package -should: - -* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file, - indicating in a comment above that it's a runtime dependency only. - -* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of - their +.mk+ file. diff --git a/docs/manual/adding-packages-golang.txt b/docs/manual/adding-packages-golang.adoc similarity index 100% rename from docs/manual/adding-packages-golang.txt rename to docs/manual/adding-packages-golang.adoc diff --git a/docs/manual/adding-packages-hooks.txt b/docs/manual/adding-packages-hooks.adoc similarity index 100% rename from docs/manual/adding-packages-hooks.txt rename to docs/manual/adding-packages-hooks.adoc diff --git a/docs/manual/adding-packages-kconfig.txt b/docs/manual/adding-packages-kconfig.adoc similarity index 100% rename from docs/manual/adding-packages-kconfig.txt rename to docs/manual/adding-packages-kconfig.adoc diff --git a/docs/manual/adding-packages-kernel-module.txt b/docs/manual/adding-packages-kernel-module.adoc similarity index 100% rename from docs/manual/adding-packages-kernel-module.txt rename to docs/manual/adding-packages-kernel-module.adoc diff --git a/docs/manual/adding-packages-linux-kernel-spec-infra.txt b/docs/manual/adding-packages-linux-kernel-spec-infra.adoc similarity index 100% rename from docs/manual/adding-packages-linux-kernel-spec-infra.txt rename to docs/manual/adding-packages-linux-kernel-spec-infra.adoc diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.adoc similarity index 100% rename from docs/manual/adding-packages-luarocks.txt rename to docs/manual/adding-packages-luarocks.adoc diff --git a/docs/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.adoc similarity index 100% rename from docs/manual/adding-packages-meson.txt rename to docs/manual/adding-packages-meson.adoc diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.adoc similarity index 100% rename from docs/manual/adding-packages-perl.txt rename to docs/manual/adding-packages-perl.adoc diff --git a/docs/manual/adding-packages-python.adoc b/docs/manual/adding-packages-python.adoc new file mode 100644 index 00000000000..67f2f6081d7 --- /dev/null +++ b/docs/manual/adding-packages-python.adoc @@ -0,0 +1,247 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Python packages + +This infrastructure applies to Python packages that use the standard +Python setuptools, pep517, flit or maturin mechanisms as their build +system, generally recognizable by the usage of a +setup.py+ script or ++pyproject.toml+ file. + +[[python-package-tutorial]] + +==== +python-package+ tutorial + +First, let's see how to write a +.mk+ file for a Python package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # python-foo +04: # +05: ################################################################################ +06: +07: PYTHON_FOO_VERSION = 1.0 +08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz +09: PYTHON_FOO_SITE = http://www.foosoftware.org/download +10: PYTHON_FOO_LICENSE = BSD-3-Clause +11: PYTHON_FOO_LICENSE_FILES = LICENSE +12: PYTHON_FOO_ENV = SOME_VAR=1 +13: PYTHON_FOO_DEPENDENCIES = libmad +14: PYTHON_FOO_SETUP_TYPE = setuptools +15: +16: $(eval $(python-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8 and 9, we declare the name of the tarball (xz-ed tarball +recommended) and the location of the tarball on the Web. Buildroot +will automatically download the tarball from this location. + +On line 10 and 11, we give licensing details about the package (its +license on line 10, and the file containing the license text on line +11). + +On line 12, we tell Buildroot to pass custom options to the Python ++setup.py+ script when it is configuring the package. + +On line 13, we declare our dependencies, so that they are built +before the build process of our package starts. + +On line 14, we declare the specific Python build system being used. In +this case the +setuptools+ Python build system is used. The five +supported ones are +flit+, +pep517+, +setuptools+, +setuptools-rust+ +and +maturin+. + +Finally, on line 16, we invoke the +python-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +[[python-package-reference]] + +==== +python-package+ reference + +As a policy, packages that merely provide Python modules should all be +named +python-+ in Buildroot. Other packages that use the +Python build system, but are not Python modules, can freely choose +their name (existing examples in Buildroot are +scons+ and ++supervisor+). + +The main macro of the Python package infrastructure is ++python-package+. It is similar to the +generic-package+ macro. It is +also possible to create Python host packages with the ++host-python-package+ macro. + +Just like the generic infrastructure, the Python infrastructure works +by defining a number of variables before calling the +python-package+ +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. + +Note that: + + * It is not necessary to add +python+ or +host-python+ in the + +PYTHON_FOO_DEPENDENCIES+ variable of a package, since these basic + dependencies are automatically added as needed by the Python + package infrastructure. + + * Similarly, it is not needed to add +host-python-setuptools+ to + +PYTHON_FOO_DEPENDENCIES+ for setuptools-based packages, since it's + automatically added by the Python infrastructure as needed. + +One variable specific to the Python infrastructure is mandatory: + +* +PYTHON_FOO_SETUP_TYPE+, to define which Python build system is used + by the package. The five supported values are +flit+, +pep517+ and + +setuptools+, +setuptools-rust+ and +maturin+. If you don't know + which one is used in your package, look at the +setup.py+ or + +pyproject.toml+ file in your package source code, and see whether + it imports things from the +flit+ module or the +setuptools+ + module. If the package is using a +pyproject.toml+ file without any + build-system requires and with a local in-tree backend-path one + should use +pep517+. + +A few additional variables, specific to the Python infrastructure, can +optionally be defined, depending on the package's needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + +* +PYTHON_FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main +setup.py+ or +pyproject.toml+ file. + This is useful, if for example, the main +setup.py+ or +pyproject.toml+ + file is not at the root of the tree extracted by the tarball. If + +HOST_PYTHON_FOO_SUBDIR+ is not specified, it defaults to + +PYTHON_FOO_SUBDIR+. + +* +PYTHON_FOO_ENV+, to specify additional environment variables to + pass to the Python +setup.py+ script (for setuptools packages) or + the +support/scripts/pyinstaller.py+ script (for flit/pep517 + packages) for both the build and install steps. Note that the + infrastructure is automatically passing several standard variables, + defined in +PKG_PYTHON_SETUPTOOLS_ENV+ (for setuptools target + packages), +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ (for setuptools host + packages), +PKG_PYTHON_PEP517_ENV+ (for flit/pep517 target packages) + and +HOST_PKG_PYTHON_PEP517_ENV+ (for flit/pep517 host packages). + +* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to + the Python +setup.py+ script during the build step, this generally + only makes sense to use for setuptools based packages as flit/pep517 + based packages do not pass these options to a +setup.py+ script but + instead pass them to +support/scripts/pyinstaller.py+. + +* +PYTHON_FOO_INSTALL_TARGET_OPTS+, +PYTHON_FOO_INSTALL_STAGING_OPTS+, + +HOST_PYTHON_FOO_INSTALL_OPTS+ to specify additional options to pass + to the Python +setup.py+ script (for setuptools packages) or + +support/scripts/pyinstaller.py+ (for flit/pep517 packages) during + the target installation step, the staging installation step or the + host installation, respectively. + +With the Python infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Python-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the Python + infrastructure is used, if the package +.mk+ file defines its own + +PYTHON_FOO_BUILD_CMDS+ variable, it will be used instead of the + default Python one. However, using this method should be restricted + to very specific cases. Do not use it in the general case. + +[[scanpypi]] + +==== Generating a +python-package+ from a PyPI repository + +If the Python package for which you would like to create a Buildroot +package is available on PyPI, you may want to use the +scanpypi+ tool +located in +utils/+ to automate the process. + +You can find the list of existing PyPI packages +https://pypi.python.org[here]. + ++scanpypi+ requires Python's +setuptools+ package to be installed on +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. + +Find the +external python modules+ menu and insert your package inside. +Keep in mind that the items inside a menu should be in alphabetical order. + +Please keep in mind that you'll most likely have to manually check the +package for any mistakes as there are things that cannot be guessed by +the generator (e.g. dependencies on any of the python core modules +such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the +license and license files are guessed and must be checked. You also +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]] + +==== +python-package+ CFFI backend + +C Foreign Function Interface for Python (CFFI) provides a convenient +and reliable way to call compiled C code from Python using interface +declarations written in C. Python packages relying on this backend can +be identified by the appearance of a +cffi+ dependency in the ++install_requires+ field of their +setup.py+ file. + +Such a package should: + + * add +python-cffi+ as a runtime dependency in order to install the +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 +# +################################################################################ + +... + +PYTHON_FOO_DEPENDENCIES = host-python-cffi + +$(eval $(python-package)) +------------------------ diff --git a/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.txt deleted file mode 100644 index 500967f235a..00000000000 --- a/docs/manual/adding-packages-python.txt +++ /dev/null @@ -1,259 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Infrastructure for Python packages - -This infrastructure applies to Python packages that use the standard -Python setuptools or pep517 mechanisms as their build system, generally -recognizable by the usage of a +setup.py+ script or +pyproject.toml+ -file. - -[[python-package-tutorial]] - -==== +python-package+ tutorial - -First, let's see how to write a +.mk+ file for a Python package, -with an example : - ------------------------- -01: ################################################################################ -02: # -03: # python-foo -04: # -05: ################################################################################ -06: -07: PYTHON_FOO_VERSION = 1.0 -08: PYTHON_FOO_SOURCE = python-foo-$(PYTHON_FOO_VERSION).tar.xz -09: PYTHON_FOO_SITE = http://www.foosoftware.org/download -10: PYTHON_FOO_LICENSE = BSD-3-Clause -11: PYTHON_FOO_LICENSE_FILES = LICENSE -12: PYTHON_FOO_ENV = SOME_VAR=1 -13: PYTHON_FOO_DEPENDENCIES = libmad -14: PYTHON_FOO_SETUP_TYPE = distutils -15: -16: $(eval $(python-package)) ------------------------- - -On line 7, we declare the version of the package. - -On line 8 and 9, we declare the name of the tarball (xz-ed tarball -recommended) and the location of the tarball on the Web. Buildroot -will automatically download the tarball from this location. - -On line 10 and 11, we give licensing details about the package (its -license on line 10, and the file containing the license text on line -11). - -On line 12, we tell Buildroot to pass custom options to the Python -+setup.py+ script when it is configuring the package. - -On line 13, we declare our dependencies, so that they are built -before the build process of our package starts. - -On line 14, we declare the specific Python build system being used. In -this case the +distutils+ Python build system is used. The four -supported ones are +distutils+, +flit+, +pep517+ and +setuptools+. - -Finally, on line 16, we invoke the +python-package+ macro that -generates all the Makefile rules that actually allow the package to be -built. - -[[python-package-reference]] - -==== +python-package+ reference - -As a policy, packages that merely provide Python modules should all be -named +python-+ in Buildroot. Other packages that use the -Python build system, but are not Python modules, can freely choose -their name (existing examples in Buildroot are +scons+ and -+supervisor+). - -The main macro of the Python package infrastructure is -+python-package+. It is similar to the +generic-package+ macro. It is -also possible to create Python host packages with the -+host-python-package+ macro. - -Just like the generic infrastructure, the Python infrastructure works -by defining a number of variables before calling the +python-package+ -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. - -Note that: - - * It is not necessary to add +python+ or +host-python+ in the - +PYTHON_FOO_DEPENDENCIES+ variable of a package, since these basic - dependencies are automatically added as needed by the Python - package infrastructure. - - * Similarly, it is not needed to add +host-setuptools+ to - +PYTHON_FOO_DEPENDENCIES+ for setuptools-based packages, since it's - automatically added by the Python infrastructure as needed. - -One variable specific to the Python infrastructure is mandatory: - -* +PYTHON_FOO_SETUP_TYPE+, to define which Python build system is used - by the package. The four supported values are +distutils+, +flit+, - +pep517+ and +setuptools+. If you don't know which one is used in - your package, look at the +setup.py+ or +pyproject.toml+ file in your - package source code, and see whether it imports things from the - +distutils+, +flit+ module or the +setuptools+ module. If the package - is using a +pyproject.toml+ file without any build-system requires - and with a local in-tree backend-path one should use +pep517+. - -A few additional variables, specific to the Python infrastructure, can -optionally be defined, depending on the package's needs. Many of them -are only useful in very specific cases, typical packages will -therefore only use a few of them, or none. - -* +PYTHON_FOO_SUBDIR+ may contain the name of a subdirectory inside the - package that contains the main +setup.py+ or +pyproject.toml+ file. - This is useful, if for example, the main +setup.py+ or +pyproject.toml+ - file is not at the root of the tree extracted by the tarball. If - +HOST_PYTHON_FOO_SUBDIR+ is not specified, it defaults to - +PYTHON_FOO_SUBDIR+. - -* +PYTHON_FOO_ENV+, to specify additional environment variables to - pass to the Python +setup.py+ script (for distutils/setuptools - packages) or the +support/scripts/pyinstaller.py+ script (for - flit/pep517 packages) for both the build and install steps. Note - that the infrastructure is automatically passing several standard - variables, defined in +PKG_PYTHON_DISTUTILS_ENV+ (for distutils - target packages), +HOST_PKG_PYTHON_DISTUTILS_ENV+ (for distutils - host packages), +PKG_PYTHON_SETUPTOOLS_ENV+ (for setuptools target - packages), +HOST_PKG_PYTHON_SETUPTOOLS_ENV+ (for setuptools host - packages), +PKG_PYTHON_PEP517_ENV+ (for flit/pep517 target packages) - and +HOST_PKG_PYTHON_PEP517_ENV+ (for flit/pep517 host packages). - -* +PYTHON_FOO_BUILD_OPTS+, to specify additional options to pass to the - Python +setup.py+ script during the build step, this generally only - makes sense to use for distutils/setuptools based packages as - flit/pep517 based packages do not pass these options to a +setup.py+ - script but instead pass them to +support/scripts/pyinstaller.py+. - For target distutils packages, the +PKG_PYTHON_DISTUTILS_BUILD_OPTS+ - options are already passed automatically by the infrastructure. - -* +PYTHON_FOO_INSTALL_TARGET_OPTS+, +PYTHON_FOO_INSTALL_STAGING_OPTS+, - +HOST_PYTHON_FOO_INSTALL_OPTS+ to specify additional options to pass - to the Python +setup.py+ script (for distutils/setuptools packages) - or +support/scripts/pyinstaller.py+ (for flit/pep517 packages) during - the target installation step, the staging installation step or the - host installation, respectively. Note that the infrastructure is - automatically passing some options, defined in - +PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS+ or - +PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS+ (for target distutils - packages), +HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS+ (for host - distutils packages), +PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS+ or - +PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS+ (for target setuptools - packages), +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS+ (for host - setuptools packages) and +PKG_PYTHON_PEP517_INSTALL_TARGET_OPTS+ or - +PKG_PYTHON_PEP517_INSTALL_STAGING_OPTS+ (for target flit/pep517 - packages). - -With the Python infrastructure, all the steps required to build and -install the packages are already defined, and they generally work well -for most Python-based packages. However, when required, it is still -possible to customize what is done in any particular step: - -* By adding a post-operation hook (after extract, patch, configure, - build or install). See xref:hooks[] for details. - -* By overriding one of the steps. For example, even if the Python - infrastructure is used, if the package +.mk+ file defines its own - +PYTHON_FOO_BUILD_CMDS+ variable, it will be used instead of the - default Python one. However, using this method should be restricted - to very specific cases. Do not use it in the general case. - -[[scanpypi]] - -==== Generating a +python-package+ from a PyPI repository - -If the Python package for which you would like to create a Buildroot -package is available on PyPI, you may want to use the +scanpypi+ tool -located in +utils/+ to automate the process. - -You can find the list of existing PyPI packages -https://pypi.python.org[here]. - -+scanpypi+ requires Python's +setuptools+ package to be installed on -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. - -Find the +external python modules+ menu and insert your package inside. -Keep in mind that the items inside a menu should be in alphabetical order. - -Please keep in mind that you'll most likely have to manually check the -package for any mistakes as there are things that cannot be guessed by -the generator (e.g. dependencies on any of the python core modules -such as BR2_PACKAGE_PYTHON_ZLIB). Also, please take note that the -license and license files are guessed and must be checked. You also -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]] - -==== +python-package+ CFFI backend - -C Foreign Function Interface for Python (CFFI) provides a convenient -and reliable way to call compiled C code from Python using interface -declarations written in C. Python packages relying on this backend can -be identified by the appearance of a +cffi+ dependency in the -+install_requires+ field of their +setup.py+ file. - -Such a package should: - - * add +python-cffi+ as a runtime dependency in order to install the -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 -# -################################################################################ - -... - -PYTHON_FOO_DEPENDENCIES = host-python-cffi - -$(eval $(python-package)) ------------------------- diff --git a/docs/manual/adding-packages-qmake.txt b/docs/manual/adding-packages-qmake.adoc similarity index 100% rename from docs/manual/adding-packages-qmake.txt rename to docs/manual/adding-packages-qmake.adoc diff --git a/docs/manual/adding-packages-rebar.txt b/docs/manual/adding-packages-rebar.adoc similarity index 100% rename from docs/manual/adding-packages-rebar.txt rename to docs/manual/adding-packages-rebar.adoc diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.adoc similarity index 100% rename from docs/manual/adding-packages-tips.txt rename to docs/manual/adding-packages-tips.adoc diff --git a/docs/manual/adding-packages-virtual.txt b/docs/manual/adding-packages-virtual.adoc similarity index 100% rename from docs/manual/adding-packages-virtual.txt rename to docs/manual/adding-packages-virtual.adoc diff --git a/docs/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.adoc similarity index 100% rename from docs/manual/adding-packages-waf.txt rename to docs/manual/adding-packages-waf.adoc diff --git a/docs/manual/adding-packages.adoc b/docs/manual/adding-packages.adoc new file mode 100644 index 00000000000..10acae0b1af --- /dev/null +++ b/docs/manual/adding-packages.adoc @@ -0,0 +1,58 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[adding-packages]] +== Adding new packages to Buildroot + +This section covers how new packages (userspace libraries or +applications) can be integrated into Buildroot. It also shows how +existing packages are integrated, which is needed for fixing issues or +tuning their configuration. + +When you add a new package, be sure to test it in various conditions +(see xref:testing-package[]) and also check it for coding style (see +xref:check-package[]). + +include::adding-packages-directory.adoc[] + +include::adding-packages-generic.adoc[] + +include::adding-packages-autotools.adoc[] + +include::adding-packages-cmake.adoc[] + +include::adding-packages-python.adoc[] + +include::adding-packages-luarocks.adoc[] + +include::adding-packages-perl.adoc[] + +include::adding-packages-virtual.adoc[] + +include::adding-packages-kconfig.adoc[] + +include::adding-packages-rebar.adoc[] + +include::adding-packages-waf.adoc[] + +include::adding-packages-meson.adoc[] + +include::adding-packages-cargo.adoc[] + +include::adding-packages-golang.adoc[] + +include::adding-packages-qmake.adoc[] + +include::adding-packages-kernel-module.adoc[] + +include::adding-packages-asciidoc.adoc[] + +include::adding-packages-linux-kernel-spec-infra.adoc[] + +include::adding-packages-hooks.adoc[] + +include::adding-packages-gettext.adoc[] + +include::adding-packages-tips.adoc[] + +include::adding-packages-conclusion.adoc[] diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt deleted file mode 100644 index 814355cd76b..00000000000 --- a/docs/manual/adding-packages.txt +++ /dev/null @@ -1,58 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[adding-packages]] -== Adding new packages to Buildroot - -This section covers how new packages (userspace libraries or -applications) can be integrated into Buildroot. It also shows how -existing packages are integrated, which is needed for fixing issues or -tuning their configuration. - -When you add a new package, be sure to test it in various conditions -(see xref:testing-package[]) and also check it for coding style (see -xref:check-package[]). - -include::adding-packages-directory.txt[] - -include::adding-packages-generic.txt[] - -include::adding-packages-autotools.txt[] - -include::adding-packages-cmake.txt[] - -include::adding-packages-python.txt[] - -include::adding-packages-luarocks.txt[] - -include::adding-packages-perl.txt[] - -include::adding-packages-virtual.txt[] - -include::adding-packages-kconfig.txt[] - -include::adding-packages-rebar.txt[] - -include::adding-packages-waf.txt[] - -include::adding-packages-meson.txt[] - -include::adding-packages-cargo.txt[] - -include::adding-packages-golang.txt[] - -include::adding-packages-qmake.txt[] - -include::adding-packages-kernel-module.txt[] - -include::adding-packages-asciidoc.txt[] - -include::adding-packages-linux-kernel-spec-infra.txt[] - -include::adding-packages-hooks.txt[] - -include::adding-packages-gettext.txt[] - -include::adding-packages-tips.txt[] - -include::adding-packages-conclusion.txt[] diff --git a/docs/manual/advanced.adoc b/docs/manual/advanced.adoc new file mode 100644 index 00000000000..7f650e66892 --- /dev/null +++ b/docs/manual/advanced.adoc @@ -0,0 +1,16 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Advanced usage + +include::using-buildroot-toolchain.adoc[] + +include::using-buildroot-debugger.adoc[] + +include::ccache-support.adoc[] + +include::download-location.adoc[] + +include::package-make-target.adoc[] + +include::using-buildroot-development.adoc[] diff --git a/docs/manual/advanced.txt b/docs/manual/advanced.txt deleted file mode 100644 index b7bfc4923de..00000000000 --- a/docs/manual/advanced.txt +++ /dev/null @@ -1,16 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Advanced usage - -include::using-buildroot-toolchain.txt[] - -include::using-buildroot-debugger.txt[] - -include::ccache-support.txt[] - -include::download-location.txt[] - -include::package-make-target.txt[] - -include::using-buildroot-development.txt[] diff --git a/docs/manual/appendix.adoc b/docs/manual/appendix.adoc new file mode 100644 index 00000000000..4eece71672c --- /dev/null +++ b/docs/manual/appendix.adoc @@ -0,0 +1,6 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +include::makedev-syntax.adoc[] +include::makeusers-syntax.adoc[] +include::migrating.adoc[] diff --git a/docs/manual/appendix.txt b/docs/manual/appendix.txt deleted file mode 100644 index 86afa4bdaa6..00000000000 --- a/docs/manual/appendix.txt +++ /dev/null @@ -1,6 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -include::makedev-syntax.txt[] -include::makeusers-syntax.txt[] -include::migrating.txt[] diff --git a/docs/manual/beyond-buildroot.txt b/docs/manual/beyond-buildroot.adoc similarity index 100% rename from docs/manual/beyond-buildroot.txt rename to docs/manual/beyond-buildroot.adoc diff --git a/docs/manual/ccache-support.txt b/docs/manual/ccache-support.adoc similarity index 100% rename from docs/manual/ccache-support.txt rename to docs/manual/ccache-support.adoc diff --git a/docs/manual/common-usage.adoc b/docs/manual/common-usage.adoc new file mode 100644 index 00000000000..e0ab1a9f660 --- /dev/null +++ b/docs/manual/common-usage.adoc @@ -0,0 +1,420 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== General Buildroot usage + +include::make-tips.adoc[] + +include::rebuilding-packages.adoc[] + +=== Offline builds + +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. + +=== Building out-of-tree + +As default, everything built by Buildroot is stored in the directory ++output+ in the Buildroot tree. + +Buildroot also supports building out of tree with a syntax similar to +the Linux kernel. To use it, add +O=+ 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. + +*Note:* the +O+ path can be either an absolute or a relative path, but if it's +passed as a relative path, it is important to note that it is interpreted +relative to the main Buildroot source directory, *not* the current working +directory. + +When using out-of-tree builds, the Buildroot +.config+ and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories. + +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 +-------------------- + +[[env-vars]] + +=== Environment variables + +Buildroot also honors some environment variables, when they are passed +to +make+ or set in the environment: + +* +HOSTCXX+, the host C++ compiler to use +* +HOSTCC+, the host C compiler to use +* +UCLIBC_CONFIG_FILE=+, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built. + + + Note that the uClibc configuration file can also be set from the + configuration interface, so through the Buildroot +.config+ file; this + is the recommended way of setting it. + + +* +BUSYBOX_CONFIG_FILE=+, path to + the BusyBox configuration file. + + + Note that the BusyBox configuration file can also be set from the + configuration interface, so through the Buildroot +.config+ file; this + is the recommended way of setting it. + + +* +BR2_CCACHE_DIR+ to override the directory where + Buildroot stores the cached files when using ccache. + + +* +BR2_DL_DIR+ to override the directory in which + Buildroot stores/retrieves downloaded files. + + + Note that the Buildroot download directory can also be set from the + configuration interface, so through the Buildroot +.config+ file. See + xref:download-location[] for more details on how you can set the download + directory. +* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in + build-time graphs +* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the + default), or +png+. +* +BR2_GRAPH_DEPS_OPTS+ to pass extra options to the dependency graph; see + xref:graph-depends[] for the accepted options +* +BR2_GRAPH_DOT_OPTS+ is passed verbatim as options to the +dot+ utility to + draw the dependency graph. +* +BR2_GRAPH_SIZE_OPTS+ to pass extra options to the size graph; see + xref:graph-size[] for the acepted options + +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 + +Filesystem images can get pretty big, depending on the filesystem you choose, +the number of packages, whether you provisioned free space... Yet, some +locations in the filesystems images may just be _empty_ (e.g. a long run of +'zeroes'); such a file is called a _sparse_ file. + +Most tools can handle sparse files efficiently, and will only store or write +those parts of a sparse file that are not empty. + +For example: + +* +tar+ accepts the +-S+ option to tell it to only store non-zero blocks + of sparse files: +** +tar cf archive.tar -S [files...]+ will efficiently store sparse files + in a tarball +** +tar xf archive.tar -S+ will efficiently store sparse files extracted + from a tarball + +* +cp+ accepts the +--sparse=WHEN+ option (+WHEN+ is one of +auto+, + +never+ or +always+): +** +cp --sparse=always source.file dest.file+ will make +dest.file+ a + sparse file if +source.file+ has long runs of zeroes + +Other tools may have similar options. Please consult their respective man +pages. + +You can use sparse files if you need to store the filesystem images (e.g. +to transfer from one machine to another), or if you need to send them (e.g. +to the Q&A team). + +Note however that flashing a filesystem image to a device while using the +sparse mode of +dd+ may result in a broken filesystem (e.g. the block bitmap +of an ext2 filesystem may be corrupted; or, if you have sparse files in +your filesystem, those parts may not be all-zeroes when read back). You +should only use sparse files when handling files on the build machine, not +when transferring them to an actual device that will be used on the target. + +=== Details about packages + +[[package-details]] + +Buildroot can produce a JSON blurb that describes the set of enabled +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 +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 + +[[graph-depends]] + +One of Buildroot's jobs is to know the dependencies between packages, +and make sure they are built in the right order. These dependencies +can sometimes be quite complicated, and for a given system, it is +often not easy to understand why such or such package was brought into +the build by Buildroot. + +In order to help understanding the dependencies, and therefore better +understand what is the role of the different components in your +embedded Linux system, Buildroot is capable of generating dependency +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+. + +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 -graph-depends +------------------------ + +You will find the generated graph in ++output/graph/-graph-depends.pdf+. + +Note that the dependency graphs are generated using the +dot+ tool +from the _Graphviz_ project, which you must have installed on your +system to use this feature. In most distributions, it is available as +the +graphviz+ package. + +By default, the dependency graphs are generated in the PDF +format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you +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: + +* +--depth N+, +-d N+, to limit the dependency depth to +N+ levels. The + default, +0+, means no limit. + +* +--stop-on PKG+, +-s PKG+, to stop the graph on the package +PKG+. + +PKG+ can be an actual package name, a glob, the keyword 'virtual' + (to stop on virtual packages), or the keyword 'host' (to stop on + host packages). The package is still present on the graph, but its + dependencies are not. + +* +--exclude PKG+, +-x PKG+, like +--stop-on+, but also omits +PKG+ from + the graph. + +* +--transitive+, +--no-transitive+, to draw (or not) the transitive + dependencies. The default is to not draw transitive dependencies. + +* +--colors R,T,H+, the comma-separated list of colors to draw 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 + +[[graph-duration]] + +When the build of a system takes a long time, it is sometimes useful +to be able to understand which packages are the longest to build, to +see if anything can be done to speed up the build. In order to help +such build time analysis, Buildroot collects the build time of each +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+ : + +* +build.hist-build.pdf+, a histogram of the build time for each + package, ordered in the build order. + +* +build.hist-duration.pdf+, a histogram of the build time for each + package, ordered by duration (longest first) + +* +build.hist-name.pdf+, a histogram of the build time for each + package, order by package name. + +* +build.pie-packages.pdf+, a pie chart of the build time per package + +* +build.pie-steps.pdf+, a pie chart of the global time spent in each + step of the packages build process. + +This +graph-build+ target requires the Python Matplotlib and Numpy +libraries to be installed (+python-matplotlib+ and +python-numpy+ on +most distributions), and also the +argparse+ module if you're using a +Python version older than 2.7 (+python-argparse+ on most +distributions). + +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 + +When your target system grows, it is sometimes useful to understand +how much each Buildroot package is contributing to the overall root +filesystem size. To help with such an analysis, Buildroot collects +data about files installed by each package and using this data, +generates a graph and CSV files detailing the size contribution of +the different packages. + +To generate these data after a build, run: + +---------------- +make graph-size +---------------- + +This will generate: + +* +output/graphs/graph-size.pdf+, a pie chart of the contribution of + each package to the overall root filesystem size + +* +output/graphs/package-size-stats.csv+, a CSV file giving the size + contribution of each package to the overall root filesystem size + +* +output/graphs/file-size-stats.csv+, a CSV file giving the size + contribution of each installed file to the package it belongs, and + to the overall filesystem size. + +This +graph-size+ target requires the Python Matplotlib library to be +installed (+python-matplotlib+ on most distributions), and also the ++argparse+ module if you're using a Python version older than 2.7 +(+python-argparse+ on most distributions). + +Just like for the duration graph, a +BR2_GRAPH_OUT+ environment variable +is supported to adjust the output file format. See xref:graph-depends[] +for details about this environment variable. + +Additionally, one may set the environment variable +BR2_GRAPH_SIZE_OPTS+ +to further control the generated graph. Accepted options are: + +* `--size-limit X`, `-l X`, will group all packages which individual + contribution is below `X` percent, to a single entry labelled _Others_ + in the graph. By default, `X=0.01`, which means packages each + contributing less than 1% are grouped under _Others_. Accepted values + are in the range `[0.0..1.0]`. + +* `--iec`, `--binary`, `--si`, `--decimal`, to use IEC (binary, powers + of 1024) or SI (decimal, powers of 1000; the default) prefixes. + +* `--biggest-first`, to sort packages in decreasing size order, rather + than in increasing size order. + +.Note +The collected filesystem size data is only meaningful after a complete +clean rebuild. Be sure to run +make clean all+ before using +make +graph-size+. + +To compare the root filesystem size of two different Buildroot compilations, +for example after adjusting the configuration or when switching to another +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 + +.Note +This section deals with a very experimental feature, which is known to +break even in some non-unusual situations. Use at your own risk. + +Buildroot has always been capable of using parallel build on a per +package basis: each package is built by Buildroot using +make -jN+ (or +the equivalent invocation for non-make-based build systems). The level +of parallelism is by default number of CPUs + 1, but it can be +adjusted using the +BR2_JLEVEL+ configuration option. + +Until 2020.02, Buildroot was however building packages in a serial +fashion: each package was built one after the other, without +parallelization of the build between packages. As of 2020.02, +Buildroot has experimental support for *top-level parallel build*, +which allows some signicant build time savings by building packages +that have no dependency relationship in parallel. This feature is +however marked as experimental and is known not to work in some cases. + +In order to use top-level parallel build, one must: + +. Enable the option +BR2_PER_PACKAGE_DIRECTORIES+ in the Buildroot +configuration + +. Use +make -jN+ when starting the Buildroot build + +Internally, the +BR2_PER_PACKAGE_DIRECTORIES+ will enable a mechanism +called *per-package directories*, which will have the following +effects: + +* Instead of a global _target_ directory and a global _host_ directory + common to all packages, per-package _target_ and _host_ directories + will be used, in +$(O)/per-package//target/+ and + +$(O)/per-package//host/+ respectively. Those folders will be + populated from the corresponding folders of the package dependencies + at the beginning of ++ build. The compiler and all other tools + will therefore only be able to see and access files installed by + dependencies explicitly listed by ++. + +* At the end of the build, the global _target_ and _host_ directories + will be populated, located in +$(O)/target+ and +$(O)/host+ + respectively. This means that during the build, those folders will + be empty and it's only at the very end of the build that they will + be populated. + +include::advanced.adoc[] diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt deleted file mode 100644 index 9abd3799ddb..00000000000 --- a/docs/manual/common-usage.txt +++ /dev/null @@ -1,420 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== General Buildroot usage - -include::make-tips.txt[] - -include::rebuilding-packages.txt[] - -=== Offline builds - -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. - -=== Building out-of-tree - -As default, everything built by Buildroot is stored in the directory -+output+ in the Buildroot tree. - -Buildroot also supports building out of tree with a syntax similar to -the Linux kernel. To use it, add +O=+ to the make command -line: - --------------------- - $ make O=/tmp/build --------------------- - -Or: - --------------------- - $ cd /tmp/build; make O=$PWD -C path/to/buildroot --------------------- - -All the output files will be located under +/tmp/build+. If the +O+ -path does not exist, Buildroot will create it. - -*Note:* the +O+ path can be either an absolute or a relative path, but if it's -passed as a relative path, it is important to note that it is interpreted -relative to the main Buildroot source directory, *not* the current working -directory. - -When using out-of-tree builds, the Buildroot +.config+ and temporary -files are also stored in the output directory. This means that you can -safely run multiple builds in parallel using the same source tree as -long as they use unique output directories. - -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 --------------------- - -[[env-vars]] - -=== Environment variables - -Buildroot also honors some environment variables, when they are passed -to +make+ or set in the environment: - -* +HOSTCXX+, the host C++ compiler to use -* +HOSTCC+, the host C compiler to use -* +UCLIBC_CONFIG_FILE=+, path to - the uClibc configuration file, used to compile uClibc, if an - internal toolchain is being built. - + - Note that the uClibc configuration file can also be set from the - configuration interface, so through the Buildroot +.config+ file; this - is the recommended way of setting it. - + -* +BUSYBOX_CONFIG_FILE=+, path to - the BusyBox configuration file. - + - Note that the BusyBox configuration file can also be set from the - configuration interface, so through the Buildroot +.config+ file; this - is the recommended way of setting it. - + -* +BR2_CCACHE_DIR+ to override the directory where - Buildroot stores the cached files when using ccache. - + -* +BR2_DL_DIR+ to override the directory in which - Buildroot stores/retrieves downloaded files. - + - Note that the Buildroot download directory can also be set from the - configuration interface, so through the Buildroot +.config+ file. See - xref:download-location[] for more details on how you can set the download - directory. -* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in - build-time graphs -* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the - default), or +png+. -* +BR2_GRAPH_DEPS_OPTS+ to pass extra options to the dependency graph; see - xref:graph-depends[] for the accepted options -* +BR2_GRAPH_DOT_OPTS+ is passed verbatim as options to the +dot+ utility to - draw the dependency graph. -* +BR2_GRAPH_SIZE_OPTS+ to pass extra options to the size graph; see - xref:graph-size[] for the acepted options - -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 - -Filesystem images can get pretty big, depending on the filesystem you choose, -the number of packages, whether you provisioned free space... Yet, some -locations in the filesystems images may just be _empty_ (e.g. a long run of -'zeroes'); such a file is called a _sparse_ file. - -Most tools can handle sparse files efficiently, and will only store or write -those parts of a sparse file that are not empty. - -For example: - -* +tar+ accepts the +-S+ option to tell it to only store non-zero blocks - of sparse files: -** +tar cf archive.tar -S [files...]+ will efficiently store sparse files - in a tarball -** +tar xf archive.tar -S+ will efficiently store sparse files extracted - from a tarball - -* +cp+ accepts the +--sparse=WHEN+ option (+WHEN+ is one of +auto+, - +never+ or +always+): -** +cp --sparse=always source.file dest.file+ will make +dest.file+ a - sparse file if +source.file+ has long runs of zeroes - -Other tools may have similar options. Please consult their respective man -pages. - -You can use sparse files if you need to store the filesystem images (e.g. -to transfer from one machine to another), or if you need to send them (e.g. -to the Q&A team). - -Note however that flashing a filesystem image to a device while using the -sparse mode of +dd+ may result in a broken filesystem (e.g. the block bitmap -of an ext2 filesystem may be corrupted; or, if you have sparse files in -your filesystem, those parts may not be all-zeroes when read back). You -should only use sparse files when handling files on the build machine, not -when transferring them to an actual device that will be used on the target. - -=== Details about packages - -[[package-details]] - -Buildroot can produce a JSON blurb that describes the set of enabled -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 -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 - -[[graph-depends]] - -One of Buildroot's jobs is to know the dependencies between packages, -and make sure they are built in the right order. These dependencies -can sometimes be quite complicated, and for a given system, it is -often not easy to understand why such or such package was brought into -the build by Buildroot. - -In order to help understanding the dependencies, and therefore better -understand what is the role of the different components in your -embedded Linux system, Buildroot is capable of generating dependency -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+. - -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 -graph-depends ------------------------- - -You will find the generated graph in -+output/graph/-graph-depends.pdf+. - -Note that the dependency graphs are generated using the +dot+ tool -from the _Graphviz_ project, which you must have installed on your -system to use this feature. In most distributions, it is available as -the +graphviz+ package. - -By default, the dependency graphs are generated in the PDF -format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you -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: - -* +--depth N+, +-d N+, to limit the dependency depth to +N+ levels. The - default, +0+, means no limit. - -* +--stop-on PKG+, +-s PKG+, to stop the graph on the package +PKG+. - +PKG+ can be an actual package name, a glob, the keyword 'virtual' - (to stop on virtual packages), or the keyword 'host' (to stop on - host packages). The package is still present on the graph, but its - dependencies are not. - -* +--exclude PKG+, +-x PKG+, like +--stop-on+, but also omits +PKG+ from - the graph. - -* +--transitive+, +--no-transitive+, to draw (or not) the transitive - dependencies. The default is to not draw transitive dependencies. - -* +--colors R,T,H+, the comma-separated list of colors to draw 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 - -[[graph-duration]] - -When the build of a system takes a long time, it is sometimes useful -to be able to understand which packages are the longest to build, to -see if anything can be done to speed up the build. In order to help -such build time analysis, Buildroot collects the build time of each -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+ : - -* +build.hist-build.pdf+, a histogram of the build time for each - package, ordered in the build order. - -* +build.hist-duration.pdf+, a histogram of the build time for each - package, ordered by duration (longest first) - -* +build.hist-name.pdf+, a histogram of the build time for each - package, order by package name. - -* +build.pie-packages.pdf+, a pie chart of the build time per package - -* +build.pie-steps.pdf+, a pie chart of the global time spent in each - step of the packages build process. - -This +graph-build+ target requires the Python Matplotlib and Numpy -libraries to be installed (+python-matplotlib+ and +python-numpy+ on -most distributions), and also the +argparse+ module if you're using a -Python version older than 2.7 (+python-argparse+ on most -distributions). - -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 - -When your target system grows, it is sometimes useful to understand -how much each Buildroot package is contributing to the overall root -filesystem size. To help with such an analysis, Buildroot collects -data about files installed by each package and using this data, -generates a graph and CSV files detailing the size contribution of -the different packages. - -To generate these data after a build, run: - ----------------- -make graph-size ----------------- - -This will generate: - -* +output/graphs/graph-size.pdf+, a pie chart of the contribution of - each package to the overall root filesystem size - -* +output/graphs/package-size-stats.csv+, a CSV file giving the size - contribution of each package to the overall root filesystem size - -* +output/graphs/file-size-stats.csv+, a CSV file giving the size - contribution of each installed file to the package it belongs, and - to the overall filesystem size. - -This +graph-size+ target requires the Python Matplotlib library to be -installed (+python-matplotlib+ on most distributions), and also the -+argparse+ module if you're using a Python version older than 2.7 -(+python-argparse+ on most distributions). - -Just like for the duration graph, a +BR2_GRAPH_OUT+ environment variable -is supported to adjust the output file format. See xref:graph-depends[] -for details about this environment variable. - -Additionally, one may set the environment variable +BR2_GRAPH_SIZE_OPTS+ -to further control the generated graph. Accepted options are: - -* `--size-limit X`, `-l X`, will group all packages which individual - contribution is below `X` percent, to a single entry labelled _Others_ - in the graph. By default, `X=0.01`, which means packages each - contributing less than 1% are grouped under _Others_. Accepted values - are in the range `[0.0..1.0]`. - -* `--iec`, `--binary`, `--si`, `--decimal`, to use IEC (binary, powers - of 1024) or SI (decimal, powers of 1000; the default) prefixes. - -* `--biggest-first`, to sort packages in decreasing size order, rather - than in increasing size order. - -.Note -The collected filesystem size data is only meaningful after a complete -clean rebuild. Be sure to run +make clean all+ before using +make -graph-size+. - -To compare the root filesystem size of two different Buildroot compilations, -for example after adjusting the configuration or when switching to another -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 - -.Note -This section deals with a very experimental feature, which is known to -break even in some non-unusual situations. Use at your own risk. - -Buildroot has always been capable of using parallel build on a per -package basis: each package is built by Buildroot using +make -jN+ (or -the equivalent invocation for non-make-based build systems). The level -of parallelism is by default number of CPUs + 1, but it can be -adjusted using the +BR2_JLEVEL+ configuration option. - -Until 2020.02, Buildroot was however building packages in a serial -fashion: each package was built one after the other, without -parallelization of the build between packages. As of 2020.02, -Buildroot has experimental support for *top-level parallel build*, -which allows some signicant build time savings by building packages -that have no dependency relationship in parallel. This feature is -however marked as experimental and is known not to work in some cases. - -In order to use top-level parallel build, one must: - -. Enable the option +BR2_PER_PACKAGE_DIRECTORIES+ in the Buildroot -configuration - -. Use +make -jN+ when starting the Buildroot build - -Internally, the +BR2_PER_PACKAGE_DIRECTORIES+ will enable a mechanism -called *per-package directories*, which will have the following -effects: - -* Instead of a global _target_ directory and a global _host_ directory - common to all packages, per-package _target_ and _host_ directories - will be used, in +$(O)/per-package//target/+ and - +$(O)/per-package//host/+ respectively. Those folders will be - populated from the corresponding folders of the package dependencies - at the beginning of ++ build. The compiler and all other tools - will therefore only be able to see and access files installed by - dependencies explicitly listed by ++. - -* At the end of the build, the global _target_ and _host_ directories - will be populated, located in +$(O)/target+ and +$(O)/host+ - respectively. This means that during the build, those folders will - be empty and it's only at the very end of the build that they will - be populated. - -include::advanced.txt[] diff --git a/docs/manual/configure-other-components.txt b/docs/manual/configure-other-components.adoc similarity index 100% rename from docs/manual/configure-other-components.txt rename to docs/manual/configure-other-components.adoc diff --git a/docs/manual/configure.txt b/docs/manual/configure.adoc similarity index 100% rename from docs/manual/configure.txt rename to docs/manual/configure.adoc diff --git a/docs/manual/contribute.adoc b/docs/manual/contribute.adoc new file mode 100644 index 00000000000..6ff6c153147 --- /dev/null +++ b/docs/manual/contribute.adoc @@ -0,0 +1,748 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Contributing to Buildroot + +There are many ways in which you can contribute to Buildroot: analyzing +and fixing bugs, analyzing and fixing package build failures detected by +the autobuilders, testing and reviewing patches sent by other +developers, working on the items in our TODO list and sending your own +improvements to Buildroot or its manual. The following sections give a +little more detail on each of these items. + +If you are interested in contributing to Buildroot, the first thing you +should do is to subscribe to the Buildroot mailing list. This list is +the main way of interacting with other Buildroot developers and to send +contributions to. If you aren't subscribed yet, then refer to +xref:community-resources[] for the subscription link. + +If you are going to touch the code, it is highly recommended to use a +git repository of Buildroot, rather than starting from an extracted +source code tarball. Git is the easiest way to develop from and directly +send your patches to the mailing list. Refer to xref:getting-buildroot[] +for more information on obtaining a Buildroot git tree. + +=== Reproducing, analyzing and fixing bugs + +A first way of contributing is to have a look at the open bug reports in +the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot bug +tracker]. As we strive to keep the bug count as small as possible, all +help in reproducing, analyzing and fixing reported bugs is more than +welcome. Don't hesitate to add a comment to bug reports reporting your +findings, even if you don't yet see the full picture. + +=== Analyzing and fixing autobuild failures + +The Buildroot autobuilders are a set of build machines that continuously +run Buildroot builds based on random configurations. This is done for +all architectures supported by Buildroot, with various toolchains, and +with a random selection of packages. With the large commit activity on +Buildroot, these autobuilders are a great help in detecting problems +very early after commit. + +All build results are available at http://autobuild.buildroot.org[], +statistics are at http://autobuild.buildroot.org/stats.php[]. Every day, +an overview of all failed packages is sent to the mailing list. + +Detecting problems is great, but obviously these problems have to be +fixed as well. Your contribution is very welcome here! There are +basically two things that can be done: + +- Analyzing the problems. The daily summary mails do not contain details + about the actual failures: in order to see what's going on you have to + open the build log and check the last output. Having someone doing + this for all packages in the mail is very useful for other developers, + as they can make a quick initial analysis based on this output alone. + +- Fixing a problem. When fixing autobuild failures, you should follow + these steps: + . Check if you can reproduce the problem by building with the same + configuration. You can do this manually, or use the + http://git.buildroot.org/buildroot-test/tree/utils/br-reproduce-build[br-reproduce-build] + script that will automatically clone a Buildroot git repository, + checkout the correct revision, download and set the right + configuration, and start the build. + . Analyze the problem and create a fix. + . Verify that the problem is really fixed by starting from a clean + Buildroot tree and only applying your fix. + . Send the fix to the Buildroot mailing list (see + xref:submitting-patches[]). In case you created a patch against the + package sources, you should also send the patch upstream so that the + problem will be fixed in a later release, and the patch in Buildroot + 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 + +With the amount of patches sent to the mailing list each day, the +maintainer has a very hard job to judge which patches are ready to apply +and which ones aren't. Contributors can greatly help here by reviewing +and testing these patches. + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. Please use internet +style replies in plain text emails when responding to patch +submissions. + +To indicate approval of a patch, there are three formal tags that keep +track of this approval. To add your tag to a patch, reply to it with the +approval tag below the original author's Signed-off-by line. These tags +will be picked up automatically by patchwork (see +xref:apply-patches-patchwork[]) and will be part of the commit log when +the patch is accepted. + +Tested-by:: Indicates that the patch has been tested successfully. + You are encouraged to specify what kind of testing you performed + (compile-test on architecture X and Y, runtime test on target A, + ...). This additional information helps other testers and the + maintainer. + +Reviewed-by:: Indicates that you code-reviewed the patch and did your + best in spotting problems, but you are not sufficiently familiar with + the area touched to provide an Acked-by tag. This means that there + may be remaining problems in the patch that would be spotted by + someone with more experience in that area. Should such problems be + detected, your Reviewed-by tag remains appropriate and you cannot + be blamed. + +Acked-by:: Indicates that you code-reviewed the patch and you are + familiar enough with the area touched to feel that the patch can be + committed as-is (no additional changes required). In case it later + turns out that something is wrong with the patch, your Acked-by could + be considered inappropriate. The difference between Acked-by and + Reviewed-by is thus mainly that you are prepared to take the blame on + Acked patches, but not on Reviewed ones. + +If you reviewed a patch and have comments on it, you should simply reply +to the patch stating these comments, without providing a Reviewed-by or +Acked-by tag. These tags should only be provided if you judge the patch +to be good as it is. + +It is important to note that neither Reviewed-by nor Acked-by imply +that testing has been performed. To indicate that you both reviewed and +tested the patch, provide two separate tags (Reviewed/Acked-by and +Tested-by). + +Note also that _any developer_ can provide Tested/Reviewed/Acked-by +tags, without exception, and we encourage everyone to do this. Buildroot +does not have a defined group of _core_ developers, it just so happens +that some developers are more active than others. The maintainer will +value tags according to the track record of their submitter. Tags +provided by a regular contributor will naturally be trusted more than +tags provided by a newcomer. As you provide tags more regularly, your +'trustworthiness' (in the eyes of the maintainer) will go up, but _any_ +tag provided is valuable. + +Buildroot's Patchwork website can be used to pull in patches for testing +purposes. Please see xref:apply-patches-patchwork[] for more +information on using Buildroot's Patchwork website to apply patches. + +[[apply-patches-patchwork]] +==== Applying Patches from Patchwork + +The main use of Buildroot's Patchwork website for a developer is for +pulling in patches into their local git repository for testing +purposes. + +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 +$ wget -O - | 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 +interface. Once the bundle is created and the bundle is made public, +you can copy the +mbox+ link for the bundle and apply the bundle +using the above commands. + + +=== Work on items from the TODO list + +If you want to contribute to Buildroot but don't know where to start, +and you don't like any of the above topics, you can always work on items +from the http://elinux.org/Buildroot#Todo_list[Buildroot TODO list]. +Don't hesitate to discuss an item first on the mailing list or on IRC. +Do edit the wiki to indicate when you start working on an item, so we +avoid duplicate efforts. + +[[submitting-patches]] +=== Submitting patches + +[NOTE] +_Please, do not attach patches to bugs, send them to the mailing list +instead_. + +If you made some changes to Buildroot and you would like to contribute +them to the Buildroot project, proceed as follows. + +==== The formatting of a patch + +We expect patches to be formatted in a specific way. This is necessary +to make it easy to review patches, to be able to apply them easily to +the git repository, to make it easy to find back in the history how +and why things have changed, and to make it possible to use +git +bisect+ to locate the origin of a problem. + +First of all, it is essential that the patch has a good commit +message. The commit message should start with a separate line with a +brief summary of the change, prefixed by the area touched by the +patch. A few examples of good commit titles: + +* +package/linuxptp: bump version to 2.0+ + +* +configs/imx23evk: bump Linux version to 4.19+ + +* +package/pkg-generic: postpone evaluation of dependency conditions+ + +* +boot/uboot: needs host-{flex,bison}+ + +* +support/testing: add python-ubjson tests+ + +The description that follows the prefix should start with a lower case +letter (i.e "bump", "needs", "postpone", "add" in the above examples). + +Second, the body of the commit message should describe _why_ this +change is needed, and if necessary also give details about _how_ it +was done. When writing the commit message, think of how the reviewers +will read it, but also think about how you will read it when you look +at this change again a few years down the line. + +Third, the patch itself should do only one change, but do it +completely. Two unrelated or weakly related changes should usually be +done in two separate patches. This usually means that a patch affects +only a single package. If several changes are related, it is often +still possible to split them up in small patches and apply them in a +specific order. Small patches make it easier to review, and often +make it easier to understand afterwards why a change was done. +However, each patch must be complete. It is not allowed that the +build is broken when only the first but not the second patch is +applied. This is necessary to be able to use +git bisect+ afterwards. + +Of course, while you're doing your development, you're probably going +back and forth between packages, and certainly not committing things +immediately in a way that is clean enough for submission. So most +developers rewrite the history of commits to produce a clean set of +commits that is appropriate for submission. To do this, you need to +use _interactive rebasing_. You can learn about it +https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History[in the Pro +Git book]. Sometimes, it is even easier to discard you history with ++git reset --soft origin/master+ and select individual changes with ++git add -i+ or +git add -p+. + +Finally, the patch should be signed off. This is done by adding ++Signed-off-by: Your Real Name + at the end of the +commit message. +git commit -s+ does that for you, if configured +properly. The +Signed-off-by+ tag means that you publish the patch +under the Buildroot license (i.e. GPL-2.0+, except for package patches, +which have the upstream license), and that you are allowed to do so. +See http://developercertificate.org/[the Developer Certificate of +Origin] for details. + +To give credits to who sponsored the creation of a patch or the process of +upstreaming it, you may use +https://datatracker.ietf.org/doc/html/rfc5233[email subaddressing] for +your git identity (i.e. what is used as commit author and email +From:+ +field, as well as your Signed-off-by tag); add suffix to the local part, +separated from it by a plus `+` sign. E.g.: + +* for a company which sponsored the submitted work, use the company name + as the detail (suffix) part: ++ +`Your-Name Your-Surname ` + +* for an individual who sponsored the submitted work, use + their name and surname: ++ +`Your-Name Your-Surname ` + +When adding new packages, you should submit every package in a +separate patch. This patch should have the update to ++package/Config.in+, the package +Config.in+ file, the +.mk+ file, the ++.hash+ file, any init script, and all package patches. If the package +has many sub-options, these are sometimes better added as separate +follow-up patches. The summary line should be something like ++: new package+. The body of the commit message can be +empty for simple packages, or it can contain the description of the +package (like the Config.in help text). If anything special has to be +done to build the package, this should also be explained explicitly in +the commit message body. + +When you bump a package to a new version, you should also submit a +separate patch for each package. Don't forget to update the +.hash+ +file, or add it if it doesn't exist yet. Also don't forget to check if +the +_LICENSE+ and +_LICENSE_FILES+ are still valid. The summary line +should be something like +: bump to version +. If the new version only contains security updates compared +to the existing one, the summary should be +: security +bump to version + and the commit message body should show +the CVE numbers that are fixed. If some package patches can be removed +in the new version, it should be explained explicitly why they can be +removed, preferably with the upstream commit ID. Also any other +required changes should be explained explicitly, like configure +options that no longer exist or are no longer needed. + +If you are interested in getting notified of build failures and of +further changes in the packages you added or modified, please add +yourself to the DEVELOPERS file. This should be done in the same patch +creating or modifying the package. See xref:DEVELOPERS[the DEVELOPERS file] +for more information. + +Buildroot provides a handy tool to check for common coding style +mistakes on files you created or modified, called +check-package+ (see +xref:check-package[] for more information). + +==== Preparing a patch series + +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. + +Once patch files are generated, you can review/edit the commit message +before submitting them, using your favorite text editor. + +Buildroot provides a handy tool to know to whom your patches should be +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/. + +If you do not use +git send-email+, make sure posted *patches are not +line-wrapped*, otherwise they cannot easily be applied. In such a case, +fix your e-mail client, or better yet, learn to use +git send-email+. + +https://sr.ht also has a light-weight UI for +https://man.sr.ht/git.sr.ht/#sending-patches-upstream[preparing patchseries] +and can also send out the patches for you. There are a few drawbacks to +this, as you cannot edit your patches' status in Patchwork and you +currently can't edit your display name with which the match emails are +sent out but it is an option if you cannot get git send-email to work +with your mail provider (i.e. O365); it shall not be considered the +official way of sending patches, but just a fallback. + +==== Cover letter + +If you want to present the whole patch set in a separate mail, add ++--cover-letter+ to the +git format-patch+ command (see +man +git-format-patch+ for further information). This will generate a +template for an introduction e-mail to your patch series. + +A 'cover letter' may be useful to introduce the changes you propose +in the following cases: + +* large number of commits in the series; + +* deep impact of the changes in the rest of the project; + +* RFC footnote:[RFC: (Request for comments) change proposal]; + +* whenever you feel it will help presenting your work, your choices, + the review process, etc. + +==== Patches for maintenance branches + +When fixing bugs on a maintenance branch, bugs should be fixed on the +master branch first. The commit log for such a patch may then contain a +post-commit note specifying what branches are affected: + +---- +package/foo: fix stuff + +Signed-off-by: Your Real Name +--- +Backport to: 2020.02.x, 2020.05.x +(2020.08.x not affected as the version was bumped) +---- + +Those changes will then be backported by a maintainer to the affected +branches. + +However, some bugs may apply only to a specific release, for example +because it is using an older version of a package. In that case, patches +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. + +==== Patch revision changelog + +When improvements are requested, the new revision of each commit +should include a changelog of the modifications between each +submission. Note that when your patch series is introduced by a cover +letter, an overall changelog may be added to the cover letter in +addition to the changelog in the individual commits. +The best thing to rework a patch series is by interactive rebasing: ++git rebase -i origin/master+. Consult the git manual for more +information. + +When added to the individual commits, this changelog is added when +editing the commit message. Below the +Signed-off-by+ section, add ++---+ and your changelog. + +Although the changelog will be visible for the reviewers in the mail +thread, as well as in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork], +git+ +will automatically ignores lines below +---+ when the patch will be +merged. This is the intended behavior: the changelog is not meant to +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 +the problem is complex, it is OK to add more paragraphs. All paragraphs +should be wrapped at 72 characters. + +A paragraph that explains the root cause of the problem. Again, more +than one paragraph is OK. + +Finally, one or more paragraphs that explain how the problem is solved. +Don't hesitate to explain complex solutions in detail. + +Signed-off-by: John DOE + +--- +Changes v2 -> v3: + - foo bar (suggested by Jane) + - bar buz + +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 +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 + (where 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 +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. You +need to create an account on +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] to be +able to modify the status of your patches. Note that you can only change +the status of patches you submitted yourself, which means the email +address you register in +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] should +match the one you use for sending patches to the mailing list. + +You can also add the +--in-reply-to + option when +submitting a patch to the mailing list. The id of the mail to reply to +can be found under the "Message Id" tag on +https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. The +advantage of *in-reply-to* is that patchwork will automatically mark +the previous version of the patch as superseded. + +[[reporting-bugs]] +=== Reporting issues/bugs or getting help + +Before reporting any issue, please check in +xref:community-resources[the mailing list archive] whether someone has +already reported and/or fixed a similar problem. + +However you choose to report bugs or get help, either by +opening a bug in the xref:community-resources[bug tracker] or by +xref:community-resources[sending a mail to the mailing list], there are +a number of details to provide in order to help people reproduce and +find a solution to the issue. + +Try to think as if you were trying to help someone else; in +that case, what would you need? + +Here is a short list of details to provide in such case: + +* host machine (OS/release) +* version of Buildroot +* target for which the build fails +* package(s) for which the build fails +* the command that fails and its output +* any information you think that may be relevant + +Additionally, you should add the +.config+ file (or if you know how, a ++defconfig+; see xref:customize-store-buildroot-config[]). + +If some of these details are too large, do not hesitate to use a +pastebin service. Note that not all available pastebin services will +preserve Unix-style line terminators when downloading raw pastes. +Following pastebin services are known to work correctly: +- https://gist.github.com/ +- http://code.bulix.org/ + +=== Using the runtime tests framework + +Buildroot includes a run-time testing framework built upon Python +scripting and QEMU runtime execution. The goals of the framework are +the following: + +* build a well defined Buildroot configuration +* optionally, verify some properties of the build output +* optionally, boot the build results under Qemu, and verify that a + given feature is working as expected + +The entry point to use the runtime tests framework is the ++support/testing/run-tests+ tool, which has a series of options +documented in the tool's help '-h' description. Some common options +include setting the download folder, the output folder, keeping build +output, and for multiple test cases, you can set the JLEVEL for each. + +Here is an example walk through of running a test case. + +* For a first step, let us see what all the test case options are. The test +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) +test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootMusl) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainCCache) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainCtngMusl) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainLinaroArm) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv4) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv5) ... ok +test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv7) ... ok +[snip] +test_run (tests.init.test_systemd.TestInitSystemSystemdRoFull) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRoIfupdown) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRoNetworkd) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwFull) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwIfupdown) ... ok +test_run (tests.init.test_systemd.TestInitSystemSystemdRwNetworkd) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRo) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRoNet) ... ok +test_run (tests.init.test_busybox.TestInitSystemBusyboxRw) ... ok +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 +15:08:18 TestInitSystemBusyboxRw Building done +15:08:27 TestInitSystemBusyboxRw Cleaning up +. +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 +unless the option +-k+ is passed to *keep* the output directory. + +==== Creating a test case + +Within the Buildroot repository, the testing framework is organized at the +top level in +support/testing/+ by folders of +conf+, +infra+ and +tests+. +All the test cases live under the +tests+ folder and are organized in various +folders representing the category of test. + +The best way to get familiar with how to create a test case is to look +at a few of the basic file system +support/testing/tests/fs/+ and init ++support/testing/tests/init/+ test scripts. Those tests give good +examples of a basic tests that include both checking the build +results, and doing runtime tests. There are other more advanced cases +that use things like nested +br2-external+ folders to provide +skeletons and additional packages. + +Creating a basic test case involves: + +* Defining a test class that inherits from +infra.basetest.BRTest+ + +* Defining the +config+ member of the test class, to the Buildroot + configuration to build for this test case. It can optionally rely on + configuration snippets provided by the runtime test infrastructure: + +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ to get a basic + architecture/toolchain configuration, and + +infra.basetest.MINIMAL_CONFIG+ to not build any filesystem. The + advantage of using +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ is that a + matching Linux kernel image is provided, which allows to boot the + resulting image in Qemu without having to build a Linux kernel image + as part of the test case, therefore significant decreasing the build + time required for the test case. + +* Implementing a +def test_run(self):+ function to implement the + actual tests to run after the build has completed. They may be tests + that verify the build output, by running command on the host using + the +run_cmd_on_host()+ helper function. Or they may boot the + generated system in Qemu using the +Emulator+ object available as + +self.emulator+ in the test case. For example +self.emulator.boot()+ + allows to boot the system in Qemu, +self.emulator.login()+ allows to + login, +self.emulator.run()+ allows to run shell commands inside + Qemu. + +After creating the test script, add yourself to the +DEVELOPERS+ file to +be the maintainer of that test case. + +==== Debugging a 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. + ++TestInitSystemBusyboxRw-build.log+ is the log of the Buildroot build. + ++TestInitSystemBusyboxRw-run.log+ is the log of the Qemu boot and +test. This file will only exist if the build was successful and the +test case involves booting under Qemu. + +If you want to manually run Qemu to do manual tests of the build +result, the first few lines of +TestInitSystemBusyboxRw-run.log+ +contain the Qemu command line to use. + +You can also make modifications to the current sources inside the ++output_folder+ (e.g. for debug purposes) and rerun the standard +Buildroot make targets (in order to regenerate the complete image with +the new modifications) and then rerun the test. + +==== Runtime tests and Gitlab CI + +All runtime tests are regularly executed by Buildroot Gitlab CI +infrastructure, see .gitlab.yml and +https://gitlab.com/buildroot.org/buildroot/-/jobs. + +You can also use Gitlab CI to test your new test cases, or verify that +existing tests continue to work after making changes in Buildroot. + +In order to achieve this, you need to create a fork of the Buildroot +project on Gitlab, and be able to push branches to your Buildroot fork +on Gitlab. + +The name of the branch that you push will determine if a Gitlab CI +pipeline will be triggered or not, and for which test cases. + +In the examples below, the component of the branch name is an +arbitrary string you choose. + +* To trigger all run-test test case jobs, push a branch that ends with + +-runtime-tests+: + +--------------------- + $ git push gitlab HEAD:-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:- +--------------------- + +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 +--------------------- diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt deleted file mode 100644 index e588c69be65..00000000000 --- a/docs/manual/contribute.txt +++ /dev/null @@ -1,716 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Contributing to Buildroot - -There are many ways in which you can contribute to Buildroot: analyzing -and fixing bugs, analyzing and fixing package build failures detected by -the autobuilders, testing and reviewing patches sent by other -developers, working on the items in our TODO list and sending your own -improvements to Buildroot or its manual. The following sections give a -little more detail on each of these items. - -If you are interested in contributing to Buildroot, the first thing you -should do is to subscribe to the Buildroot mailing list. This list is -the main way of interacting with other Buildroot developers and to send -contributions to. If you aren't subscribed yet, then refer to -xref:community-resources[] for the subscription link. - -If you are going to touch the code, it is highly recommended to use a -git repository of Buildroot, rather than starting from an extracted -source code tarball. Git is the easiest way to develop from and directly -send your patches to the mailing list. Refer to xref:getting-buildroot[] -for more information on obtaining a Buildroot git tree. - -=== Reproducing, analyzing and fixing bugs - -A first way of contributing is to have a look at the open bug reports in -the https://bugs.buildroot.org/buglist.cgi?product=buildroot[Buildroot bug -tracker]. As we strive to keep the bug count as small as possible, all -help in reproducing, analyzing and fixing reported bugs is more than -welcome. Don't hesitate to add a comment to bug reports reporting your -findings, even if you don't yet see the full picture. - -=== Analyzing and fixing autobuild failures - -The Buildroot autobuilders are a set of build machines that continuously -run Buildroot builds based on random configurations. This is done for -all architectures supported by Buildroot, with various toolchains, and -with a random selection of packages. With the large commit activity on -Buildroot, these autobuilders are a great help in detecting problems -very early after commit. - -All build results are available at http://autobuild.buildroot.org[], -statistics are at http://autobuild.buildroot.org/stats.php[]. Every day, -an overview of all failed packages is sent to the mailing list. - -Detecting problems is great, but obviously these problems have to be -fixed as well. Your contribution is very welcome here! There are -basically two things that can be done: - -- Analyzing the problems. The daily summary mails do not contain details - about the actual failures: in order to see what's going on you have to - open the build log and check the last output. Having someone doing - this for all packages in the mail is very useful for other developers, - as they can make a quick initial analysis based on this output alone. - -- Fixing a problem. When fixing autobuild failures, you should follow - these steps: - . Check if you can reproduce the problem by building with the same - configuration. You can do this manually, or use the - http://git.buildroot.org/buildroot-test/tree/utils/br-reproduce-build[br-reproduce-build] - script that will automatically clone a Buildroot git repository, - checkout the correct revision, download and set the right - configuration, and start the build. - . Analyze the problem and create a fix. - . Verify that the problem is really fixed by starting from a clean - Buildroot tree and only applying your fix. - . Send the fix to the Buildroot mailing list (see - xref:submitting-patches[]). In case you created a patch against the - package sources, you should also send the patch upstream so that the - problem will be fixed in a later release, and the patch in Buildroot - 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 - -With the amount of patches sent to the mailing list each day, the -maintainer has a very hard job to judge which patches are ready to apply -and which ones aren't. Contributors can greatly help here by reviewing -and testing these patches. - -In the review process, do not hesitate to respond to patch submissions -for remarks, suggestions or anything that will help everyone to -understand the patches and make them better. Please use internet -style replies in plain text emails when responding to patch -submissions. - -To indicate approval of a patch, there are three formal tags that keep -track of this approval. To add your tag to a patch, reply to it with the -approval tag below the original author's Signed-off-by line. These tags -will be picked up automatically by patchwork (see -xref:apply-patches-patchwork[]) and will be part of the commit log when -the patch is accepted. - -Tested-by:: Indicates that the patch has been tested successfully. - You are encouraged to specify what kind of testing you performed - (compile-test on architecture X and Y, runtime test on target A, - ...). This additional information helps other testers and the - maintainer. - -Reviewed-by:: Indicates that you code-reviewed the patch and did your - best in spotting problems, but you are not sufficiently familiar with - the area touched to provide an Acked-by tag. This means that there - may be remaining problems in the patch that would be spotted by - someone with more experience in that area. Should such problems be - detected, your Reviewed-by tag remains appropriate and you cannot - be blamed. - -Acked-by:: Indicates that you code-reviewed the patch and you are - familiar enough with the area touched to feel that the patch can be - committed as-is (no additional changes required). In case it later - turns out that something is wrong with the patch, your Acked-by could - be considered inappropriate. The difference between Acked-by and - Reviewed-by is thus mainly that you are prepared to take the blame on - Acked patches, but not on Reviewed ones. - -If you reviewed a patch and have comments on it, you should simply reply -to the patch stating these comments, without providing a Reviewed-by or -Acked-by tag. These tags should only be provided if you judge the patch -to be good as it is. - -It is important to note that neither Reviewed-by nor Acked-by imply -that testing has been performed. To indicate that you both reviewed and -tested the patch, provide two separate tags (Reviewed/Acked-by and -Tested-by). - -Note also that _any developer_ can provide Tested/Reviewed/Acked-by -tags, without exception, and we encourage everyone to do this. Buildroot -does not have a defined group of _core_ developers, it just so happens -that some developers are more active than others. The maintainer will -value tags according to the track record of their submitter. Tags -provided by a regular contributor will naturally be trusted more than -tags provided by a newcomer. As you provide tags more regularly, your -'trustworthiness' (in the eyes of the maintainer) will go up, but _any_ -tag provided is valuable. - -Buildroot's Patchwork website can be used to pull in patches for testing -purposes. Please see xref:apply-patches-patchwork[] for more -information on using Buildroot's Patchwork website to apply patches. - -[[apply-patches-patchwork]] -==== Applying Patches from Patchwork - -The main use of Buildroot's Patchwork website for a developer is for -pulling in patches into their local git repository for testing -purposes. - -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 -$ wget -O - | 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 -interface. Once the bundle is created and the bundle is made public, -you can copy the +mbox+ link for the bundle and apply the bundle -using the above commands. - - -=== Work on items from the TODO list - -If you want to contribute to Buildroot but don't know where to start, -and you don't like any of the above topics, you can always work on items -from the http://elinux.org/Buildroot#Todo_list[Buildroot TODO list]. -Don't hesitate to discuss an item first on the mailing list or on IRC. -Do edit the wiki to indicate when you start working on an item, so we -avoid duplicate efforts. - -[[submitting-patches]] -=== Submitting patches - -[NOTE] -_Please, do not attach patches to bugs, send them to the mailing list -instead_. - -If you made some changes to Buildroot and you would like to contribute -them to the Buildroot project, proceed as follows. - -==== The formatting of a patch - -We expect patches to be formatted in a specific way. This is necessary -to make it easy to review patches, to be able to apply them easily to -the git repository, to make it easy to find back in the history how -and why things have changed, and to make it possible to use +git -bisect+ to locate the origin of a problem. - -First of all, it is essential that the patch has a good commit -message. The commit message should start with a separate line with a -brief summary of the change, prefixed by the area touched by the -patch. A few examples of good commit titles: - -* +package/linuxptp: bump version to 2.0+ - -* +configs/imx23evk: bump Linux version to 4.19+ - -* +package/pkg-generic: postpone evaluation of dependency conditions+ - -* +boot/uboot: needs host-{flex,bison}+ - -* +support/testing: add python-ubjson tests+ - -The description that follows the prefix should start with a lower case -letter (i.e "bump", "needs", "postpone", "add" in the above examples). - -Second, the body of the commit message should describe _why_ this -change is needed, and if necessary also give details about _how_ it -was done. When writing the commit message, think of how the reviewers -will read it, but also think about how you will read it when you look -at this change again a few years down the line. - -Third, the patch itself should do only one change, but do it -completely. Two unrelated or weakly related changes should usually be -done in two separate patches. This usually means that a patch affects -only a single package. If several changes are related, it is often -still possible to split them up in small patches and apply them in a -specific order. Small patches make it easier to review, and often -make it easier to understand afterwards why a change was done. -However, each patch must be complete. It is not allowed that the -build is broken when only the first but not the second patch is -applied. This is necessary to be able to use +git bisect+ afterwards. - -Of course, while you're doing your development, you're probably going -back and forth between packages, and certainly not committing things -immediately in a way that is clean enough for submission. So most -developers rewrite the history of commits to produce a clean set of -commits that is appropriate for submission. To do this, you need to -use _interactive rebasing_. You can learn about it -https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History[in the Pro -Git book]. Sometimes, it is even easier to discard you history with -+git reset --soft origin/master+ and select individual changes with -+git add -i+ or +git add -p+. - -Finally, the patch should be signed off. This is done by adding -+Signed-off-by: Your Real Name + at the end of the -commit message. +git commit -s+ does that for you, if configured -properly. The +Signed-off-by+ tag means that you publish the patch -under the Buildroot license (i.e. GPL-2.0+, except for package patches, -which have the upstream license), and that you are allowed to do so. -See http://developercertificate.org/[the Developer Certificate of -Origin] for details. - -When adding new packages, you should submit every package in a -separate patch. This patch should have the update to -+package/Config.in+, the package +Config.in+ file, the +.mk+ file, the -+.hash+ file, any init script, and all package patches. If the package -has many sub-options, these are sometimes better added as separate -follow-up patches. The summary line should be something like -+: new package+. The body of the commit message can be -empty for simple packages, or it can contain the description of the -package (like the Config.in help text). If anything special has to be -done to build the package, this should also be explained explicitly in -the commit message body. - -When you bump a package to a new version, you should also submit a -separate patch for each package. Don't forget to update the +.hash+ -file, or add it if it doesn't exist yet. Also don't forget to check if -the +_LICENSE+ and +_LICENSE_FILES+ are still valid. The summary line -should be something like +: bump to version +. If the new version only contains security updates compared -to the existing one, the summary should be +: security -bump to version + and the commit message body should show -the CVE numbers that are fixed. If some package patches can be removed -in the new version, it should be explained explicitly why they can be -removed, preferably with the upstream commit ID. Also any other -required changes should be explained explicitly, like configure -options that no longer exist or are no longer needed. - -If you are interested in getting notified of build failures and of -further changes in the packages you added or modified, please add -yourself to the DEVELOPERS file. This should be done in the same patch -creating or modifying the package. See xref:DEVELOPERS[the DEVELOPERS file] -for more information. - -Buildroot provides a handy tool to check for common coding style -mistakes on files you created or modified, called +check-package+ (see -xref:check-package[] for more information). - -==== Preparing a patch series - -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, 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. - -Once patch files are generated, you can review/edit the commit message -before submitting them, using your favorite text editor. - -Buildroot provides a handy tool to know to whom your patches should be -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 google it. - -If you do not use +git send-email+, make sure posted *patches are not -line-wrapped*, otherwise they cannot easily be applied. In such a case, -fix your e-mail client, or better yet, learn to use +git send-email+. - -==== Cover letter - -If you want to present the whole patch set in a separate mail, add -+--cover-letter+ to the +git format-patch+ command (see +man -git-format-patch+ for further information). This will generate a -template for an introduction e-mail to your patch series. - -A 'cover letter' may be useful to introduce the changes you propose -in the following cases: - -* large number of commits in the series; - -* deep impact of the changes in the rest of the project; - -* RFC footnote:[RFC: (Request for comments) change proposal]; - -* whenever you feel it will help presenting your work, your choices, - the review process, etc. - -==== Patches for maintenance branches - -When fixing bugs on a maintenance branch, bugs should be fixed on the -master branch first. The commit log for such a patch may then contain a -post-commit note specifying what branches are affected: - ----- -package/foo: fix stuff - -Signed-off-by: Your Real Name ---- -Backport to: 2020.02.x, 2020.05.x -(2020.08.x not affected as the version was bumped) ----- - -Those changes will then be backported by a maintainer to the affected -branches. - -However, some bugs may apply only to a specific release, for example -because it is using an older version of a package. In that case, patches -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. - -==== Patch revision changelog - -When improvements are requested, the new revision of each commit -should include a changelog of the modifications between each -submission. Note that when your patch series is introduced by a cover -letter, an overall changelog may be added to the cover letter in -addition to the changelog in the individual commits. -The best thing to rework a patch series is by interactive rebasing: -+git rebase -i origin/master+. Consult the git manual for more -information. - -When added to the individual commits, this changelog is added when -editing the commit message. Below the +Signed-off-by+ section, add -+---+ and your changelog. - -Although the changelog will be visible for the reviewers in the mail -thread, as well as in -https://patchwork.ozlabs.org/project/buildroot/list/[patchwork], +git+ -will automatically ignores lines below +---+ when the patch will be -merged. This is the intended behavior: the changelog is not meant to -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 -the problem is complex, it is OK to add more paragraphs. All paragraphs -should be wrapped at 72 characters. - -A paragraph that explains the root cause of the problem. Again, more -than one paragraph is OK. - -Finally, one or more paragraphs that explain how the problem is solved. -Don't hesitate to explain complex solutions in detail. - -Signed-off-by: John DOE - ---- -Changes v2 -> v3: - - foo bar (suggested by Jane) - - bar buz - -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 -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 + (where 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 -https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. You -need to create an account on -https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] to be -able to modify the status of your patches. Note that you can only change -the status of patches you submitted yourself, which means the email -address you register in -https://patchwork.ozlabs.org/project/buildroot/list/[patchwork] should -match the one you use for sending patches to the mailing list. - -You can also add the +--in-reply-to + option when -submitting a patch to the mailing list. The id of the mail to reply to -can be found under the "Message Id" tag on -https://patchwork.ozlabs.org/project/buildroot/list/[patchwork]. The -advantage of *in-reply-to* is that patchwork will automatically mark -the previous version of the patch as superseded. - -[[reporting-bugs]] -=== Reporting issues/bugs or getting help - -Before reporting any issue, please check in -xref:community-resources[the mailing list archive] whether someone has -already reported and/or fixed a similar problem. - -However you choose to report bugs or get help, either by -opening a bug in the xref:community-resources[bug tracker] or by -xref:community-resources[sending a mail to the mailing list], there are -a number of details to provide in order to help people reproduce and -find a solution to the issue. - -Try to think as if you were trying to help someone else; in -that case, what would you need? - -Here is a short list of details to provide in such case: - -* host machine (OS/release) -* version of Buildroot -* target for which the build fails -* package(s) for which the build fails -* the command that fails and its output -* any information you think that may be relevant - -Additionally, you should add the +.config+ file (or if you know how, a -+defconfig+; see xref:customize-store-buildroot-config[]). - -If some of these details are too large, do not hesitate to use a -pastebin service. Note that not all available pastebin services will -preserve Unix-style line terminators when downloading raw pastes. -Following pastebin services are known to work correctly: -- https://gist.github.com/ -- http://code.bulix.org/ - -=== Using the runtime tests framework - -Buildroot includes a run-time testing framework built upon Python -scripting and QEMU runtime execution. The goals of the framework are -the following: - -* build a well defined Buildroot configuration -* optionally, verify some properties of the build output -* optionally, boot the build results under Qemu, and verify that a - given feature is working as expected - -The entry point to use the runtime tests framework is the -+support/testing/run-tests+ tool, which has a series of options -documented in the tool's help '-h' description. Some common options -include setting the download folder, the output folder, keeping build -output, and for multiple test cases, you can set the JLEVEL for each. - -Here is an example walk through of running a test case. - -* For a first step, let us see what all the test case options are. The test -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) -test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootMusl) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainCCache) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainCtngMusl) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainLinaroArm) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv4) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv5) ... ok -test_run (tests.toolchain.test_external.TestExternalToolchainSourceryArmv7) ... ok -[snip] -test_run (tests.init.test_systemd.TestInitSystemSystemdRoFull) ... ok -test_run (tests.init.test_systemd.TestInitSystemSystemdRoIfupdown) ... ok -test_run (tests.init.test_systemd.TestInitSystemSystemdRoNetworkd) ... ok -test_run (tests.init.test_systemd.TestInitSystemSystemdRwFull) ... ok -test_run (tests.init.test_systemd.TestInitSystemSystemdRwIfupdown) ... ok -test_run (tests.init.test_systemd.TestInitSystemSystemdRwNetworkd) ... ok -test_run (tests.init.test_busybox.TestInitSystemBusyboxRo) ... ok -test_run (tests.init.test_busybox.TestInitSystemBusyboxRoNet) ... ok -test_run (tests.init.test_busybox.TestInitSystemBusyboxRw) ... ok -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 -15:08:18 TestInitSystemBusyboxRw Building done -15:08:27 TestInitSystemBusyboxRw Cleaning up -. -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 -unless the option +-k+ is passed to *keep* the output directory. - -==== Creating a test case - -Within the Buildroot repository, the testing framework is organized at the -top level in +support/testing/+ by folders of +conf+, +infra+ and +tests+. -All the test cases live under the +tests+ folder and are organized in various -folders representing the category of test. - -The best way to get familiar with how to create a test case is to look -at a few of the basic file system +support/testing/tests/fs/+ and init -+support/testing/tests/init/+ test scripts. Those tests give good -examples of a basic tests that include both checking the build -results, and doing runtime tests. There are other more advanced cases -that use things like nested +br2-external+ folders to provide -skeletons and additional packages. - -Creating a basic test case involves: - -* Defining a test class that inherits from +infra.basetest.BRTest+ - -* Defining the +config+ member of the test class, to the Buildroot - configuration to build for this test case. It can optionally rely on - configuration snippets provided by the runtime test infrastructure: - +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ to get a basic - architecture/toolchain configuration, and - +infra.basetest.MINIMAL_CONFIG+ to not build any filesystem. The - advantage of using +infra.basetest.BASIC_TOOLCHAIN_CONFIG+ is that a - matching Linux kernel image is provided, which allows to boot the - resulting image in Qemu without having to build a Linux kernel image - as part of the test case, therefore significant decreasing the build - time required for the test case. - -* Implementing a +def test_run(self):+ function to implement the - actual tests to run after the build has completed. They may be tests - that verify the build output, by running command on the host using - the +run_cmd_on_host()+ helper function. Or they may boot the - generated system in Qemu using the +Emulator+ object available as - +self.emulator+ in the test case. For example +self.emulator.boot()+ - allows to boot the system in Qemu, +self.emulator.login()+ allows to - login, +self.emulator.run()+ allows to run shell commands inside - Qemu. - -After creating the test script, add yourself to the +DEVELOPERS+ file to -be the maintainer of that test case. - -==== Debugging a 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. - -+TestInitSystemBusyboxRw-build.log+ is the log of the Buildroot build. - -+TestInitSystemBusyboxRw-run.log+ is the log of the Qemu boot and -test. This file will only exist if the build was successful and the -test case involves booting under Qemu. - -If you want to manually run Qemu to do manual tests of the build -result, the first few lines of +TestInitSystemBusyboxRw-run.log+ -contain the Qemu command line to use. - -You can also make modifications to the current sources inside the -+output_folder+ (e.g. for debug purposes) and rerun the standard -Buildroot make targets (in order to regenerate the complete image with -the new modifications) and then rerun the test. - -==== Runtime tests and Gitlab CI - -All runtime tests are regularly executed by Buildroot Gitlab CI -infrastructure, see .gitlab.yml and -https://gitlab.com/buildroot.org/buildroot/-/jobs. - -You can also use Gitlab CI to test your new test cases, or verify that -existing tests continue to work after making changes in Buildroot. - -In order to achieve this, you need to create a fork of the Buildroot -project on Gitlab, and be able to push branches to your Buildroot fork -on Gitlab. - -The name of the branch that you push will determine if a Gitlab CI -pipeline will be triggered or not, and for which test cases. - -In the examples below, the component of the branch name is an -arbitrary string you choose. - -* To trigger all run-test test case jobs, push a branch that ends with - +-runtime-tests+: - ---------------------- - $ git push gitlab HEAD:-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:- ---------------------- - -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 ---------------------- diff --git a/docs/manual/customize-configuration.txt b/docs/manual/customize-configuration.adoc similarity index 100% rename from docs/manual/customize-configuration.txt rename to docs/manual/customize-configuration.adoc diff --git a/docs/manual/customize-device-permission-tables.txt b/docs/manual/customize-device-permission-tables.adoc similarity index 100% rename from docs/manual/customize-device-permission-tables.txt rename to docs/manual/customize-device-permission-tables.adoc diff --git a/docs/manual/customize-directory-structure.txt b/docs/manual/customize-directory-structure.adoc similarity index 100% rename from docs/manual/customize-directory-structure.txt rename to docs/manual/customize-directory-structure.adoc diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.adoc similarity index 100% rename from docs/manual/customize-outside-br.txt rename to docs/manual/customize-outside-br.adoc diff --git a/docs/manual/customize-packages.txt b/docs/manual/customize-packages.adoc similarity index 100% rename from docs/manual/customize-packages.txt rename to docs/manual/customize-packages.adoc diff --git a/docs/manual/customize-patches.adoc b/docs/manual/customize-patches.adoc new file mode 100644 index 00000000000..f33bbcdde7b --- /dev/null +++ b/docs/manual/customize-patches.adoc @@ -0,0 +1,83 @@ +// -*- mode:doc -*- ; +// vim: set syntax=asciidoc: + +=== Adding project-specific patches and hashes + +[[customize-patches]] +==== Providing extra patches + +It is sometimes useful to apply 'extra' patches to packages - on top of +those provided in Buildroot. This might be used to support custom +features in a project, for example, or when working on a new +architecture. + +The +BR2_GLOBAL_PATCH_DIR+ configuration option can be used to specify +a space separated list of one or more directories containing package +patches. + +For a specific version ++ of a specific package +++, patches are applied from +BR2_GLOBAL_PATCH_DIR+ as +follows: + +. For every directory - ++ - that exists in + +BR2_GLOBAL_PATCH_DIR+, a ++ will be determined as + follows: ++ +* +///+ if the + directory exists. ++ +* Otherwise, +/+ if the directory + exists. + +. Patches will then be applied from a ++ as + follows: ++ +* If a +series+ file exists in the package directory, then patches are + applied according to the +series+ file; ++ +* Otherwise, patch files matching +*.patch+ are applied in + alphabetical order. So, to ensure they are applied in the right + order, it is highly recommended to name the patch files like this: + +-.patch+, where ++ refers to the + 'apply order'. + +For information about how patches are applied for a package, see +xref:patch-apply-order[] + +The +BR2_GLOBAL_PATCH_DIR+ option is the preferred method for +specifying a custom patch directory for packages. It can be used to +specify a patch directory for any package in buildroot. It should also +be used in place of the custom patch directory options that are +available for packages such as U-Boot and Barebox. By doing this, it +will allow a user to manage their patches from one top-level +directory. + +The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for +specifying custom patches is +BR2_LINUX_KERNEL_PATCH+. ++BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that +are available at a URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel +patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+, +as it is done from a post-patch hook of the Linux package. + + +[[customize-hashes]] +==== Providing extra hashes + +Buildroot bundles a xref:adding-packages-hash[list of hashes] against +which it checks the integrity of the downloaded archives, or of those +it generates locally from VCS checkouts. However, it can only do so +for the known versions; for packages where it is possible to specify +a custom version (e.g. a custom version string, a remote tarball URL, +or a VCS repository location and changeset), Buildroot can't carry +hashes for those. + +For users concerned with the integrity of such downloads, it is possible +to provide a list of hashes that Buildroot can use to check arbitrary +downloaded files. Those extra hashes are looked up similarly to the +extra patches (above); for each directory in +BR2_GLOBAL_PATCH_DIR+, +the first file to exist is used to check a package download: + +* +///.hash+ +* +//.hash+ + +The +utils/add-custom-hashes+ script can be used to generate these files. diff --git a/docs/manual/customize-patches.txt b/docs/manual/customize-patches.txt deleted file mode 100644 index eb98d1bea2c..00000000000 --- a/docs/manual/customize-patches.txt +++ /dev/null @@ -1,59 +0,0 @@ -// -*- mode:doc -*- ; -// vim: set syntax=asciidoc: - -[[customize-patches]] -=== Adding project-specific patches - -It is sometimes useful to apply 'extra' patches to packages - on top of -those provided in Buildroot. This might be used to support custom -features in a project, for example, or when working on a new -architecture. - -The +BR2_GLOBAL_PATCH_DIR+ configuration option can be used to specify -a space separated list of one or more directories containing package -patches. - -For a specific version ++ of a specific package -++, patches are applied from +BR2_GLOBAL_PATCH_DIR+ as -follows: - -. For every directory - ++ - that exists in - +BR2_GLOBAL_PATCH_DIR+, a ++ will be determined as - follows: -+ -* +///+ if the - directory exists. -+ -* Otherwise, +/+ if the directory - exists. - -. Patches will then be applied from a ++ as - follows: -+ -* If a +series+ file exists in the package directory, then patches are - applied according to the +series+ file; -+ -* Otherwise, patch files matching +*.patch+ are applied in - alphabetical order. So, to ensure they are applied in the right - order, it is highly recommended to name the patch files like this: - +-.patch+, where ++ refers to the - 'apply order'. - -For information about how patches are applied for a package, see -xref:patch-apply-order[] - -The +BR2_GLOBAL_PATCH_DIR+ option is the preferred method for -specifying a custom patch directory for packages. It can be used to -specify a patch directory for any package in buildroot. It should also -be used in place of the custom patch directory options that are -available for packages such as U-Boot and Barebox. By doing this, it -will allow a user to manage their patches from one top-level -directory. - -The exception to +BR2_GLOBAL_PATCH_DIR+ being the preferred method for -specifying custom patches is +BR2_LINUX_KERNEL_PATCH+. -+BR2_LINUX_KERNEL_PATCH+ should be used to specify kernel patches that -are available at a URL. *Note:* +BR2_LINUX_KERNEL_PATCH+ specifies kernel -patches that are applied after patches available in +BR2_GLOBAL_PATCH_DIR+, -as it is done from a post-patch hook of the Linux package. - diff --git a/docs/manual/customize-post-image.txt b/docs/manual/customize-post-image.adoc similarity index 100% rename from docs/manual/customize-post-image.txt rename to docs/manual/customize-post-image.adoc diff --git a/docs/manual/customize-quick-guide.adoc b/docs/manual/customize-quick-guide.adoc new file mode 100644 index 00000000000..315027c5901 --- /dev/null +++ b/docs/manual/customize-quick-guide.adoc @@ -0,0 +1,66 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Quick guide to storing your project-specific customizations + +Earlier in this chapter, the different methods for making +project-specific customizations have been described. This section will +now summarize all this by providing step-by-step instructions to storing your +project-specific customizations. Clearly, the steps that are not relevant to +your project can be skipped. + +. +make menuconfig+ to configure toolchain, packages and kernel. +. +make linux-menuconfig+ to update the kernel config, similar for + other configuration like busybox, uclibc, ... +. +mkdir -p board//+ +. Set the following options to +board///.config+ + (as far as they are relevant): + * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ + * +BR2_PACKAGE_BUSYBOX_CONFIG+ + * +BR2_UCLIBC_CONFIG+ + * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ + * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ + * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+ +. Write the configuration files: + * +make linux-update-defconfig+ + * +make busybox-update-config+ + * +make uclibc-update-config+ + * +cp /build/at91bootstrap3-*/.config + board///at91bootstrap3.config+ + * +make barebox-update-defconfig+ + * +make uboot-update-defconfig+ +. Create +board///rootfs-overlay/+ and fill it + with additional files you need on your rootfs, e.g. + +board///rootfs-overlay/etc/inittab+. + Set +BR2_ROOTFS_OVERLAY+ + to +board///rootfs-overlay+. +. Create a post-build script + +board///post_build.sh+. Set + +BR2_ROOTFS_POST_BUILD_SCRIPT+ to + +board///post_build.sh+ +. If additional setuid permissions have to be set or device nodes have + to be created, create +board///device_table.txt+ + and add that path to +BR2_ROOTFS_DEVICE_TABLE+. +. If additional user accounts have to be created, create + +board///users_table.txt+ and add that path + to +BR2_ROOTFS_USERS_TABLES+. +. To add custom patches to certain packages, set +BR2_GLOBAL_PATCH_DIR+ + to +board///patches/+ and add your patches + for each package in a subdirectory named after the package. Each + patch should be called +--.patch+. +. Specifically for the Linux kernel, there also exists the option + +BR2_LINUX_KERNEL_PATCH+ with as main advantage that it can also + download patches from a URL. If you do not need this, + +BR2_GLOBAL_PATCH_DIR+ is preferred. U-Boot, Barebox, at91bootstrap + and at91bootstrap3 also have separate options, but these do not + provide any advantage over +BR2_GLOBAL_PATCH_DIR+ and will likely be + removed in the future. +. If you need to add project-specific packages, create + +package//+ and place your packages in that + directory. Create an overall +.mk+ file that + includes the +.mk+ files of all your packages. Create an overall + +Config.in+ file that sources the +Config.in+ files of all your + packages. Include this +Config.in+ file from Buildroot's + +package/Config.in+ file. +. +make savedefconfig+ to save the buildroot configuration. +. +cp defconfig configs/_defconfig+ diff --git a/docs/manual/customize-quick-guide.txt b/docs/manual/customize-quick-guide.txt deleted file mode 100644 index 627ecbacb1e..00000000000 --- a/docs/manual/customize-quick-guide.txt +++ /dev/null @@ -1,66 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -=== Quick guide to storing your project-specific customizations - -Earlier in this chapter, the different methods for making -project-specific customizations have been described. This section will -now summarize all this by providing step-by-step instructions to storing your -project-specific customizations. Clearly, the steps that are not relevant to -your project can be skipped. - -1. +make menuconfig+ to configure toolchain, packages and kernel. -1. +make linux-menuconfig+ to update the kernel config, similar for - other configuration like busybox, uclibc, ... -1. +mkdir -p board//+ -1. Set the following options to +board///.config+ - (as far as they are relevant): - * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ - * +BR2_PACKAGE_BUSYBOX_CONFIG+ - * +BR2_UCLIBC_CONFIG+ - * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ - * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ - * +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+ -1. Write the configuration files: - * +make linux-update-defconfig+ - * +make busybox-update-config+ - * +make uclibc-update-config+ - * +cp /build/at91bootstrap3-*/.config - board///at91bootstrap3.config+ - * +make barebox-update-defconfig+ - * +make uboot-update-defconfig+ -1. Create +board///rootfs-overlay/+ and fill it - with additional files you need on your rootfs, e.g. - +board///rootfs-overlay/etc/inittab+. - Set +BR2_ROOTFS_OVERLAY+ - to +board///rootfs-overlay+. -1. Create a post-build script - +board///post_build.sh+. Set - +BR2_ROOTFS_POST_BUILD_SCRIPT+ to - +board///post_build.sh+ -1. If additional setuid permissions have to be set or device nodes have - to be created, create +board///device_table.txt+ - and add that path to +BR2_ROOTFS_DEVICE_TABLE+. -1. If additional user accounts have to be created, create - +board///users_table.txt+ and add that path - to +BR2_ROOTFS_USERS_TABLES+. -1. To add custom patches to certain packages, set +BR2_GLOBAL_PATCH_DIR+ - to +board///patches/+ and add your patches - for each package in a subdirectory named after the package. Each - patch should be called +--.patch+. -1. Specifically for the Linux kernel, there also exists the option - +BR2_LINUX_KERNEL_PATCH+ with as main advantage that it can also - download patches from a URL. If you do not need this, - +BR2_GLOBAL_PATCH_DIR+ is preferred. U-Boot, Barebox, at91bootstrap - and at91bootstrap3 also have separate options, but these do not - provide any advantage over +BR2_GLOBAL_PATCH_DIR+ and will likely be - removed in the future. -1. If you need to add project-specific packages, create - +package//+ and place your packages in that - directory. Create an overall +.mk+ file that - includes the +.mk+ files of all your packages. Create an overall - +Config.in+ file that sources the +Config.in+ files of all your - packages. Include this +Config.in+ file from Buildroot's - +package/Config.in+ file. -1. +make savedefconfig+ to save the buildroot configuration. -1. +cp defconfig configs/_defconfig+ diff --git a/docs/manual/customize-rootfs.adoc b/docs/manual/customize-rootfs.adoc new file mode 100644 index 00000000000..d5d8b9288fe --- /dev/null +++ b/docs/manual/customize-rootfs.adoc @@ -0,0 +1,156 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[rootfs-custom]] +=== Customizing the generated target filesystem + +Besides changing the configuration through +make *config+, +there are a few other ways to customize the resulting target filesystem. + +The two recommended methods, which can co-exist, are root filesystem +overlay(s) and post build script(s). + +Root filesystem overlays (+BR2_ROOTFS_OVERLAY+):: ++ +A filesystem overlay is a tree of files that is copied directly + over the target filesystem after it has been built. To enable this + feature, set config option +BR2_ROOTFS_OVERLAY+ (in the +System + configuration+ menu) to the root of the overlay. You can even specify + multiple overlays, space-separated. If you specify a relative path, + it will be relative to the root of the Buildroot tree. Hidden + directories of version control systems, like +.git+, +.svn+, +.hg+, + etc., files called +.empty+ and files ending in +~+ are excluded from + the copy. ++ +When +BR2_ROOTFS_MERGED_USR+ is enabled, then the overlay must not + contain the '/bin', '/lib' or '/sbin' directories, as Buildroot will + create them as symbolic links to the relevant folders in '/usr'. In + such a situation, should the overlay have any programs or libraries, + they should be placed in '/usr/bin', '/usr/sbin' and '/usr/lib'. ++ +As shown in xref:customize-dir-structure[], the recommended path for + this overlay is +board///rootfs-overlay+. + +Post-build scripts (+BR2_ROOTFS_POST_BUILD_SCRIPT+):: ++ +Post-build scripts are shell scripts called 'after' Buildroot builds + all the selected software, but 'before' the rootfs images are + assembled. To enable this feature, specify a space-separated list of + post-build scripts in config option +BR2_ROOTFS_POST_BUILD_SCRIPT+ (in + the +System configuration+ menu). If you specify a relative path, it + will be relative to the root of the Buildroot tree. ++ +Using post-build scripts, you can remove or modify any file in your + target filesystem. You should, however, use this feature with care. + Whenever you find that a certain package generates wrong or unneeded + files, you should fix that package rather than work around it with some + post-build cleanup scripts. ++ +As shown in xref:customize-dir-structure[], the recommended path for + this script is +board///post_build.sh+. ++ +The post-build scripts are run with the main Buildroot tree as current + working directory. The path to the target filesystem is passed as the + first argument to each script. If the config option + +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these arguments will be + passed to the script too. All the scripts will be passed the exact + same set of arguments, it is not possible to pass different sets of + arguments to each script. ++ +In addition, you may also use these environment variables: + + - +BR2_CONFIG+: the path to the Buildroot .config file + - +CONFIG_DIR+: the directory containing the .config file, and + therefore the top-level Buildroot Makefile to use (which is + correct for both in-tree and out-of-tree builds) + - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see + xref:generic-package-reference[] + - +BUILD_DIR+: the directory where packages are extracted and built + - +BINARIES_DIR+: the place where all binary files (aka images) are + stored + - +BASE_DIR+: the base output directory + +Below three more methods of customizing the target filesystem are +described, but they are not recommended. + +Direct modification of the target filesystem:: ++ +For temporary modifications, you can modify the target filesystem + directly and rebuild the image. The target filesystem is available + under +output/target/+. After making your changes, run +make+ to + rebuild the target filesystem image. ++ +This method allows you to do anything to the target filesystem, but if + you need to clean your Buildroot tree using +make clean+, these + changes will be lost. Such cleaning is necessary in several cases, + refer to xref:full-rebuild[] for details. This solution is therefore + only useful for quick tests: _changes do not survive the +make clean+ + command_. Once you have validated your changes, you should make sure + that they will persist after a +make clean+, using a root filesystem + overlay or a post-build script. + +Custom target skeleton (+BR2_ROOTFS_SKELETON_CUSTOM+):: ++ +The root filesystem image is created from a target skeleton, on top of + which all packages install their files. The skeleton is copied to the + target directory +output/target+ before any package is built and + installed. The default target skeleton provides the standard Unix + filesystem layout and some basic init scripts and configuration files. ++ +If the default skeleton (available under +system/skeleton+) does not + match your needs, you would typically use a root filesystem overlay or + post-build script to adapt it. However, if the default skeleton is + entirely different than what you need, using a custom skeleton may be + more suitable. ++ +To enable this feature, enable config option + +BR2_ROOTFS_SKELETON_CUSTOM+ and set +BR2_ROOTFS_SKELETON_CUSTOM_PATH+ + to the path of your custom skeleton. Both options are available in the + +System configuration+ menu. If you specify a relative path, it will + be relative to the root of the Buildroot tree. ++ +Custom skeletons don't need to contain the '/bin', '/lib' or '/sbin' + directories, since they are created automatically during the build. + When +BR2_ROOTFS_MERGED_USR+ is enabled, then the custom skeleton must + not contain the '/bin', '/lib' or '/sbin' directories, as Buildroot + will create them as symbolic links to the relevant folders in '/usr'. + In such a situation, should the skeleton have any programs or + libraries, they should be placed in '/usr/bin', '/usr/sbin' and + '/usr/lib'. ++ +This method is not recommended because it duplicates the entire + skeleton, which prevents taking advantage of the fixes or improvements + brought to the default skeleton in later Buildroot releases. + +Post-fakeroot scripts (+BR2_ROOTFS_POST_FAKEROOT_SCRIPT+):: ++ +When aggregating the final images, some parts of the process requires + root rights: creating device nodes in `/dev`, setting permissions or + ownership to files and directories... To avoid requiring actual root + rights, Buildroot uses +fakeroot+ to simulate root rights. This is not + a complete substitute for actually being root, but is enough for what + Buildroot needs. ++ +Post-fakeroot scripts are shell scripts that are called at the 'end' of + the fakeroot phase, 'right before' the filesystem image generator is + called. As such, they are called in the fakeroot context. ++ +Post-fakeroot scripts can be useful in case you need to tweak the + filesystem to do modifications that are usually only available to the + root user. ++ +.Note: +It is recommended to use the existing mechanisms to set file permissions + or create entries in `/dev` (see xref:customize-device-permission[]) or + to create users (see xref:customize-users[]) ++ +.Note: +The difference between post-build scripts (above) and fakeroot scripts, + is that post-build scripts are not called in the fakeroot context. ++ +.Note: +Using `fakeroot` is not an absolute substitute for actually being root. + `fakeroot` only ever fakes the file access rights and types (regular, + block-or-char device...) and uid/gid; these are emulated in-memory. + +include::customize-device-permission-tables.adoc[] diff --git a/docs/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.txt deleted file mode 100644 index e46306fd2ac..00000000000 --- a/docs/manual/customize-rootfs.txt +++ /dev/null @@ -1,156 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[rootfs-custom]] -=== Customizing the generated target filesystem - -Besides changing the configuration through +make *config+, -there are a few other ways to customize the resulting target filesystem. - -The two recommended methods, which can co-exist, are root filesystem -overlay(s) and post build script(s). - -Root filesystem overlays (+BR2_ROOTFS_OVERLAY+):: -+ -A filesystem overlay is a tree of files that is copied directly - over the target filesystem after it has been built. To enable this - feature, set config option +BR2_ROOTFS_OVERLAY+ (in the +System - configuration+ menu) to the root of the overlay. You can even specify - multiple overlays, space-separated. If you specify a relative path, - it will be relative to the root of the Buildroot tree. Hidden - directories of version control systems, like +.git+, +.svn+, +.hg+, - etc., files called +.empty+ and files ending in +~+ are excluded from - the copy. -+ -When +BR2_ROOTFS_MERGED_USR+ is enabled, then the overlay must not - contain the '/bin', '/lib' or '/sbin' directories, as Buildroot will - create them as symbolic links to the relevant folders in '/usr'. In - such a situation, should the overlay have any programs or libraries, - they should be placed in '/usr/bin', '/usr/sbin' and '/usr/lib'. -+ -As shown in xref:customize-dir-structure[], the recommended path for - this overlay is +board///rootfs-overlay+. - -Post-build scripts (+BR2_ROOTFS_POST_BUILD_SCRIPT+):: -+ -Post-build scripts are shell scripts called 'after' Buildroot builds - all the selected software, but 'before' the rootfs images are - assembled. To enable this feature, specify a space-separated list of - post-build scripts in config option +BR2_ROOTFS_POST_BUILD_SCRIPT+ (in - the +System configuration+ menu). If you specify a relative path, it - will be relative to the root of the Buildroot tree. -+ -Using post-build scripts, you can remove or modify any file in your - target filesystem. You should, however, use this feature with care. - Whenever you find that a certain package generates wrong or unneeded - files, you should fix that package rather than work around it with some - post-build cleanup scripts. -+ -As shown in xref:customize-dir-structure[], the recommended path for - this script is +board///post_build.sh+. -+ -The post-build scripts are run with the main Buildroot tree as current - working directory. The path to the target filesystem is passed as the - first argument to each script. If the config option - +BR2_ROOTFS_POST_SCRIPT_ARGS+ is not empty, these arguments will be - passed to the script too. All the scripts will be passed the exact - same set of arguments, it is not possible to pass different sets of - arguments to each script. -+ -In addition, you may also use these environment variables: - - - +BR2_CONFIG+: the path to the Buildroot .config file - - +CONFIG_DIR+: the directory containing the .config file, and - therefore the top-level Buildroot Makefile to use (which is - correct for both in-tree and out-of-tree builds) - - +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see - xref:generic-package-reference[] - - +BUILD_DIR+: the directory where packages are extracted and built - - +BINARIES_DIR+: the place where all binary files (aka images) are - stored - - +BASE_DIR+: the base output directory - -Below three more methods of customizing the target filesystem are -described, but they are not recommended. - -Direct modification of the target filesystem:: -+ -For temporary modifications, you can modify the target filesystem - directly and rebuild the image. The target filesystem is available - under +output/target/+. After making your changes, run +make+ to - rebuild the target filesystem image. -+ -This method allows you to do anything to the target filesystem, but if - you need to clean your Buildroot tree using +make clean+, these - changes will be lost. Such cleaning is necessary in several cases, - refer to xref:full-rebuild[] for details. This solution is therefore - only useful for quick tests: _changes do not survive the +make clean+ - command_. Once you have validated your changes, you should make sure - that they will persist after a +make clean+, using a root filesystem - overlay or a post-build script. - -Custom target skeleton (+BR2_ROOTFS_SKELETON_CUSTOM+):: -+ -The root filesystem image is created from a target skeleton, on top of - which all packages install their files. The skeleton is copied to the - target directory +output/target+ before any package is built and - installed. The default target skeleton provides the standard Unix - filesystem layout and some basic init scripts and configuration files. -+ -If the default skeleton (available under +system/skeleton+) does not - match your needs, you would typically use a root filesystem overlay or - post-build script to adapt it. However, if the default skeleton is - entirely different than what you need, using a custom skeleton may be - more suitable. -+ -To enable this feature, enable config option - +BR2_ROOTFS_SKELETON_CUSTOM+ and set +BR2_ROOTFS_SKELETON_CUSTOM_PATH+ - to the path of your custom skeleton. Both options are available in the - +System configuration+ menu. If you specify a relative path, it will - be relative to the root of the Buildroot tree. -+ -Custom skeletons don't need to contain the '/bin', '/lib' or '/sbin' - directories, since they are created automatically during the build. - When +BR2_ROOTFS_MERGED_USR+ is enabled, then the custom skeleton must - not contain the '/bin', '/lib' or '/sbin' directories, as Buildroot - will create them as symbolic links to the relevant folders in '/usr'. - In such a situation, should the skeleton have any programs or - libraries, they should be placed in '/usr/bin', '/usr/sbin' and - '/usr/lib'. -+ -This method is not recommended because it duplicates the entire - skeleton, which prevents taking advantage of the fixes or improvements - brought to the default skeleton in later Buildroot releases. - -Post-fakeroot scripts (+BR2_ROOTFS_POST_FAKEROOT_SCRIPT+):: -+ -When aggregating the final images, some parts of the process requires - root rights: creating device nodes in `/dev`, setting permissions or - ownership to files and directories... To avoid requiring actual root - rights, Buildroot uses +fakeroot+ to simulate root rights. This is not - a complete substitute for actually being root, but is enough for what - Buildroot needs. -+ -Post-fakeroot scripts are shell scripts that are called at the 'end' of - the fakeroot phase, 'right before' the filesystem image generator is - called. As such, they are called in the fakeroot context. -+ -Post-fakeroot scripts can be useful in case you need to tweak the - filesystem to do modifications that are usually only available to the - root user. -+ -.Note: -It is recommended to use the existing mechanisms to set file permissions - or create entries in `/dev` (see xref:customize-device-permission[]) or - to create users (see xref:customize-users[]) -+ -.Note: -The difference between post-build scripts (above) and fakeroot scripts, - is that post-build scripts are not called in the fakeroot context. -+ -.Note: -Using `fakeroot` is not an absolute substitute for actually being root. - `fakeroot` only ever fakes the file access rights and types (regular, - block-or-char device...) and uid/gid; these are emulated in-memory. - -include::customize-device-permission-tables.txt[] diff --git a/docs/manual/customize-users-tables.txt b/docs/manual/customize-users-tables.adoc similarity index 100% rename from docs/manual/customize-users-tables.txt rename to docs/manual/customize-users-tables.adoc diff --git a/docs/manual/customize.adoc b/docs/manual/customize.adoc new file mode 100644 index 00000000000..23fad7ba114 --- /dev/null +++ b/docs/manual/customize.adoc @@ -0,0 +1,60 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[customize]] +== Project-specific customization + +Typical actions you may need to perform for a given project are: + +* configuring Buildroot (including build options and toolchain, + bootloader, kernel, package and filesystem image type selection) +* configuring other components, like the Linux kernel and BusyBox +* customizing the generated target filesystem + ** adding or overwriting files on the target filesystem (using + +BR2_ROOTFS_OVERLAY+) + ** modifying or deleting files on the target filesystem (using + +BR2_ROOTFS_POST_BUILD_SCRIPT+) + ** running arbitrary commands prior to generating the filesystem image + (using +BR2_ROOTFS_POST_BUILD_SCRIPT+) + ** setting file permissions and ownership (using + +BR2_ROOTFS_DEVICE_TABLE+) + ** adding custom devices nodes (using + +BR2_ROOTFS_STATIC_DEVICE_TABLE+) +* adding custom user accounts (using +BR2_ROOTFS_USERS_TABLES+) +* running arbitrary commands after generating the filesystem image + (using +BR2_ROOTFS_POST_IMAGE_SCRIPT+) +* adding project-specific patches to some packages (using + +BR2_GLOBAL_PATCH_DIR+) +* adding project-specific packages + +An important note regarding such 'project-specific' customizations: +please carefully consider which changes are indeed project-specific and +which changes are also useful to developers outside your project. The +Buildroot community highly recommends and encourages the upstreaming of +improvements, packages and board support to the official Buildroot +project. Of course, it is sometimes not possible or desirable to +upstream because the changes are highly specific or proprietary. + +This chapter describes how to make such project-specific customizations +in Buildroot and how to store them in a way that you can build the same +image in a reproducible way, even after running 'make clean'. By +following the recommended strategy, you can even use the same Buildroot +tree to build multiple distinct projects! + +include::customize-directory-structure.adoc[] + +include::customize-outside-br.adoc[] + +include::customize-configuration.adoc[] + +include::customize-rootfs.adoc[] + +include::customize-users-tables.adoc[] + +include::customize-post-image.adoc[] + +include::customize-patches.adoc[] + +include::customize-packages.adoc[] + +include::customize-quick-guide.adoc[] diff --git a/docs/manual/customize.txt b/docs/manual/customize.txt deleted file mode 100644 index 484413e4d8b..00000000000 --- a/docs/manual/customize.txt +++ /dev/null @@ -1,60 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[customize]] -== Project-specific customization - -Typical actions you may need to perform for a given project are: - -* configuring Buildroot (including build options and toolchain, - bootloader, kernel, package and filesystem image type selection) -* configuring other components, like the Linux kernel and BusyBox -* customizing the generated target filesystem - ** adding or overwriting files on the target filesystem (using - +BR2_ROOTFS_OVERLAY+) - ** modifying or deleting files on the target filesystem (using - +BR2_ROOTFS_POST_BUILD_SCRIPT+) - ** running arbitrary commands prior to generating the filesystem image - (using +BR2_ROOTFS_POST_BUILD_SCRIPT+) - ** setting file permissions and ownership (using - +BR2_ROOTFS_DEVICE_TABLE+) - ** adding custom devices nodes (using - +BR2_ROOTFS_STATIC_DEVICE_TABLE+) -* adding custom user accounts (using +BR2_ROOTFS_USERS_TABLES+) -* running arbitrary commands after generating the filesystem image - (using +BR2_ROOTFS_POST_IMAGE_SCRIPT+) -* adding project-specific patches to some packages (using - +BR2_GLOBAL_PATCH_DIR+) -* adding project-specific packages - -An important note regarding such 'project-specific' customizations: -please carefully consider which changes are indeed project-specific and -which changes are also useful to developers outside your project. The -Buildroot community highly recommends and encourages the upstreaming of -improvements, packages and board support to the official Buildroot -project. Of course, it is sometimes not possible or desirable to -upstream because the changes are highly specific or proprietary. - -This chapter describes how to make such project-specific customizations -in Buildroot and how to store them in a way that you can build the same -image in a reproducible way, even after running 'make clean'. By -following the recommended strategy, you can even use the same Buildroot -tree to build multiple distinct projects! - -include::customize-directory-structure.txt[] - -include::customize-outside-br.txt[] - -include::customize-configuration.txt[] - -include::customize-rootfs.txt[] - -include::customize-users-tables.txt[] - -include::customize-post-image.txt[] - -include::customize-patches.txt[] - -include::customize-packages.txt[] - -include::customize-quick-guide.txt[] diff --git a/docs/manual/debugging-buildroot.txt b/docs/manual/debugging-buildroot.adoc similarity index 100% rename from docs/manual/debugging-buildroot.txt rename to docs/manual/debugging-buildroot.adoc diff --git a/docs/manual/developers.txt b/docs/manual/developers.adoc similarity index 100% rename from docs/manual/developers.txt rename to docs/manual/developers.adoc diff --git a/docs/manual/download-infra.txt b/docs/manual/download-infra.adoc similarity index 100% rename from docs/manual/download-infra.txt rename to docs/manual/download-infra.adoc diff --git a/docs/manual/download-location.txt b/docs/manual/download-location.adoc similarity index 100% rename from docs/manual/download-location.txt rename to docs/manual/download-location.adoc diff --git a/docs/manual/faq-troubleshooting.adoc b/docs/manual/faq-troubleshooting.adoc new file mode 100644 index 00000000000..a61276d4c56 --- /dev/null +++ b/docs/manual/faq-troubleshooting.adoc @@ -0,0 +1,272 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Frequently Asked Questions & Troubleshooting + +[[faq-boot-hang-after-starting]] +=== The boot hangs after 'Starting network...' + +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 +serial console, you have to go into the Buildroot configuration, in ++System configuration+, modify +Run a getty (login prompt) after boot+ +and set the appropriate port and baud rate in the +getty options+ +submenu. This will automatically tune the +/etc/inittab+ file of the +generated system so that a shell starts on the correct serial port. + +[[faq-no-compiler-on-target]] +=== Why is there no compiler on the target? + +It has been decided that support for the _native compiler on the +target_ would be stopped from the Buildroot-2012.11 release because: + +* this feature was neither maintained nor tested, and often broken; +* this feature was only available for Buildroot toolchains; +* Buildroot mostly targets _small_ or _very small_ target hardware + with limited resource onboard (CPU, ram, mass-storage), for which + compiling on the target does not make much sense; +* Buildroot aims at easing the cross-compilation, making native + compilation on the target unnecessary. + +If you need a compiler on your target anyway, then Buildroot is not +suitable for your purpose. In such case, you need a _real +distribution_ and you should opt for something like: + +* http://www.openembedded.org[openembedded] +* https://www.yoctoproject.org[yocto] +* https://www.debian.org/ports/[Debian] +* https://fedoraproject.org/wiki/Architectures[Fedora] +* http://en.opensuse.org/Portal:ARM[openSUSE ARM] +* http://archlinuxarm.org[Arch Linux ARM] +* ... + +[[faq-no-dev-files-on-target]] +=== Why are there no development files on the target? + +Since there is no compiler available on the target (see +xref:faq-no-compiler-on-target[]), it does not make sense to waste +space with headers or static libraries. + +Therefore, those files are always removed from the target since the +Buildroot-2012.11 release. + +[[faq-no-doc-on-target]] +=== Why is there no documentation on the target? + +Because Buildroot mostly targets _small_ or _very small_ target +hardware with limited resource onboard (CPU, ram, mass-storage), it +does not make sense to waste space with the documentation data. + +If you need documentation data on your target anyway, then Buildroot +is not suitable for your purpose, and you should look for a _real +distribution_ (see: xref:faq-no-compiler-on-target[]). + +[[faq-why-not-visible-package]] +=== Why are some packages not visible in the Buildroot config menu? + +If a package exists in the Buildroot tree and does not appear in the +config menu, this most likely means that some of the package's +dependencies are not met. + +To know more about the dependencies of a package, search for the +package symbol in the config menu (see xref:make-tips[]). + +Then, you may have to recursively enable several options (which +correspond to the unmet dependencies) to finally be able to select +the package. + +If the package is not visible due to some unmet toolchain options, +then you should certainly run a full rebuild (see xref:make-tips[] for +more explanations). + +[[faq-why-not-use-target-as-chroot]] +=== Why not use the target directory as a chroot directory? + +There are plenty of reasons to *not* use the target directory a chroot +one, among these: + +* file ownerships, modes and permissions are not correctly set in the + target directory; +* device nodes are not created in the target directory. + +For these reasons, commands run through chroot, using the target +directory as the new root, will most likely fail. + +If you want to run the target filesystem inside a chroot, or as an NFS +root, then use the tarball image generated in +images/+ and extract it +as root. + +[[faq-no-binary-packages]] +=== Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? + +One feature that is often discussed on the Buildroot list is the +general topic of "package management". To summarize, the idea +would be to add some tracking of which Buildroot package installs +what files, with the goals of: + + * being able to remove files installed by a package when this package + gets unselected from the menuconfig; + + * being able to generate binary packages (ipk or other format) that + can be installed on the target without re-generating a new root + filesystem image. + +In general, most people think it is easy to do: just track which package +installed what and remove it when the package is unselected. However, it +is much more complicated than that: + + * It is not only about the +target/+ directory, but also the sysroot in + +host//sysroot+ and the +host/+ directory itself. All files + installed in those directories by various packages must be tracked. + + * When a package is unselected from the configuration, it is not + sufficient to remove just the files it installed. One must also + remove all its reverse dependencies (i.e. packages relying on it) + and rebuild all those packages. For example, package A depends + optionally on the OpenSSL library. Both are selected, and Buildroot + is built. Package A is built with crypto support using OpenSSL. + Later on, OpenSSL gets unselected from the configuration, but + package A remains (since OpenSSL is an optional dependency, this + is possible.) If only OpenSSL files are removed, then the files + installed by package A are broken: they use a library that is no + longer present on the target. Although this is technically doable, + it adds a lot of complexity to Buildroot, which goes against the + simplicity we try to stick to. + + * In addition to the previous problem, there is the case where the + optional dependency is not even known to Buildroot. For example, + package A in version 1.0 never used OpenSSL, but in version 2.0 it + automatically uses OpenSSL if available. If the Buildroot .mk file + hasn't been updated to take this into account, then package A will + not be part of the reverse dependencies of OpenSSL and will not be + removed and rebuilt when OpenSSL is removed. For sure, the .mk file + of package A should be fixed to mention this optional dependency, + but in the mean time, you can have non-reproducible behaviors. + + * The request is to also allow changes in the menuconfig to be + applied on the output directory without having to rebuild + everything from scratch. However, this is very difficult to achieve + in a reliable way: what happens when the suboptions of a package + are changed (we would have to detect this, and rebuild the package + from scratch and potentially all its reverse dependencies), what + happens if toolchain options are changed, etc. At the moment, what + Buildroot does is clear and simple so its behaviour is very + reliable and it is easy to support users. If configuration changes + done in menuconfig are applied after the next make, then it has to + work correctly and properly in all situations, and not have some + bizarre corner cases. The risk is to get bug reports like "I have + enabled package A, B and C, then ran make, then disabled package + C and enabled package D and ran make, then re-enabled package C + and enabled package E and then there is a build failure". Or worse + "I did some configuration, then built, then did some changes, + built, some more changes, built, some more changes, built, and now + it fails, but I don't remember all the changes I did and in which + order". This will be impossible to support. + +For all these reasons, the conclusion is that adding tracking of +installed files to remove them when the package is unselected, or to +generate a repository of binary packages, is something that is very +hard to achieve reliably and will add a lot of complexity. + +On this matter, the Buildroot developers make this position statement: + + * Buildroot strives to make it easy to generate a root filesystem (hence + the name, by the way.) That is what we want to make Buildroot good at: + building root filesystems. + + * Buildroot is not meant to be a distribution (or rather, a distribution + generator.) It is the opinion of most Buildroot developers that this + is not a goal we should pursue. We believe that there are other tools + better suited to generate a distro than Buildroot is. For example, + http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT], + are such tools. + + * We prefer to push Buildroot in a direction that makes it easy (or even + easier) to generate complete root filesystems. This is what makes + Buildroot stands out in the crowd (among other things, of course!) + + * We believe that for most embedded Linux systems, binary packages are + not necessary, and potentially harmful. When binary packages are + used, it means that the system can be partially upgraded, which + creates an enormous number of possible combinations of package + versions that should be tested before doing the upgrade on the + embedded device. On the other hand, by doing complete system + upgrades by upgrading the entire root filesystem image at once, + the image deployed to the embedded system is guaranteed to really + be the one that has been tested and validated. + +[[faq-speeding-up-build]] +=== How to speed-up the build process? + +Since Buildroot often involves doing full rebuilds of the entire +system that can be quite long, we provide below a number of tips to +help reduce the build time: + + * Use a pre-built external toolchain instead of the default Buildroot + internal toolchain. By using a pre-built Linaro toolchain (on ARM) + or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, + etc.), you will save the build time of the toolchain at each + complete rebuild, approximately 15 to 20 minutes. Note that + temporarily using an external toolchain does not prevent you to + switch back to an internal toolchain (that may provide a higher + level of customization) once the rest of your system is working; + + * Use the +ccache+ compiler cache (see: xref:ccache[]); + + * Learn about rebuilding only the few packages you actually care + about (see xref:rebuild-pkg[]), but beware that sometimes full + rebuilds are anyway necessary (see xref:full-rebuild[]); + + * Make sure you are not using a virtual machine for the Linux system + used to run Buildroot. Most of the virtual machine technologies are + known to cause a significant performance impact on I/O, which is + really important for building source code; + + * Make sure that you're using only local files: do not attempt to do + a build over NFS, which significantly slows down the build. Having + the Buildroot download folder available locally also helps a bit. + + * Buy new hardware. SSDs and lots of RAM are key to speeding up the + builds. + + * Experiment with top-level parallel build, see + xref:top-level-parallel-build[]. + +[[faq-2038]] +=== How does Buildroot support Y2038? + +There are multiple situations to consider: + + * On 64-bit architectures, there is no problem, as +time_t+ has + always been 64-bit. + + * On 32-bit architectures, the situation depends on the C library: + + ** With _uclibc-ng_, there is no support for 64-bit +time_t+ on + 32-bit architectures, so systems using _uclibc-ng_ on 32-bit + platforms will not be Y2038 compatible. + + ** With _musl_, 64-bit +time_t+ has always been used on 32-bit + architectures, so systems using _musl_ on 32-bit platforms are + Y2038 compatible. + + ** With _glibc_, 64-bit +time_t+ on 32-bit architectures is enabled + by the Buildroot option +BR2_TIME_BITS_64+. With this option + enabled, systems using _glibc_ on 32-bit platforms are Y2038 + compatible. + +Note that the above only comments about the capabilities of the C +library. Individual user-space libraries or applications, even when +built in a Y2038-compatible setup, can exhibit incorrect behavior if +they do not make correct use of the time APIs and types. diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt deleted file mode 100644 index b08bf9bc4ae..00000000000 --- a/docs/manual/faq-troubleshooting.txt +++ /dev/null @@ -1,244 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Frequently Asked Questions & Troubleshooting - -[[faq-boot-hang-after-starting]] -=== The boot hangs after 'Starting network...' - -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 -serial console, you have to go into the Buildroot configuration, in -+System configuration+, modify +Run a getty (login prompt) after boot+ -and set the appropriate port and baud rate in the +getty options+ -submenu. This will automatically tune the +/etc/inittab+ file of the -generated system so that a shell starts on the correct serial port. - -[[faq-no-compiler-on-target]] -=== Why is there no compiler on the target? - -It has been decided that support for the _native compiler on the -target_ would be stopped from the Buildroot-2012.11 release because: - -* this feature was neither maintained nor tested, and often broken; -* this feature was only available for Buildroot toolchains; -* Buildroot mostly targets _small_ or _very small_ target hardware - with limited resource onboard (CPU, ram, mass-storage), for which - compiling on the target does not make much sense; -* Buildroot aims at easing the cross-compilation, making native - compilation on the target unnecessary. - -If you need a compiler on your target anyway, then Buildroot is not -suitable for your purpose. In such case, you need a _real -distribution_ and you should opt for something like: - -* http://www.openembedded.org[openembedded] -* https://www.yoctoproject.org[yocto] -* https://www.debian.org/ports/[Debian] -* https://fedoraproject.org/wiki/Architectures[Fedora] -* http://en.opensuse.org/Portal:ARM[openSUSE ARM] -* http://archlinuxarm.org[Arch Linux ARM] -* ... - -[[faq-no-dev-files-on-target]] -=== Why are there no development files on the target? - -Since there is no compiler available on the target (see -xref:faq-no-compiler-on-target[]), it does not make sense to waste -space with headers or static libraries. - -Therefore, those files are always removed from the target since the -Buildroot-2012.11 release. - -[[faq-no-doc-on-target]] -=== Why is there no documentation on the target? - -Because Buildroot mostly targets _small_ or _very small_ target -hardware with limited resource onboard (CPU, ram, mass-storage), it -does not make sense to waste space with the documentation data. - -If you need documentation data on your target anyway, then Buildroot -is not suitable for your purpose, and you should look for a _real -distribution_ (see: xref:faq-no-compiler-on-target[]). - -[[faq-why-not-visible-package]] -=== Why are some packages not visible in the Buildroot config menu? - -If a package exists in the Buildroot tree and does not appear in the -config menu, this most likely means that some of the package's -dependencies are not met. - -To know more about the dependencies of a package, search for the -package symbol in the config menu (see xref:make-tips[]). - -Then, you may have to recursively enable several options (which -correspond to the unmet dependencies) to finally be able to select -the package. - -If the package is not visible due to some unmet toolchain options, -then you should certainly run a full rebuild (see xref:make-tips[] for -more explanations). - -[[faq-why-not-use-target-as-chroot]] -=== Why not use the target directory as a chroot directory? - -There are plenty of reasons to *not* use the target directory a chroot -one, among these: - -* file ownerships, modes and permissions are not correctly set in the - target directory; -* device nodes are not created in the target directory. - -For these reasons, commands run through chroot, using the target -directory as the new root, will most likely fail. - -If you want to run the target filesystem inside a chroot, or as an NFS -root, then use the tarball image generated in +images/+ and extract it -as root. - -[[faq-no-binary-packages]] -=== Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? - -One feature that is often discussed on the Buildroot list is the -general topic of "package management". To summarize, the idea -would be to add some tracking of which Buildroot package installs -what files, with the goals of: - - * being able to remove files installed by a package when this package - gets unselected from the menuconfig; - - * being able to generate binary packages (ipk or other format) that - can be installed on the target without re-generating a new root - filesystem image. - -In general, most people think it is easy to do: just track which package -installed what and remove it when the package is unselected. However, it -is much more complicated than that: - - * It is not only about the +target/+ directory, but also the sysroot in - +host//sysroot+ and the +host/+ directory itself. All files - installed in those directories by various packages must be tracked. - - * When a package is unselected from the configuration, it is not - sufficient to remove just the files it installed. One must also - remove all its reverse dependencies (i.e. packages relying on it) - and rebuild all those packages. For example, package A depends - optionally on the OpenSSL library. Both are selected, and Buildroot - is built. Package A is built with crypto support using OpenSSL. - Later on, OpenSSL gets unselected from the configuration, but - package A remains (since OpenSSL is an optional dependency, this - is possible.) If only OpenSSL files are removed, then the files - installed by package A are broken: they use a library that is no - longer present on the target. Although this is technically doable, - it adds a lot of complexity to Buildroot, which goes against the - simplicity we try to stick to. - - * In addition to the previous problem, there is the case where the - optional dependency is not even known to Buildroot. For example, - package A in version 1.0 never used OpenSSL, but in version 2.0 it - automatically uses OpenSSL if available. If the Buildroot .mk file - hasn't been updated to take this into account, then package A will - not be part of the reverse dependencies of OpenSSL and will not be - removed and rebuilt when OpenSSL is removed. For sure, the .mk file - of package A should be fixed to mention this optional dependency, - but in the mean time, you can have non-reproducible behaviors. - - * The request is to also allow changes in the menuconfig to be - applied on the output directory without having to rebuild - everything from scratch. However, this is very difficult to achieve - in a reliable way: what happens when the suboptions of a package - are changed (we would have to detect this, and rebuild the package - from scratch and potentially all its reverse dependencies), what - happens if toolchain options are changed, etc. At the moment, what - Buildroot does is clear and simple so its behaviour is very - reliable and it is easy to support users. If configuration changes - done in menuconfig are applied after the next make, then it has to - work correctly and properly in all situations, and not have some - bizarre corner cases. The risk is to get bug reports like "I have - enabled package A, B and C, then ran make, then disabled package - C and enabled package D and ran make, then re-enabled package C - and enabled package E and then there is a build failure". Or worse - "I did some configuration, then built, then did some changes, - built, some more changes, built, some more changes, built, and now - it fails, but I don't remember all the changes I did and in which - order". This will be impossible to support. - -For all these reasons, the conclusion is that adding tracking of -installed files to remove them when the package is unselected, or to -generate a repository of binary packages, is something that is very -hard to achieve reliably and will add a lot of complexity. - -On this matter, the Buildroot developers make this position statement: - - * Buildroot strives to make it easy to generate a root filesystem (hence - the name, by the way.) That is what we want to make Buildroot good at: - building root filesystems. - - * Buildroot is not meant to be a distribution (or rather, a distribution - generator.) It is the opinion of most Buildroot developers that this - is not a goal we should pursue. We believe that there are other tools - better suited to generate a distro than Buildroot is. For example, - http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT], - are such tools. - - * We prefer to push Buildroot in a direction that makes it easy (or even - easier) to generate complete root filesystems. This is what makes - Buildroot stands out in the crowd (among other things, of course!) - - * We believe that for most embedded Linux systems, binary packages are - not necessary, and potentially harmful. When binary packages are - used, it means that the system can be partially upgraded, which - creates an enormous number of possible combinations of package - versions that should be tested before doing the upgrade on the - embedded device. On the other hand, by doing complete system - upgrades by upgrading the entire root filesystem image at once, - the image deployed to the embedded system is guaranteed to really - be the one that has been tested and validated. - -[[faq-speeding-up-build]] -=== How to speed-up the build process? - -Since Buildroot often involves doing full rebuilds of the entire -system that can be quite long, we provide below a number of tips to -help reduce the build time: - - * Use a pre-built external toolchain instead of the default Buildroot - internal toolchain. By using a pre-built Linaro toolchain (on ARM) - or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, - etc.), you will save the build time of the toolchain at each - complete rebuild, approximately 15 to 20 minutes. Note that - temporarily using an external toolchain does not prevent you to - switch back to an internal toolchain (that may provide a higher - level of customization) once the rest of your system is working; - - * Use the +ccache+ compiler cache (see: xref:ccache[]); - - * Learn about rebuilding only the few packages you actually care - about (see xref:rebuild-pkg[]), but beware that sometimes full - rebuilds are anyway necessary (see xref:full-rebuild[]); - - * Make sure you are not using a virtual machine for the Linux system - used to run Buildroot. Most of the virtual machine technologies are - known to cause a significant performance impact on I/O, which is - really important for building source code; - - * Make sure that you're using only local files: do not attempt to do - a build over NFS, which significantly slows down the build. Having - the Buildroot download folder available locally also helps a bit. - - * Buy new hardware. SSDs and lots of RAM are key to speeding up the - builds. - - * Experiment with top-level parallel build, see - xref:top-level-parallel-build[]. diff --git a/docs/manual/getting.txt b/docs/manual/getting.adoc similarity index 100% rename from docs/manual/getting.txt rename to docs/manual/getting.adoc diff --git a/docs/manual/how-buildroot-works.txt b/docs/manual/how-buildroot-works.adoc similarity index 100% rename from docs/manual/how-buildroot-works.txt rename to docs/manual/how-buildroot-works.adoc diff --git a/docs/manual/integration-selinux-support.txt b/docs/manual/integration-selinux-support.adoc similarity index 100% rename from docs/manual/integration-selinux-support.txt rename to docs/manual/integration-selinux-support.adoc diff --git a/docs/manual/integration-systemd.txt b/docs/manual/integration-systemd.adoc similarity index 100% rename from docs/manual/integration-systemd.txt rename to docs/manual/integration-systemd.adoc diff --git a/docs/manual/integration.adoc b/docs/manual/integration.adoc new file mode 100644 index 00000000000..1626dd75ddc --- /dev/null +++ b/docs/manual/integration.adoc @@ -0,0 +1,14 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[integration]] +== Integration topics + +This chapter discusses how various things are integrated at system +level. Buildroot is highly configurable, almost everything discussed +here can be changed or overridden by xref:rootfs-custom[rootfs overlay +or custom skeleton] configuration. + +include::integration-systemd.adoc[] + +include::integration-selinux-support.adoc[] diff --git a/docs/manual/integration.txt b/docs/manual/integration.txt deleted file mode 100644 index be56bf65671..00000000000 --- a/docs/manual/integration.txt +++ /dev/null @@ -1,14 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[integration]] -== Integration topics - -This chapter discusses how various things are integrated at system -level. Buildroot is highly configurable, almost everything discussed -here can be changed or overridden by xref:rootfs-custom[rootfs overlay -or custom skeleton] configuration. - -include::integration-systemd.txt[] - -include::integration-selinux-support.txt[] diff --git a/docs/manual/introduction.txt b/docs/manual/introduction.adoc similarity index 100% rename from docs/manual/introduction.txt rename to docs/manual/introduction.adoc diff --git a/docs/manual/known-issues.txt b/docs/manual/known-issues.adoc similarity index 100% rename from docs/manual/known-issues.txt rename to docs/manual/known-issues.adoc diff --git a/docs/manual/legal-notice.txt b/docs/manual/legal-notice.adoc similarity index 100% rename from docs/manual/legal-notice.txt rename to docs/manual/legal-notice.adoc diff --git a/docs/manual/make-tips.txt b/docs/manual/make-tips.adoc similarity index 100% rename from docs/manual/make-tips.txt rename to docs/manual/make-tips.adoc diff --git a/docs/manual/makedev-syntax.adoc b/docs/manual/makedev-syntax.adoc new file mode 100644 index 00000000000..e63c9233eb2 --- /dev/null +++ b/docs/manual/makedev-syntax.adoc @@ -0,0 +1,108 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[makedev-syntax]] +== Makedev syntax documentation + +The makedev syntax is used in several places in Buildroot to +define changes to be made for permissions, or which device files to +create and how to create them, in order to avoid calls to mknod. + +This syntax is derived from the makedev utility, and more complete +documentation can be found in the +package/makedevs/README+ file. + +It takes the form of a space separated list of fields, one file per +line; the fields are: + +|=========================================================== +|name |type |mode |uid |gid |major |minor |start |inc |count +|=========================================================== + +There are a few non-trivial blocks: + +- +name+ is the path to the file you want to create/modify +- +type+ is the type of the file, being one of: + * `f`: a regular file, which must already exist + * `F`: a regular file, which is ignored and not created if missing + * `d`: a directory, which is created, as well as its parents, if missing + * `r`: a directory recursively, which must already exist + * `c`: a character device file, which parent directory must exist + * `b`: a block device file, which parent directory must exist + * `p`: a named pipe, which parent directory must exist +- +mode+ are the usual permissions settings (only numerical values + are allowed); + for type `d`, the mode of existing parents is not changed, but the mode + of created parents is set; + for types `f`, `F`, and `r`, +mode+ can also be set to +-1+ to not + change the mode (and only change uid and gid) +- +uid+ and +gid+ are the UID and GID to set on this file; can be + either numerical values or actual names +- +major+ and +minor+ are here for device files, set to +-+ for other + files +- +start+, +inc+ and +count+ are for when you want to create a batch + of files, and can be reduced to a loop, beginning at +start+, + incrementing its counter by +inc+ until it reaches +count+ + +Let's say you want to change the ownership and permissions of a given +file; using this syntax, you will need to write: + +---- +/usr/bin/foo f 755 0 0 - - - - - +/usr/bin/bar f 755 root root - - - - - +/data/buz f 644 buz-user buz-group - - - - - +/data/baz f -1 baz-user baz-group - - - - - +---- + +Alternatively, if you want to change owner of a directory recursively, +you can write (to set UID to `foo` and GID to `bar` for the directory +`/usr/share/myapp` and all files and directories below it): + +---- +/usr/share/myapp r -1 foo bar - - - - - +---- + +On the other hand, if you want to create the device file +/dev/hda+ +and the corresponding 15 files for the partitions, you will need for ++/dev/hda+: + +---- +/dev/hda b 640 root root 3 0 0 0 - +---- + +and then for device files corresponding to the partitions of ++/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15: + +---- +/dev/hda b 640 root root 3 1 1 1 15 +---- + +Extended attributes are supported if ++BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES+ is enabled. +This is done by adding a line starting with +|xattr+ after +the line describing the file. Right now, only capability +is supported as extended attribute. + +|===================== +| \|xattr | capability +|===================== + +- +|xattr+ is a "flag" that indicate an extended attribute +- +capability+ is a capability to add to the previous file + +If you want to add the capability cap_sys_admin to the binary foo, +you will write : + +---- +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +---- + +You can add several capabilities to a file by using several +|xattr+ lines. +If you want to add the capability cap_sys_admin and cap_net_admin to the +binary foo, you will write : + +---- +/usr/bin/foo f 755 root root - - - - - +|xattr cap_sys_admin+eip +|xattr cap_net_admin+eip +---- diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt deleted file mode 100644 index d6efb31d421..00000000000 --- a/docs/manual/makedev-syntax.txt +++ /dev/null @@ -1,103 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[makedev-syntax]] -== Makedev syntax documentation - -The makedev syntax is used in several places in Buildroot to -define changes to be made for permissions, or which device files to -create and how to create them, in order to avoid calls to mknod. - -This syntax is derived from the makedev utility, and more complete -documentation can be found in the +package/makedevs/README+ file. - -It takes the form of a space separated list of fields, one file per -line; the fields are: - -|=========================================================== -|name |type |mode |uid |gid |major |minor |start |inc |count -|=========================================================== - -There are a few non-trivial blocks: - -- +name+ is the path to the file you want to create/modify -- +type+ is the type of the file, being one of: - * f: a regular file - * d: a directory - * r: a directory recursively - * c: a character device file - * b: a block device file - * p: a named pipe -- +mode+ are the usual permissions settings (only numerical values - are allowed) -- +uid+ and +gid+ are the UID and GID to set on this file; can be - either numerical values or actual names -- +major+ and +minor+ are here for device files, set to +-+ for other - files -- +start+, +inc+ and +count+ are for when you want to create a batch - of files, and can be reduced to a loop, beginning at +start+, - incrementing its counter by +inc+ until it reaches +count+ - -Let's say you want to change the permissions of a given file; using -this syntax, you will need to write: - ----- -/usr/bin/foo f 755 0 0 - - - - - -/usr/bin/bar f 755 root root - - - - - -/data/buz f 644 buz-user buz-group - - - - - ----- - -Alternatively, if you want to change owner/permission of a directory -recursively, you can write (to set UID to foo, GID to bar and access -rights to rwxr-x--- for the directory /usr/share/myapp and all files -and directories below it): - ----- -/usr/share/myapp r 750 foo bar - - - - - ----- - -On the other hand, if you want to create the device file +/dev/hda+ -and the corresponding 15 files for the partitions, you will need for -+/dev/hda+: - ----- -/dev/hda b 640 root root 3 0 0 0 - ----- - -and then for device files corresponding to the partitions of -+/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15: - ----- -/dev/hda b 640 root root 3 1 1 1 15 ----- - -Extended attributes are supported if -+BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES+ is enabled. -This is done by adding a line starting with +|xattr+ after -the line describing the file. Right now, only capability -is supported as extended attribute. - -|===================== -| \|xattr | capability -|===================== - -- +|xattr+ is a "flag" that indicate an extended attribute -- +capability+ is a capability to add to the previous file - -If you want to add the capability cap_sys_admin to the binary foo, -you will write : - ----- -/usr/bin/foo f 755 root root - - - - - -|xattr cap_sys_admin+eip ----- - -You can add several capabilities to a file by using several +|xattr+ lines. -If you want to add the capability cap_sys_admin and cap_net_admin to the -binary foo, you will write : - ----- -/usr/bin/foo f 755 root root - - - - - -|xattr cap_sys_admin+eip -|xattr cap_net_admin+eip ----- diff --git a/docs/manual/makeusers-syntax.txt b/docs/manual/makeusers-syntax.adoc similarity index 100% rename from docs/manual/makeusers-syntax.txt rename to docs/manual/makeusers-syntax.adoc diff --git a/docs/manual/manual.adoc b/docs/manual/manual.adoc new file mode 100644 index 00000000000..31d5f80bae7 --- /dev/null +++ b/docs/manual/manual.adoc @@ -0,0 +1,75 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + += The Buildroot user manual +:toc: + +Buildroot {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} +{localtime} from git revision {sys:git rev-parse --short HEAD} + +The Buildroot manual is written by the Buildroot developers. +It is licensed under the GNU General Public License, version 2. Refer to the +http://git.buildroot.org/buildroot/tree/COPYING?id={sys:git rev-parse HEAD}[COPYING] +file in the Buildroot sources for the full text of this license. + +Copyright (C) The Buildroot developers + +image::logo.png[] + += Getting started + +include::introduction.adoc[] + +include::prerequisite.adoc[] + +include::getting.adoc[] + +include::quickstart.adoc[] + +include::resources.adoc[] + += User guide + +include::configure.adoc[] + +include::configure-other-components.adoc[] + +include::common-usage.adoc[] + +include::customize.adoc[] + +include::integration.adoc[] + +include::faq-troubleshooting.adoc[] + +include::known-issues.adoc[] + +include::legal-notice.adoc[] + +include::beyond-buildroot.adoc[] + += Developer guide + +include::how-buildroot-works.adoc[] + +include::writing-rules.adoc[] + +include::adding-board-support.adoc[] + +include::adding-packages.adoc[] + +include::patch-policy.adoc[] + +include::download-infra.adoc[] + +include::debugging-buildroot.adoc[] + +include::contribute.adoc[] + +include::developers.adoc[] + +include::release-engineering.adoc[] + += Appendix + +include::appendix.adoc[] diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk index 1d03b213dbb..e851a084aec 100644 --- a/docs/manual/manual.mk +++ b/docs/manual/manual.mk @@ -4,7 +4,7 @@ # ################################################################################ -MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)) +MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.adoc) $(wildcard docs/images/*)) MANUAL_RESOURCES = $(TOPDIR)/docs/images $(eval $(call asciidoc-document)) diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt deleted file mode 100644 index fab66dbda58..00000000000 --- a/docs/manual/manual.txt +++ /dev/null @@ -1,75 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -= The Buildroot user manual -:toc: - -Buildroot {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} -{localtime} from git revision {sys:git rev-parse --short HEAD} - -The Buildroot manual is written by the Buildroot developers. -It is licensed under the GNU General Public License, version 2. Refer to the -http://git.buildroot.org/buildroot/tree/COPYING?id={sys:git rev-parse HEAD}[COPYING] -file in the Buildroot sources for the full text of this license. - -Copyright (C) 2004-2020 The Buildroot developers - -image::logo.png[] - -= Getting started - -include::introduction.txt[] - -include::prerequisite.txt[] - -include::getting.txt[] - -include::quickstart.txt[] - -include::resources.txt[] - -= User guide - -include::configure.txt[] - -include::configure-other-components.txt[] - -include::common-usage.txt[] - -include::customize.txt[] - -include::integration.txt[] - -include::faq-troubleshooting.txt[] - -include::known-issues.txt[] - -include::legal-notice.txt[] - -include::beyond-buildroot.txt[] - -= Developer guide - -include::how-buildroot-works.txt[] - -include::writing-rules.txt[] - -include::adding-board-support.txt[] - -include::adding-packages.txt[] - -include::patch-policy.txt[] - -include::download-infra.txt[] - -include::debugging-buildroot.txt[] - -include::contribute.txt[] - -include::developers.txt[] - -include::release-engineering.txt[] - -= Appendix - -include::appendix.txt[] diff --git a/docs/manual/migrating.adoc b/docs/manual/migrating.adoc new file mode 100644 index 00000000000..c0f89cbf07b --- /dev/null +++ b/docs/manual/migrating.adoc @@ -0,0 +1,125 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[migrating-from-ol-versions]] +== Migrating from older Buildroot versions + +Some versions have introduced backward incompatibilities. This section +explains those incompatibilities, and for each explains what to do to +complete the migration. + +[[migrating-approach]] +=== General approach + +To migrate from an older Buildroot version, take the following steps. + +. For all your configurations, do a build in the old Buildroot + environment. Run +make graph-size+. Save + +graphs/file-size-stats.csv+ in a different location. Run +make + clean+ to remove the rest. +. Review the specific migration notes below and make the required + adaptations to external packages and custom build scripts. +. Update Buildroot. +. Run +make menuconfig+ starting from the existing +.config+. +. If anything is enabled in the Legacy menu, check its help text, + unselect it, and save the configuration. +. For more details, review the git commit messages for the packages that + you need. Change into the +packages+ directory and run + +git log .. -- +. +. Build in the new Buildroot environment. +. Fix build issues in external packages (usually due to updated + dependencies). +. Run +make graph-size+. +. Compare the new +file-size-stats.csv+ with the original one, to + check if no required files have disappeared and if no new big unneeded + files have appeared. +. For configuration (and other) files in a custom overlay that overwrite + files created by Buildroot, check if there are changes in the + Buildroot-generated file that need to be propagated to your custom + file. + +[[br2-external-converting]] +=== Migrating to 2016.11 + +Before Buildroot 2016.11, it was possible to use only one br2-external +tree at once. With Buildroot 2016.11 came the possibility to use more +than one simultaneously (for details, see xref:outside-br-custom[]). + +This however means that older br2-external trees are not usable as-is. +A minor change has to be made: adding a name to your br2-external tree. + +This can be done very easily in just a few steps: + + * First, create a new file named +external.desc+, at the root of your + br2-external tree, with a single line defining the name of your + br2-external tree: ++ +---- +$ echo 'name: NAME_OF_YOUR_TREE' >external.desc +---- ++ +.Note +Be careful when choosing a name: It has to be unique and be made +with only ASCII characters from the set +[A-Za-z0-9_]+. + + * Then, change every occurence of +BR2_EXTERNAL+ in your br2-external + tree with the new variable: ++ +---- +$ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' +---- + +Now, your br2-external tree can be used with Buildroot 2016.11 onward. + +.Note: +This change makes your br2-external tree incompatible with Buildroot +before 2016.11. + +[[migrating-host-usr]] +=== Migrating to 2017.08 + +Before Buildroot 2017.08, host packages were installed in +$(HOST_DIR)/usr+ +(with e.g. the autotools' +--prefix=$(HOST_DIR)/usr+). With Buildroot +2017.08, they are now installed directly in +$(HOST_DIR)+. + +Whenever a package installs an executable that is linked with a library +in +$(HOST_DIR)/lib+, it must have an RPATH pointing to that directory. + +An RPATH pointing to +$(HOST_DIR)/usr/lib+ is no longer accepted. + +[[migrating-svn-externals]] +=== Migrating to 2023.11 + +Before Buildroot 2023.11, the subversion download backend unconditionally +retrieved the external references (objects with an `svn:externals` +property). Starting with 2023.11, externals are no longer retrieved by +default; if you need them, set +LIBFOO_SVN_EXTERNALS+ to +YES+. This +change implies that: + +* the generated archive content may change, and thus the hashes may need + to be updated appropriately; +* the archive version suffix has been updated to +-br3+, so the hash + files must be updated appropriately. + +Before Buildroot 2023.11, it was possible (but undocumented and unused) +to apply architecture-specific patches, by prefixing the patch filename +with the architecture, e.g. `0001-some-changes.patch.arm` and such a +patch would only be applied for that architecture. With Buildroot 2023.11, +this is no longer supported, and such patches are no longer applied at +all. + +If you still need per-architecture patches, then you may provide a +xref:hooks[pre-patch hook] that copies the patches applicable to the +configured architecture, e.g.: + +---- +define LIBFOO_ARCH_PATCHES + $(foreach p,$(wildcard $(LIBFOO_PKGDIR)/*.patch.$(ARCH)), \ + cp -f $(p) $(patsubst %.$(ARCH),%,$(p)) + ) +endef +LIBFOO_PRE_PATCH_HOOKS += LIBFOO_ARCH_PATCHES +---- + +Note that no package in Buildroot has architecture-specific patches, and +that such patches will most probably not be accepted. diff --git a/docs/manual/migrating.txt b/docs/manual/migrating.txt deleted file mode 100644 index cb1f5eacc91..00000000000 --- a/docs/manual/migrating.txt +++ /dev/null @@ -1,88 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[migrating-from-ol-versions]] -== Migrating from older Buildroot versions - -Some versions have introduced backward incompatibilities. This section -explains those incompatibilities, and for each explains what to do to -complete the migration. - -[[migrating-approach]] -=== General approach - -To migrate from an older Buildroot version, take the following steps. - -. For all your configurations, do a build in the old Buildroot - environment. Run +make graph-size+. Save - +graphs/file-size-stats.csv+ in a different location. Run +make - clean+ to remove the rest. -. Review the specific migration notes below and make the required - adaptations to external packages and custom build scripts. -. Update Buildroot. -. Run +make menuconfig+ starting from the existing +.config+. -. If anything is enabled in the Legacy menu, check its help text, - unselect it, and save the configuration. -. For more details, review the git commit messages for the packages that - you need. Change into the +packages+ directory and run - +git log .. -- +. -. Build in the new Buildroot environment. -. Fix build issues in external packages (usually due to updated - dependencies). -. Run +make graph-size+. -. Compare the new +file-size-stats.csv+ with the original one, to - check if no required files have disappeared and if no new big unneeded - files have appeared. -. For configuration (and other) files in a custom overlay that overwrite - files created by Buildroot, check if there are changes in the - Buildroot-generated file that need to be propagated to your custom - file. - -[[br2-external-converting]] -=== Migrating to 2016.11 - -Before Buildroot 2016.11, it was possible to use only one br2-external -tree at once. With Buildroot 2016.11 came the possibility to use more -than one simultaneously (for details, see xref:outside-br-custom[]). - -This however means that older br2-external trees are not usable as-is. -A minor change has to be made: adding a name to your br2-external tree. - -This can be done very easily in just a few steps: - - * First, create a new file named +external.desc+, at the root of your - br2-external tree, with a single line defining the name of your - br2-external tree: -+ ----- -$ echo 'name: NAME_OF_YOUR_TREE' >external.desc ----- -+ -.Note -Be careful when choosing a name: It has to be unique and be made -with only ASCII characters from the set +[A-Za-z0-9_]+. - - * Then, change every occurence of +BR2_EXTERNAL+ in your br2-external - tree with the new variable: -+ ----- -$ find . -type f | xargs sed -i 's/BR2_EXTERNAL/BR2_EXTERNAL_NAME_OF_YOUR_TREE_PATH/g' ----- - -Now, your br2-external tree can be used with Buildroot 2016.11 onward. - -.Note: -This change makes your br2-external tree incompatible with Buildroot -before 2016.11. - -[[migrating-host-usr]] -=== Migrating to 2017.08 - -Before Buildroot 2017.08, host packages were installed in +$(HOST_DIR)/usr+ -(with e.g. the autotools' +--prefix=$(HOST_DIR)/usr+). With Buildroot -2017.08, they are now installed directly in +$(HOST_DIR)+. - -Whenever a package installs an executable that is linked with a library -in +$(HOST_DIR)/lib+, it must have an RPATH pointing to that directory. - -An RPATH pointing to +$(HOST_DIR)/usr/lib+ is no longer accepted. diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.adoc similarity index 100% rename from docs/manual/package-make-target.txt rename to docs/manual/package-make-target.adoc diff --git a/docs/manual/patch-policy.adoc b/docs/manual/patch-policy.adoc new file mode 100644 index 00000000000..dc35132ecfd --- /dev/null +++ b/docs/manual/patch-policy.adoc @@ -0,0 +1,180 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[patch-policy]] + +== Patching a package + +While integrating a new package or updating an existing one, it may be +necessary to patch the source of the software to get it cross-built within +Buildroot. + +Buildroot offers an infrastructure to automatically handle this during +the builds. It supports three ways of applying patch sets: downloaded patches, +patches supplied within buildroot and patches located in a user-defined +global patch directory. + +=== Providing patches + +==== Downloaded + +If it is necessary to apply a patch that is available for download, then add it +to the +_PATCH+ variable. If an entry contains +://+, +then Buildroot will assume it is a full URL and download the patch +from this location. Otherwise, Buildroot will assume that the patch should be +downloaded from +_SITE+. It can be a single patch, +or a tarball containing a patch series. + +Like for all downloads, a hash should be added to the +.hash+ +file. + +This method is typically used for packages from Debian. + +==== Within Buildroot + +Most patches are provided within Buildroot, in the package +directory; these typically aim to fix cross-compilation, libc support, +or other such issues. + +These patch files should be named +-.patch+. + +.Notes +- The patch files coming with Buildroot should not contain any package version + reference in their filename. +- The field ++ in the patch file name refers to the 'apply order', + and shall start at 1; It is preferred to pad the number with zeros up to 4 + digits, like 'git-format-patch' does. E.g.: +0001-foobar-the-buz.patch+ +- The patch email subject prefix shall not be numbered. Patches shall + be generated with the +git format-patch -N+ command, since this + numbering is automatically added for series. For example, the patch + subject line should look like +Subject: [PATCH] foobar the buz+ rather + than +Subject: [PATCH n/m] foobar the buz+. +- Previously, it was mandatory for patches to be prefixed with the name of + the package, like +--.patch+, but that is + no longer the case. Existing packages will be fixed as time passes. 'Do + not prefix patches with the package name.' +- Previously, a +series+ file, as used by +quilt+, could also be added in + the package directory. In that case, the +series+ file defines the patch + application order. This is deprecated, and will be removed in the future. + 'Do not use a series file.' + + +==== Global patch directory + +The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be +used to specify a space separated list of one or more directories +containing global package patches. See xref:customize-patches[] for +details. + +[[patch-apply-order]] +=== How patches are applied + +. Run the +_PRE_PATCH_HOOKS+ commands if defined; + +. Cleanup the build directory, removing any existing +*.rej+ files; + +. If +_PATCH+ is defined, then patches from these + tarballs are applied; + +. If there are some +*.patch+ files in the package's Buildroot + directory or in a package subdirectory named ++, + then: ++ +* If a +series+ file exists in the package directory, then patches are + applied according to the +series+ file; ++ +* Otherwise, patch files matching +*.patch+ are applied in alphabetical + order. + So, to ensure they are applied in the right order, it is highly + recommended to name the patch files like this: + +-.patch+, where ++ refers to the + 'apply order'. + +. If +BR2_GLOBAL_PATCH_DIR+ is defined, the directories will be + enumerated in the order they are specified. The patches are applied + as described in the previous step. + +. Run the +_POST_PATCH_HOOKS+ commands if defined. + +If something goes wrong in the steps _3_ or _4_, then the build fails. + +=== Format and licensing of the package patches + +Patches are released under the same license as the software they apply +to (see xref:legal-info-buildroot[]). + +A message explaining what the patch does, and why it is needed, should +be added in the header commentary of the patch. + +You should add a +Signed-off-by+ statement in the header of the each +patch to help with keeping track of the changes and to certify that the +patch is released under the same license as the software that is modified. + +If the software is under version control, it is recommended to use the +upstream SCM software to generate the patch set. + +Otherwise, concatenate the header with the output of the ++diff -purN package-version.orig/ package-version/+ command. + +If you update an existing patch (e.g. when bumping the package version), +make sure the existing From header and Signed-off-by tags are not +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 + +--- configure.ac.orig ++++ configure.ac +@@ -40,2 +40,12 @@ + +AC_PROG_MAKE_SET ++ ++AC_CACHE_CHECK([whether the C++ compiler works], ++ [rw_cv_prog_cxx_works], ++ [AC_LANG_PUSH([C++]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], ++ [rw_cv_prog_cxx_works=yes], ++ [rw_cv_prog_cxx_works=no]) ++ AC_LANG_POP([C++])]) ++ ++AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) +--------------- + +=== Additional patch documentation + +Ideally, all patches should document an upstream patch or patch submission, when +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: +--------------- + +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: +--------------- + +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. + +Note: in any of the above scenarios, it is also sensible to add a few words +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 +--------------- + +Adding this documentation helps streamline the patch review process during +package version updates. \ No newline at end of file diff --git a/docs/manual/patch-policy.txt b/docs/manual/patch-policy.txt deleted file mode 100644 index 063ef984d82..00000000000 --- a/docs/manual/patch-policy.txt +++ /dev/null @@ -1,167 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[patch-policy]] - -== Patching a package - -While integrating a new package or updating an existing one, it may be -necessary to patch the source of the software to get it cross-built within -Buildroot. - -Buildroot offers an infrastructure to automatically handle this during -the builds. It supports three ways of applying patch sets: downloaded patches, -patches supplied within buildroot and patches located in a user-defined -global patch directory. - -=== Providing patches - -==== Downloaded - -If it is necessary to apply a patch that is available for download, then add it -to the +_PATCH+ variable. If an entry contains +://+, -then Buildroot will assume it is a full URL and download the patch -from this location. Otherwise, Buildroot will assume that the patch should be -downloaded from +_SITE+. It can be a single patch, -or a tarball containing a patch series. - -Like for all downloads, a hash should be added to the +.hash+ -file. - -This method is typically used for packages from Debian. - -==== Within Buildroot - -Most patches are provided within Buildroot, in the package -directory; these typically aim to fix cross-compilation, libc support, -or other such issues. - -These patch files should be named +-.patch+. - -.Notes -- The patch files coming with Buildroot should not contain any package version - reference in their filename. -- The field ++ in the patch file name refers to the 'apply order', - and shall start at 1; It is preferred to pad the number with zeros up to 4 - digits, like 'git-format-patch' does. E.g.: +0001-foobar-the-buz.patch+ -- The patch email subject prefix shall not be numbered. Patches shall - be generated with the +git format-patch -N+ command, since this - numbering is automatically added for series. For example, the patch - subject line should look like +Subject: [PATCH] foobar the buz+ rather - than +Subject: [PATCH n/m] foobar the buz+. -- Previously, it was mandatory for patches to be prefixed with the name of - the package, like +--.patch+, but that is - no longer the case. Existing packages will be fixed as time passes. 'Do - not prefix patches with the package name.' -- Previously, a +series+ file, as used by +quilt+, could also be added in - the package directory. In that case, the +series+ file defines the patch - application order. This is deprecated, and will be removed in the future. - 'Do not use a series file.' - - -==== Global patch directory - -The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be -used to specify a space separated list of one or more directories -containing global package patches. See xref:customize-patches[] for -details. - -[[patch-apply-order]] -=== How patches are applied - -. Run the +_PRE_PATCH_HOOKS+ commands if defined; - -. Cleanup the build directory, removing any existing +*.rej+ files; - -. If +_PATCH+ is defined, then patches from these - tarballs are applied; - -. If there are some +*.patch+ files in the package's Buildroot - directory or in a package subdirectory named ++, - then: -+ -* If a +series+ file exists in the package directory, then patches are - applied according to the +series+ file; -+ -* Otherwise, patch files matching +*.patch+ are applied in alphabetical - order. - So, to ensure they are applied in the right order, it is highly - recommended to name the patch files like this: - +-.patch+, where ++ refers to the - 'apply order'. - -. If +BR2_GLOBAL_PATCH_DIR+ is defined, the directories will be - enumerated in the order they are specified. The patches are applied - as described in the previous step. - -. Run the +_POST_PATCH_HOOKS+ commands if defined. - -If something goes wrong in the steps _3_ or _4_, then the build fails. - -=== Format and licensing of the package patches - -Patches are released under the same license as the software they apply -to (see xref:legal-info-buildroot[]). - -A message explaining what the patch does, and why it is needed, should -be added in the header commentary of the patch. - -You should add a +Signed-off-by+ statement in the header of the each -patch to help with keeping track of the changes and to certify that the -patch is released under the same license as the software that is modified. - -If the software is under version control, it is recommended to use the -upstream SCM software to generate the patch set. - -Otherwise, concatenate the header with the output of the -+diff -purN package-version.orig/ package-version/+ command. - -If you update an existing patch (e.g. when bumping the package version), -make sure the existing From header and Signed-off-by tags are not -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 - ---- configure.ac.orig -+++ configure.ac -@@ -40,2 +40,12 @@ - -AC_PROG_MAKE_SET -+ -+AC_CACHE_CHECK([whether the C++ compiler works], -+ [rw_cv_prog_cxx_works], -+ [AC_LANG_PUSH([C++]) -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], -+ [rw_cv_prog_cxx_works=yes], -+ [rw_cv_prog_cxx_works=no]) -+ AC_LANG_POP([C++])]) -+ -+AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) ---------------- - -=== Integrating patches found on the Web - -When integrating a patch of which you are not the author, you have to -add a few things in the header of the patch itself. - -Depending on whether the patch has been obtained from the project -repository itself, or from somewhere on the web, add one of the -following tags: - ---------------- -Backported from: ---------------- - -or - ---------------- -Fetch from: ---------------- - -It is also sensible to add a few words about any changes to the patch -that may have been necessary. diff --git a/docs/manual/prerequisite.adoc b/docs/manual/prerequisite.adoc new file mode 100644 index 00000000000..ab609c12bed --- /dev/null +++ b/docs/manual/prerequisite.adoc @@ -0,0 +1,101 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[requirement]] +== System requirements + +Buildroot is designed to run on Linux systems. + +While Buildroot itself will build most host packages it needs for the +compilation, certain standard Linux utilities are expected to be +already installed on the host system. Below you will find an overview of +the mandatory and optional packages (note that package names may vary +between distributions). + +[[requirement-mandatory]] + +=== Mandatory packages + +* Build tools: + +** +which+ +** +sed+ +** +make+ (version 3.81 or any later) +** +binutils+ +** +build-essential+ (only for Debian based systems) +** +diffutils+ +** +gcc+ (version 4.8 or any later) +** `g++` (version 4.8 or any later) +** +bash+ +** +patch+ +** +gzip+ +** +bzip2+ +** +perl+ (version 5.8.7 or any later) +** +tar+ +** +cpio+ +** +unzip+ +** +rsync+ +** +file+ (must be in +/usr/bin/file+) +** +bc+ +** +findutils+ + +* Source fetching tools: +** +wget+ + +[[requirement-optional]] + +=== Optional packages + +* Recommended dependencies: ++ +Some features or utilities in Buildroot, like the legal-info, or the +graph generation tools, have additional dependencies. Although they +are not mandatory for a simple build, they are still highly recommended: ++ +** +python+ (version 2.7 or any later) + +* Configuration interface dependencies: ++ +For these libraries, you need to install both runtime and development +data, which in many distributions are packaged separately. The +development packages typically have a _-dev_ or _-devel_ suffix. ++ +** +ncurses5+ to use the 'menuconfig' interface +** +qt5+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Source fetching tools: ++ +In the official tree, most of the package sources are retrieved using ++wget+ from _ftp_, _http_ or _https_ locations. A few packages are only +available through a version control system. Moreover, Buildroot is +capable of downloading sources via other tools, like +git+ or +scp+ +(refer to xref:download-infra[] for more details). If you enable +packages using any of these methods, you will need to install the +corresponding tool on the host system: ++ +** +bazaar+ +** +cvs+ +** +git+ +** +mercurial+ +** +scp+ +** +sftp+ +** +subversion+ + +* Java-related packages, if the Java Classpath needs to be built for + the target system: +** The +javac+ compiler +** The +jar+ tool + +* Documentation generation tools: +** +asciidoc+, version 8.6.3 or higher +** +w3m+ +** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) +** +dblatex+ (required for the pdf manual only) + +* Graph generation tools: +** +graphviz+ to use 'graph-depends' and '-graph-depends' +** +python-matplotlib+ to use 'graph-build' + +* Package statistics tools ('pkg-stats'): +** +python-aiohttp+ diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt deleted file mode 100644 index 48be489f90d..00000000000 --- a/docs/manual/prerequisite.txt +++ /dev/null @@ -1,99 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -[[requirement]] -== System requirements - -Buildroot is designed to run on Linux systems. - -While Buildroot itself will build most host packages it needs for the -compilation, certain standard Linux utilities are expected to be -already installed on the host system. Below you will find an overview of -the mandatory and optional packages (note that package names may vary -between distributions). - -[[requirement-mandatory]] - -=== Mandatory packages - -* Build tools: - -** +which+ -** +sed+ -** +make+ (version 3.81 or any later) -** +binutils+ -** +build-essential+ (only for Debian based systems) -** +diffutils+ -** +gcc+ (version 4.8 or any later) -** `g++` (version 4.8 or any later) -** +bash+ -** +patch+ -** +gzip+ -** +bzip2+ -** +perl+ (version 5.8.7 or any later) -** +tar+ -** +cpio+ -** +unzip+ -** +rsync+ -** +file+ (must be in +/usr/bin/file+) -** +bc+ -** +findutils+ - -* Source fetching tools: -** +wget+ - -[[requirement-optional]] - -=== Optional packages - -* Recommended dependencies: -+ -Some features or utilities in Buildroot, like the legal-info, or the -graph generation tools, have additional dependencies. Although they -are not mandatory for a simple build, they are still highly recommended: -+ -** +python+ (version 2.7 or any later) - -* Configuration interface dependencies: -+ -For these libraries, you need to install both runtime and development -data, which in many distributions are packaged separately. The -development packages typically have a _-dev_ or _-devel_ suffix. -+ -** +ncurses5+ to use the 'menuconfig' interface -** +qt5+ to use the 'xconfig' interface -** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface - -* Source fetching tools: -+ -In the official tree, most of the package sources are retrieved using -+wget+ from _ftp_, _http_ or _https_ locations. A few packages are only -available through a version control system. Moreover, Buildroot is -capable of downloading sources via other tools, like +rsync+ or +scp+ -(refer to xref:download-infra[] for more details). If you enable -packages using any of these methods, you will need to install the -corresponding tool on the host system: -+ -** +bazaar+ -** +cvs+ -** +git+ -** +mercurial+ -** +rsync+ -** +scp+ -** +sftp+ -** +subversion+ - -* Java-related packages, if the Java Classpath needs to be built for - the target system: -** The +javac+ compiler -** The +jar+ tool - -* Documentation generation tools: -** +asciidoc+, version 8.6.3 or higher -** +w3m+ -** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) -** +dblatex+ (required for the pdf manual only) - -* Graph generation tools: -** +graphviz+ to use 'graph-depends' and '-graph-depends' -** +python-matplotlib+ to use 'graph-build' diff --git a/docs/manual/quickstart.txt b/docs/manual/quickstart.adoc similarity index 100% rename from docs/manual/quickstart.txt rename to docs/manual/quickstart.adoc diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.adoc similarity index 100% rename from docs/manual/rebuilding-packages.txt rename to docs/manual/rebuilding-packages.adoc diff --git a/docs/manual/release-engineering.txt b/docs/manual/release-engineering.adoc similarity index 100% rename from docs/manual/release-engineering.txt rename to docs/manual/release-engineering.adoc diff --git a/docs/manual/resources.txt b/docs/manual/resources.adoc similarity index 100% rename from docs/manual/resources.txt rename to docs/manual/resources.adoc diff --git a/docs/manual/using-buildroot-debugger.txt b/docs/manual/using-buildroot-debugger.adoc similarity index 100% rename from docs/manual/using-buildroot-debugger.txt rename to docs/manual/using-buildroot-debugger.adoc diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.adoc similarity index 100% rename from docs/manual/using-buildroot-development.txt rename to docs/manual/using-buildroot-development.adoc diff --git a/docs/manual/using-buildroot-toolchain.txt b/docs/manual/using-buildroot-toolchain.adoc similarity index 100% rename from docs/manual/using-buildroot-toolchain.txt rename to docs/manual/using-buildroot-toolchain.adoc diff --git a/docs/manual/writing-rules.adoc b/docs/manual/writing-rules.adoc new file mode 100644 index 00000000000..13b7fd5bea6 --- /dev/null +++ b/docs/manual/writing-rules.adoc @@ -0,0 +1,231 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +== Coding style + +Overall, these coding style rules are here to help you to add new files in +Buildroot or refactor existing ones. + +If you slightly modify some existing file, the important thing is +to keep the consistency of the whole file, so you can: + +* either follow the potentially deprecated coding style used in this +file, + +* or entirely rework it in order to make it comply with these rules. + +[[writing-rules-config-in]] + +=== +Config.in+ file + ++Config.in+ files contain entries for almost anything configurable in +Buildroot. + +An entry has the following pattern: + +--------------------- +config BR2_PACKAGE_LIBFOO + bool "libfoo" + depends on BR2_PACKAGE_LIBBAZ + select BR2_PACKAGE_LIBBAR + help + This is a comment that explains what libfoo is. The help text + should be wrapped. + + http://foosoftware.org/libfoo/ +--------------------- + +* The +bool+, +depends on+, +select+ and +help+ lines are indented + with one tab. + +* The help text itself should be indented with one tab and two + spaces. + +* The help text should be wrapped to fit 72 columns, where tab counts + for 8, so 62 characters in the text itself. + +The +Config.in+ files are the input for the configuration tool +used in Buildroot, which is the regular _Kconfig_. For further +details about the _Kconfig_ language, refer to +http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]. + +[[writing-rules-mk]] + +=== The +.mk+ file + +* Header: The file starts with a header. It contains the module name, +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. + +* Optional dependency: + +** Prefer multi-line syntax. ++ +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. + +* Optional hooks: keep hook definition and assignment together in one + if block. ++ +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 + +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- + +[[writing-genimage-cfg]] + +=== The +genimage.cfg+ file + ++genimage.cfg+ files contain the output image layout that genimage utility +uses to create final .img file. + +An example follows: + +--------------------- +image efi-part.vfat { + vfat { + file EFI { + image = "efi-part/EFI" + } + + file Image { + image = "Image" + } + } + + size = 32M +} + +image sdimage.img { + hdimage { + } + + partition u-boot { + image = "efi-part.vfat" + offset = 8K + } + + partition root { + image = "rootfs.ext2" + size = 512M + } +} +--------------------- + +* Every +section+(i.e. hdimage, vfat etc.), +partition+ must be indented + with one tab. + +* Every +file+ or other +subnode+ must be indented with two tabs. + +* Every node(+section+, +partition+, +file+, +subnode+) must have an open + curly bracket on the same line of the node's name, while the closing one + must be on a newline and after it a newline must be added except for the + last one node. Same goes for its option, for example option +size+ +=+. + +* Every +option+(i.e. +image+, +offset+, +size+) must have the +=+ + assignment one space from it and one space from the value specified. + +* Filename must at least begin with genimage prefix and have the .cfg + extension to be easy to recognize. + +* Allowed notations for +offset+ and +size+ options are: +G+, +M+, +K+ + (not +k+). If it's not possible to express a precise byte count + with notations above then use hexadecimal +0x+ prefix or, as last + chance, the byte count. In comments instead use +GB+, +MB+, +KB+ + (not +kb+) in place of +G+, +M+, +K+. + +* For GPT partitions, the +partition-type-uuid+ value must be +U+ for + the EFI System Partition (expanded to + +c12a7328-f81f-11d2-ba4b-00a0c93ec93b+ by _genimage_), +F+ for a FAT + partition (expanded to +ebd0a0a2-b9e5-4433-87c0-68b6b72699c7+ by + _genimage_) or +L+ for the root filesystem or other filesystems + (expanded to +0fc63daf-8483-4772-8e79-3d69d8477de4+ by + _genimage_). Even though +L+ is the default value of _genimage_, we + prefer to have it explicitly specified in our +genimage.cfg+ + files. Finally, these shortcuts should be used without double + quotes, e.g +partition-type-uuid = U+. If an explicit GUID is + specified, lower-case letters should be used. + +The +genimage.cfg+ files are the input for the genimage tool used in +Buildroot to generate the final image file(i.e. sdcard.img). For further +details about the _genimage_ language, refer to +https://github.com/pengutronix/genimage/blob/master/README.rst[]. + + +=== The documentation + +The documentation uses the +https://asciidoc-py.github.io/[asciidoc] format. + +For further details about the asciidoc syntax, refer to +https://asciidoc-py.github.io/userguide.html[]. + +=== Support scripts + +Some scripts in the +support/+ and +utils/+ directories are written in +Python and should follow the +https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code]. diff --git a/docs/manual/writing-rules.txt b/docs/manual/writing-rules.txt deleted file mode 100644 index 758965d80a0..00000000000 --- a/docs/manual/writing-rules.txt +++ /dev/null @@ -1,231 +0,0 @@ -// -*- mode:doc; -*- -// vim: set syntax=asciidoc: - -== Coding style - -Overall, these coding style rules are here to help you to add new files in -Buildroot or refactor existing ones. - -If you slightly modify some existing file, the important thing is -to keep the consistency of the whole file, so you can: - -* either follow the potentially deprecated coding style used in this -file, - -* or entirely rework it in order to make it comply with these rules. - -[[writing-rules-config-in]] - -=== +Config.in+ file - -+Config.in+ files contain entries for almost anything configurable in -Buildroot. - -An entry has the following pattern: - ---------------------- -config BR2_PACKAGE_LIBFOO - bool "libfoo" - depends on BR2_PACKAGE_LIBBAZ - select BR2_PACKAGE_LIBBAR - help - This is a comment that explains what libfoo is. The help text - should be wrapped. - - http://foosoftware.org/libfoo/ ---------------------- - -* The +bool+, +depends on+, +select+ and +help+ lines are indented - with one tab. - -* The help text itself should be indented with one tab and two - spaces. - -* The help text should be wrapped to fit 72 columns, where tab counts - for 8, so 62 characters in the text itself. - -The +Config.in+ files are the input for the configuration tool -used in Buildroot, which is the regular _Kconfig_. For further -details about the _Kconfig_ language, refer to -http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[]. - -[[writing-rules-mk]] - -=== The +.mk+ file - -* Header: The file starts with a header. It contains the module name, -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) -fr $(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. - -* Optional dependency: - -** Prefer multi-line syntax. -+ -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. - -* Optional hooks: keep hook definition and assignment together in one - if block. -+ -YES: -+ ---------------------- -ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) -define LIBFOO_REMOVE_DATA - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data -endef -LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA -endif ---------------------- -+ -NO: -+ ---------------------- -define LIBFOO_REMOVE_DATA - $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data -endef - -ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) -LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA -endif ---------------------- - -[[writing-genimage-cfg]] - -=== The +genimage.cfg+ file - -+genimage.cfg+ files contain the output image layout that genimage utility -uses to create final .img file. - -An example follows: - ---------------------- -image efi-part.vfat { - vfat { - file EFI { - image = "efi-part/EFI" - } - - file Image { - image = "Image" - } - } - - size = 32M -} - -image sdimage.img { - hdimage { - } - - partition u-boot { - image = "efi-part.vfat" - offset = 8K - } - - partition root { - image = "rootfs.ext2" - size = 512M - } -} ---------------------- - -* Every +section+(i.e. hdimage, vfat etc.), +partition+ must be indented - with one tab. - -* Every +file+ or other +subnode+ must be indented with two tabs. - -* Every node(+section+, +partition+, +file+, +subnode+) must have an open - curly bracket on the same line of the node's name, while the closing one - must be on a newline and after it a newline must be added except for the - last one node. Same goes for its option, for example option +size+ +=+. - -* Every +option+(i.e. +image+, +offset+, +size+) must have the +=+ - assignment one space from it and one space from the value specified. - -* Filename must at least begin with genimage prefix and have the .cfg - extension to be easy to recognize. - -* Allowed notations for +offset+ and +size+ options are: +G+, +M+, +K+ - (not +k+). If it's not possible to express a precise byte count - with notations above then use hexadecimal +0x+ prefix or, as last - chance, the byte count. In comments instead use +GB+, +MB+, +KB+ - (not +kb+) in place of +G+, +M+, +K+. - -* For GPT partitions, the +partition-type-uuid+ value must be +U+ for - the EFI System Partition (expanded to - +c12a7328-f81f-11d2-ba4b-00a0c93ec93b+ by _genimage_), +F+ for a FAT - partition (expanded to +ebd0a0a2-b9e5-4433-87c0-68b6b72699c7+ by - _genimage_) or +L+ for the root filesystem or other filesystems - (expanded to +0fc63daf-8483-4772-8e79-3d69d8477de4+ by - _genimage_). Even though +L+ is the default value of _genimage_, we - prefer to have it explicitly specified in our +genimage.cfg+ - files. Finally, these shortcuts should be used without double - quotes, e.g +partition-type-uuid = U+. If an explicit GUID is - specified, lower-case letters should be used. - -The +genimage.cfg+ files are the input for the genimage tool used in -Buildroot to generate the final image file(i.e. sdcard.img). For further -details about the _genimage_ language, refer to -https://github.com/pengutronix/genimage/blob/master/README.rst[]. - - -=== The documentation - -The documentation uses the -https://asciidoc-py.github.io/[asciidoc] format. - -For further details about the asciidoc syntax, refer to -https://asciidoc-py.github.io/userguide.html[]. - -=== Support scripts - -Some scripts in the +support/+ and +utils/+ directories are written in -Python and should follow the -https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code]. diff --git a/docs/website/association.html b/docs/website/association.html index 0215f85874c..0c2306f3480 100644 --- a/docs/website/association.html +++ b/docs/website/association.html @@ -32,21 +32,21 @@

The bylaws of the association are available - in French + in French (official) and - in English + in English (unofficial translation). The association was declared on March 14, 2016 to the Préfecture de Haute-Garonne (France) and is registered under the n°W313024278. See this - official receipt + official receipt from the French authorities.

Our accounting is fully public, including the bank account summaries, - see accounting. Numerous + see accounting. Numerous other administrative documents related to the association are available on - its Github + its Gitlab repository

@@ -68,7 +68,7 @@

Once the membership fee is received, it will be listed in the - association accounting + association accounting files, which serve as the official list of members. Therefore, members accept that their name and the amount of their membership fee is made public.

diff --git a/docs/website/copyright.txt b/docs/website/copyright.txt index b15ac5f9191..3fe19bab8b6 100644 --- a/docs/website/copyright.txt +++ b/docs/website/copyright.txt @@ -1,7 +1,7 @@ The code and graphics on this website (and it's mirror sites, if any) are -Copyright (c) 1999-2005 by Erik Andersen, 2006-2020 The Buildroot -developers. All rights reserved. +Copyright (C) The Buildroot developers . All +rights reserved. Documents on this Web site including their graphical elements, design, and layout are protected by trade dress and other laws and MAY BE COPIED OR diff --git a/docs/website/download.html b/docs/website/download.html index 7fc5d1169b4..c1393134df2 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -8,205 +8,149 @@
Download
-

Latest long term support release: 2022.02.8

+

Latest stable / long term support release: 2024.02

- -

Latest stable release: 2022.11

+ This and earlier releases (and their PGP signatures) can always be downloaded from http://buildroot.net/downloads/.
---> +
-
Source code
+
Git repository
-
-
-
-
Repository
-
-

The buildroot repository can be browsed online through cgit at - http://git.buildroot.net/buildroot. - To grab a copy of the repository use

- - -
- - - - -

- -

- Or if you're behind a firewall blocking git: -

- -
- - - - -

- -

- - Please use the native git protocol if at all possible, as it's a lot - more efficient than HTTP. - -

- - If you are not already familiar with using Git, we recommend you visit the Git website. - -

- - Once you've checked out a copy of the source tree, you can update your source - tree at any time so it is in sync with the latest and greatest by entering your - buildroot directory and running the command: - -

-git pull
-
- - Because you've only been granted anonymous access to the tree, you won't be - able to push your changes to the repo. Changes can instead be submitted for - inclusion by posting them to the buildroot mailing list. -
-
-
+

The buildroot repository can be browsed online at + https://gitlab.com/buildroot.org/buildroot/.

+ +

To grab a copy of the repository use

+ +
+ + + + +

+ +

If you are not already familiar with using Git, we recommend + you visit the Git + website.

+ +

Once you've checked out a copy of the source tree, you can + update your source tree at any time so it is in sync with the + latest and greatest by entering your buildroot directory and + running the command:

+ +
git pull
+ +

Because you've only been granted anonymous access to the + tree, you won't be able to push your changes to the + repo. Changes can instead be submitted for inclusion by + posting them to the buildroot mailing list.

-
-
-
Tarballs
-
- You can also obtain daily snapshots of the latest Buildroot source tree if you - want to follow development, but cannot or do not wish to use Git. - - - -

- Older versions can be downloaded from the release archive. -

-
-
-
-
diff --git a/docs/website/header.html b/docs/website/header.html index e1909291f68..548ed7ad532 100644 --- a/docs/website/header.html +++ b/docs/website/header.html @@ -6,7 +6,7 @@ - + Buildroot - Making Embedded Linux Easy diff --git a/docs/website/images/armadeus-systems-logo.png b/docs/website/images/armadeus-systems-logo.png new file mode 100644 index 00000000000..9b6080fb134 Binary files /dev/null and b/docs/website/images/armadeus-systems-logo.png differ diff --git a/docs/website/index.html b/docs/website/index.html index 300adbb83df..d68436c7216 100644 --- a/docs/website/index.html +++ b/docs/website/index.html @@ -133,14 +133,14 @@

Buildroot is an open source project: many developers contribute to it daily.
diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js index bf80f11d7ac..b2975fb6093 100644 --- a/docs/website/js/buildroot.js +++ b/docs/website/js/buildroot.js @@ -1,39 +1,52 @@ -function load_activity(feedurl, divid) { - let container = document.getElementById(divid); +function display_activity(result, activity) { + let loaded = 0; + let nb_display = 8; + let container; + if (result==null) return; + for (let i = 0; i < result.feed.entry.length; i++) { + let entry = result.feed.entry[i]; + if (activity==="commit" && entry.title.toString().indexOf("git commit") !== -1) { + container = document.getElementById("commit-activity"); + } else if (activity==="mailing-list" && entry.title.toString().indexOf("git commit") === -1) { + container = document.getElementById("mailing-list-activity"); + } else { + continue; + } + loaded += 1 + if (loaded > nb_display) + break; + let div = document.createElement("p"); + let link = document.createElement("a"); + let d = new Date(entry.updated); + let data = '[' + d.toLocaleDateString() + '] ' + entry.title; + data = data.replace("Re: ",""); + data = data.replace("[Buildroot] ",""); + let text = document.createTextNode(data); + link.appendChild(text); + link.title = entry.title; + link.href = entry.link._href; + div.appendChild(link); + container.appendChild(div); + } + for (let i = 0; i < (nb_display - loaded); i++) { + container.appendChild(document.createElement("p")); + } +} + +function load_activity(feedurl) { $.ajax({ - url: "https://cors-anywhere.herokuapp.com/" + feedurl + url: feedurl }) .done(function(data){ let x2js = new X2JS(); let result = x2js.xml_str2json(data.documentElement.outerHTML); - let loaded = 0; - let nb_display = 8; - if (result==null) return; - for (let i = 0; i < result.feed.entry.length; i++) { - let entry = result.feed.entry[i]; - if (entry.title.indexOf("git commit") !== -1) - continue; - loaded += 1; - if (loaded > nb_display) - break; - let div = document.createElement("p"); - let link = document.createElement("a"); - let d = new Date(entry.published); - let data = '[' + d.toLocaleDateString() + '] ' + entry.title; - let text = document.createTextNode(data); - link.appendChild(text); - link.title = entry.title; - link.href = entry.link._href; - div.appendChild(link); - container.appendChild(div); - } - let empty = nb_display - loaded; - for (let i = 0; i < empty; i++) { - container.appendChild(document.createElement("p")); - } + display_activity(result, "commit"); + display_activity(result, "mailing-list"); }); } + + function google_analytics() { let _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-21761074-1']); @@ -86,8 +99,7 @@ jQuery(document).ready(function($) { url = url.split(/[\\/]/).pop(); $('.nav a[href="/' + url + '"]').parent().addClass('active'); - load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); - load_activity("http://git.buildroot.org/buildroot/atom/?h=master", "commit-activity"); + load_activity("/new.atom"); $('#slides').html('') }); diff --git a/docs/website/news.html b/docs/website/news.html index 75f1cb785d6..a51da7f4bb7 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,906 @@

News

    +
  • +
    +
    +
    +

    2023.02 released

    +

    5 March 2024

    +
    +
    +

    The stable 2024.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details + and go to the downloads page to pick up the + 2024.02 release.

    + +

    Notice that this is a long term support release which will be + supported with security and other important fixes until March 2025.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2024.02-rc2 released

    +

    1 March 2024

    +
    +
    +

    Another week, another release candidate with more cleanups and build fixes. See the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2024.02-rc2 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.10 released

    +

    1 March 2024

    +
    +
    +

    The 2023.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.10 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.11.2 released

    +

    1 March 2024

    +
    +
    +

    The 2023.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2024.02-rc1 released

    +

    25 February 2024

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2024.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.9 released

    +

    15 January 2024

    +
    +
    +

    The 2023.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.9 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.11.1 released

    +

    15 January 2024

    +
    +
    +

    The 2023.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    Talos security vulnerabilities

    +

    6 December 2023

    +
    +
    +

    Talos has recently published + TALOS-2023-1844 + and + TALOS-2023-1845 + advisories, describing vulnerabilities in the download hash + verification logic of Buildroot. These issues are fixed in the + 2023.02.8, 2023.08.4 and 2023.11 releases. For more details, + see the + announcement.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.8 released

    +

    4 December 2023

    +
    +
    +

    The 2023.02.8 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.7 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.8 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08.4 released, 2023.08.x series EOL

    +

    4 December 2023

    +
    +
    +

    The 2023.08.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.4 release.

    + +

    Notice that the 2023.08.x series is now end of life. Please migrate to + the 2023.11 series instead.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.11 released

    +

    4 December 2023

    +
    +
    +

    The stable 2023.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.11-rc2 released

    +

    29 November 2023

    +
    +
    +

    2023.11-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.11-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.7 released

    +

    14 November 2023

    +
    +
    +

    The 2023.02.7 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.6 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.7 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08.3 released

    +

    14 November 2023

    +
    +
    +

    The 2023.08.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.3 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.11-rc1 released

    +

    14 November 2023

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2023.11-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.6 released

    +

    16 October 2023

    +
    +
    +

    The 2023.02.6 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.5 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.6 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08.2 released

    +

    15 October 2023

    +
    +
    +

    The 2023.08.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08.1 released

    +

    27 September 2023

    +
    +
    +

    The 2023.08.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.08 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.5 released

    +

    27 September 2023

    +
    +
    +

    The 2023.02.5 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.4 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.5 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05.3 released, 2023.05.x series EOL

    +

    26 September 2023

    +
    +
    +

    The 2023.05.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.05.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05.3 release.

    + +

    Notice that the 2023.05.x series is now end of life. Please migrate to + the 2023.08 series instead.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08 released

    +

    6 September 2023

    +
    +
    +

    The stable 2023.08 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.08 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.4 released

    +

    31 August 2023

    +
    +
    +

    The 2023.02.4 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.3 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.4 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05.2 released

    +

    31 August 2023

    +
    +
    +

    The 2023.05.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.05.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08-rc3 released

    +

    29 August 2023

    +
    +
    +

    2023.08-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.08-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08-rc2 released

    +

    20 August 2023

    +
    +
    +

    2023.08-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.08-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.08-rc1 released

    +

    5 August 2023

    +
    +
    +

    We have a new release candidate! Lots of changes all over + the tree, see + the CHANGES + file for more details.

    +

    Go to the downloads page to pick up the + 2023.08-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.3 released

    +

    17 July 2023

    +
    +
    +

    The 2023.02.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.3 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05.1 released

    +

    17 July 2023

    +
    +
    +

    The 2023.05.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.05 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.2 released

    +

    16 June 2023

    +
    +
    +

    The 2023.02.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05 released

    +

    7 June 2023

    +
    +
    +

    The stable 2023.05 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.05 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05-rc3 released

    +

    4 June 2023

    +
    +
    +

    2023.05-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.05-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05-rc2 released

    +

    28 May 2023

    +
    +
    +

    2023.05-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.05-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.05-rc1 released

    +

    15 May 2023

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2023.05-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02.1 released

    +

    10 May 2023

    +
    +
    +

    The 2023.02.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2023.02 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02.1 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02.12 released, 2022.02.x series EOL

    +

    4 May 2023

    +
    +
    +

    The 2022.02.12 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.12 release.

    + +

    Notice that the 2022.02.x series is now end of life. Please migrate to + the 2023.02 series instead which will be supported until April 2024.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02.11 released

    +

    19 March 2023

    +
    +
    +

    The 2022.02.11 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.10 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.11 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.11.3 released, 2022.11.x series EOL

    +

    18 March 2023

    +
    +
    +

    The 2022.11.3 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.11.2 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11.3 release.

    + +

    Notice that the 2022.11.x series is now end of life. Please migrate to + the 2023.02 series instead which will be supported until April 2024.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02 released

    +

    12 March 2023

    +
    +
    +

    The stable 2023.02 release is out - Thanks to everyone + contributing and testing the release candidates. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2023.02 release.

    + +

    Notice that this is a long term support release which will be + supported with security and other important fixes until March 2024.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02-rc3 released

    +

    8 March 2023

    +
    +
    +

    2023.02-rc3 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.02-rc3 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02.10 released

    +

    18 January 2023

    +
    +
    +

    The 2022.02.10 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.9 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.10 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.11.2 released

    +

    1 March 2023

    +
    +
    +

    The 2022.11.2 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.11.1 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11.2 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02-rc2 released

    +

    27 February 2023

    +
    +
    +

    2023.02-rc2 has been released with more cleanups and build fixes. See the + CHANGES + file for details.

    + +

    Head to the downloads page to pick up the + 2023.02-rc2 + release candidate, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2023.02-rc1 released

    +

    20 February 2023

    +
    +
    +

    We have a new release candidate! Lots of changes all over the tree, see the + CHANGES + file for more details.

    + +

    Go to the downloads page to pick up the + 2023.02-rc1 + release, and report any problems found to the + mailing list or + bug tracker.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.02.9 released

    +

    18 January 2023

    +
    +
    +

    The 2022.02.9 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.02.8 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.02.9 release.

    +
    +
    +
  • + +
  • +
    +
    +
    +

    2022.11.1 released

    +

    18 January 2023

    +
    +
    +

    The 2022.11.1 bugfix release is out, fixing a number of important / + security related issues discovered since the 2022.11 release. See the + CHANGES + file for more details, read the + announcement + and go to the downloads page to pick up the + 2022.11.1 release.

    +
    +
    +
  • +
  • diff --git a/docs/website/sponsors.html b/docs/website/sponsors.html index 2f3f6309ae5..a90ca6c8df0 100644 --- a/docs/website/sponsors.html +++ b/docs/website/sponsors.html @@ -20,11 +20,50 @@
    Tap2Open financially sponsored the Buildroot Association - in 2020.
    + in 2020 and 2023.
+
+
+
+
+ + + +
+
+ Smile sponsored the + Buildroot project by hosting + the Buildroot + Developers Meeting of February 2023 in Brussels, + after the FOSDEM + conference. +
+
+
+
+ +
+
+
+
+ + + +
+
+ Armadeus + Systems financially sponsored + the Buildroot + Association in 2022.
+
+
+
+ + +
@@ -36,7 +75,7 @@
Logilin financially sponsored the Buildroot Association - in 2020.
+ in 2022.
@@ -44,23 +83,6 @@ -
-
Sponsor of the Buildroot.org domain
-
-
-

The Buildroot community would like to thank - Zillabit for - donating the buildroot.org domain name and sponsoring - the registration fees 2009 - 2019.

-
-
- - - -
-
-
-
Past sponsors
diff --git a/docs/website/support.html b/docs/website/support.html index 90231f601c3..28873c6d76f 100644 --- a/docs/website/support.html +++ b/docs/website/support.html @@ -21,12 +21,14 @@

The Buildroot IRC channel is #buildroot, hosted on OFTC. If you do not have an IRC client, you can - use the OFTC web interface. + use the OFTC web interface. The + channel is also bridged to matrix as + #_oftc_#buildroot:matrix.org. When asking for help on IRC, share relevant logs or pieces of code using a code sharing website.

-

Note that due to excessive spamming on IRC, the channel can only be - joined if you are a registered user with +

Note that due to excessive spamming on IRC, you can only talk in the + channel if you are a registered user with OFTC NickServ service. Follow the instructions to register as a user with a password, and then join the #buildroot channel.

@@ -111,6 +113,9 @@

Search the List Archives

+ + +
diff --git a/fs/cpio/Config.in b/fs/cpio/Config.in index bec2d9dca28..4d38276c880 100644 --- a/fs/cpio/Config.in +++ b/fs/cpio/Config.in @@ -29,6 +29,11 @@ endchoice if BR2_TARGET_ROOTFS_CPIO_DRACUT +config BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES + string "extra dracut modules" + help + Space-separated list of directories containing dracut modules. + config BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES string "dracut configuration files" default "fs/cpio/dracut.conf" diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk index 061f4a18f18..00ab6a8f826 100644 --- a/fs/cpio/cpio.mk +++ b/fs/cpio/cpio.mk @@ -50,6 +50,13 @@ else ifeq ($(BR2_TARGET_ROOTFS_CPIO_DRACUT),y) ROOTFS_CPIO_DEPENDENCIES += host-dracut +ROOTFS_CPIO_DRACUT_MODULES = $(call qstrip,$(BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES)) +ifeq ($(BR_BUILDING),y) +ifneq ($(words $(ROOTFS_CPIO_DRACUT_MODULES)),$(words $(sort $(notdir $(ROOTFS_CPIO_DRACUT_MODULES))))) +$(error No two dracut modules can have the same basename, check your BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES setting) +endif +endif + ROOTFS_CPIO_DRACUT_CONF_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES)) ifeq ($(BR_BUILDING),y) ifeq ($(ROOTFS_CPIO_DRACUT_CONF_FILES),) @@ -68,11 +75,14 @@ ROOTFS_CPIO_OPTS += --no-kernel endif define ROOTFS_CPIO_CMD - mkdir -p $(ROOTFS_CPIO_DIR)/tmp $(ROOTFS_CPIO_DIR)/confdir + mkdir -p $(ROOTFS_CPIO_DIR)/tmp $(ROOTFS_CPIO_DIR)/confdir $(HOST_DIR)/lib/dracut/modules.d touch $(ROOTFS_CPIO_DIR)/empty-config $(foreach cfg,$(ROOTFS_CPIO_DRACUT_CONF_FILES), \ cp $(cfg) $(ROOTFS_CPIO_DIR)/confdir/$(notdir $(cfg)) ) + $(foreach m,$(ROOTFS_CPIO_DRACUT_MODULES), \ + cp -a $(m)/* $(HOST_DIR)/lib/dracut/modules.d/ + ) $(HOST_DIR)/bin/dracut \ $(ROOTFS_CPIO_OPTS) \ -c $(ROOTFS_CPIO_DIR)/empty-config \ diff --git a/fs/erofs/erofs.mk b/fs/erofs/erofs.mk index 0e9d4401a93..e43d74927b5 100644 --- a/fs/erofs/erofs.mk +++ b/fs/erofs/erofs.mk @@ -10,6 +10,12 @@ ifeq ($(BR2_TARGET_ROOTFS_EROFS_LZ4HC),y) ROOTFS_EROFS_ARGS += -zlz4hc endif +ifeq ($(BR2_REPRODUCIBLE),y) +ROOTFS_EROFS_ARGS += \ + -T $(SOURCE_DATE_EPOCH) \ + -U 00000000-0000-0000-0000-000000000000 +endif + ifneq ($(BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE),0) ROOTFS_EROFS_ARGS += -C$(strip $(BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE)) endif diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in index 705446df571..4451d0797f1 100644 --- a/fs/ext2/Config.in +++ b/fs/ext2/Config.in @@ -60,6 +60,19 @@ config BR2_TARGET_ROOTFS_EXT2_INODES int "exact number of inodes (leave at 0 for auto calculation)" default 0 +config BR2_TARGET_ROOTFS_EXT2_INODE_SIZE + int "inode size" + default 256 + help + Set the size of inodes, in bytes, as a power of 2 larger or + equal to 128. + + Set to 0 to let the filesystem generator decide based on the + file system size. If unsure, keep the default, 256. + + Note: 128-byte inodes suffer of the Y2K38 problem, and can't + store timestamps beyond 2038-01-19 03:14:07Z. + config BR2_TARGET_ROOTFS_EXT2_RESBLKS int "reserved blocks percentage" default 5 diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index 5b5393f0923..e69e79cd2e6 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -22,6 +22,7 @@ ROOTFS_EXT2_OPTS = \ -N $(BR2_TARGET_ROOTFS_EXT2_INODES) \ -m $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) \ -L "$(ROOTFS_EXT2_LABEL)" \ + -I $(BR2_TARGET_ROOTFS_EXT2_INODE_SIZE) \ $(ROOTFS_EXT2_MKFS_OPTS) ROOTFS_EXT2_DEPENDENCIES = host-e2fsprogs diff --git a/linux/5.10.162-cip24-rt10/0001-arch-microblaze-mm-init.c-fix-build.patch b/linux/5.10.162-cip24-rt10/0001-arch-microblaze-mm-init.c-fix-build.patch new file mode 100644 index 00000000000..4760d9e4fb0 --- /dev/null +++ b/linux/5.10.162-cip24-rt10/0001-arch-microblaze-mm-init.c-fix-build.patch @@ -0,0 +1,37 @@ +From 1fc03e1fdc8bb606d1c95e9fa557a9e5f6df17ec Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 25 Feb 2023 17:26:56 +0100 +Subject: [PATCH] arch/microblaze/mm/init.c: fix build + +Fix the following build failure on microblaze raised since +https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/commit/arch/microblaze/mm/init.c?h=v5.10.168-cip27-rt11&id=32ac92b5a39e2ef91308929bf5ed0804094b4183: + +arch/microblaze/mm/init.c:71:2: error: #endif without #if + 71 | #endif /* CONFIG_HIGHMEM */ + | ^~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/27291870cf7539d26e45c45f34322d24a6dbca33 + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to +Sebastian Andrzej Siewior ] +--- + arch/microblaze/mm/init.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c +index 1f4b5b34e600..a444778e59de 100644 +--- a/arch/microblaze/mm/init.c ++++ b/arch/microblaze/mm/init.c +@@ -49,6 +49,7 @@ unsigned long lowmem_size; + EXPORT_SYMBOL(min_low_pfn); + EXPORT_SYMBOL(max_low_pfn); + ++#ifdef CONFIG_HIGHMEM + static void __init highmem_init(void) + { + pr_debug("%x\n", (u32)PKMAP_BASE); +-- +2.39.1 + diff --git a/linux/Config.in b/linux/Config.in index c1c690f4ccf..c6cca7b669f 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -28,11 +28,11 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (6.0)" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0 if BR2_KERNEL_HEADERS_AS_KERNEL + bool "Latest version (6.6)" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 if BR2_KERNEL_HEADERS_AS_KERNEL config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (5.10.145-cip17)" + bool "Latest CIP SLTS version (5.10.162-cip24)" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL help CIP launched in the spring of 2016 to address the needs of @@ -52,7 +52,7 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION https://www.cip-project.org config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION - bool "Latest CIP RT SLTS version (5.10.145-cip17-rt7)" + bool "Latest CIP RT SLTS version (5.10.162-cip24-rt10)" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL help Same as the CIP version, but this is the PREEMPT_RT realtime @@ -128,9 +128,9 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "6.0.12" if BR2_LINUX_KERNEL_LATEST_VERSION - default "5.10.145-cip17" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION - default "5.10.145-cip17-rt7" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION + default "6.6.32" if BR2_LINUX_KERNEL_LATEST_VERSION + default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -417,7 +417,9 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH Paths to out-of-tree Device Tree Source (.dts) and Device Tree Source Include (.dtsi) files, separated by spaces. These files will be copied to the kernel sources and the .dts files will - be compiled from there. + be compiled from there. You can also use a directory which + name match the vendor name as in + arch//boot/dts// config BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME bool "Keep the directory name of the Device Tree" diff --git a/linux/linux.hash b/linux/linux.hash index 9976a44489c..0e1d3c92da6 100644 --- a/linux/linux.hash +++ b/linux/linux.hash @@ -1,16 +1,15 @@ # From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc -sha256 89b730edf8942b49e02f9894244205886c9a214d629b35b88c4ff06ee9304f01 linux-6.0.12.tar.xz +sha256 aaa824eaf07f61911d22b75ff090a403c3dd0bd73e23933e0bba8b5971436ce1 linux-6.6.32.tar.xz +sha256 9019f427bfdc9ced5bc954d760d37ac08c0cdffb45ad28087fc45a73e64336c9 linux-6.1.92.tar.xz # From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256 fceef6bb79bac494663ccde34453521fc616cd94272fd30564752b3742381b65 linux-5.15.82.tar.xz -sha256 1e0a24bb5510caa18b3601b25e12cc2a1ce123948de551f4f2cdbb40aea707e7 linux-5.10.158.tar.xz -sha256 0c1f552a1d2f63b3ecd4d33189f0003bc91fb8ff79967a7e295d015c280c9a44 linux-5.4.226.tar.xz +sha256 f41e718e33b88f269a6b6a7653e5e9824c4ba541f6ffe5bf26ecc37c540a1b05 linux-5.15.160.tar.xz +sha256 9c36b243e8c3ec1d5963366618f336710b84340bf95be2037b26c452392cb2d6 linux-5.10.218.tar.xz +sha256 7e1f5b28588e49ddfd18e7772476e4e8b52bdc9c3e19beafcbb7c103e6c01f51 linux-5.4.277.tar.xz # From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc -sha256 ed4fd861fe9f6cd09f409f00dcccfa691e6d1a61c585723e587575dcb60aeb29 linux-4.9.335.tar.xz -sha256 acd2ee8e03da098fe9f7e52871dd0790850fc32b78657606bdf65bdd94bbf99b linux-4.14.301.tar.xz -sha256 219bce1ac3f542d06fc606ae6bcb10f8ab1940a46c7903113be59afc486c204f linux-4.19.268.tar.xz +sha256 6c5e4d3c87feadbfdb9f7d2e46f3f120b00286ba380491c5956708e0b94232c8 linux-4.19.315.tar.xz # Locally computed -sha256 4594c147bdc493c7c286688542bbe65e550fb7bd58e0649ec587a2fe893ec0ee linux-cip-5.10.145-cip17.tar.gz -sha256 a5598f7f673b3ef819d6ed24f08d539eecb6febd11673a1d4752a1c05d4ee289 linux-cip-5.10.145-cip17-rt7.tar.gz +sha256 fb0edc3c18e47d2b6974cb0880a0afb5c3fa08f50ee87dfdf24349405ea5f8ae linux-cip-5.10.162-cip24.tar.gz +sha256 b5539243f187e3d478d76d44ae13aab83952c94b885ad889df6fa9997e16a441 linux-cip-5.10.162-cip24-rt10.tar.gz # Licenses hashes sha256 fb5a425bd3b3cd6071a3a9aff9909a859e7c1158d54d32e07658398cd67eb6a0 COPYING diff --git a/linux/linux.mk b/linux/linux.mk index 6b547a68edb..ba7705574c8 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -70,7 +70,10 @@ LINUX_MAKE_ENV = \ BR_BINARIES_DIR=$(BINARIES_DIR) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES = host-kmod +LINUX_DEPENDENCIES = \ + host-kmod \ + $(BR2_MAKE_HOST_DEPENDENCY) +LINUX_MAKE = $(BR2_MAKE) # The kernel CONFIG_EXTRA_FIRMWARE feature requires firmware files at build # time. Make sure they are available before the kernel builds. @@ -85,7 +88,8 @@ LINUX_DEPENDENCIES += \ # only if the host does not have them. LINUX_KCONFIG_DEPENDENCIES = \ $(BR2_BISON_HOST_DEPENDENCY) \ - $(BR2_FLEX_HOST_DEPENDENCY) + $(BR2_FLEX_HOST_DEPENDENCY) \ + $(BR2_MAKE_HOST_DEPENDENCY) # Starting with 4.18, the kconfig in the kernel calls the # cross-compiler to check its capabilities. So we need the @@ -124,7 +128,7 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE),y) LINUX_DEPENDENCIES += host-pahole else define LINUX_FIXUP_CONFIG_PAHOLE_CHECK - if grep -q "^CONFIG_DEBUG_INFO_BTF=y" $(KCONFIG_DOT_CONFIG); then \ + $(Q)if grep -q "^CONFIG_DEBUG_INFO_BTF=y" $(KCONFIG_DOT_CONFIG); then \ echo "To use CONFIG_DEBUG_INFO_BTF, enable host-pahole (BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE)" 1>&2; \ exit 1; \ fi @@ -150,11 +154,12 @@ endif # Disable building host tools with -Werror: newer gcc versions can be # extra picky about some code (https://bugs.busybox.net/show_bug.cgi?id=14826) LINUX_MAKE_FLAGS = \ - HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \ + HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS))) $(HOST_LDFLAGS)" \ ARCH=$(KERNEL_ARCH) \ INSTALL_MOD_PATH=$(TARGET_DIR) \ CROSS_COMPILE="$(TARGET_CROSS)" \ WERROR=0 \ + REGENERATE_PARSERS=1 \ DEPMOD=$(HOST_DIR)/sbin/depmod ifeq ($(BR2_REPRODUCIBLE),y) @@ -182,7 +187,7 @@ endif # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem. # Filter out 'w' from MAKEFLAGS, to workaround a bug in make 4.1 (#13141) -LINUX_VERSION_PROBED = `MAKEFLAGS='$(filter-out w,$(MAKEFLAGS))' $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null` +LINUX_VERSION_PROBED = `MAKEFLAGS='$(filter-out w,$(MAKEFLAGS))' $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null` LINUX_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) @@ -190,7 +195,15 @@ LINUX_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) # and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be # copied to arch//boot/dts, but only the .dts files will # actually be generated as .dtb. -LINUX_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))))) +# In case we are copying a vendor dts subdirectory as in +# arch//boot/dts// we have to append the wildcard to the +# folder to list the devicetree. +LINUX_KERNEL_CUSTOM_DTS_PATH = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)) +ifneq ($(wildcard $(LINUX_KERNEL_CUSTOM_DTS_PATH)/.*),) +LINUX_DTS_NAME += $(addprefix $(notdir $(LINUX_KERNEL_CUSTOM_DTS_PATH))/,$(basename $(filter %.dts,$(notdir $(wildcard $(LINUX_KERNEL_CUSTOM_DTS_PATH)/*))))) +else +LINUX_DTS_NAME += $(basename $(filter %.dts,$(notdir $(wildcard $(LINUX_KERNEL_CUSTOM_DTS_PATH))))) +endif LINUX_DTBS = $(addsuffix .dtb,$(LINUX_DTS_NAME)) @@ -286,6 +299,19 @@ define LINUX_DROP_YYLLOC endef LINUX_POST_PATCH_HOOKS += LINUX_DROP_YYLLOC +# Kernel version < 5.6 breaks if host-gcc version is >= 10 and +# 'yylloc' symbol is removed in previous hook, due to missing +# '%locations' bison directive in dtc-parser.y. See: +# https://bugs.busybox.net/show_bug.cgi?id=14971 +define LINUX_ADD_DTC_LOCATIONS + $(Q)DTC_PARSER=$(@D)/scripts/dtc/dtc-parser.y; \ + if test -e "$${DTC_PARSER}" \ + && ! grep -Eq '^%locations$$' "$${DTC_PARSER}" ; then \ + $(SED) '/^%{$$/i %locations' "$${DTC_PARSER}"; \ + fi +endef +LINUX_POST_PATCH_HOOKS += LINUX_ADD_DTC_LOCATIONS + # Older linux kernels use deprecated perl constructs in timeconst.pl # that were removed for perl 5.22+ so it breaks on newer distributions # Try a dry-run patch to see if this applies, if it does go ahead @@ -349,7 +375,22 @@ define LINUX_FIXUP_CONFIG_ENDIANNESS endef endif +# As the kernel gets compiled before root filesystems are +# built, we create a fake cpio file. It'll be +# replaced later by the real cpio archive, and the kernel will be +# rebuilt using the linux-rebuild-with-initramfs target. +ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) +define LINUX_KCONFIG_FIXUP_CMDS_ROOTFS_CPIO + @mkdir -p $(BINARIES_DIR) + $(Q)touch $(BINARIES_DIR)/rootfs.cpio + $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio") + $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0) + $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0) +endef +endif + define LINUX_KCONFIG_FIXUP_CMDS + @$(call MESSAGE,"Updating kernel config with fixups") $(if $(LINUX_NEEDS_MODULES), $(call KCONFIG_ENABLE_OPT,CONFIG_MODULES)) $(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_COMPRESSION_OPT_y))) @@ -378,22 +419,17 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_4K_PAGES) $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES) $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) + $(if $(BR2_ARM64_PAGE_SIZE_16K), + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_4K_PAGES) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_16K_PAGES) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) $(if $(BR2_ARM64_PAGE_SIZE_64K), $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_4K_PAGES) $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES) $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_64K_PAGES)) $(if $(BR2_TARGET_ROOTFS_CPIO), $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD)) - # As the kernel gets compiled before root filesystems are - # built, we create a fake cpio file. It'll be - # replaced later by the real cpio archive, and the kernel will be - # rebuilt using the linux-rebuild-with-initramfs target. - $(if $(BR2_TARGET_ROOTFS_INITRAMFS), - mkdir -p $(BINARIES_DIR) - touch $(BINARIES_DIR)/rootfs.cpio - $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio") - $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0) - $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0)) + $(LINUX_KCONFIG_FIXUP_CMDS_ROOTFS_CPIO) $(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),, $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS) $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT)) @@ -408,6 +444,7 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO) $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO_LINUX_CLUT224)) $(call KCONFIG_DISABLE_OPT,CONFIG_GCC_PLUGINS) + $(call KCONFIG_DISABLE_OPT,CONFIG_WERROR) $(PACKAGES_LINUX_CONFIG_FIXUPS) endef @@ -419,7 +456,7 @@ LINUX_DEPENDENCIES += host-bison host-flex ifeq ($(BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT),) define LINUX_BUILD_DTB - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_DTBS) + $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_DTBS) endef ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),) define LINUX_INSTALL_DTB @@ -444,7 +481,7 @@ define LINUX_APPEND_DTB else \ dtbpath=dts/$${dtb}.dtb ; \ fi ; \ - cat zImage $${dtbpath} > zImage.$${dtb} || exit 1; \ + cat zImage $${dtbpath} > zImage.$$(basename $${dtb}) || exit 1; \ done) endef ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y) @@ -467,17 +504,17 @@ endif # Compilation. We make sure the kernel gets rebuilt when the # configuration has changed. We call the 'all' and # '$(LINUX_TARGET_NAME)' targets separately because calling them in -# the same $(MAKE) invocation has shown to cause parallel build +# the same $(BR2_MAKE) invocation has shown to cause parallel build # issues. # The call to disable gcc-plugins is a stop-gap measure: # http://lists.busybox.net/pipermail/buildroot/2020-May/282727.html define LINUX_BUILD_CMDS $(call KCONFIG_DISABLE_OPT,CONFIG_GCC_PLUGINS) - $(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \ - cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/ + $(foreach dts,$(LINUX_KERNEL_CUSTOM_DTS_PATH), \ + cp -rf $(dts) $(LINUX_ARCH_PATH)/boot/dts/ ) - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) + $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all + $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) $(LINUX_BUILD_DTB) $(LINUX_APPEND_DTB) endef @@ -526,7 +563,7 @@ define LINUX_INSTALL_TARGET_CMDS # Install modules and remove symbolic links pointing to build # directories, not relevant on the target @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ - $(LINUX_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \ + $(LINUX_MAKE_ENV) $(BR2_MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \ rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \ rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \ fi @@ -625,7 +662,7 @@ linux-rebuild-with-initramfs: rootfs-cpio linux-rebuild-with-initramfs: @$(call MESSAGE,"Rebuilding kernel with initramfs") # Build the kernel. - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) $(LINUX_TARGET_NAME) + $(LINUX_MAKE_ENV) $(BR2_MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) $(LINUX_TARGET_NAME) $(LINUX_APPEND_DTB) # Copy the kernel image(s) to its(their) final destination $(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR)) diff --git a/package/Config.in b/package/Config.in index 914c3584e94..33039331f7d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -51,9 +51,9 @@ menu "Audio and video applications" source "package/pipewire-media-session/Config.in" source "package/pulseaudio/Config.in" source "package/sox/Config.in" + source "package/speechd/Config.in" source "package/squeezelite/Config.in" source "package/tinycompress/Config.in" - source "package/tovid/Config.in" source "package/tstools/Config.in" source "package/twolame/Config.in" source "package/udpxy/Config.in" @@ -117,6 +117,8 @@ menu "Debugging, profiling and benchmark" source "package/kyua/Config.in" source "package/latencytop/Config.in" source "package/libbpf/Config.in" + source "package/libtraceevent/Config.in" + source "package/libtracefs/Config.in" source "package/lmbench/Config.in" source "package/lsof/Config.in" source "package/ltp-testsuite/Config.in" @@ -124,6 +126,7 @@ menu "Debugging, profiling and benchmark" source "package/lttng-babeltrace/Config.in" source "package/lttng-modules/Config.in" source "package/lttng-tools/Config.in" + source "package/mbpoll/Config.in" source "package/mbw/Config.in" source "package/mcelog/Config.in" source "package/memstat/Config.in" @@ -133,6 +136,7 @@ menu "Debugging, profiling and benchmark" source "package/oprofile/Config.in" source "package/pax-utils/Config.in" source "package/pcm-tools/Config.in" + source "package/perftest/Config.in" source "package/piglit/Config.in" source "package/ply/Config.in" source "package/poke/Config.in" @@ -152,7 +156,6 @@ menu "Debugging, profiling and benchmark" source "package/sysdig/Config.in" source "package/sysprof/Config.in" source "package/tcf-agent/Config.in" - source "package/tinymembench/Config.in" source "package/trace-cmd/Config.in" source "package/trinity/Config.in" source "package/uclibc-ng-test/Config.in" @@ -199,6 +202,7 @@ menu "Development tools" source "package/sed/Config.in" source "package/subversion/Config.in" source "package/tree/Config.in" + source "package/unifdef/Config.in" source "package/yasm/Config.in" endmenu @@ -269,7 +273,6 @@ comment "Fonts" comment "Icons" source "package/adwaita-icon-theme/Config.in" - source "package/google-material-design-icons/Config.in" source "package/hicolor-icon-theme/Config.in" comment "Sounds" @@ -311,11 +314,16 @@ menu "Graphic libraries and applications (graphic/text)" comment "Graphic applications" source "package/cage/Config.in" source "package/cog/Config.in" + source "package/dmenu-wayland/Config.in" + source "package/flutter-gallery/Config.in" + source "package/flutter-pi/Config.in" + source "package/foot/Config.in" source "package/fswebcam/Config.in" source "package/ghostscript/Config.in" source "package/glmark2/Config.in" source "package/glslsandbox-player/Config.in" source "package/gnuplot/Config.in" + source "package/ivi-homescreen/Config.in" source "package/jhead/Config.in" source "package/kmscube/Config.in" source "package/libva-utils/Config.in" @@ -325,7 +333,10 @@ comment "Graphic applications" source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" + source "package/spirv-tools/Config.in" source "package/stellarium/Config.in" + source "package/sway/Config.in" + source "package/swaybg/Config.in" source "package/tesseract-ocr/Config.in" source "package/tinifier/Config.in" @@ -364,12 +375,16 @@ comment "Graphic libraries" source "package/sdl2_mixer/Config.in" source "package/sdl2_net/Config.in" source "package/sdl2_ttf/Config.in" + source "package/spirv-headers/Config.in" source "package/tk/Config.in" source "package/vulkan-headers/Config.in" + source "package/vulkan-loader/Config.in" + source "package/vulkan-tools/Config.in" comment "Other GUIs" source "package/qt5/Config.in" -if BR2_PACKAGE_QT5 + source "package/qt6/Config.in" +if BR2_PACKAGE_QT5 || BR2_PACKAGE_QT6 comment "QT libraries and helper libraries" source "package/cutelyst/Config.in" source "package/grantlee/Config.in" @@ -380,7 +395,6 @@ comment "QT libraries and helper libraries" source "package/qwt/Config.in" source "package/simple-mail/Config.in" endif - source "package/qt6/Config.in" source "package/tekui/Config.in" source "package/weston/Config.in" source "package/x11r7/Config.in" @@ -393,7 +407,6 @@ comment "X applications" source "package/dillo/Config.in" source "package/docker/Config.in" source "package/feh/Config.in" - source "package/gmpc/Config.in" source "package/gtkperf/Config.in" source "package/leafpad/Config.in" source "package/mupdf/Config.in" @@ -438,6 +451,7 @@ menu "Firmware" source "package/murata-cyw-fw/Config.in" source "package/odroidc2-firmware/Config.in" source "package/qcom-db410c-firmware/Config.in" + source "package/qoriq-fm-ucode/Config.in" source "package/rcw-smarc-sal28/Config.in" source "package/rpi-firmware/Config.in" source "package/sunxi-boards/Config.in" @@ -471,7 +485,6 @@ endmenu source "package/cwiid/Config.in" source "package/dahdi-linux/Config.in" source "package/dahdi-tools/Config.in" - source "package/davinci-bootcount/Config.in" source "package/dbus/Config.in" source "package/dbus-broker/Config.in" source "package/dbus-cpp/Config.in" @@ -479,6 +492,7 @@ endmenu source "package/dbus-glib/Config.in" source "package/dbus-python/Config.in" source "package/dbus-triggerd/Config.in" + source "package/dfu-programmer/Config.in" source "package/dfu-util/Config.in" source "package/dmidecode/Config.in" source "package/dmraid/Config.in" @@ -491,6 +505,7 @@ endmenu source "package/edid-decode/Config.in" source "package/edk2-non-osi/Config.in" source "package/edk2-platforms/Config.in" + source "package/esp-hosted/Config.in" source "package/eudev/Config.in" source "package/ev3dev-linux-drivers/Config.in" source "package/evemu/Config.in" @@ -522,6 +537,7 @@ endmenu source "package/iucode-tool/Config.in" source "package/kbd/Config.in" source "package/lcdproc/Config.in" + source "package/ledmon/Config.in" source "package/libiec61850/Config.in" source "package/libmanette/Config.in" source "package/libubootenv/Config.in" @@ -545,12 +561,14 @@ endmenu source "package/memtest86/Config.in" source "package/memtester/Config.in" source "package/memtool/Config.in" + source "package/mhz/Config.in" source "package/minicom/Config.in" source "package/msr-tools/Config.in" source "package/nanocom/Config.in" source "package/neard/Config.in" source "package/nvidia-driver/Config.in" source "package/nvidia-modprobe/Config.in" + source "package/nvidia-persistenced/Config.in" source "package/nvme/Config.in" source "package/ofono/Config.in" source "package/ola/Config.in" @@ -573,9 +591,11 @@ endmenu source "package/pulseview/Config.in" source "package/qoriq-cadence-dp-firmware/Config.in" source "package/raspi-gpio/Config.in" + source "package/rdma-core/Config.in" source "package/read-edid/Config.in" source "package/rng-tools/Config.in" source "package/rockchip-mali/Config.in" + source "package/rockchip-rkbin/Config.in" source "package/rpi-userland/Config.in" source "package/rs485conf/Config.in" source "package/rtc-tools/Config.in" @@ -585,8 +605,11 @@ endmenu source "package/rtl8192eu/Config.in" source "package/rtl8723bu/Config.in" source "package/rtl8723ds/Config.in" + source "package/rtl8723ds-bt/Config.in" source "package/rtl8812au-aircrack-ng/Config.in" source "package/rtl8821au/Config.in" + source "package/rtl8821cu/Config.in" + source "package/rtl8822cs/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" @@ -613,9 +636,9 @@ endmenu source "package/ti-utils/Config.in" source "package/tio/Config.in" source "package/triggerhappy/Config.in" + source "package/uboot-bootcount/Config.in" source "package/uboot-tools/Config.in" source "package/ubus/Config.in" - source "package/uccp420wlan/Config.in" source "package/udev/Config.in" source "package/udev-gentoo-scripts/Config.in" source "package/udisks/Config.in" @@ -695,7 +718,9 @@ menu "Lua libraries/modules" source "package/lpty/Config.in" source "package/lrandom/Config.in" source "package/lsqlite3/Config.in" + source "package/lua-ansicolors/Config.in" source "package/lua-argon2/Config.in" + source "package/lua-argparse/Config.in" source "package/lua-augeas/Config.in" source "package/lua-basexx/Config.in" source "package/lua-binaryheap/Config.in" @@ -706,10 +731,12 @@ menu "Lua libraries/modules" source "package/lua-coatpersistent/Config.in" source "package/lua-codegen/Config.in" source "package/lua-compat53/Config.in" + source "package/lua-conciseserialization/Config.in" source "package/lua-cqueues/Config.in" source "package/lua-csnappy/Config.in" source "package/lua-curl/Config.in" source "package/lua-datafile/Config.in" + source "package/lua-dkjson/Config.in" source "package/lua-ev/Config.in" source "package/lua-fifo/Config.in" source "package/lua-flu/Config.in" @@ -737,6 +764,7 @@ menu "Lua libraries/modules" source "package/lua-std-normalize/Config.in" source "package/lua-stdlib/Config.in" source "package/lua-testmore/Config.in" + source "package/lua-ubjson/Config.in" source "package/lua-utf8/Config.in" source "package/lua-valua/Config.in" source "package/lua-zlib/Config.in" @@ -769,7 +797,6 @@ menu "Lua libraries/modules" endmenu endif source "package/micropython/Config.in" - source "package/micropython-lib/Config.in" source "package/moarvm/Config.in" source "package/mono/Config.in" if BR2_PACKAGE_MONO @@ -791,6 +818,7 @@ menu "Perl libraries/modules" source "package/perl-class-method-modifiers/Config.in" source "package/perl-class-std/Config.in" source "package/perl-class-std-fast/Config.in" + source "package/perl-clone/Config.in" source "package/perl-convert-asn1/Config.in" source "package/perl-cookie-baker/Config.in" source "package/perl-crypt-blowfish/Config.in" @@ -837,6 +865,7 @@ menu "Perl libraries/modules" source "package/perl-http-multipartparser/Config.in" source "package/perl-http-negotiate/Config.in" source "package/perl-i18n/Config.in" + source "package/perl-image-exiftool/Config.in" source "package/perl-io-html/Config.in" source "package/perl-io-interface/Config.in" source "package/perl-io-socket-multicast/Config.in" @@ -948,10 +977,14 @@ menu "External python modules" source "package/python-aioredis/Config.in" source "package/python-aiorwlock/Config.in" source "package/python-aiosignal/Config.in" + source "package/python-aiosqlite/Config.in" source "package/python-aiozipkin/Config.in" source "package/python-alembic/Config.in" source "package/python-alsaaudio/Config.in" + source "package/python-annotated-types/Config.in" source "package/python-ansicolors/Config.in" + source "package/python-anyio/Config.in" + source "package/python-apispec/Config.in" source "package/python-appdirs/Config.in" source "package/python-argh/Config.in" source "package/python-argon2-cffi/Config.in" @@ -959,8 +992,11 @@ menu "External python modules" source "package/python-arrow/Config.in" source "package/python-asgiref/Config.in" source "package/python-asn1crypto/Config.in" + source "package/python-asttokens/Config.in" + source "package/python-async-generator/Config.in" source "package/python-async-lru/Config.in" source "package/python-async-timeout/Config.in" + source "package/python-asyncssh/Config.in" source "package/python-attrs/Config.in" source "package/python-augeas/Config.in" source "package/python-autobahn/Config.in" @@ -971,16 +1007,18 @@ menu "External python modules" source "package/python-bcrypt/Config.in" source "package/python-beautifulsoup4/Config.in" source "package/python-bidict/Config.in" + source "package/python-bitarray/Config.in" source "package/python-bitstring/Config.in" source "package/python-bleak/Config.in" + source "package/python-blinker/Config.in" source "package/python-bluezero/Config.in" source "package/python-boto3/Config.in" source "package/python-botocore/Config.in" source "package/python-bottle/Config.in" source "package/python-brotli/Config.in" source "package/python-bsdiff4/Config.in" - source "package/python-bunch/Config.in" source "package/python-cached-property/Config.in" + source "package/python-cachetools/Config.in" source "package/python-can/Config.in" source "package/python-canopen/Config.in" source "package/python-cbor/Config.in" @@ -1003,12 +1041,12 @@ menu "External python modules" source "package/python-configshell-fb/Config.in" source "package/python-constantly/Config.in" source "package/python-construct/Config.in" + source "package/python-contourpy/Config.in" source "package/python-couchdb/Config.in" source "package/python-crayons/Config.in" source "package/python-crc16/Config.in" source "package/python-crcmod/Config.in" source "package/python-crontab/Config.in" - source "package/python-crossbar/Config.in" source "package/python-cryptography/Config.in" source "package/python-cssselect/Config.in" source "package/python-cssselect2/Config.in" @@ -1019,8 +1057,10 @@ menu "External python modules" source "package/python-daphne/Config.in" source "package/python-dataproperty/Config.in" source "package/python-dateutil/Config.in" + source "package/python-dbus-fast/Config.in" source "package/python-dbus-next/Config.in" source "package/python-decorator/Config.in" + source "package/python-decouple/Config.in" source "package/python-defusedxml/Config.in" source "package/python-dialog3/Config.in" source "package/python-dicttoxml/Config.in" @@ -1041,7 +1081,11 @@ menu "External python modules" source "package/python-engineio/Config.in" source "package/python-entrypoints/Config.in" source "package/python-esptool/Config.in" + source "package/python-evdev/Config.in" + source "package/python-executing/Config.in" source "package/python-falcon/Config.in" + source "package/python-fastapi/Config.in" + source "package/python-fastapi-sessions/Config.in" source "package/python-filelock/Config.in" source "package/python-fire/Config.in" source "package/python-flask/Config.in" @@ -1050,6 +1094,7 @@ menu "External python modules" source "package/python-flask-expects-json/Config.in" source "package/python-flask-jsonrpc/Config.in" source "package/python-flask-login/Config.in" + source "package/python-flask-smorest/Config.in" source "package/python-flask-sqlalchemy/Config.in" source "package/python-flask-wtf/Config.in" source "package/python-flatbuffers/Config.in" @@ -1061,16 +1106,27 @@ menu "External python modules" source "package/python-gitdb2/Config.in" source "package/python-gnupg/Config.in" source "package/python-gobject/Config.in" + source "package/python-google-api-core/Config.in" + source "package/python-google-auth/Config.in" + source "package/python-googleapis-common-protos/Config.in" source "package/python-gpiozero/Config.in" source "package/python-greenlet/Config.in" + source "package/python-grpc-requests/Config.in" + source "package/python-grpcio/Config.in" + source "package/python-grpcio-reflection/Config.in" source "package/python-gunicorn/Config.in" + source "package/python-h11/Config.in" source "package/python-h2/Config.in" source "package/python-hiredis/Config.in" + source "package/python-hkdf/Config.in" source "package/python-hpack/Config.in" source "package/python-html5lib/Config.in" + source "package/python-httpcore/Config.in" source "package/python-httplib2/Config.in" + source "package/python-httpx/Config.in" source "package/python-huepy/Config.in" source "package/python-humanize/Config.in" + source "package/python-hwdata/Config.in" source "package/python-hyperframe/Config.in" source "package/python-hyperlink/Config.in" source "package/python-ibmiotf/Config.in" @@ -1095,13 +1151,16 @@ menu "External python modules" source "package/python-jaraco-classes/Config.in" source "package/python-jaraco-functools/Config.in" source "package/python-jedi/Config.in" + source "package/python-jeepney/Config.in" source "package/python-jinja2/Config.in" source "package/python-jmespath/Config.in" source "package/python-json-schema-validator/Config.in" source "package/python-jsonmodels/Config.in" source "package/python-jsonschema/Config.in" + source "package/python-jsonschema-specifications/Config.in" source "package/python-keyring/Config.in" source "package/python-kiwisolver/Config.in" + source "package/python-kmod/Config.in" source "package/python-lark/Config.in" source "package/python-libconfig/Config.in" source "package/python-libevdev/Config.in" @@ -1112,22 +1171,31 @@ menu "External python modules" source "package/python-logstash/Config.in" source "package/python-lxml/Config.in" source "package/python-m2crypto/Config.in" + source "package/python-magic-wormhole/Config.in" + source "package/python-magic-wormhole-mailbox-server/Config.in" + source "package/python-magic-wormhole-transit-relay/Config.in" source "package/python-mako/Config.in" source "package/python-markdown/Config.in" source "package/python-markdown2/Config.in" source "package/python-markupsafe/Config.in" + source "package/python-marshmallow/Config.in" + source "package/python-marshmallow-sqlalchemy/Config.in" source "package/python-matplotlib/Config.in" + source "package/python-matplotlib-inline/Config.in" source "package/python-mbstrdecoder/Config.in" source "package/python-memory-profiler/Config.in" + source "package/python-midiutil/Config.in" source "package/python-mimeparse/Config.in" source "package/python-minimalmodbus/Config.in" source "package/python-mistune/Config.in" + source "package/python-ml-dtypes/Config.in" source "package/python-modbus-tk/Config.in" source "package/python-more-itertools/Config.in" source "package/python-mpd2/Config.in" source "package/python-msgfy/Config.in" source "package/python-msgpack/Config.in" source "package/python-multidict/Config.in" + source "package/python-multipart/Config.in" source "package/python-munch/Config.in" source "package/python-mutagen/Config.in" source "package/python-mwclient/Config.in" @@ -1143,6 +1211,7 @@ menu "External python modules" source "package/python-oauthlib/Config.in" source "package/python-opcua-asyncio/Config.in" source "package/python-orjson/Config.in" + source "package/python-outcome/Config.in" source "package/python-packaging/Config.in" source "package/python-paho-mqtt/Config.in" source "package/python-paramiko/Config.in" @@ -1169,6 +1238,7 @@ menu "External python modules" source "package/python-psycopg2/Config.in" source "package/python-ptyprocess/Config.in" source "package/python-pudb/Config.in" + source "package/python-pure-eval/Config.in" source "package/python-py/Config.in" source "package/python-pyaes/Config.in" source "package/python-pyalsa/Config.in" @@ -1178,15 +1248,16 @@ menu "External python modules" source "package/python-pycairo/Config.in" source "package/python-pycares/Config.in" source "package/python-pycparser/Config.in" + source "package/python-pycrate/Config.in" source "package/python-pycryptodomex/Config.in" source "package/python-pycups/Config.in" source "package/python-pydal/Config.in" source "package/python-pydantic/Config.in" + source "package/python-pydantic-core/Config.in" source "package/python-pydevmem/Config.in" source "package/python-pydyf/Config.in" source "package/python-pyelftools/Config.in" source "package/python-pyftpdlib/Config.in" - source "package/python-pygame/Config.in" source "package/python-pygments/Config.in" source "package/python-pyhamcrest/Config.in" source "package/python-pyicu/Config.in" @@ -1204,12 +1275,14 @@ menu "External python modules" source "package/python-pyparsing/Config.in" source "package/python-pyparted/Config.in" source "package/python-pyphen/Config.in" + source "package/python-pypng/Config.in" source "package/python-pyqrcode/Config.in" source "package/python-pyqt5/Config.in" source "package/python-pyratemp/Config.in" source "package/python-pyroute2/Config.in" source "package/python-pyrsistent/Config.in" source "package/python-pysendfile/Config.in" + source "package/python-pysensors/Config.in" source "package/python-pysftp/Config.in" source "package/python-pysmb/Config.in" source "package/python-pysmi/Config.in" @@ -1225,7 +1298,6 @@ menu "External python modules" source "package/python-pytz/Config.in" source "package/python-pyudev/Config.in" source "package/python-pyusb/Config.in" - source "package/python-pyxb/Config.in" source "package/python-pyyaml/Config.in" source "package/python-pyzmq/Config.in" source "package/python-qrcode/Config.in" @@ -1233,6 +1305,7 @@ menu "External python modules" source "package/python-redis/Config.in" source "package/python-reedsolo/Config.in" source "package/python-reentry/Config.in" + source "package/python-referencing/Config.in" source "package/python-regex/Config.in" source "package/python-remi/Config.in" source "package/python-request-id/Config.in" @@ -1240,6 +1313,7 @@ menu "External python modules" source "package/python-requests-oauthlib/Config.in" source "package/python-requests-toolbelt/Config.in" source "package/python-rfc3987/Config.in" + source "package/python-rpds-py/Config.in" source "package/python-rpi-gpio/Config.in" source "package/python-rpi-ws281x/Config.in" source "package/python-rsa/Config.in" @@ -1254,6 +1328,8 @@ menu "External python modules" source "package/python-sdnotify/Config.in" source "package/python-secretstorage/Config.in" source "package/python-see/Config.in" + source "package/python-segno/Config.in" + source "package/python-selenium/Config.in" source "package/python-semver/Config.in" source "package/python-sentry-sdk/Config.in" source "package/python-serial/Config.in" @@ -1275,20 +1351,26 @@ menu "External python modules" source "package/python-smbus-cffi/Config.in" source "package/python-smmap2/Config.in" source "package/python-snappy/Config.in" + source "package/python-sniffio/Config.in" source "package/python-socketio/Config.in" source "package/python-sockjs/Config.in" source "package/python-sortedcontainers/Config.in" source "package/python-soupsieve/Config.in" + source "package/python-spake2/Config.in" source "package/python-spidev/Config.in" source "package/python-sqlalchemy/Config.in" source "package/python-sqliteschema/Config.in" source "package/python-sqlparse/Config.in" + source "package/python-stack-data/Config.in" + source "package/python-starlette/Config.in" source "package/python-systemd/Config.in" source "package/python-tabledata/Config.in" + source "package/python-tcolorpy/Config.in" source "package/python-tempora/Config.in" source "package/python-termcolor/Config.in" source "package/python-terminaltables/Config.in" source "package/python-texttable/Config.in" + source "package/python-tftpy/Config.in" source "package/python-thrift/Config.in" source "package/python-tinycss2/Config.in" source "package/python-tinyrpc/Config.in" @@ -1297,22 +1379,29 @@ menu "External python modules" source "package/python-tomli/Config.in" source "package/python-tornado/Config.in" source "package/python-tqdm/Config.in" + source "package/python-trafaret/Config.in" source "package/python-traitlets/Config.in" source "package/python-treq/Config.in" + source "package/python-trio/Config.in" + source "package/python-trio-websocket/Config.in" source "package/python-twisted/Config.in" source "package/python-txaio/Config.in" source "package/python-txdbus/Config.in" source "package/python-txtorcon/Config.in" source "package/python-typeguard/Config.in" source "package/python-typepy/Config.in" + source "package/python-types-python-dateutil/Config.in" source "package/python-typing-extensions/Config.in" source "package/python-typing-inspect/Config.in" source "package/python-u-msgpack/Config.in" source "package/python-ubjson/Config.in" + source "package/python-uhid/Config.in" source "package/python-ujson/Config.in" source "package/python-unittest-xml-reporting/Config.in" source "package/python-urllib3/Config.in" source "package/python-urwid/Config.in" + source "package/python-urwid-readline/Config.in" + source "package/python-uvicorn/Config.in" source "package/python-uvloop/Config.in" source "package/python-validators/Config.in" source "package/python-versiontools/Config.in" @@ -1321,6 +1410,7 @@ menu "External python modules" source "package/python-wcwidth/Config.in" source "package/python-weasyprint/Config.in" source "package/python-web2py/Config.in" + source "package/python-webargs/Config.in" source "package/python-webencodings/Config.in" source "package/python-webob/Config.in" source "package/python-webpy/Config.in" @@ -1331,6 +1421,7 @@ menu "External python modules" source "package/python-wrapt/Config.in" source "package/python-ws4py/Config.in" source "package/python-wsaccel/Config.in" + source "package/python-wsproto/Config.in" source "package/python-wtforms/Config.in" source "package/python-xlib/Config.in" source "package/python-xlrd/Config.in" @@ -1371,8 +1462,8 @@ menu "Audio/Sound" source "package/caps/Config.in" source "package/fdk-aac/Config.in" source "package/libao/Config.in" - source "package/libasplib/Config.in" source "package/libbroadvoice/Config.in" + source "package/libcanberra/Config.in" source "package/libcdaudio/Config.in" source "package/libcddb/Config.in" source "package/libcdio/Config.in" @@ -1388,7 +1479,6 @@ menu "Audio/Sound" source "package/liblo/Config.in" source "package/libmad/Config.in" source "package/libmodplug/Config.in" - source "package/libmpd/Config.in" source "package/libmpdclient/Config.in" source "package/libreplaygain/Config.in" source "package/libsamplerate/Config.in" @@ -1440,7 +1530,7 @@ menu "Crypto" source "package/beecrypt/Config.in" source "package/botan/Config.in" source "package/ca-certificates/Config.in" - source "package/cryptodev/Config.in" + source "package/cryptodev-linux/Config.in" source "package/cryptopp/Config.in" source "package/gcr/Config.in" source "package/gnutls/Config.in" @@ -1461,6 +1551,7 @@ menu "Crypto" source "package/libsecret/Config.in" source "package/libsha1/Config.in" source "package/libsodium/Config.in" + source "package/libspdm/Config.in" source "package/libssh/Config.in" source "package/libssh2/Config.in" source "package/libtomcrypt/Config.in" @@ -1496,14 +1587,15 @@ menu "Database" source "package/libodb-mysql/Config.in" source "package/libodb-pgsql/Config.in" source "package/libpqxx/Config.in" + source "package/mariadb/Config.in" source "package/mongodb/Config.in" - source "package/mysql/Config.in" source "package/postgresql/Config.in" if BR2_PACKAGE_POSTGRESQL source "package/osm2pgsql/Config.in" source "package/postgis/Config.in" endif source "package/redis/Config.in" + source "package/redis-plus-plus/Config.in" source "package/rocksdb/Config.in" source "package/sqlcipher/Config.in" source "package/sqlite/Config.in" @@ -1526,18 +1618,20 @@ endmenu menu "Graphics" source "package/assimp/Config.in" - source "package/at-spi2-atk/Config.in" source "package/at-spi2-core/Config.in" - source "package/atk/Config.in" source "package/atkmm/Config.in" + source "package/atkmm2_28/Config.in" source "package/bayer2rgb-neon/Config.in" source "package/bullet/Config.in" source "package/cairo/Config.in" source "package/cairomm/Config.in" + source "package/cairomm1_14/Config.in" source "package/chipmunk/Config.in" + source "package/cutekeyboard/Config.in" source "package/exempi/Config.in" source "package/exiv2/Config.in" source "package/fltk/Config.in" + source "package/flutter-engine/Config.in" source "package/fontconfig/Config.in" source "package/freetype/Config.in" source "package/gd/Config.in" @@ -1565,6 +1659,7 @@ menu "Graphics" source "package/leptonica/Config.in" source "package/lesstif/Config.in" source "package/libart/Config.in" + source "package/libdecor/Config.in" source "package/libdmtx/Config.in" source "package/libdri2/Config.in" source "package/libdrm/Config.in" @@ -1583,6 +1678,7 @@ menu "Graphics" source "package/libgta/Config.in" source "package/libgtk2/Config.in" source "package/libgtk3/Config.in" + source "package/libjxl/Config.in" source "package/libmediaart/Config.in" source "package/libmng/Config.in" source "package/libpng/Config.in" @@ -1596,8 +1692,10 @@ menu "Graphics" source "package/libva-intel-driver/Config.in" source "package/libvdpau/Config.in" source "package/libvips/Config.in" + source "package/libvpl/Config.in" source "package/libwpe/Config.in" source "package/menu-cache/Config.in" + source "package/onevpl-intel-gpu/Config.in" source "package/opencl-clhpp/Config.in" source "package/opencv3/Config.in" source "package/opencv4/Config.in" @@ -1606,6 +1704,7 @@ menu "Graphics" source "package/openjpeg/Config.in" source "package/pango/Config.in" source "package/pangomm/Config.in" + source "package/pangomm2_46/Config.in" source "package/pixman/Config.in" source "package/poppler/Config.in" source "package/powervr/Config.in" @@ -1644,6 +1743,7 @@ menu "Hardware handling" source "package/libatasmart/Config.in" source "package/libblockdev/Config.in" source "package/libcec/Config.in" + source "package/libdisplay-info/Config.in" source "package/libfreefare/Config.in" source "package/libftdi/Config.in" source "package/libftdi1/Config.in" @@ -1657,6 +1757,7 @@ menu "Hardware handling" source "package/libllcp/Config.in" source "package/libmbim/Config.in" source "package/libnfc/Config.in" + source "package/libnvme/Config.in" source "package/libpciaccess/Config.in" source "package/libphidget/Config.in" source "package/libpri/Config.in" @@ -1680,6 +1781,7 @@ menu "Hardware handling" source "package/mtdev/Config.in" source "package/ne10/Config.in" source "package/neardal/Config.in" + source "package/opencsd/Config.in" source "package/opensc/Config.in" source "package/owfs/Config.in" source "package/pcsc-lite/Config.in" @@ -1746,6 +1848,7 @@ menu "JSON/XML" source "package/libbson/Config.in" source "package/libfastjson/Config.in" source "package/libjson/Config.in" + source "package/libjwt/Config.in" source "package/libroxml/Config.in" source "package/libucl/Config.in" source "package/libxml2/Config.in" @@ -1795,6 +1898,7 @@ menu "Multimedia" source "package/libbluray/Config.in" source "package/libcamera/Config.in" source "package/libcamera-apps/Config.in" + source "package/libde265/Config.in" source "package/libdvbcsa/Config.in" source "package/libdvbpsi/Config.in" source "package/libdvbsi/Config.in" @@ -1803,6 +1907,7 @@ menu "Multimedia" source "package/libdvdread/Config.in" source "package/libebml/Config.in" source "package/libhdhomerun/Config.in" + source "package/libheif/Config.in" source "package/libimxvpuapi/Config.in" source "package/libmatroska/Config.in" source "package/libmms/Config.in" @@ -1840,7 +1945,6 @@ menu "Networking" source "package/dht/Config.in" source "package/enet/Config.in" source "package/filemq/Config.in" - source "package/flickcurl/Config.in" source "package/fmlib/Config.in" source "package/freeradius-client/Config.in" source "package/gensio/Config.in" @@ -1908,6 +2012,7 @@ menu "Networking" source "package/libshout/Config.in" source "package/libsocketcan/Config.in" source "package/libsoup/Config.in" + source "package/libsoup3/Config.in" source "package/libsrtp/Config.in" source "package/libstrophe/Config.in" source "package/libteam/Config.in" @@ -1926,8 +2031,10 @@ menu "Networking" source "package/libwebsock/Config.in" source "package/libwebsockets/Config.in" source "package/libyang/Config.in" + source "package/libzenoh-pico/Config.in" source "package/lksctp-tools/Config.in" source "package/mbuffer/Config.in" + source "package/mdnsd/Config.in" source "package/mongoose/Config.in" source "package/nanomsg/Config.in" source "package/neon/Config.in" @@ -1937,6 +2044,7 @@ menu "Networking" source "package/nss-mdns/Config.in" source "package/nss-myhostname/Config.in" source "package/nss-pam-ldapd/Config.in" + source "package/oatpp/Config.in" source "package/omniorb/Config.in" source "package/open-isns/Config.in" source "package/open62541/Config.in" @@ -1984,15 +2092,17 @@ menu "Other" source "package/boost/Config.in" source "package/c-capnproto/Config.in" source "package/capnproto/Config.in" + source "package/catch2/Config.in" source "package/cctz/Config.in" source "package/cereal/Config.in" - source "package/clang/Config.in" + source "package/llvm-project/clang/Config.in" source "package/cmocka/Config.in" - source "package/compiler-rt/Config.in" + source "package/llvm-project/compiler-rt/Config.in" source "package/cppcms/Config.in" source "package/cracklib/Config.in" source "package/dawgdic/Config.in" source "package/ding-libs/Config.in" + source "package/dotconf/Config.in" source "package/double-conversion/Config.in" source "package/eigen/Config.in" source "package/elfutils/Config.in" @@ -2002,17 +2112,20 @@ menu "Other" source "package/flann/Config.in" source "package/flatbuffers/Config.in" source "package/flatcc/Config.in" + source "package/fxdiv/Config.in" source "package/gconf/Config.in" source "package/gdal/Config.in" source "package/gflags/Config.in" source "package/gli/Config.in" source "package/glibmm/Config.in" + source "package/glibmm2_66/Config.in" source "package/glm/Config.in" source "package/gmp/Config.in" source "package/gobject-introspection/Config.in" source "package/gsl/Config.in" source "package/gtest/Config.in" source "package/gumbo-parser/Config.in" + source "package/highway/Config.in" source "package/jemalloc/Config.in" source "package/lapack/Config.in" source "package/libabseil-cpp/Config.in" @@ -2026,7 +2139,7 @@ menu "Other" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" source "package/libcgroup/Config.in" - source "package/libclc/Config.in" + source "package/llvm-project/libclc/Config.in" source "package/libcofi/Config.in" source "package/libcorrect/Config.in" source "package/libcrossguid/Config.in" @@ -2064,7 +2177,9 @@ menu "Other" source "package/libseccomp/Config.in" source "package/libshdata/Config.in" source "package/libsigc/Config.in" + source "package/libsigc2/Config.in" source "package/libsigsegv/Config.in" + source "package/libsolv/Config.in" source "package/libspatialindex/Config.in" source "package/libtalloc/Config.in" source "package/libtasn1/Config.in" @@ -2072,9 +2187,11 @@ menu "Other" source "package/libtpl/Config.in" source "package/libubox/Config.in" source "package/libuci/Config.in" + source "package/libucontext/Config.in" source "package/libunwind/Config.in" source "package/liburcu/Config.in" source "package/liburing/Config.in" + source "package/libutempter/Config.in" source "package/libuv/Config.in" source "package/lightning/Config.in" source "package/linux-pam/Config.in" @@ -2085,7 +2202,7 @@ comment "linux-pam plugins" source "package/libpam-tacplus/Config.in" endif source "package/liquid-dsp/Config.in" - source "package/llvm/Config.in" + source "package/llvm-project/llvm/Config.in" source "package/lttng-libust/Config.in" source "package/matio/Config.in" source "package/mpc/Config.in" @@ -2095,6 +2212,7 @@ endif source "package/msgpack/Config.in" source "package/musl-compat-headers/Config.in" source "package/musl-fts/Config.in" + source "package/neon-2-sse/Config.in" source "package/openblas/Config.in" source "package/orc/Config.in" source "package/p11-kit/Config.in" @@ -2104,6 +2222,7 @@ endif source "package/protozero/Config.in" source "package/qhull/Config.in" source "package/qlibc/Config.in" + source "package/reproc/Config.in" source "package/riemann-c-client/Config.in" source "package/shapelib/Config.in" source "package/skalibs/Config.in" @@ -2111,6 +2230,8 @@ endif source "package/startup-notification/Config.in" source "package/tbb/Config.in" source "package/tinycbor/Config.in" + source "package/tl-expected/Config.in" + source "package/tllist/Config.in" source "package/tz/Config.in" source "package/tzdata/Config.in" source "package/uvw/Config.in" @@ -2129,8 +2250,10 @@ endmenu menu "Text and terminal handling" source "package/augeas/Config.in" + source "package/cli11/Config.in" source "package/docopt-cpp/Config.in" source "package/enchant/Config.in" + source "package/fcft/Config.in" source "package/fmt/Config.in" source "package/fstrcmp/Config.in" source "package/icu/Config.in" @@ -2141,6 +2264,7 @@ menu "Text and terminal handling" source "package/libestr/Config.in" source "package/libfribidi/Config.in" source "package/libiconv/Config.in" + source "package/libunibreak/Config.in" source "package/libunistring/Config.in" source "package/linenoise/Config.in" source "package/ncurses/Config.in" @@ -2153,6 +2277,7 @@ menu "Text and terminal handling" source "package/readline/Config.in" source "package/slang/Config.in" source "package/tclap/Config.in" + source "package/termcolor/Config.in" source "package/utf8proc/Config.in" endmenu @@ -2178,6 +2303,7 @@ menu "Miscellaneous" source "package/collectl/Config.in" source "package/domoticz/Config.in" source "package/empty/Config.in" + source "package/fft-eval/Config.in" source "package/gitlab-runner/Config.in" source "package/gnuradio/Config.in" source "package/googlefontdirectory/Config.in" @@ -2267,6 +2393,7 @@ endif source "package/fail2ban/Config.in" source "package/fastd/Config.in" source "package/fcgiwrap/Config.in" + source "package/firewalld/Config.in" source "package/flannel/Config.in" source "package/fmc/Config.in" source "package/fping/Config.in" @@ -2380,6 +2507,7 @@ endif source "package/odhcp6c/Config.in" source "package/odhcploc/Config.in" source "package/olsr/Config.in" + source "package/open-iscsi/Config.in" source "package/open-lldp/Config.in" source "package/open-plc-utils/Config.in" source "package/openntpd/Config.in" @@ -2519,7 +2647,6 @@ menu "Security" source "package/apparmor/Config.in" source "package/checkpolicy/Config.in" source "package/ima-evm-utils/Config.in" - source "package/optee-benchmark/Config.in" source "package/optee-client/Config.in" source "package/optee-examples/Config.in" source "package/optee-test/Config.in" @@ -2538,6 +2665,7 @@ comment "Shells" source "package/bash/Config.in" source "package/dash/Config.in" source "package/mksh/Config.in" + source "package/nushell/Config.in" source "package/zsh/Config.in" comment "Utilities" source "package/apg/Config.in" @@ -2549,6 +2677,7 @@ comment "Utilities" source "package/dialog/Config.in" source "package/dtach/Config.in" source "package/easy-rsa/Config.in" + source "package/eza/Config.in" source "package/file/Config.in" source "package/gnupg/Config.in" source "package/gnupg2/Config.in" @@ -2556,14 +2685,17 @@ comment "Utilities" source "package/lockfile-progs/Config.in" source "package/logrotate/Config.in" source "package/logsurfer/Config.in" + source "package/minisign/Config.in" source "package/neofetch/Config.in" source "package/pdmenu/Config.in" source "package/pinentry/Config.in" source "package/qprint/Config.in" source "package/ranger/Config.in" + source "package/rlwrap/Config.in" source "package/rtty/Config.in" source "package/screen/Config.in" source "package/screenfetch/Config.in" + source "package/sexpect/Config.in" source "package/sudo/Config.in" source "package/terminology/Config.in" source "package/time/Config.in" @@ -2587,10 +2719,12 @@ menu "System tools" source "package/bubblewrap/Config.in" source "package/cgroupfs-mount/Config.in" source "package/circus/Config.in" + source "package/conmon/Config.in" source "package/containerd/Config.in" source "package/coreutils/Config.in" source "package/cpulimit/Config.in" source "package/cpuload/Config.in" + source "package/criu/Config.in" source "package/crun/Config.in" source "package/daemon/Config.in" source "package/dc3dd/Config.in" @@ -2600,12 +2734,12 @@ menu "System tools" source "package/docker-cli/Config.in" source "package/docker-compose/Config.in" source "package/docker-engine/Config.in" - source "package/docker-proxy/Config.in" source "package/earlyoom/Config.in" source "package/efibootmgr/Config.in" source "package/efivar/Config.in" source "package/embiggen-disk/Config.in" source "package/emlog/Config.in" + source "package/fluent-bit/Config.in" source "package/ftop/Config.in" source "package/getent/Config.in" source "package/gkrellm/Config.in" @@ -2638,15 +2772,18 @@ menu "System tools" source "package/openrc/Config.in" source "package/openvmtools/Config.in" source "package/pamtester/Config.in" + source "package/petitboot/Config.in" source "package/polkit/Config.in" source "package/powerpc-utils/Config.in" source "package/procps-ng/Config.in" source "package/procrank_linux/Config.in" + source "package/procs/Config.in" source "package/psmisc/Config.in" source "package/pwgen/Config.in" source "package/quota/Config.in" source "package/quotatool/Config.in" source "package/rauc/Config.in" + source "package/rauc-hawkbit-updater/Config.in" source "package/rsyslog/Config.in" source "package/runc/Config.in" source "package/s390-tools/Config.in" @@ -2660,6 +2797,7 @@ menu "System tools" source "package/sdbus-cpp/Config.in" source "package/sdbusplus/Config.in" source "package/seatd/Config.in" + source "package/shadow/Config.in" source "package/smack/Config.in" source "package/start-stop-daemon/Config.in" source "package/supervisor/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index b76bea60d06..f03ca16b7b7 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -3,6 +3,7 @@ menu "Host utilities" source "package/abootimg/Config.in.host" source "package/aespipe/Config.in.host" source "package/agent-proxy/Config.in.host" + source "package/amlogic-boot-fip/Config.in.host" source "package/android-tools/Config.in.host" source "package/asn1c/Config.in.host" source "package/babeltrace2/Config.in.host" @@ -13,10 +14,13 @@ menu "Host utilities" source "package/checkpolicy/Config.in.host" source "package/checksec/Config.in.host" source "package/cmake/Config.in.host" + source "package/composer/Config.in.host" source "package/cramfs/Config.in.host" + source "package/crudini/Config.in.host" source "package/cryptsetup/Config.in.host" source "package/dbus-python/Config.in.host" source "package/delve/Config.in.host" + source "package/depot-tools/Config.in.host" source "package/dfu-util/Config.in.host" source "package/dos2unix/Config.in.host" source "package/dosfstools/Config.in.host" @@ -33,13 +37,15 @@ menu "Host utilities" source "package/faketime/Config.in.host" source "package/fatcat/Config.in.host" source "package/firmware-utils/Config.in.host" + source "package/flutter-sdk-bin/Config.in.host" source "package/fwup/Config.in.host" source "package/genext2fs/Config.in.host" source "package/genimage/Config.in.host" source "package/genpart/Config.in.host" source "package/gnupg/Config.in.host" source "package/go/Config.in.host" - source "package/go-bootstrap/Config.in.host" + source "package/go-bootstrap-stage1/Config.in.host" + source "package/go-bootstrap-stage2/Config.in.host" source "package/google-breakpad/Config.in.host" source "package/gptfdisk/Config.in.host" source "package/imagemagick/Config.in.host" @@ -50,13 +56,15 @@ menu "Host utilities" source "package/jsmin/Config.in.host" source "package/kmod/Config.in.host" source "package/libp11/Config.in.host" - source "package/lld/Config.in.host" + source "package/llvm-project/lld/Config.in.host" source "package/lpc3250loader/Config.in.host" source "package/lttng-babeltrace/Config.in.host" source "package/lzma-alone/Config.in.host" source "package/mender-artifact/Config.in.host" source "package/meson-tools/Config.in.host" source "package/mfgtools/Config.in.host" + source "package/microchip-hss-payload-generator/Config.in.host" + source "package/minisign/Config.in.host" source "package/mkpasswd/Config.in.host" source "package/moby-buildkit/Config.in.host" source "package/mosquitto/Config.in.host" @@ -77,6 +85,7 @@ menu "Host utilities" source "package/pwgen/Config.in.host" source "package/python-cython/Config.in.host" source "package/python-greenlet/Config.in.host" + source "package/python-iniparse/Config.in.host" source "package/python-kflash/Config.in.host" source "package/python-lxml/Config.in.host" source "package/python-pyyaml/Config.in.host" @@ -92,12 +101,14 @@ menu "Host utilities" source "package/rustc/Config.in.host" source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" + source "package/sdbus-cpp/Config.in.host" source "package/sdbusplus/Config.in.host" source "package/sentry-cli/Config.in.host" source "package/sloci-image/Config.in.host" source "package/squashfs/Config.in.host" source "package/sunxi-tools/Config.in.host" source "package/swig/Config.in.host" + source "package/swugenerator/Config.in.host" source "package/systemd/Config.in.host" source "package/tegrarcm/Config.in.host" source "package/ti-cgt-pru/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index 43d214bcbe6..3e276d23d65 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -17,7 +17,9 @@ else PARALLEL_JOBS := $(BR2_JLEVEL) endif -MAKE1 := $(HOSTMAKE) -j1 +# Only build one job at a time, *and* to not randomise goals and +# prerequisites ordering in make 4.4+ +MAKE1 := $(HOSTMAKE) -j1 $(if $(findstring --shuffle,$(MAKEFLAGS)),--shuffle=none) override MAKE = $(HOSTMAKE) \ $(if $(findstring j,$(filter-out --%,$(MAKEFLAGS))),,-j$(PARALLEL_JOBS)) @@ -76,7 +78,7 @@ endif endif # For FSL PowerPC there's SPE -ifeq ($(BR2_powerpc_SPE),y) +ifeq ($(BR2_POWERPC_CPU_HAS_SPE),y) ABI = spe # MPC8540s are e500v1 with single precision FP ifeq ($(BR2_powerpc_8540),y) @@ -160,9 +162,14 @@ ifeq ($(BR2_FORTIFY_SOURCE_1),y) TARGET_HARDENED += -D_FORTIFY_SOURCE=1 else ifeq ($(BR2_FORTIFY_SOURCE_2),y) TARGET_HARDENED += -D_FORTIFY_SOURCE=2 +else ifeq ($(BR2_FORTIFY_SOURCE_3),y) +TARGET_HARDENED += -D_FORTIFY_SOURCE=3 endif TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +ifeq ($(BR2_TIME_BITS_64),y) +TARGET_CPPFLAGS += -D_TIME_BITS=64 +endif TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_HARDENED) TARGET_CXXFLAGS = $(TARGET_CFLAGS) TARGET_FCFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) @@ -256,7 +263,9 @@ export PERL=$(shell which perl) # finds this perl module by exporting the proper value for PERL5LIB. export PERL5LIB=$(HOST_DIR)/lib/perl -TARGET_MAKE_ENV = PATH=$(BR_PATH) +TARGET_MAKE_ENV = \ + GIT_DIR=. \ + PATH=$(BR_PATH) TARGET_CONFIGURE_OPTS = \ $(TARGET_MAKE_ENV) \ @@ -300,6 +309,7 @@ TARGET_CONFIGURE_OPTS = \ HOST_MAKE_ENV = \ + GIT_DIR=. \ PATH=$(BR_PATH) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ PKG_CONFIG_SYSROOT_DIR="/" \ @@ -424,9 +434,8 @@ else ifeq ($(BR2_SHARED_STATIC_LIBS),y) SHARED_STATIC_LIBS_OPTS = --enable-static --enable-shared endif -ifeq ($(BR2_COMPILER_PARANOID_UNSAFE_PATH),y) +# Used by our binutils patches. export BR_COMPILER_PARANOID_UNSAFE_PATH=enabled -endif include package/pkg-download.mk include package/pkg-autotools.mk diff --git a/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch b/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch deleted file mode 100644 index ad82c101723..00000000000 --- a/package/ace/0001-ACE-ace-SSL-SSL_Asynch_BIO.cpp-fix-build-with-libres.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e06cadc3b95a577e6a8bbc94f93dd063710c73a1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 3 Apr 2022 15:25:49 +0200 -Subject: [PATCH] ACE/ace/SSL/SSL_Asynch_BIO.cpp: fix build with libressl - -Fix the following build failure with libressl: - -/home/autobuild/autobuild/instance-10/output-1/build/ace-7.0.6/ace/SSL/SSL_Asynch_BIO.cpp:174:7: error: 'BIO_get_init' was not declared in this scope; did you mean 'BIO_set_init'? - 174 | if (BIO_get_init(pBIO) == 0 || p_stream == 0 || buf == 0 || len <= 0) - | ^~~~~~~~~~~~ - | BIO_set_init - -Fixes: - - http://autobuild.buildroot.org/results/386afa88ac9e5e3bb65dddeabf610bb1e9bc4285 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/DOCGroup/ACE_TAO/commit/e06cadc3b95a577e6a8bbc94f93dd063710c73a1] ---- - ACE/ace/SSL/SSL_Asynch_BIO.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/ace/SSL/SSL_Asynch_BIO.cpp b/ace/SSL/SSL_Asynch_BIO.cpp -index a657d8a14e6f7..64aa14c6ab9a7 100644 ---- a/ace/SSL/SSL_Asynch_BIO.cpp -+++ b/ace/SSL/SSL_Asynch_BIO.cpp -@@ -41,7 +41,7 @@ extern "C" - - #define BIO_TYPE_ACE ( 21 | BIO_TYPE_SOURCE_SINK ) - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - static BIO_METHOD methods_ACE = - { - BIO_TYPE_ACE, // BIO_TYPE_PROXY_SERVER, -@@ -68,14 +68,14 @@ static BIO_METHOD methods_ACE = - #else - static BIO_METHOD* methods_ACE; - # define BIO_set_num(b, val) --#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ -+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */ - - ACE_BEGIN_VERSIONED_NAMESPACE_DECL - - BIO * - ACE_SSL_make_BIO (void * ssl_asynch_stream) - { --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - BIO * const pBIO = BIO_new (&methods_ACE); - #else - if (!methods_ACE) diff --git a/package/ace/Config.in b/package/ace/Config.in index 5000f2352f7..cf3819284bc 100644 --- a/package/ace/Config.in +++ b/package/ace/Config.in @@ -3,14 +3,14 @@ config BR2_PACKAGE_ACE depends on BR2_TOOLCHAIN_USES_GLIBC depends on !BR2_STATIC_LIBS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 help The ADAPTIVE Communication Environment (ACE(TM)) An OO Network Programming Toolkit in C++. http://www.dre.vanderbilt.edu/~schmidt/ACE.html -comment "ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.8" +comment "ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.9" depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \ !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/ace/ace.hash b/package/ace/ace.hash index 23879278797..0c5ed12c97e 100644 --- a/package/ace/ace.hash +++ b/package/ace/ace.hash @@ -1,6 +1,6 @@ -# From https://download.dre.vanderbilt.edu/previous_versions/ACE-7.0.6.tar.bz2.md5: -md5 d1656851619aff15365270ccf2d56c6e ACE-7.0.6.tar.bz2 +# From https://download.dre.vanderbilt.edu/previous_versions/ACE-7.1.1.tar.bz2.md5: +md5 6c86ec6c7879703783b9749d5409a67f ACE-7.1.1.tar.bz2 # Locally Computed: -sha256 4a0cd7da4851f769fddfcf33f663eba4afad824efeff9f59f134c4640ee80216 ACE-7.0.6.tar.bz2 +sha256 fe5fdeab1dddf4fdd99f73c59420886cf61ca2ce92adf2cc6b612b752986df62 ACE-7.1.1.tar.bz2 sha256 687bf9d16119e0caf6fb5c18214928fd6ea0da10df91e906255b7613af8061d8 COPYING diff --git a/package/ace/ace.mk b/package/ace/ace.mk index 29555eea743..1f795086292 100644 --- a/package/ace/ace.mk +++ b/package/ace/ace.mk @@ -4,7 +4,7 @@ # ################################################################################ -ACE_VERSION = 7.0.6 +ACE_VERSION = 7.1.1 ACE_SOURCE = ACE-$(ACE_VERSION).tar.bz2 ACE_SITE = http://download.dre.vanderbilt.edu/previous_versions ACE_LICENSE = DOC @@ -17,7 +17,7 @@ ACE_CPE_ID_PRODUCT = adaptive_communication_environment # Only compiling ACE libraries (no TAO) ACE_LIBRARIES = ace ACEXML Kokyu netsvcs protocols/ace -ACE_CPPFLAGS = $(TARGET_CPPFLAGS) -std=c++11 +ACE_CPPFLAGS = $(TARGET_CPPFLAGS) -std=c++14 ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y) ACE_CPPFLAGS += -O0 diff --git a/package/acl/Config.in b/package/acl/Config.in index 92f2251878c..056a31baa8a 100644 --- a/package/acl/Config.in +++ b/package/acl/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_ACL directories. This package also provides libacl. - http://savannah.nongnu.org/projects/acl + https://savannah.nongnu.org/projects/acl diff --git a/package/acl/acl.hash b/package/acl/acl.hash index 32e904baf35..a6094fb985c 100644 --- a/package/acl/acl.hash +++ b/package/acl/acl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 c0234042e17f11306c23c038b08e5e070edb7be44bef6697fb8734dcff1c66b1 acl-2.3.1.tar.xz +sha256 97203a72cae99ab89a067fe2210c1cbf052bc492b479eca7d226d9830883b0bd acl-2.3.2.tar.xz # Locally calculated sha256 a45a845012742796534f7e91fe623262ccfb99460a2bd04015bd28d66fba95b8 doc/COPYING diff --git a/package/acl/acl.mk b/package/acl/acl.mk index c898421dc58..6ae0581ef5d 100644 --- a/package/acl/acl.mk +++ b/package/acl/acl.mk @@ -4,12 +4,12 @@ # ################################################################################ -ACL_VERSION = 2.3.1 +ACL_VERSION = 2.3.2 ACL_SOURCE = acl-$(ACL_VERSION).tar.xz -ACL_SITE = http://download.savannah.gnu.org/releases/acl +ACL_SITE = https://download.savannah.nongnu.org/releases/acl ACL_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL -ACL_CPE_ID_VENDOR = acl_project +ACL_CPE_ID_VALID = YES ACL_DEPENDENCIES = attr HOST_ACL_DEPENDENCIES = host-attr diff --git a/package/acpica/0001-build-do-not-use-Werror.patch b/package/acpica/0001-build-do-not-use-Werror.patch deleted file mode 100644 index f905e552bd2..00000000000 --- a/package/acpica/0001-build-do-not-use-Werror.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 9382ae2431d2962c430e7149302c8690f5bc159c Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 10 Jul 2016 15:06:15 +0200 -Subject: [PATCH] build: do not use -Werror - -Warnings come and go with various compiler versions, so using -Werror is -prone to cause build failures with various compiler versions, especially -newer versions that introduce new warnings. - -Remove use of -Werror. - -[Vincent: tweak patch for 20170531 release] -[Bernd: tweak patch for 20191018 release] - -Signed-off-by: "Yann E. MORIN" -Signed-off-by: "Vicente Olivert Riera" -Signed-off-by: Bernd Kuhls ---- - generate/unix/Makefile.config | 1 - - generate/unix/iasl/Makefile | 16 ++++++++-------- - 2 files changed, 8 insertions(+), 9 deletions(-) - -diff --git a/generate/unix/Makefile.config b/generate/unix/Makefile.config -index c28e8a9b1..7064bed97 100644 ---- a/generate/unix/Makefile.config -+++ b/generate/unix/Makefile.config -@@ -204,7 +204,6 @@ CWARNINGFLAGS = \ - -Wall\ - -Wbad-function-cast\ - -Wdeclaration-after-statement\ -- -Werror\ - -Wformat=2\ - -Wmissing-declarations\ - -Wmissing-prototypes\ -diff --git a/generate/unix/iasl/Makefile b/generate/unix/iasl/Makefile -index 47ea73cab..2c756af79 100644 ---- a/generate/unix/iasl/Makefile -+++ b/generate/unix/iasl/Makefile -@@ -360,32 +360,32 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparse - # - $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/dtcompilerparserlex.o : $(OBJDIR)/dtcompilerparserlex.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/dtcompilerparserparse.o : $(OBJDIR)/dtcompilerparserparse.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< - - $(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c - @echo "- " "Intermediate" $< -- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $< -+ @$(CC) -c $(CFLAGS) -Wall -o$@ $< --- -2.20.1 - diff --git a/package/acpica/Config.in b/package/acpica/Config.in index c5ffb005f55..ec5865c3573 100644 --- a/package/acpica/Config.in +++ b/package/acpica/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_ACPICA bool "acpica" + depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS help The ACPI Component Architecture (ACPICA) project provides an @@ -9,5 +10,5 @@ config BR2_PACKAGE_ACPICA https://www.acpica.org -comment "acpica needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "acpica needs a toolchain w/ threads, wchar" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/acpica/acpica.hash b/package/acpica/acpica.hash index 564e393cb4b..dd9f8a1d22b 100644 --- a/package/acpica/acpica.hash +++ b/package/acpica/acpica.hash @@ -1,3 +1,5 @@ +# From: https://www.intel.com/content/www/us/en/download/776303/acpi-component-architecture-downloads-unix-format-source-code-and-build-environment-with-an-intel-license.html +sha1 3b893fb771cf3fbd3531de3036e1a5bfc624c9d2 acpica-unix-20230628.tar.gz # locally computed hash -sha256 1ccda5c6a08a90b145777df635eb09f995b3472b3128f375009c5a6b01a04c7a acpica-unix2-20220331.tar.gz -sha256 40d8e351f8dfdf5340ec76ac28f0c201b825077d7060bb3686ca1112cb26985d source/include/acpi.h +sha256 86876a745e3d224dcfd222ed3de465b47559e85811df2db9820ef09a9dff5cce acpica-unix-20230628.tar.gz +sha256 905d6f191f3c29aa673602d9c66eb8df00f7e1b35064a081e0de81284ff17ee6 source/include/acpi.h diff --git a/package/acpica/acpica.mk b/package/acpica/acpica.mk index 9901c1ed489..bbabd9de69a 100644 --- a/package/acpica/acpica.mk +++ b/package/acpica/acpica.mk @@ -4,9 +4,9 @@ # ################################################################################ -ACPICA_VERSION = 20220331 -ACPICA_SOURCE = acpica-unix2-$(ACPICA_VERSION).tar.gz -ACPICA_SITE = https://acpica.org/sites/acpica/files +ACPICA_VERSION = 20230628 +ACPICA_SOURCE = acpica-unix-$(ACPICA_VERSION).tar.gz +ACPICA_SITE = https://downloadmirror.intel.com/783534 ACPICA_LICENSE = BSD-3-Clause or GPL-2.0 ACPICA_LICENSE_FILES = source/include/acpi.h ACPICA_DEPENDENCIES = host-bison host-flex @@ -14,18 +14,20 @@ HOST_ACPICA_DEPENDENCIES = host-bison host-flex define ACPICA_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - HARDWARE_NAME=$(BR2_ARCH) HOST=_LINUX CC="$(TARGET_CC)" \ + ACPI_HOST=_LINUX CC="$(TARGET_CC)" \ + NOWERROR=TRUE \ all endef define HOST_ACPICA_BUILD_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + NOWERROR=TRUE \ all endef define ACPICA_INSTALL_TARGET_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - HARDWARE_NAME=$(BR2_ARCH) DESTDIR="$(TARGET_DIR)" \ + DESTDIR="$(TARGET_DIR)" \ INSTALLFLAGS=-m755 install endef diff --git a/package/acsccid/acsccid.hash b/package/acsccid/acsccid.hash index f43a7930a4a..5310d78144a 100644 --- a/package/acsccid/acsccid.hash +++ b/package/acsccid/acsccid.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.7/ -sha1 c0062401e5fedf3ec12c8c2d375d6e1561a8a8ed acsccid-1.1.8.tar.bz2 -md5 3eba7b2527aa0b14c73b1a620a1d72d2 acsccid-1.1.8.tar.bz2 +# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.10/ +sha1 6284a693b8edb511f2f80d9069af9b4a41fd55ae acsccid-1.1.10.tar.bz2 +md5 4d2b7f34414aed029084c96dd05a0e7d acsccid-1.1.10.tar.bz2 # Locally computed -sha256 f86fd846bc88594a569ea27040cb441d933b7eca8d51d2a90bacf161e7740051 acsccid-1.1.8.tar.bz2 +sha256 5ee112febdcac6656629025f3a85923f155f6ca150b2d24fd716f9043265528e acsccid-1.1.10.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/acsccid/acsccid.mk b/package/acsccid/acsccid.mk index db74e9cb76d..463f0f24d6c 100644 --- a/package/acsccid/acsccid.mk +++ b/package/acsccid/acsccid.mk @@ -4,7 +4,7 @@ # ################################################################################ -ACSCCID_VERSION = 1.1.8 +ACSCCID_VERSION = 1.1.10 ACSCCID_SOURCE = acsccid-$(ACSCCID_VERSION).tar.bz2 ACSCCID_SITE = http://downloads.sourceforge.net/acsccid ACSCCID_LICENSE = LGPL-2.1+ diff --git a/package/adwaita-icon-theme/adwaita-icon-theme.hash b/package/adwaita-icon-theme/adwaita-icon-theme.hash index ce6acb8d9ae..ae28a7a1529 100644 --- a/package/adwaita-icon-theme/adwaita-icon-theme.hash +++ b/package/adwaita-icon-theme/adwaita-icon-theme.hash @@ -1,4 +1,4 @@ -# From http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.22/adwaita-icon-theme-3.22.0.sha256sum +# From https://download.gnome.org/sources/adwaita-icon-theme/3.27/adwaita-icon-theme-3.27.2.sha256sum sha256 a594e7440971f860cc61b1b8291be15ffc1b8dd06a9f11485a5a7faf189bcf6b adwaita-icon-theme-3.37.2.tar.xz # locally computed sha256 51f83b2b4e9ed2beebc9b8eed2ecad29314a58ed8c5184b22ad8f9df703d3ce5 COPYING diff --git a/package/adwaita-icon-theme/adwaita-icon-theme.mk b/package/adwaita-icon-theme/adwaita-icon-theme.mk index 3950cfa6364..6b71c41d522 100644 --- a/package/adwaita-icon-theme/adwaita-icon-theme.mk +++ b/package/adwaita-icon-theme/adwaita-icon-theme.mk @@ -6,7 +6,7 @@ ADWAITA_ICON_THEME_VERSION_MAJOR = 3.37 ADWAITA_ICON_THEME_VERSION = $(ADWAITA_ICON_THEME_VERSION_MAJOR).2 -ADWAITA_ICON_THEME_SITE = http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/$(ADWAITA_ICON_THEME_VERSION_MAJOR) +ADWAITA_ICON_THEME_SITE = https://download.gnome.org/sources/adwaita-icon-theme/$(ADWAITA_ICON_THEME_VERSION_MAJOR) ADWAITA_ICON_THEME_SOURCE = adwaita-icon-theme-$(ADWAITA_ICON_THEME_VERSION).tar.xz ADWAITA_ICON_THEME_INSTALL_STAGING = YES ADWAITA_ICON_THEME_LICENSE = LGPL-3.0 or CC-BY-SA-3.0 diff --git a/package/aespipe/aespipe.hash b/package/aespipe/aespipe.hash index f7491278e0e..4fe7d0753ba 100644 --- a/package/aespipe/aespipe.hash +++ b/package/aespipe/aespipe.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/loop-aes/files/aespipe/v2.4f/ -sha1 2c23e1a6be298cf4f173f06b1123e4ecd5e9a202 aespipe-v2.4f.tar.bz2 -md5 ed05c62c1954110f009bedda4bc1562f aespipe-v2.4f.tar.bz2 +# From https://sourceforge.net/projects/loop-aes/files/aespipe/v2.4g/ +sha1 fb6b0108176d653f0e5b3be2385b132be791d800 aespipe-v2.4g.tar.bz2 +md5 c216c6c9e939fac69f859af0ad2fd8ef aespipe-v2.4g.tar.bz2 # Locally computed: -sha256 b135e1659f58dc9be5e3c88923cd03d2a936096ab8cd7f2b3af4cb7a844cef96 aespipe-v2.4f.tar.bz2 +sha256 bfb97e7de161e8d7ce113b163bda1d1a8ec77d2c1afab56dcc8153d7a90187fc aespipe-v2.4g.tar.bz2 diff --git a/package/aespipe/aespipe.mk b/package/aespipe/aespipe.mk index fd4f776dda9..4769536d2f9 100644 --- a/package/aespipe/aespipe.mk +++ b/package/aespipe/aespipe.mk @@ -4,7 +4,7 @@ # ################################################################################ -AESPIPE_VERSION = 2.4f +AESPIPE_VERSION = 2.4g AESPIPE_SOURCE = aespipe-v$(AESPIPE_VERSION).tar.bz2 AESPIPE_SITE = http://loop-aes.sourceforge.net/aespipe AESPIPE_LICENSE = GPL diff --git a/package/agentpp/0001-Snmpx-fix-const-nonconst-type-mismatch.patch b/package/agentpp/0001-Snmpx-fix-const-nonconst-type-mismatch.patch new file mode 100644 index 00000000000..07981eff3e8 --- /dev/null +++ b/package/agentpp/0001-Snmpx-fix-const-nonconst-type-mismatch.patch @@ -0,0 +1,51 @@ +From 7e541e6dba8d4976bbb490838a09b569f38b047d Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Mon, 26 Jun 2023 17:45:00 +0200 +Subject: [PATCH] Snmpx: fix const/nonconst type mismatch + +Fixes build failure: + + snmp_pp_ext.cpp:1176:28: error: binding reference of type 'Snmp_pp::Pdu&' to 'const Snmp_pp::Pdu' discards qualifiers + 1176 | status = snmpmsg.load( pdu, community, version); + | ^~~ + +Fixes: + http://autobuild.buildroot.net/results/e8abd6bdc62a028955915706b03d72239786c703/ + http://autobuild.buildroot.net/results/24441fb679fbf5f913c9b6431c98aec596ead587/ + +Signed-off-by: Luca Ceresoli +Upstream: sent to katz.agentpp.com@magenta.de and support@agentpp.com +--- + include/agent_pp/snmp_pp_ext.h | 2 +- + src/snmp_pp_ext.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/agent_pp/snmp_pp_ext.h b/include/agent_pp/snmp_pp_ext.h +index 7c5a6783ee70..d8a46060db98 100644 +--- a/include/agent_pp/snmp_pp_ext.h ++++ b/include/agent_pp/snmp_pp_ext.h +@@ -807,7 +807,7 @@ public: + * SNMP_CLASS_SUCCESS on success and SNMP_CLASS_ERROR, + * SNMP_CLASS_TL_FAILED on failure. + */ +- int send (Pdux const &, NS_SNMP UdpAddress const &, NS_SNMP snmp_version, NS_SNMP OctetStr const &); ++ int send (Pdux &, NS_SNMP UdpAddress const &, NS_SNMP snmp_version, NS_SNMP OctetStr const &); + #endif + + /** +diff --git a/src/snmp_pp_ext.cpp b/src/snmp_pp_ext.cpp +index 54a29ec8ea28..b61cbf056246 100644 +--- a/src/snmp_pp_ext.cpp ++++ b/src/snmp_pp_ext.cpp +@@ -1203,7 +1203,7 @@ int Snmpx::send (Pdux &pdu, SnmpTarget* target) + + #else // _SNMPv3 is not defined + +-int Snmpx::send (Pdux const &pdu, ++int Snmpx::send (Pdux &pdu, + UdpAddress const &udp_address, + snmp_version version, + OctetStr const &community) +-- +2.34.1 + diff --git a/package/agentpp/agentpp.hash b/package/agentpp/agentpp.hash index 99aae702636..527414eed54 100644 --- a/package/agentpp/agentpp.hash +++ b/package/agentpp/agentpp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5f2cfe98fd1d50683e02c65fccd9423351254df427e5825e4f321c488a9234eb agent++-4.5.4.tar.gz +sha256 e09dc2d40277d468c18f1539ad18f43e0c3a95b10fad8a02184e9ace8bac0d67 agent++-4.6.0.tar.gz sha256 1eb85fc97224598dad1852b5d6483bbcf0aa8608790dcc657a5a2a761ae9c8c6 LICENSE-2_0.txt diff --git a/package/agentpp/agentpp.mk b/package/agentpp/agentpp.mk index d020228e44b..7616d3eb0c4 100644 --- a/package/agentpp/agentpp.mk +++ b/package/agentpp/agentpp.mk @@ -4,13 +4,14 @@ # ################################################################################ -AGENTPP_VERSION = 4.5.4 +AGENTPP_VERSION = 4.6.0 AGENTPP_SOURCE = agent++-$(AGENTPP_VERSION).tar.gz AGENTPP_SITE = http://www.agentpp.com/download AGENTPP_LICENSE = Apache-2.0 AGENTPP_LICENSE_FILES = LICENSE-2_0.txt AGENTPP_INSTALL_STAGING = YES AGENTPP_DEPENDENCIES = host-pkgconf snmppp +AGENTPP_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" AGENTPP_CONF_OPTS += \ --disable-proxy \ --disable-forwarder \ diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index 898cbcd60df..830643dea80 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347 alsa-lib-1.2.8.tar.bz2 +sha256 9f3f2f69b995f9ad37359072fbc69a3a88bfba081fc83e9be30e14662795bb4d alsa-lib-1.2.11.tar.bz2 sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk index a0a9617514c..246761d4e6b 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.2.8 +ALSA_LIB_VERSION = 1.2.11 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = https://www.alsa-project.org/files/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) diff --git a/package/alsa-plugins/alsa-plugins.mk b/package/alsa-plugins/alsa-plugins.mk index 5728ebfe37b..d23a81c5eed 100644 --- a/package/alsa-plugins/alsa-plugins.mk +++ b/package/alsa-plugins/alsa-plugins.mk @@ -20,6 +20,10 @@ ALSA_PLUGINS_CONF_OPTS = \ --disable-maemo-resource-manager \ --with-speex=no +ifeq ($(BR2_PACKAGE_ALSA_UTILS),y) +ALSA_PLUGINS_DEPENDENCIES += alsa-utils +endif + ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) ALSA_PLUGINS_CONF_OPTS += --enable-samplerate ALSA_PLUGINS_DEPENDENCIES += libsamplerate diff --git a/package/alsa-utils/0001-alsactl-info.c-fix-conditionals-on-__ALSA_PCM_H-and-.patch b/package/alsa-utils/0001-alsactl-info.c-fix-conditionals-on-__ALSA_PCM_H-and-.patch index 97c4729bf9b..145c9da0171 100644 --- a/package/alsa-utils/0001-alsactl-info.c-fix-conditionals-on-__ALSA_PCM_H-and-.patch +++ b/package/alsa-utils/0001-alsactl-info.c-fix-conditionals-on-__ALSA_PCM_H-and-.patch @@ -28,6 +28,8 @@ functions when support is not available. Signed-off-by: Thomas Petazzoni Upstream: https://mailman.alsa-project.org/pipermail/alsa-devel/2022-July/203846.html +[Bernd: update patch for 1.2.10] +Signed-off-by: Bernd Kuhls --- alsactl/info.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) @@ -96,9 +98,9 @@ index 253539d..9bd72af 100644 +#ifdef __ALSA_RAWMIDI_H first = true; if (err >= 0) - err = rawmidi_device_list(ctl, SND_PCM_STREAM_PLAYBACK, &first); + err = rawmidi_device_list(ctl, SND_RAWMIDI_STREAM_INPUT, &first); if (err >= 0) - err = rawmidi_device_list(ctl, SND_PCM_STREAM_CAPTURE, &first); + err = rawmidi_device_list(ctl, SND_RAWMIDI_STREAM_OUTPUT, &first); +#endif if (err >= 0) diff --git a/package/alsa-utils/alsa-utils.hash b/package/alsa-utils/alsa-utils.hash index 66c04d261f5..bf98f578cd2 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e140fa604c351f36bd72167c8860c69d81b964ae6ab53992d6434dde38e9333c alsa-utils-1.2.8.tar.bz2 +sha256 9ac6ca3a883f151e568dcf979b8d2e5cbecc51b819bb0e6bb8a2e9b34cc428a7 alsa-utils-1.2.11.tar.bz2 sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index 8c43f58b76f..3ece7ddca43 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,11 +4,13 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.2.8 +ALSA_UTILS_VERSION = 1.2.11 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 ALSA_UTILS_SITE = https://www.alsa-project.org/files/pub/utils ALSA_UTILS_LICENSE = GPL-2.0 ALSA_UTILS_LICENSE_FILES = COPYING +# 0011-configure.ac-fix-UMP-support-detection.patch +ALSA_UTILS_AUTORECONF = YES ALSA_UTILS_INSTALL_STAGING = YES ALSA_UTILS_DEPENDENCIES = host-pkgconf alsa-lib \ $(if $(BR2_PACKAGE_NCURSES),ncurses) \ diff --git a/package/am33x-cm3/am33x-cm3.mk b/package/am33x-cm3/am33x-cm3.mk index 629a83238c7..d5ace7bb0e9 100644 --- a/package/am33x-cm3/am33x-cm3.mk +++ b/package/am33x-cm3/am33x-cm3.mk @@ -6,7 +6,7 @@ # This should correpsond to v05.00.00.02 AM33X_CM3_VERSION = 11107db2f1e9e58ee75d4fe9cc38423c9a6e4365 -AM33X_CM3_SITE = http://arago-project.org/git/projects/am33x-cm3.git +AM33X_CM3_SITE = https://github.com/RobertCNelson/am33x-cm3 AM33X_CM3_SITE_METHOD = git AM33X_CM3_LICENSE = TI Publicly Available Software License AM33X_CM3_LICENSE_FILES = License.txt diff --git a/package/amlogic-boot-fip/Config.in.host b/package/amlogic-boot-fip/Config.in.host new file mode 100644 index 00000000000..bccc6296d11 --- /dev/null +++ b/package/amlogic-boot-fip/Config.in.host @@ -0,0 +1,17 @@ +config BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP + bool "host amlogic-boot-fip" + depends on BR2_HOSTARCH = "x86_64" + help + Firmware Image Package (FIP) sources used to sign Amlogic + u-boot binaries in LibreELEC images + + https://github.com/LibreELEC/amlogic-boot-fip + +config BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE + string "fip device" + default "khadas-vim3" + depends on BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP + help + Device for which you want to use this package. + See the list of supported SoCs: + https://github.com/LibreELEC/amlogic-boot-fip diff --git a/package/amlogic-boot-fip/amlogic-boot-fip.hash b/package/amlogic-boot-fip/amlogic-boot-fip.hash new file mode 100644 index 00000000000..1a08341532e --- /dev/null +++ b/package/amlogic-boot-fip/amlogic-boot-fip.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 2cc06bc7d5647fd8c0025181fa42c4a8ef0ed16b918a1fa2060ea83c22e47b20 amlogic-boot-fip-e96b6a694380ff07d5a9e4be644ffe254bd18512.tar.gz +sha256 4255537f71b1cd0d487de0fa2b8eddf1eb96ed96d119507336dde8b3782b86e6 LICENSE diff --git a/package/amlogic-boot-fip/amlogic-boot-fip.mk b/package/amlogic-boot-fip/amlogic-boot-fip.mk new file mode 100644 index 00000000000..f98887cfcdd --- /dev/null +++ b/package/amlogic-boot-fip/amlogic-boot-fip.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# amlogic-boot-fip +# +################################################################################ + +AMLOGIC_BOOT_FIP_VERSION = e96b6a694380ff07d5a9e4be644ffe254bd18512 +AMLOGIC_BOOT_FIP_SITE = $(call github,LibreELEC,amlogic-boot-fip,$(AMLOGIC_BOOT_FIP_VERSION)) +AMLOGIC_BOOT_FIP_LICENSE = PROPRIETARY +AMLOGIC_BOOT_FIP_LICENSE_FILES = LICENSE +AMLOGIC_BOOT_FIP_REDISTRIBUTE = NO + +AMLOGIC_BOOT_FIP_INSTALL_DIR = $(BINARIES_DIR)/amlogic-boot-fip + +AMLOGIC_BOOT_FIP_DEVICE = $(call qstrip,$(BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE)) + +AMLOGIC_BOOT_FIP_FILES_TO_INSTALL = build-fip.sh axg.inc g12a.inc gxbb.inc gxl.inc + +define HOST_AMLOGIC_BOOT_FIP_INSTALL_CMDS + mkdir -p $(AMLOGIC_BOOT_FIP_INSTALL_DIR)/$(AMLOGIC_BOOT_FIP_DEVICE) + $(foreach f,$(AMLOGIC_BOOT_FIP_FILES_TO_INSTALL),\ + $(INSTALL) -D -m 0755 $(@D)/$(f) $(AMLOGIC_BOOT_FIP_INSTALL_DIR)/$(f) + ) + cp -rf $(@D)/$(AMLOGIC_BOOT_FIP_DEVICE) $(AMLOGIC_BOOT_FIP_INSTALL_DIR) +endef + +# check for empty device string when we're building +ifeq ($(BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP)$(BR_BUILDING),yy) +ifeq ($(call qstrip,$(BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE)),) +$(error No device specified for amlogic-boot-fip, please check your BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP_DEVICE setting) +endif +endif + +$(eval $(host-generic-package)) diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 2c21a5bab8b..84248761b97 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,5 +1,5 @@ -# From https://downloads.apache.org/httpd/httpd-2.4.54.tar.bz2.{sha256,sha512} -sha256 eb397feeefccaf254f8d45de3768d9d68e8e73851c49afd5b7176d1ecf80c340 httpd-2.4.54.tar.bz2 -sha512 228493b2ff32c4142c6e484d304f2ea12e467498605fe12adce2b61388d8efe7b2e96ae2fd0abd1dc88a5f12d625e007d8da0ae5628cff2a5272806754f41e18 httpd-2.4.54.tar.bz2 +# From https://downloads.apache.org/httpd/httpd-2.4.59.tar.bz2.{sha256,sha512} +sha256 ec51501ec480284ff52f637258135d333230a7d229c3afa6f6c2f9040e321323 httpd-2.4.59.tar.bz2 +sha512 209da0bbac5e2564d4590302515b35495be6402273ff4024aa93e85e44554c95e053201d606383936425a41e1b5b97e6b40055dcbb385eb691a5029a6f3158c2 httpd-2.4.59.tar.bz2 # Locally computed sha256 47b8c2b6c3309282a99d4a3001575c790fead690cc14734628c4667d2bbffc43 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index 315282baace..1b095c5eb10 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,9 +4,9 @@ # ################################################################################ -APACHE_VERSION = 2.4.54 +APACHE_VERSION = 2.4.59 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 -APACHE_SITE = https://downloads.apache.org/httpd +APACHE_SITE = https://dlcdn.apache.org/httpd APACHE_LICENSE = Apache-2.0 APACHE_LICENSE_FILES = LICENSE APACHE_CPE_ID_VENDOR = apache @@ -17,7 +17,7 @@ APACHE_INSTALL_STAGING = YES # We have a patch touching configure.in and Makefile.in, # so we need to autoreconf: APACHE_AUTORECONF = YES -APACHE_DEPENDENCIES = apr apr-util pcre2 +APACHE_DEPENDENCIES = host-pkgconf apr apr-util pcre2 APACHE_CONF_ENV= \ ap_cv_void_ptr_lt_long=no \ diff --git a/package/apcupsd/apcupsd.mk b/package/apcupsd/apcupsd.mk index 80ed0b08327..43a016678d1 100644 --- a/package/apcupsd/apcupsd.mk +++ b/package/apcupsd/apcupsd.mk @@ -11,6 +11,7 @@ APCUPSD_LICENSE_FILES = COPYING APCUPSD_CPE_ID_VENDOR = apcupsd APCUPSD_SELINUX_MODULES = apache apcupsd APCUPSD_CONF_OPTS = --disable-test +APCUPSD_CONF_ENV = ac_cv_path_SHUTDOWN=/sbin/shutdown ifneq ($(BR2_PACKAGE_APCUPSD_MODBUS_USB)$(BR2_PACKAGE_APCUPSD_USB),) APCUPSD_CONF_ENV += ac_cv_path_usbcfg=$(STAGING_DIR)/usr/bin/libusb-config @@ -71,8 +72,8 @@ APCUPSD_CONF_OPTS += --disable-usb endif define APCUPSD_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/platforms + $(TARGET_MAKE_ENV) $(MAKE) LD="$(TARGET_CXX)" -C $(@D)/src + $(TARGET_MAKE_ENV) $(MAKE) LD="$(TARGET_CXX)" -C $(@D)/platforms endef define APCUPSD_INSTALL_TARGET_CMDS diff --git a/package/apparmor/apparmor.hash b/package/apparmor/apparmor.hash index 497491b6c9d..22037e3e116 100644 --- a/package/apparmor/apparmor.hash +++ b/package/apparmor/apparmor.hash @@ -1,5 +1,5 @@ -# From: https://gitlab.com/apparmor/apparmor/-/wikis/home#userspace -sha256 09bf48d7a171f9790c39a1404bad105a788934cfe77b7490c7f5c63c2576b725 apparmor-3.0.4.tar.gz +# From https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_3.1.2 +sha256 7cbd0b2f6393abf57acaf25dc2b32b2ae197c0b5b0d661e14be46127df93a5eb apparmor-3.1.2.tar.gz # locally computed sha256 a7e0cdcbea5c14927cedfc600d46526bdcbb1eb0a4d951e2ea53c2a6de159cb4 LICENSE diff --git a/package/apparmor/apparmor.mk b/package/apparmor/apparmor.mk index 76c9f2cafe2..eeedd805e6a 100644 --- a/package/apparmor/apparmor.mk +++ b/package/apparmor/apparmor.mk @@ -5,8 +5,8 @@ ################################################################################ # When updating the version here, please also update the libapparmor package -APPARMOR_VERSION_MAJOR = 3.0 -APPARMOR_VERSION = $(APPARMOR_VERSION_MAJOR).4 +APPARMOR_VERSION_MAJOR = 3.1 +APPARMOR_VERSION = $(APPARMOR_VERSION_MAJOR).2 APPARMOR_SITE = https://launchpad.net/apparmor/$(APPARMOR_VERSION_MAJOR)/$(APPARMOR_VERSION)/+download APPARMOR_DL_SUBDIR = libapparmor APPARMOR_LICENSE = GPL-2.0 diff --git a/package/apr-util/apr-util.hash b/package/apr-util/apr-util.hash index 59ef5901090..7e2793cd77c 100644 --- a/package/apr-util/apr-util.hash +++ b/package/apr-util/apr-util.hash @@ -1,4 +1,4 @@ -# From http://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2.sha256 -sha256 d3e12f7b6ad12687572a3a39475545a072608f4ba03a6ce8a3778f607dd0035b apr-util-1.6.1.tar.bz2 +# From http://www.apache.org/dist/apr/apr-util-1.6.3.tar.bz2.sha256 +sha256 a41076e3710746326c3945042994ad9a4fcac0ce0277dd8fea076fec3c9772b5 apr-util-1.6.3.tar.bz2 # Locally calculated sha256 ef5609d18601645ad6fe22c6c122094be40e976725c1d0490778abacc836e7a2 LICENSE diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index fb0735f5e73..477db1c5932 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -4,7 +4,7 @@ # ################################################################################ -APR_UTIL_VERSION = 1.6.1 +APR_UTIL_VERSION = 1.6.3 APR_UTIL_SOURCE = apr-util-$(APR_UTIL_VERSION).tar.bz2 APR_UTIL_SITE = https://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 @@ -35,9 +35,9 @@ else APR_UTIL_CONF_OPTS += --without-gdbm endif -ifeq ($(BR2_PACKAGE_MYSQL),y) +ifeq ($(BR2_PACKAGE_MARIADB),y) APR_UTIL_CONF_OPTS += --with-mysql="$(STAGING_DIR)/usr" -APR_UTIL_DEPENDENCIES += mysql +APR_UTIL_DEPENDENCIES += mariadb else APR_UTIL_CONF_OPTS += --without-mysql endif diff --git a/package/apr/0001-cross-compile.patch b/package/apr/0001-cross-compile.patch deleted file mode 100644 index 559ebb74ba4..00000000000 --- a/package/apr/0001-cross-compile.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix cross-compilation - -Patch was backported from Apache httpd: -http://svn.apache.org/viewvc?view=revision&revision=1327907 -http://svn.apache.org/viewvc?view=revision&revision=1328390 -http://svn.apache.org/viewvc?view=revision&revision=1328714 - -Patch submitted upstream: -https://issues.apache.org/bugzilla/show_bug.cgi?id=57058 - -Signed-off-by: Bernd Kuhls - -diff -uNr apr-1.5.1.org/configure.in apr-1.5.1/configure.in ---- apr-1.5.1.org/configure.in 2014-01-25 16:17:29.000000000 +0100 -+++ apr-1.5.1/configure.in 2014-10-05 11:20:40.080746760 +0200 -@@ -118,6 +118,16 @@ - echo "Configuring APR library" - echo "Platform: $host" - -+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless -+dnl we got already CC_FOR_BUILD from environment. -+if test "x${build_alias}" != "x${host_alias}"; then -+ if test "x${CC_FOR_BUILD}" = "x"; then -+ CC_FOR_BUILD=cc -+ fi -+fi -+AC_SUBST(CC_FOR_BUILD) -+AC_SUBST(CFLAGS_FOR_BUILD) -+ - dnl Some initial steps for configuration. We setup the default directory - dnl and which files are to be configured. - -diff -uNr apr-1.5.1.org/Makefile.in apr-1.5.1/Makefile.in ---- apr-1.5.1.org/Makefile.in 2014-03-17 16:10:26.000000000 +0100 -+++ apr-1.5.1/Makefile.in 2014-10-05 11:22:53.031070519 +0200 -@@ -8,6 +8,8 @@ - # APR (Apache Portable Runtime) library Makefile. - # - CPP = @CPP@ -+CC_FOR_BUILD = @CC_FOR_BUILD@ -+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ - - # get substituted into some targets - APR_MAJOR_VERSION=@APR_MAJOR_VERSION@ -@@ -134,8 +134,13 @@ - $(APR_MKDIR) tools - $(LT_COMPILE) - -+ifdef CC_FOR_BUILD -+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS) -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $< -+else - tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) - $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) -+endif - - include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ - $(APR_MKDIR) include/private diff --git a/package/apr/0002-sys-param-h.patch b/package/apr/0001-sys-param-h.patch similarity index 100% rename from package/apr/0002-sys-param-h.patch rename to package/apr/0001-sys-param-h.patch diff --git a/package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch b/package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch new file mode 100644 index 00000000000..f80db1cb6b3 --- /dev/null +++ b/package/apr/0002-Revert-Backport-r1872164.-Fix-the-name-of-libtool-wh.patch @@ -0,0 +1,30 @@ +From 0aa7e33372b479a26e5f04dfc4801e24573a8737 Mon Sep 17 00:00:00 2001 +From: Graham Leggett +Date: Wed, 1 Jan 2020 10:43:39 +0000 +Subject: [PATCH] Revert: Backport r1872164. Fix the name of libtool when + cross compiling. + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1872165 13f79535-47bb-0310-9956-ffa450edef68 + +[Revert upstream commit https://github.com/apache/apr/commit/f82374627b3a6500a7a6cb11e48bcac59bcbb6a1] +Signed-off-by: Peter Seiderer +--- + apr-config.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/apr-config.in b/apr-config.in +index bed47ca..4873fc0 100644 +--- a/apr-config.in ++++ b/apr-config.in +@@ -246,7 +246,7 @@ while test $# -gt 0; do + if test "$location" = "installed"; then + echo "${installbuilddir}/libtool" + elif test "$location" = "crosscompile"; then +- echo "$APR_TARGET_DIR/${installbuilddir}/libtool" ++ echo "$APR_TARGET_DIR/${installbuilddir}/build" + else + echo "$APR_BUILD_DIR/libtool" + fi +-- +2.39.2 + diff --git a/package/apr/0003-Merge-r1887279-from-trunk.patch b/package/apr/0003-Merge-r1887279-from-trunk.patch deleted file mode 100644 index 444b9d2b068..00000000000 --- a/package/apr/0003-Merge-r1887279-from-trunk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From a15958a37a06f71c42c690278f9c958b93b7ee20 Mon Sep 17 00:00:00 2001 -From: Yann Ylavic -Date: Thu, 11 Mar 2021 14:10:21 +0000 -Subject: [PATCH] Merge r1887279 from trunk: - -build/apr_common.m4: avoid explicit inclusion of "confdefs.h" - -The failure is observed on `autoconf-2.69d` (soon to be released -as `autoconf-2.70`). There `int64_t` detection fails as: - -$ autoreconf && ./configure -checking whether int64_t and int use fmt %d... no -checking whether int64_t and long use fmt %ld... no -checking whether int64_t and long long use fmt %lld... no -configure: error: could not determine the string function for int64_t -``` - -This happens because `./configure` always stumbles on warning: - -configure:3350: gcc -c -g -O2 -Werror conftest.c >&5 -In file included from conftest.c:31: -confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror] - 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 - | - -It's triggered by double inclusion of `"confdefs.h"` contents: -explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly -via `AC_LANG_SOURCE` use. - -To fix it and avoid having to define `main()` declaration the change -uses `AC_LANG_PROGRAM` instead. - -Tested on both `autoconf-2.69` and `autoconf-2.69d`. - - -Github: closes #25 -Submitted by: Sergei Trofimovich -Reviewed by: ylavic - - -git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1887485 13f79535-47bb-0310-9956-ffa450edef68 - -[Retrieved from: -https://github.com/apache/apr/commit/0a763c5e500f4304b7c534fae0fad430d64982e8] -Signed-off-by: Fabrice Fontaine ---- - build/apr_common.m4 | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/build/apr_common.m4 b/build/apr_common.m4 -index 297dd32cf75..b67a8608abe 100644 ---- a/build/apr_common.m4 -+++ b/build/apr_common.m4 -@@ -467,13 +467,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING], - CFLAGS="$CFLAGS -Werror" - fi - AC_COMPILE_IFELSE( -- [AC_LANG_SOURCE( -- [#include "confdefs.h" -- ] -- [[$1]] -- [int main(int argc, const char *const *argv) {] -+ [AC_LANG_PROGRAM( -+ [[$1]], - [[$2]] -- [ return 0; }] - )], [CFLAGS=$apr_save_CFLAGS - $3], [CFLAGS=$apr_save_CFLAGS - $4]) diff --git a/package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch b/package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch new file mode 100644 index 00000000000..ad250d44279 --- /dev/null +++ b/package/apr/0003-Revert-Add-the-ability-to-cross-compile-APR.patch @@ -0,0 +1,112 @@ +From ed1daed074fba0dabff825e63525d751b6bb7b8d Mon Sep 17 00:00:00 2001 +From: Graham Leggett +Date: Tue, 31 Dec 2019 21:26:02 +0000 +Subject: [PATCH] Revert: Add the ability to cross compile APR. + +git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1872147 13f79535-47bb-0310-9956-ffa450edef68 + +[Revert upstream commit https://github.com/apache/apr/commit/b6dbbc77da35a7b46754c99f465827f2a583e23c] +Signed-off-by: Peter Seiderer +--- + CHANGES | 2 -- + apr-config.in | 22 ---------------------- + 2 files changed, 24 deletions(-) + +diff --git a/CHANGES b/CHANGES +index 71b2f0e..e751c90 100644 +--- a/CHANGES ++++ b/CHANGES +@@ -56,8 +56,6 @@ Changes for APR 1.7.1 + *) Don't try to use PROC_PTHREAD by default when cross compiling. + [Yann Ylavic] + +- *) Add the ability to cross compile APR. [Graham Leggett] +- + *) While cross-compiling, the tools/gen_test_char could not + be executed at build time, use AX_PROG_CC_FOR_BUILD to + build native tools/gen_test_char +diff --git a/apr-config.in b/apr-config.in +index 4873fc0..84b4073 100644 +--- a/apr-config.in ++++ b/apr-config.in +@@ -48,14 +48,6 @@ APR_LIBNAME="@APR_LIBNAME@" + # NOTE: the following line is modified during 'make install': alter with care! + location=@APR_CONFIG_LOCATION@ + +-# absolute path, but not installed path - we're cross compiling +-case "$0" in +- "${bindir}/"*) ;; +- "/"*) location=crosscompile; +- APR_TARGET_DIR=${0%${bindir}/apr-${APR_MAJOR_VERSION}-config} ;; +- *) ;; +-esac +- + show_usage() + { + cat << EOF +@@ -101,8 +93,6 @@ fi + + if test "$location" = "installed"; then + LA_FILE="$libdir/lib${APR_LIBNAME}.la" +-elif test "$location" = "crosscompile"; then +- LA_FILE="$APR_TARGET_DIR/$libdir/lib${APR_LIBNAME}.la" + else + LA_FILE="$APR_BUILD_DIR/lib${APR_LIBNAME}.la" + fi +@@ -132,8 +122,6 @@ while test $# -gt 0; do + --includedir) + if test "$location" = "installed"; then + flags="$includedir" +- elif test "$location" = "crosscompile"; then +- flags="$APR_TARGET_DIR/$includedir" + elif test "$location" = "source"; then + flags="$APR_SOURCE_DIR/include" + else +@@ -166,8 +154,6 @@ while test $# -gt 0; do + --includes) + if test "$location" = "installed"; then + flags="$flags -I$includedir $EXTRA_INCLUDES" +- elif test "$location" = "crosscompile"; then +- flags="$flags -I$APR_TARGET_DIR/$includedir $EXTRA_INCLUDES" + elif test "$location" = "source"; then + flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" + else +@@ -182,8 +168,6 @@ while test $# -gt 0; do + --installbuilddir) + if test "$location" = "installed"; then + echo "${installbuilddir}" +- elif test "$location" = "crosscompile"; then +- echo "$APR_TARGET_DIR/${installbuilddir}" + elif test "$location" = "source"; then + echo "$APR_SOURCE_DIR/build" + else +@@ -200,8 +184,6 @@ while test $# -gt 0; do + if test "$location" = "installed"; then + ### avoid using -L if libdir is a "standard" location like /usr/lib + flags="$flags -L$libdir -l${APR_LIBNAME}" +- elif test "$location" = "crosscompile"; then +- flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}" + else + ### this surely can't work since the library is in .libs? + flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}" +@@ -219,8 +201,6 @@ while test $# -gt 0; do + # Since the user is specifying they are linking with libtool, we + # *know* that -R will be recognized by libtool. + flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}" +- elif test "$location" = "crosscompile"; then +- flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}" + else + flags="$flags $LA_FILE" + fi +@@ -245,8 +225,6 @@ while test $# -gt 0; do + --apr-libtool) + if test "$location" = "installed"; then + echo "${installbuilddir}/libtool" +- elif test "$location" = "crosscompile"; then +- echo "$APR_TARGET_DIR/${installbuilddir}/build" + else + echo "$APR_BUILD_DIR/libtool" + fi +-- +2.39.2 + diff --git a/package/apr/0004-apr-1.7.0-CVE-2021-35940.patch b/package/apr/0004-apr-1.7.0-CVE-2021-35940.patch deleted file mode 100644 index b065a3330a6..00000000000 --- a/package/apr/0004-apr-1.7.0-CVE-2021-35940.patch +++ /dev/null @@ -1,57 +0,0 @@ - -SECURITY: CVE-2021-35940 (cve.mitre.org) - -Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though -was addressed in 1.6.x in 1.6.3 and later via r1807976. - -The fix was merged back to 1.7.x in r1891198. - -Since this was a regression in 1.7.0, a new CVE name has been assigned -to track this, CVE-2021-35940. - -Thanks to Iveta Cesalova for reporting this issue. - -https://svn.apache.org/viewvc?view=revision&revision=1891198 - -[Retrieved from: -https://dist.apache.org/repos/dist/release/apr/patches/apr-1.7.0-CVE-2021-35940.patch] -Signed-off-by: Fabrice Fontaine - -Index: ./time/unix/time.c -=================================================================== ---- ./time/unix/time.c (revision 1891197) -+++ ./time/unix/time.c (revision 1891198) -@@ -142,6 +142,9 @@ - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - -+ if (xt->tm_mon < 0 || xt->tm_mon >= 12) -+ return APR_EBADDATE; -+ - /* shift new year to 1st March in order to make leap year calc easy */ - - if (xt->tm_mon < 2) -Index: ./time/win32/time.c -=================================================================== ---- ./time/win32/time.c (revision 1891197) -+++ ./time/win32/time.c (revision 1891198) -@@ -54,6 +54,9 @@ - static const int dayoffset[12] = - {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; - -+ if (tm->wMonth < 1 || tm->wMonth > 12) -+ return APR_EBADDATE; -+ - /* Note; the caller is responsible for filling in detailed tm_usec, - * tm_gmtoff and tm_isdst data when applicable. - */ -@@ -228,6 +231,9 @@ - static const int dayoffset[12] = - {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; - -+ if (xt->tm_mon < 0 || xt->tm_mon >= 12) -+ return APR_EBADDATE; -+ - /* shift new year to 1st March in order to make leap year calc easy */ - - if (xt->tm_mon < 2) diff --git a/package/apr/apr.hash b/package/apr/apr.hash index d7739d7ed3b..96f43d37100 100644 --- a/package/apr/apr.hash +++ b/package/apr/apr.hash @@ -1,4 +1,4 @@ -# From http://archive.apache.org/dist/apr/apr-1.7.0.tar.bz2.sha256 -sha256 e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea apr-1.7.0.tar.bz2 +# From https://archive.apache.org/dist/apr/apr-1.7.2.tar.bz2.sha256 +sha256 75e77cc86776c030c0a5c408dfbd0bf2a0b75eed5351e52d5439fa1e5509a43e apr-1.7.2.tar.bz2 # Locally calculated sha256 f854aeef66ecd55a126226e82b3f26793fc3b1c584647f6a0edc5639974c38ad LICENSE diff --git a/package/apr/apr.mk b/package/apr/apr.mk index 77217ccbb35..bdc5e915c62 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -4,7 +4,7 @@ # ################################################################################ -APR_VERSION = 1.7.0 +APR_VERSION = 1.7.2 APR_SOURCE = apr-$(APR_VERSION).tar.bz2 APR_SITE = https://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 @@ -16,8 +16,7 @@ APR_INSTALL_STAGING = YES # so we need to autoreconf: APR_AUTORECONF = YES -# 0004-apr-1.7.0-CVE-2021-35940.patch -APR_IGNORE_CVES += CVE-2021-35940 +APR_CONF_OPTS = --disable-sctp # avoid apr_hints.m4 by setting apr_preload_done=yes and set # the needed CFLAGS on our own (avoids '-D_REENTRANT' in case @@ -32,6 +31,7 @@ APR_CONF_ENV = \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ CFLAGS="$(APR_CFLAGS)" \ ac_cv_file__dev_zero=yes \ + ac_cv_mmap__dev_zero=yes \ ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \ apr_cv_mutex_robust_shared=no \ @@ -39,6 +39,7 @@ APR_CONF_ENV = \ ac_cv_sizeof_struct_iovec=8 \ ac_cv_sizeof_pid_t=4 \ ac_cv_struct_rlimit=yes \ + ac_cv_strerror_r_rc_int=no \ ac_cv_o_nonblock_inherited=no \ apr_cv_mutex_recursive=yes \ apr_cv_epoll=yes \ diff --git a/package/arm-gnu-toolchain/arm-gnu-toolchain.hash b/package/arm-gnu-toolchain/arm-gnu-toolchain.hash index dec23f7ba53..0800fa21689 100644 --- a/package/arm-gnu-toolchain/arm-gnu-toolchain.hash +++ b/package/arm-gnu-toolchain/arm-gnu-toolchain.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 97dbb4f019ad1650b732faffcc881689cedc14e2b7ee863d390e0a41ef16c9a3 gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 +# taken from https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz.sha256asc +sha256 6cd1bbc1d9ae57312bcd169ae283153a9572bd6a8e4eeae2fedfbc33b115fdbb arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz diff --git a/package/arm-gnu-toolchain/arm-gnu-toolchain.mk b/package/arm-gnu-toolchain/arm-gnu-toolchain.mk index 87e12874ea4..03bb4dc5dae 100644 --- a/package/arm-gnu-toolchain/arm-gnu-toolchain.mk +++ b/package/arm-gnu-toolchain/arm-gnu-toolchain.mk @@ -4,9 +4,9 @@ # ################################################################################ -ARM_GNU_TOOLCHAIN_VERSION = 10.3-2021.10 -ARM_GNU_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-rm/$(ARM_GNU_TOOLCHAIN_VERSION) -ARM_GNU_TOOLCHAIN_SOURCE = gcc-arm-none-eabi-$(ARM_GNU_TOOLCHAIN_VERSION)-x86_64-linux.tar.bz2 +ARM_GNU_TOOLCHAIN_VERSION = 13.2.rel1 +ARM_GNU_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu/$(ARM_GNU_TOOLCHAIN_VERSION)/binrel +ARM_GNU_TOOLCHAIN_SOURCE = arm-gnu-toolchain-$(ARM_GNU_TOOLCHAIN_VERSION)-x86_64-arm-none-eabi.tar.xz ARM_GNU_TOOLCHAIN_LICENSE = GPL-3.0+ HOST_ARM_GNU_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/gcc-arm-none-eabi diff --git a/package/arp-scan/Config.in b/package/arp-scan/Config.in index ed70b395861..cf7377d2f9b 100644 --- a/package/arp-scan/Config.in +++ b/package/arp-scan/Config.in @@ -8,3 +8,14 @@ config BR2_PACKAGE_ARP_SCAN discover and fingerprint IP hosts on the local network. https://github.com/royhills/arp-scan + +if BR2_PACKAGE_ARP_SCAN + +config BR2_PACKAGE_ARP_SCAN_DATA + bool "install data (OUI)" + default y # legacy + help + Say 'y' here (the default) to install the data along the + binaries. + +endif # BR2_PACKAGE_ARP_SCAN diff --git a/package/arp-scan/arp-scan.hash b/package/arp-scan/arp-scan.hash index b18c6ceb383..3a2977f906a 100644 --- a/package/arp-scan/arp-scan.hash +++ b/package/arp-scan/arp-scan.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b9b75ceaef6348f5951b06c773ec7a243a9e780e160eafebc369f9c27f6a7d3f arp-scan-1.9.8.tar.gz +sha256 a078fe8711ecbb8b99121c3d8be26ae7e7f339f11010ef61318be4f33394d012 arp-scan-1.10.0.tar.gz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/arp-scan/arp-scan.mk b/package/arp-scan/arp-scan.mk index 73d1b99bc7c..67eb1881dba 100644 --- a/package/arp-scan/arp-scan.mk +++ b/package/arp-scan/arp-scan.mk @@ -4,12 +4,11 @@ # ################################################################################ -ARP_SCAN_VERSION = 1.9.8 -ARP_SCAN_SITE = $(call github,royhills,arp-scan,$(ARP_SCAN_VERSION)) +ARP_SCAN_VERSION = 1.10.0 +ARP_SCAN_SITE = https://github.com/royhills/arp-scan/releases/download/$(ARP_SCAN_VERSION) ARP_SCAN_LICENSE = GPL-3.0+ ARP_SCAN_LICENSE_FILES = COPYING ARP_SCAN_DEPENDENCIES = libpcap -ARP_SCAN_AUTORECONF = YES ifeq ($(BR2_STATIC_LIBS),y) ARP_SCAN_CONF_OPTS += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" @@ -17,4 +16,15 @@ endif ARP_SCAN_CONF_ENV = pgac_cv_snprintf_long_long_int_format='%lld' +ifeq ($(BR2_PACKAGE_LIBCAP),y) +ARP_SCAN_DEPENDENCIES += libcap +ARP_SCAN_CONF_OPTS += --with-libcap +else +ARP_SCAN_CONF_OPTS += --without-libcap +endif + +ifeq ($(BR2_PACKAGE_ARP_SCAN_DATA),) +ARP_SCAN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec +endif + $(eval $(autotools-package)) diff --git a/package/asn1c/asn1c.mk b/package/asn1c/asn1c.mk index a5fb9ccf1b2..e76a9f84fdb 100644 --- a/package/asn1c/asn1c.mk +++ b/package/asn1c/asn1c.mk @@ -8,6 +8,6 @@ ASN1C_VERSION = 0.9.28 ASN1C_SITE = https://github.com/vlm/asn1c/releases/download/v$(ASN1C_VERSION) ASN1C_LICENSE = BSD-2-Clause ASN1C_LICENSE_FILES = LICENSE -ASN1C_CPE_ID_VENDOR = asn1c_project +ASN1C_CPE_ID_VALID = YES $(eval $(host-autotools-package)) diff --git a/package/assimp/Config.in b/package/assimp/Config.in index 5ffb50cd79c..4bddb3598d8 100644 --- a/package/assimp/Config.in +++ b/package/assimp/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_ASSIMP bool "assimp" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 select BR2_PACKAGE_ZLIB select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help @@ -14,8 +14,6 @@ config BR2_PACKAGE_ASSIMP http://www.assimp.org -comment "assimp needs a toolchain w/ C++, wchar" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR - -comment "assimp needs exception_ptr" - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 +comment "assimp needs a toolchain w/ C++, wchar, gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/assimp/assimp.hash b/package/assimp/assimp.hash index 86a90927edc..79415706f96 100644 --- a/package/assimp/assimp.hash +++ b/package/assimp/assimp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b5219e63ae31d895d60d98001ee5bb809fb2c7b2de1e7f78ceeb600063641e1a assimp-5.2.5.tar.gz +sha256 a07666be71afe1ad4bc008c2336b7c688aca391271188eb9108d0c6db1be53f1 assimp-5.3.1.tar.gz sha256 147874443d242b4e2bae97036e26ec9d6b37f706174c1bd5ecfcc8c1294cef51 LICENSE diff --git a/package/assimp/assimp.mk b/package/assimp/assimp.mk index 0b6034fb8e8..2765cc71718 100644 --- a/package/assimp/assimp.mk +++ b/package/assimp/assimp.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASSIMP_VERSION = 5.2.5 +ASSIMP_VERSION = 5.3.1 ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION)) ASSIMP_LICENSE = BSD-3-Clause ASSIMP_LICENSE_FILES = LICENSE diff --git a/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch b/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch deleted file mode 100644 index bee8fdbb1b4..00000000000 --- a/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 9b4070944578336506cd0a76de6f733c72d0ca74 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sat, 13 Oct 2018 11:11:15 +0200 -Subject: [PATCH] configure: fix detection of re-entrant resolver functions - -Fixes https://issues.asterisk.org/jira/browse/ASTERISK-21795 - -uClibc does not provide res_nsearch: -asterisk-16.0.0/main/dns.c:506: undefined reference to `res_nsearch' - -Patch coded by Yann E. MORIN: -http://lists.busybox.net/pipermail/buildroot/2018-October/232630.html - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index dd0c8edd13..ee1ca9ceb6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1388,7 +1388,11 @@ AC_LINK_IFELSE( - #include - #endif - #include ], -- [int foo = res_ninit(NULL);])], -+ [ -+ int foo; -+ foo = res_ninit(NULL); -+ foo = res_nsearch(NULL, NULL, 0, 0, NULL, 0); -+ ])], - AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_RES_NINIT], 1, [Define to 1 if your system has the re-entrant resolver functions.]) - AC_SEARCH_LIBS(res_9_ndestroy, resolv) --- -2.19.1 - diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index 98ee3bdc71c..246f4219aa3 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 9b93006a87be9c29492299118200e4f66c8369851c66a50fdef5b15dfc4eb2c2 asterisk-16.29.1.tar.gz +sha256 9def260ac8745a5eac7aceabe1c22f84a283b7812f0eccd760f87ce9eb991d22 asterisk-20.5.2.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index 22ac0334fd0..d1f3ea82d31 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,7 +4,7 @@ # ################################################################################ -ASTERISK_VERSION = 16.29.1 +ASTERISK_VERSION = 20.5.2 # Use the github mirror: it's an official mirror maintained by Digium, and # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) @@ -25,7 +25,7 @@ ASTERISK_CPE_ID_VENDOR = asterisk ASTERISK_CPE_ID_PRODUCT = open_source ASTERISK_SELINUX_MODULES = asterisk -# For patches 0002, 0003 and 0005 +# For patches 0002 and 0003 ASTERISK_AUTORECONF = YES ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject -Ithird-party/jansson @@ -56,7 +56,6 @@ ASTERISK_CONF_OPTS = \ --without-bfd \ --without-cap \ --without-cpg \ - --without-curses \ --without-gtk2 \ --without-gmime \ --without-hoard \ @@ -65,37 +64,26 @@ ASTERISK_CONF_OPTS = \ --without-imap \ --without-inotify \ --without-iodbc \ - --without-isdnnet \ --without-jack \ --without-uriparser \ --without-kqueue \ --without-libedit \ --without-libxslt \ --without-lua \ - --without-misdn \ --without-mysqlclient \ - --without-nbs \ --without-neon29 \ --without-newt \ --without-openr2 \ --without-osptk \ - --without-oss \ --without-postgres \ - --without-pjproject \ - --without-pjproject-bundled \ --without-popt \ --without-resample \ --without-sdl \ --without-SDL_image \ - --without-sqlite \ - --without-suppserv \ --without-tds \ - --without-termcap \ --without-timerfd \ - --without-tinfo \ --without-unbound \ --without-unixodbc \ - --without-vpb \ --without-x11 \ --with-crypt \ --with-jansson \ @@ -103,6 +91,8 @@ ASTERISK_CONF_OPTS = \ --with-ilbc \ --with-libxml2 \ --with-libedit="$(STAGING_DIR)/usr" \ + --with-pjproject \ + --with-pjproject-bundled \ --with-sqlite3="$(STAGING_DIR)/usr" \ --with-sounds-cache=$(ASTERISK_DL_DIR) diff --git a/package/at-spi2-atk/0001-meson-add-tests-option.patch b/package/at-spi2-atk/0001-meson-add-tests-option.patch deleted file mode 100644 index 3a2aefa0908..00000000000 --- a/package/at-spi2-atk/0001-meson-add-tests-option.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 466d04a57b32417dbf2d5e818af1b7593af5f802 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 3 May 2020 10:29:36 +0200 -Subject: [PATCH] meson: add tests option - -Add tests option to allow the user to build at-spi2-atk without tests, -it is especially useful as one of the test requires libxml-2.0 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.gnome.org/GNOME/at-spi2-atk/-/merge_requests/22] ---- - meson.build | 4 +++- - meson_options.txt | 4 ++++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 9fce5d6..61bc93d 100644 ---- a/meson.build -+++ b/meson.build -@@ -61,4 +61,6 @@ install_data('at-spi2-atk.desktop', - - subdir('droute') - subdir('atk-adaptor') --subdir('tests') -+if get_option('tests') -+ subdir('tests') -+endif -diff --git a/meson_options.txt b/meson_options.txt -index 24c9228..a4abdc2 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -2,3 +2,7 @@ option('disable_p2p', - description: 'Disable peer-to-peer DBus connections', - type: 'boolean', - value: false) -+option('tests', -+ description: 'Whether to build tests', -+ type: 'boolean', -+ value: true) --- -2.26.2 - diff --git a/package/at-spi2-atk/Config.in b/package/at-spi2-atk/Config.in deleted file mode 100644 index 9a7cfde0af7..00000000000 --- a/package/at-spi2-atk/Config.in +++ /dev/null @@ -1,22 +0,0 @@ -config BR2_PACKAGE_AT_SPI2_ATK - bool "at-spi2-atk" - depends on BR2_PACKAGE_XORG7 # at-spi2-core - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - depends on BR2_USE_WCHAR # glib2 - select BR2_PACKAGE_ATK - select BR2_PACKAGE_AT_SPI2_CORE - select BR2_PACKAGE_LIBGLIB2 - help - The At-Spi2 Atk package contains a library that bridges - ATK to At-Spi2 D-Bus service. - - https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/ - -comment "at-spi2-atk needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -comment "at-spi2-atk depends on X.org" - depends on BR2_USE_MMU - depends on !BR2_PACKAGE_XORG7 diff --git a/package/at-spi2-atk/at-spi2-atk.hash b/package/at-spi2-atk/at-spi2-atk.hash deleted file mode 100644 index 9c564c32af7..00000000000 --- a/package/at-spi2-atk/at-spi2-atk.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/at-spi2-atk/2.34/at-spi2-atk-2.34.2.sha256sum -sha256 901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0 at-spi2-atk-2.34.2.tar.xz - -# locally calculated -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/at-spi2-atk/at-spi2-atk.mk b/package/at-spi2-atk/at-spi2-atk.mk deleted file mode 100644 index 232b5772302..00000000000 --- a/package/at-spi2-atk/at-spi2-atk.mk +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -# -# at-spi2-atk -# -################################################################################ - -AT_SPI2_ATK_VERSION_MAJOR = 2.34 -AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 -AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz -AT_SPI2_ATK_SITE = \ - http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) -AT_SPI2_ATK_LICENSE = LGPL-2.1+ -AT_SPI2_ATK_LICENSE_FILES = COPYING -AT_SPI2_ATK_CPE_ID_VENDOR = gnome -AT_SPI2_ATK_INSTALL_STAGING = YES -AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf -AT_SPI2_ATK_CONF_OPTS = -Dtests=false - -$(eval $(meson-package)) diff --git a/package/at-spi2-core/Config.in b/package/at-spi2-core/Config.in index f56c5b93c49..2a1b21d375e 100644 --- a/package/at-spi2-core/Config.in +++ b/package/at-spi2-core/Config.in @@ -1,12 +1,13 @@ config BR2_PACKAGE_AT_SPI2_CORE bool "at-spi2-core" - depends on BR2_PACKAGE_XORG7 # xlib-libxtst depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, glib2 depends on BR2_USE_MMU # glib2 depends on BR2_USE_WCHAR # glib2 + depends on !BR2_STATIC_LIBS # dlopen() select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_XLIB_LIBXTST + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_XORG7 # optionally for X11 help The At-Spi2 Core package is a part of the GNOME Accessibility Project. It provides a Service Provider @@ -16,10 +17,6 @@ config BR2_PACKAGE_AT_SPI2_CORE https://wiki.gnome.org/Accessibility -comment "at-spi2-core needs a toolchain w/ wchar, threads" +comment "at-spi2-core needs a toolchain w/ dynamic library, wchar, threads" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS - -comment "at-spi2-core depends on X.org" - depends on BR2_USE_MMU - depends on !BR2_PACKAGE_XORG7 + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/at-spi2-core/at-spi2-core.hash b/package/at-spi2-core/at-spi2-core.hash index e2cc403e71c..4257ba03a7f 100644 --- a/package/at-spi2-core/at-spi2-core.hash +++ b/package/at-spi2-core/at-spi2-core.hash @@ -1,5 +1,5 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/at-spi2-core/2.36/at-spi2-core-2.36.0.sha256sum -sha256 88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a at-spi2-core-2.36.0.tar.xz +# From https://download.gnome.org/sources/at-spi2-core/2.50/at-spi2-core-2.50.0.sha256sum +sha256 e9f5a8c8235c9dd963b2171de9120301129c677dde933955e1df618b949c4adc at-spi2-core-2.50.0.tar.xz # locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/at-spi2-core/at-spi2-core.mk b/package/at-spi2-core/at-spi2-core.mk index cf7fdd297c7..828280de1ad 100644 --- a/package/at-spi2-core/at-spi2-core.mk +++ b/package/at-spi2-core/at-spi2-core.mk @@ -4,17 +4,38 @@ # ################################################################################ -AT_SPI2_CORE_VERSION_MAJOR = 2.36 +AT_SPI2_CORE_VERSION_MAJOR = 2.50 AT_SPI2_CORE_VERSION = $(AT_SPI2_CORE_VERSION_MAJOR).0 AT_SPI2_CORE_SOURCE = at-spi2-core-$(AT_SPI2_CORE_VERSION).tar.xz -AT_SPI2_CORE_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) +AT_SPI2_CORE_SITE = https://download.gnome.org/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) AT_SPI2_CORE_LICENSE = LGPL-2.1+ AT_SPI2_CORE_LICENSE_FILES = COPYING AT_SPI2_CORE_INSTALL_STAGING = YES -AT_SPI2_CORE_DEPENDENCIES = host-pkgconf dbus libglib2 xlib_libXtst \ +AT_SPI2_CORE_DEPENDENCIES = host-pkgconf dbus libglib2 libxml2 \ $(TARGET_NLS_DEPENDENCIES) AT_SPI2_CORE_CONF_OPTS = -Ddbus_daemon=/usr/bin/dbus-daemon +ifeq ($(BR2_PACKAGE_XORG7),y) +AT_SPI2_CORE_CONF_OPTS += -Dx11=enabled +AT_SPI2_CORE_DEPENDENCIES += xlib_libXtst +else +AT_SPI2_CORE_CONF_OPTS += -Dx11=disabled +endif + +ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) +AT_SPI2_CORE_CONF_OPTS += -Dintrospection=enabled +AT_SPI2_CORE_DEPENDENCIES += gobject-introspection +else +AT_SPI2_CORE_CONF_OPTS += -Dintrospection=disabled +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +AT_SPI2_CORE_CONF_OPTS += -Duse_systemd=true +AT_SPI2_CORE_DEPENDENCIES += systemd +else +AT_SPI2_CORE_CONF_OPTS += -Duse_systemd=false +endif + AT_SPI2_CORE_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) $(eval $(meson-package)) diff --git a/package/atest/0001-seq.h-fix-build-with-gcc-10.patch b/package/atest/0001-seq.h-fix-build-with-gcc-10.patch deleted file mode 100644 index c0ae042b019..00000000000 --- a/package/atest/0001-seq.h-fix-build-with-gcc-10.patch +++ /dev/null @@ -1,40 +0,0 @@ -From fb374e0775fd9772a2cd7b99a5c21f96f7fe2a9a Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 10 Aug 2020 12:12:07 +0200 -Subject: [PATCH] seq.h: fix build with gcc 10 - -Rename state structure to avoid the following build failure with gcc -10.0: - -/bin/bash ./libtool --tag=CC --mode=link /home/test/autobuild/run/instance-0/output-1/host/bin/arm-buildroot-linux-gnueabihf-gcc -include config.h -Wall -Wno-sign-compare -Wno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o atest atest.o seq.o alsa.o capture.o playback.o loopback_delay.o -L/home/test/autobuild/run/instance-0/output-1/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lasound -lev -libtool: link: /home/test/autobuild/run/instance-0/output-1/host/bin/arm-buildroot-linux-gnueabihf-gcc -include config.h -Wall -Wno-sign-compare -Wno-strict-aliasing -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o atest atest.o seq.o alsa.o capture.o playback.o loopback_delay.o -L/home/test/autobuild/run/instance-0/output-1/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib /home/test/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libasound.so -ldl -lpthread -lrt /home/test/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libev.so -lm -Wl,-rpath -Wl,/home/test/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -Wl,-rpath -Wl,/home/test/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -/home/test/autobuild/run/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: seq.o:(.bss+0x8): multiple definition of `state'; atest.o:(.bss+0xbc): first defined here -/home/test/autobuild/run/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: capture.o:(.bss+0x0): multiple definition of `state'; atest.o:(.bss+0xbc): first defined here -/home/test/autobuild/run/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: playback.o:(.bss+0x0): multiple definition of `state'; atest.o:(.bss+0xbc): first defined here -/home/test/autobuild/run/instance-0/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: loopback_delay.o:(.bss+0x0): multiple definition of `state'; atest.o:(.bss+0xbc): first defined here - -Fixes: - - http://autobuild.buildroot.org/results/887c466b3703449239eedaf86f3f4dd2a2dc8afe - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/amouiche/atest/pull/3] ---- - seq.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/seq.h b/seq.h -index 0fa1a95..b7ba8d1 100644 ---- a/seq.h -+++ b/seq.h -@@ -30,7 +30,7 @@ enum seq_stat_e { - NULL_FRAME = 0, - INVALID_FRAME, - VALID_FRAME, --} state; -+}; - - - struct seq_info { --- -2.27.0 - diff --git a/package/atest/atest.hash b/package/atest/atest.hash index e411a934e5b..a7ade8ad375 100644 --- a/package/atest/atest.hash +++ b/package/atest/atest.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 91da5a6d4d0b0a8d4bae156a40e91a6dccf62863bfa7acae948efbbd2b4154ca atest-895b0183a89c15f5e2305a6795bb1667753cd3f0.tar.gz +sha256 53980d44af542cc02cbcecba1f10c8a16523aa80196fbb8fc257ff6e949344de atest-9ff52ee5d7764984e21fe40a381b41ecd2d63548.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atest/atest.mk b/package/atest/atest.mk index 68def46cf99..e9f338acf21 100644 --- a/package/atest/atest.mk +++ b/package/atest/atest.mk @@ -4,7 +4,7 @@ # ################################################################################ -ATEST_VERSION = 895b0183a89c15f5e2305a6795bb1667753cd3f0 +ATEST_VERSION = 9ff52ee5d7764984e21fe40a381b41ecd2d63548 ATEST_SITE = $(call github,amouiche,atest,$(ATEST_VERSION)) ATEST_LICENSE = GPL-2.0+ ATEST_LICENSE_FILES = COPYING diff --git a/package/atftp/atftp.mk b/package/atftp/atftp.mk index 288501bc112..d41178cac42 100644 --- a/package/atftp/atftp.mk +++ b/package/atftp/atftp.mk @@ -8,7 +8,7 @@ ATFTP_VERSION = 0.8.0 ATFTP_SITE = http://sourceforge.net/projects/atftp/files ATFTP_LICENSE = GPL-2.0+ ATFTP_LICENSE_FILES = LICENSE -ATFTP_CPE_ID_VENDOR = atftp_project +ATFTP_CPE_ID_VALID = YES ATFTP_SELINUX_MODULES = tftp # No configure in tarball ATFTP_AUTORECONF = YES diff --git a/package/atk/Config.in b/package/atk/Config.in deleted file mode 100644 index d9371b879be..00000000000 --- a/package/atk/Config.in +++ /dev/null @@ -1,14 +0,0 @@ -config BR2_PACKAGE_ATK - bool "atk" - depends on BR2_USE_WCHAR # glib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 - depends on BR2_USE_MMU # glib2 - select BR2_PACKAGE_LIBGLIB2 - help - The ATK accessibility toolkit, needed to build GTK+-2.x. - - https://gitlab.gnome.org/GNOME/atk - -comment "atk needs a toolchain w/ wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/atk/atk.hash b/package/atk/atk.hash deleted file mode 100644 index d8cd69ff1fc..00000000000 --- a/package/atk/atk.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.38/atk-2.38.0.sha256sum -sha256 ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36 atk-2.38.0.tar.xz - -# Hash for license file -sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/atk/atk.mk b/package/atk/atk.mk deleted file mode 100644 index 2820fb486df..00000000000 --- a/package/atk/atk.mk +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# -# atk -# -################################################################################ - -ATK_VERSION_MAJOR = 2.38 -ATK_VERSION = $(ATK_VERSION_MAJOR).0 -ATK_SOURCE = atk-$(ATK_VERSION).tar.xz -ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) -ATK_LICENSE = LGPL-2.0+ -ATK_LICENSE_FILES = COPYING -ATK_INSTALL_STAGING = YES -ATK_DEPENDENCIES = libglib2 $(TARGET_NLS_DEPENDENCIES) - -ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) -ATK_CONF_OPTS += -Dintrospection=true -ATK_DEPENDENCIES += gobject-introspection -else -ATK_CONF_OPTS += -Dintrospection=false -endif - -ATK_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) - -$(eval $(meson-package)) diff --git a/package/atkmm/Config.in b/package/atkmm/Config.in index aa58f8d593e..571d7e69adf 100644 --- a/package/atkmm/Config.in +++ b/package/atkmm/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_ATKMM - bool "atkmm" + bool "atkmm (latest)" depends on BR2_INSTALL_LIBSTDCPP # glibmm depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc - depends on BR2_TOOLCHAIN_HAS_THREADS # atk/glibmm -> libglib2 - depends on BR2_USE_MMU # atk/glibmm -> libglib2 - depends on BR2_USE_WCHAR # atk/glibmm -> libglib2 - select BR2_PACKAGE_ATK + depends on BR2_TOOLCHAIN_HAS_THREADS # at-spi2-core/glibmm -> libglib2 + depends on BR2_USE_MMU # at-spi2-core/glibmm -> libglib2 + depends on BR2_USE_WCHAR # at-spi2-core/glibmm -> libglib2 + select BR2_PACKAGE_AT_SPI2_CORE select BR2_PACKAGE_GLIBMM select BR2_PACKAGE_LIBSIGC diff --git a/package/atkmm/atkmm.hash b/package/atkmm/atkmm.hash index f965ad29cbd..08cf86b3df9 100644 --- a/package/atkmm/atkmm.hash +++ b/package/atkmm/atkmm.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atkmm/2.36/atkmm-2.36.1.sha256sum -sha256 e11324bfed1b6e330a02db25cecc145dca03fb0dff47f0710c85e317687da458 atkmm-2.36.1.tar.xz +# From https://download.gnome.org/sources/atkmm/2.36/atkmm-2.36.2.sha256sum +sha256 6f62dd99f746985e573605937577ccfc944368f606a71ca46342d70e1cdae079 atkmm-2.36.2.tar.xz # locally computed sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/atkmm/atkmm.mk b/package/atkmm/atkmm.mk index 3bcb941c9fc..ec63d8ecbcf 100644 --- a/package/atkmm/atkmm.mk +++ b/package/atkmm/atkmm.mk @@ -5,12 +5,12 @@ ################################################################################ ATKMM_VERSION_MAJOR = 2.36 -ATKMM_VERSION = $(ATKMM_VERSION_MAJOR).1 +ATKMM_VERSION = $(ATKMM_VERSION_MAJOR).2 ATKMM_SOURCE = atkmm-$(ATKMM_VERSION).tar.xz -ATKMM_SITE = http://ftp.gnome.org/pub/gnome/sources/atkmm/$(ATKMM_VERSION_MAJOR) +ATKMM_SITE = https://download.gnome.org/sources/atkmm/$(ATKMM_VERSION_MAJOR) ATKMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) ATKMM_LICENSE_FILES = COPYING COPYING.tools ATKMM_INSTALL_STAGING = YES -ATKMM_DEPENDENCIES = atk glibmm libsigc host-pkgconf +ATKMM_DEPENDENCIES = at-spi2-core glibmm libsigc host-pkgconf $(eval $(meson-package)) diff --git a/package/atkmm2_28/Config.in b/package/atkmm2_28/Config.in new file mode 100644 index 00000000000..e88073b87a3 --- /dev/null +++ b/package/atkmm2_28/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_ATKMM2_28 + bool "atkmm (2.28.x)" + depends on BR2_INSTALL_LIBSTDCPP # glibmm + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # at-spi2-core/glibmm -> libglib2 + depends on BR2_USE_MMU # at-spi2-core/glibmm -> libglib2 + depends on BR2_USE_WCHAR # at-spi2-core/glibmm -> libglib2 + select BR2_PACKAGE_AT_SPI2_CORE + select BR2_PACKAGE_GLIBMM2_66 + select BR2_PACKAGE_LIBSIGC2 + + help + The atkmm package is a set of C++ bindings for Atk. + + This is the last version before the API and ABI change + introduced in 2.36.0 which requires C++17. + + http://www.gtkmm.org/ + +comment "atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/atkmm2_28/atkmm2_28.hash b/package/atkmm2_28/atkmm2_28.hash new file mode 100644 index 00000000000..776c9851b82 --- /dev/null +++ b/package/atkmm2_28/atkmm2_28.hash @@ -0,0 +1,5 @@ +# From https://download.gnome.org/sources/atkmm/2.28/atkmm-2.28.3.sha256sum +sha256 7c2088b486a909be8da2b18304e56c5f90884d1343c8da7367ea5cd3258b9969 atkmm-2.28.3.tar.xz +# locally computed +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/atkmm2_28/atkmm2_28.mk b/package/atkmm2_28/atkmm2_28.mk new file mode 100644 index 00000000000..b56da61ec08 --- /dev/null +++ b/package/atkmm2_28/atkmm2_28.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# atkmm2_28 +# +################################################################################ + +ATKMM2_28_VERSION_MAJOR = 2.28 +ATKMM2_28_VERSION = $(ATKMM2_28_VERSION_MAJOR).3 +ATKMM2_28_SOURCE = atkmm-$(ATKMM2_28_VERSION).tar.xz +ATKMM2_28_SITE = https://download.gnome.org/sources/atkmm/$(ATKMM2_28_VERSION_MAJOR) +ATKMM2_28_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) +ATKMM2_28_LICENSE_FILES = COPYING COPYING.tools +ATKMM2_28_INSTALL_STAGING = YES +ATKMM2_28_DEPENDENCIES = at-spi2-core glibmm2_66 libsigc2 host-pkgconf + +$(eval $(meson-package)) diff --git a/package/atop/0001-atop.h-include-time.h.patch b/package/atop/0001-atop.h-include-time.h.patch new file mode 100644 index 00000000000..2b8a390e71c --- /dev/null +++ b/package/atop/0001-atop.h-include-time.h.patch @@ -0,0 +1,41 @@ +From 03c5c4dd29bc7590baccb55a36d61e7f4b39c1fe Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 29 Oct 2023 18:56:35 +0100 +Subject: [PATCH] atop.h: include time.h + +Include time.h to avoid the following build failure with musl: + +atop.h:157:1: error: unknown type name 'time_t' + 157 | time_t normalize_epoch(time_t, long); + | ^~~~~~ +atop.h:157:1: note: 'time_t' is defined in header ''; did you forget to '#include '? +atop.h:157:40: error: expected ')' before 'long' + 157 | time_t normalize_epoch(time_t, long); + | ^~~~~ + | ) + +Fixes: + - http://autobuild.buildroot.org/results/e7ec8d16f2299320f374a0198c8e9b18a102b037 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/Atoptool/atop/pull/280 +--- + atop.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/atop.h b/atop.h +index 9274fc5..3d5fea4 100644 +--- a/atop.h ++++ b/atop.h +@@ -24,6 +24,8 @@ + #ifndef __ATOP__ + #define __ATOP__ + ++#include ++ + #define EQ 0 + #define SECONDSINDAY 86400 + #define RAWNAMESZ 256 +-- +2.42.0 + diff --git a/package/atop/atop.hash b/package/atop/atop.hash index 18ba42340c0..0b7ee061dd9 100644 --- a/package/atop/atop.hash +++ b/package/atop/atop.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 ca48d2f17e071deead5e6e9cc9e388bf6a3270d695e61976b3794d4d927b5c4e atop-2.7.1.tar.gz +sha256 8d82f211b712a227000ef254c0a2b53bcb71235bf40d93316acce80b04bff926 atop-2.9.0.tar.gz # Hash for license file: sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atop/atop.mk b/package/atop/atop.mk index 8a0fcda33b1..27cd537f64a 100644 --- a/package/atop/atop.mk +++ b/package/atop/atop.mk @@ -4,11 +4,11 @@ # ################################################################################ -ATOP_VERSION = 2.7.1 +ATOP_VERSION = 2.9.0 ATOP_SITE = http://www.atoptool.nl/download ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING -ATOP_CPE_ID_VENDOR = atop_project +ATOP_CPE_ID_VALID = YES ATOP_DEPENDENCIES = ncurses zlib ATOP_CFLAGS = $(TARGET_CFLAGS) diff --git a/package/attr/0002-configure.ac-add-detection-of-symver-gcc-attribute.patch b/package/attr/0002-configure.ac-add-detection-of-symver-gcc-attribute.patch new file mode 100644 index 00000000000..ee029e9735b --- /dev/null +++ b/package/attr/0002-configure.ac-add-detection-of-symver-gcc-attribute.patch @@ -0,0 +1,75 @@ +From 365426c28f8bf73d34d77cc06b7d5ffeae17f13a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 6 Feb 2024 15:33:15 +0100 +Subject: [PATCH] configure.ac: add detection of symver gcc attribute + +On non-ELF platforms, such as microblaze, builds will fail when trying +to add symver information because __attribute__((symver ..)) is not +supported even though __has_attribute(__symver__) returns true. + +Support for symver needs to be detected via a compile test since +__has_attribute can report false positives [0]. + +Add a configure compile check for __attribute__((symver ..)) to ensure +it is supported and define a variable to advertise support. + +[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766#c1 + +Upstream: https://git.savannah.nongnu.org/cgit/attr.git/commit/?id=943c776089dbb24ebbfb7432ba9841f1845bf95a + +Signed-off-by: Thomas Petazzoni +[Giulio: rework local patch for #if nesting] +Signed-off-by: Giulio Benetti +--- + configure.ac | 15 +++++++++++++++ + libattr/syscalls.c | 8 ++++---- + 2 files changed, 19 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7e362e9..98477b5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -57,6 +57,21 @@ AS_CASE([$host_os], + [linux*], [os_linux=yes]) + AM_CONDITIONAL([OS_LINUX], [test "x$os_linux" = "xyes"]) + ++AC_CACHE_CHECK(whether __attribute__((__symver__())) is supported, ++ gcc_cv_symver_attribute, ++ [cat > conftest.c </dev/null 2>&1; then \ ++ gcc_cv_symver_attribute=yes ++ fi ++ rm -f conftest.[cs] ++]) ++AS_IF([test $gcc_cv_symver_attribute = yes], ++ [AC_DEFINE(HAVE_SYMVER_ATTRIBUTE, [], [GCC supports symver attribute])]) ++ + AC_CONFIG_COMMANDS([include/attr], + [dnl + rm -rf include/attr +diff --git a/libattr/syscalls.c b/libattr/syscalls.c +index 907560a..7ee6d39 100644 +--- a/libattr/syscalls.c ++++ b/libattr/syscalls.c +@@ -31,10 +31,10 @@ + * prefer symver attribute if available (since gcc 10), + * fall back to traditional .symver asm directive otherwise. + */ +-#ifdef __has_attribute +-# if __has_attribute(__symver__) +-# define SYMVER(cn, vn) __typeof(cn) cn __attribute__((__symver__(vn))) +-# elif __has_attribute(__no_reorder__) ++#if defined(HAVE_SYMVER_ATTRIBUTE) ++# define SYMVER(cn, vn) __typeof(cn) cn __attribute__((__symver__(vn))) ++#elif defined(__has_attribute) ++# if __has_attribute(__no_reorder__) + /* + * Avoid wrong partitioning with older gcc and LTO. May not work reliably + * with all versions; use -flto-partition=none if you encounter problems. +-- +2.34.1 + diff --git a/package/attr/attr.hash b/package/attr/attr.hash index 334a438cae4..f63c0e312a8 100644 --- a/package/attr/attr.hash +++ b/package/attr/attr.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 db448a626f9313a1a970d636767316a8da32aede70518b8050fa0de7947adc32 attr-2.5.1.tar.xz +sha256 f2e97b0ab7ce293681ab701915766190d607a1dba7fae8a718138150b700a70b attr-2.5.2.tar.xz # Locally calculated sha256 98f318493be6b08bff3cd295791cde06c54e17882a3c74a1ed245eaa02533d52 doc/COPYING diff --git a/package/attr/attr.mk b/package/attr/attr.mk index 0327497e1e2..1d24144f46e 100644 --- a/package/attr/attr.mk +++ b/package/attr/attr.mk @@ -4,12 +4,15 @@ # ################################################################################ -ATTR_VERSION = 2.5.1 +ATTR_VERSION = 2.5.2 ATTR_SOURCE = attr-$(ATTR_VERSION).tar.xz ATTR_SITE = http://download.savannah.gnu.org/releases/attr ATTR_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) ATTR_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL -ATTR_CPE_ID_VENDOR = attr_project +ATTR_CPE_ID_VALID = YES + +# Flag added for patch dealing with symver in configure.ac +ATTR_AUTORECONF = YES ATTR_INSTALL_STAGING = YES diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk index b2eb2b5e6d4..bfc627fa919 100644 --- a/package/aubio/aubio.mk +++ b/package/aubio/aubio.mk @@ -9,6 +9,7 @@ AUBIO_SITE = https://aubio.org/pub AUBIO_SOURCE = aubio-$(AUBIO_VERSION).tar.bz2 AUBIO_LICENSE = GPL-3.0+ AUBIO_LICENSE_FILES = COPYING +AUBIO_CPE_ID_VENDOR = aubio AUBIO_INSTALL_STAGING = YES AUBIO_DEPENDENCIES = host-pkgconf @@ -16,6 +17,11 @@ AUBIO_CONF_OPTS = \ --disable-docs \ --disable-atlas +# The waf script bundled in aubio 0.4.9 is too old for python3.11 +# Similar issue with Jack: +# https://github.com/jackaudio/jack2/issues/898 +AUBIO_NEEDS_EXTERNAL_WAF = YES + # Add --notests for each build step to avoid running unit tests on the # build machine. AUBIO_WAF_OPTS = --notests diff --git a/package/audit/audit.hash b/package/audit/audit.hash index 6260f158d89..5743b3a13a0 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,4 +1,4 @@ #Locally computed -sha256 8b4c78632a9301a1c7f859b0e38fc0b9c260b8214d6b7c771bf28b3d73a62597 audit-3.0.7.tar.gz +sha256 c0b1792d1f0a88c6f1828710509cbb987059fc68712c97669ca90eae103d287d audit-3.1.2.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/audit/audit.mk b/package/audit/audit.mk index aa8ef515e68..76828571ca0 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUDIT_VERSION = 3.0.7 +AUDIT_VERSION = 3.1.2 AUDIT_SITE = http://people.redhat.com/sgrubb/audit AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) AUDIT_LICENSE_FILES = COPYING COPYING.LIB @@ -15,6 +15,13 @@ AUDIT_INSTALL_STAGING = YES AUDIT_CONF_OPTS = --without-python --without-python3 --disable-zos-remote +# src/libev has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `mcr p15,0,r3,c7,c10,5' in Thumb mode +# so, we desactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +AUDIT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) AUDIT_DEPENDENCIES += libcap-ng AUDIT_CONF_OPTS += --with-libcap-ng=yes diff --git a/package/aufs-util/aufs-util.mk b/package/aufs-util/aufs-util.mk index d954f029587..32f3bca1514 100644 --- a/package/aufs-util/aufs-util.mk +++ b/package/aufs-util/aufs-util.mk @@ -6,7 +6,7 @@ # linux-headers AUFS_UTIL_VERSION = $(call qstrip,$(BR2_PACKAGE_AUFS_UTIL_VERSION)) -AUFS_UTIL_SITE = http://git.code.sf.net/p/aufs/aufs-util +AUFS_UTIL_SITE = https://git.code.sf.net/p/aufs/aufs-util AUFS_UTIL_SITE_METHOD = git AUFS_UTIL_LICENSE = GPL-2.0 AUFS_UTIL_LICENSE_FILES = COPYING diff --git a/package/aufs/aufs.mk b/package/aufs/aufs.mk index 4e95a350a02..d00e7a1a211 100644 --- a/package/aufs/aufs.mk +++ b/package/aufs/aufs.mk @@ -9,7 +9,7 @@ AUFS_LICENSE = GPL-2.0 AUFS_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_AUFS_SERIES),3) -AUFS_SITE = http://git.code.sf.net/p/aufs/aufs3-standalone +AUFS_SITE = https://git.code.sf.net/p/aufs/aufs3-standalone AUFS_SITE_METHOD = git else ifeq ($(BR2_PACKAGE_AUFS_SERIES),4) AUFS_SITE = $(call github,sfjro,aufs4-standalone,$(AUFS_VERSION)) diff --git a/package/aumix/aumix.mk b/package/aumix/aumix.mk index a4001f5bbb7..03072d5d359 100644 --- a/package/aumix/aumix.mk +++ b/package/aumix/aumix.mk @@ -8,7 +8,7 @@ AUMIX_VERSION = 2.9.1 AUMIX_SOURCE = aumix-$(AUMIX_VERSION).tar.bz2 AUMIX_SITE = http://jpj.net/~trevor/aumix/releases AUMIX_AUTORECONF = YES -AUMIX_GETTEXTIZE = YES +AUMIX_AUTOPOINT = YES AUMIX_LICENSE = GPL-2.0+ AUMIX_LICENSE_FILES = COPYING diff --git a/package/autoconf-archive/autoconf-archive.hash b/package/autoconf-archive/autoconf-archive.hash index ff7710dc2b6..c4658e6f917 100644 --- a/package/autoconf-archive/autoconf-archive.hash +++ b/package/autoconf-archive/autoconf-archive.hash @@ -1,4 +1,6 @@ +# From https://lists.gnu.org/archive/html/autoconf-archive-announce/2023-02/msg00000.html +sha1 e26d15db0f1ec60e9ea8ff024cf3ee895fa2eabd autoconf-archive-2023.02.20.tar.xz # Computed locally -sha256 e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423 autoconf-archive-2022.09.03.tar.xz +sha256 71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33 autoconf-archive-2023.02.20.tar.xz sha256 e6037104443f9a7829b2aa7c5370d0789a7bda3ca65a0b904cdc0c2e285d9195 COPYING sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk index 0ffdf61ddff..07ac7e97433 100644 --- a/package/autoconf-archive/autoconf-archive.mk +++ b/package/autoconf-archive/autoconf-archive.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOCONF_ARCHIVE_VERSION = 2022.09.03 +AUTOCONF_ARCHIVE_VERSION = 2023.02.20 AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive AUTOCONF_ARCHIVE_LICENSE = GPL-3.0+ with exception diff --git a/package/autoconf/0001-dont-add-dirty-to-version.patch b/package/autoconf/0001-dont-add-dirty-to-version.patch index e8d9f6a29d9..8df2276865b 100644 --- a/package/autoconf/0001-dont-add-dirty-to-version.patch +++ b/package/autoconf/0001-dont-add-dirty-to-version.patch @@ -17,7 +17,7 @@ Signed-off-by: Gustavo Zacarias diff -Nura autoconf-2.69.orig/build-aux/git-version-gen autoconf-2.69/build-aux/git-version-gen --- autoconf-2.69.orig/build-aux/git-version-gen 2013-06-27 11:31:02.340200154 -0300 +++ autoconf-2.69/build-aux/git-version-gen 2013-06-27 11:31:13.734577033 -0300 -@@ -203,7 +203,7 @@ +@@ -210,7 +210,7 @@ *) # Append the suffix only if there isn't one already. case $v in *-dirty) ;; diff --git a/package/autoconf/autoconf.hash b/package/autoconf/autoconf.hash index de0840dd84a..f94b2d9de59 100644 --- a/package/autoconf/autoconf.hash +++ b/package/autoconf/autoconf.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4 autoconf-2.71.tar.xz +sha256 ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a autoconf-2.72.tar.xz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYINGv3 sha256 1f1cde9fb68b9b3cff18c420894bec5bd4defacd700b7d13df54a887301e5350 COPYING.EXCEPTION diff --git a/package/autoconf/autoconf.mk b/package/autoconf/autoconf.mk index 7e0850422b0..48bfc80e7f1 100644 --- a/package/autoconf/autoconf.mk +++ b/package/autoconf/autoconf.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOCONF_VERSION = 2.71 +AUTOCONF_VERSION = 2.72 AUTOCONF_SOURCE = autoconf-$(AUTOCONF_VERSION).tar.xz AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoconf @@ -23,4 +23,7 @@ $(eval $(host-autotools-package)) # variables used by other packages AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" AUTOHEADER = $(HOST_DIR)/bin/autoheader -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" -AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true GTKDOCIZE=/bin/true $(HOST_DIR)/bin/autoreconf -f -i +AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" \ + AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" \ + AUTOMAKE="$(AUTOMAKE)" GTKDOCIZE=/bin/true \ + $(HOST_DIR)/bin/autoreconf -f -i diff --git a/package/autofs/autofs.hash b/package/autofs/autofs.hash index 97bc757d6b8..67d09e859a9 100644 --- a/package/autofs/autofs.hash +++ b/package/autofs/autofs.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/daemons/autofs/v5/sha256sums.asc -sha256 b33d1059855664b20eeda26f3e28ff518fb0c3d58f565570af2ae569dc73c0fd autofs-5.1.8.tar.xz +sha256 87e6af6a03794b9462ea519781e50e7d23b5f7c92cd59e1142c85d2493b3c24b autofs-5.1.9.tar.xz # Hash for license files sha256 458028929f712b4795bc5adc31a1d6a2151364ce1b372ac43f613f56c8448fed COPYING diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk index 97b1b6b3e40..e9eff98a0a6 100644 --- a/package/autofs/autofs.mk +++ b/package/autofs/autofs.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUTOFS_VERSION = 5.1.8 +AUTOFS_VERSION = 5.1.9 AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5 AUTOFS_LICENSE = GPL-2.0+ diff --git a/package/avahi/Config.in b/package/avahi/Config.in index 2484d8ce5ce..728bc4fdd19 100644 --- a/package/avahi/Config.in +++ b/package/avahi/Config.in @@ -38,7 +38,7 @@ config BR2_PACKAGE_AVAHI_DAEMON # more easily determine if it's available or not. config BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT bool - default y if BR2_PACKAGE_AVAHI_DAEMON && BR2_PACKAGE_DBUS + default y if BR2_PACKAGE_DBUS config BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY bool "libdns_sd compatibility (Bonjour)" diff --git a/package/avrdude/Config.in b/package/avrdude/Config.in index cbbd0766675..06fee0ca7fe 100644 --- a/package/avrdude/Config.in +++ b/package/avrdude/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_AVRDUDE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb select BR2_PACKAGE_ELFUTILS select BR2_PACKAGE_LIBUSB @@ -27,7 +26,6 @@ comment "SPI support needs a toolchain w/ linux headers >= 4.8" endif -comment "avrdude needs a uClibc or glibc toolchain w/ threads, wchar, dynamic library, gcc >= 4.9" +comment "avrdude needs a toolchain w/ threads, wchar, dynamic library, gcc >= 4.9" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR \ - || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/avrdude/avrdude.hash b/package/avrdude/avrdude.hash index d53d4dd60de..cb34e6b6f9c 100644 --- a/package/avrdude/avrdude.hash +++ b/package/avrdude/avrdude.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bbe2cf09163b3561ea28e9d48c2a588838f7adcd7858e34ced9c886feacb5be6 avrdude-6.4.tar.gz +sha256 beb4e0b0a07f8d47e550329ab93c345d5252350de6f833afde51b4d8bd934674 avrdude-7.2.tar.gz sha256 201babc7da198873304a77a30dbfc7ca449c9bba52df2dffa4cca0009dbdfcb2 COPYING diff --git a/package/avrdude/avrdude.mk b/package/avrdude/avrdude.mk index accd92c1d5d..89637d4ca63 100644 --- a/package/avrdude/avrdude.mk +++ b/package/avrdude/avrdude.mk @@ -4,22 +4,19 @@ # ################################################################################ -AVRDUDE_VERSION = 6.4 +AVRDUDE_VERSION = 7.2 AVRDUDE_SITE = $(call github,avrdudes,avrdude,v$(AVRDUDE_VERSION)) AVRDUDE_LICENSE = GPL-2.0+ AVRDUDE_LICENSE_FILES = COPYING -# Sources coming from git, without generated configure and Makefile.in -# files. -AVRDUDE_AUTORECONF = YES -AVRDUDE_CONF_OPTS = --enable-linuxgpio +AVRDUDE_CONF_OPTS = -DHAVE_LINUXGPIO=ON AVRDUDE_DEPENDENCIES = elfutils libusb libusb-compat ncurses \ host-flex host-bison ifeq ($(BR2_PACKAGE_AVRDUDE_SPI),y) -AVRDUDE_CONF_OPTS += --enable-linuxspi +AVRDUDE_CONF_OPTS += -DHAVE_LINUXSPI=ON else -AVRDUDE_CONF_OPTS += --disable-linuxspi +AVRDUDE_CONF_OPTS += -DHAVE_LINUXSPI=OFF endif ifeq ($(BR2_PACKAGE_LIBFTDI1),y) @@ -40,4 +37,4 @@ endef AVRDUDE_POST_INSTALL_TARGET_HOOKS += AVRDUDE_REMOVE_BACKUP_FILE -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/avro-c/avro-c.hash b/package/avro-c/avro-c.hash index b52a787ed55..83b5759a16e 100644 --- a/package/avro-c/avro-c.hash +++ b/package/avro-c/avro-c.hash @@ -1,5 +1,5 @@ -# From https://downloads.apache.org/avro/avro-1.11.1/c/avro-c-1.11.1.tar.gz.sha512 -sha512 e72e8c245a8b86326bc18a5d5127e9beeaceaf805e8a62760fd88d627e29954c750346485bb43822df408c8a172d910c27ddf7e3815bddbdb04d16c54d859323 avro-c-1.11.1.tar.gz +# From https://downloads.apache.org/avro/avro-1.11.3/c/avro-c-1.11.3.tar.gz.sha512 +sha512 56ce8c6f0b06b779679a6e7a2b738ec94277920e9b3d7c6f1062a0b47db80b90dccf89df9d977ec1f120211f7c2f33845e18df4961818e5c5cc93aaec18e1302 avro-c-1.11.3.tar.gz # License files sha256 d62488d6ba17132e92c23c03c80bfedc848267f96ab36489fec860f76cf6819a LICENSE diff --git a/package/avro-c/avro-c.mk b/package/avro-c/avro-c.mk index f217c1d7ed7..d7efdc2003f 100644 --- a/package/avro-c/avro-c.mk +++ b/package/avro-c/avro-c.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update python-avro -AVRO_C_VERSION = 1.11.1 +AVRO_C_VERSION = 1.11.3 AVRO_C_SITE = https://www-eu.apache.org/dist/avro/avro-$(AVRO_C_VERSION)/c AVRO_C_LICENSE = Apache-2.0 AVRO_C_LICENSE_FILES = LICENSE diff --git a/package/axel/Config.in b/package/axel/Config.in index 4507855ff8e..740095a5051 100644 --- a/package/axel/Config.in +++ b/package/axel/Config.in @@ -1,10 +1,12 @@ config BR2_PACKAGE_AXEL bool "axel" depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h help HTTP/FTP download accelerator. https://github.com/axel-download-accelerator/axel/ -comment "axel needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "axel needs a toolchain w/ threads, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/axel/axel.hash b/package/axel/axel.hash index ca7ad5c1d3c..b2ff52876b4 100644 --- a/package/axel/axel.hash +++ b/package/axel/axel.hash @@ -1,2 +1,2 @@ -sha256 580b2c18692482fd7f1e2b2819159484311ffc50f6d18924dceb80fd41d4ccf9 axel-2.17.11.tar.xz +sha256 6af9c0238ca4fb850baa17878de0361868e3ff6d9302298d83c6d26931c28723 axel-2.17.13.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 191484d11bd..90e5156e064 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -4,12 +4,12 @@ # ################################################################################ -AXEL_VERSION = 2.17.11 +AXEL_VERSION = 2.17.13 AXEL_SITE = https://github.com/axel-download-accelerator/axel/releases/download/v$(AXEL_VERSION) AXEL_SOURCE = axel-$(AXEL_VERSION).tar.xz AXEL_LICENSE = GPL-2.0+ AXEL_LICENSE_FILES = COPYING -AXEL_CPE_ID_VENDOR = axel_project +AXEL_CPE_ID_VALID = YES AXEL_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) # ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test @@ -19,8 +19,11 @@ AXEL_CONF_OPTS = \ CFLAGS="$(TARGET_CFLAGS)" ifeq ($(BR2_PACKAGE_OPENSSL),y) -AXEL_CONF_OPTS += --with-ssl +AXEL_CONF_OPTS += --with-ssl=openssl AXEL_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) +AXEL_CONF_OPTS += --with-ssl=wolfssl +AXEL_DEPENDENCIES += wolfssl else AXEL_CONF_OPTS += --without-ssl endif diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.hash b/package/azure-iot-sdk-c/azure-iot-sdk-c.hash index 187b90a35ac..d51dcc60aab 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.hash +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 7c23506e5acd6f400982f6f7a053d494c83b8a709c449bb9ded07aff9cfada78 azure-iot-sdk-c-LTS_07_2022_Ref01-br1.tar.gz +sha256 b853d5ab04f3c6863fe78e3936f0d0840012d5260ae4a3b23f03e157395dc15b azure-iot-sdk-c-LTS_08_2023-br1.tar.gz # Hash for license files: sha256 be2e9913fad9ff33607287c728f392579e2a6cc83e51b203ef6274c41db02ee7 LICENSE diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk index 42fdd56b488..4d0ecb077f8 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -AZURE_IOT_SDK_C_VERSION = LTS_07_2022_Ref01 +AZURE_IOT_SDK_C_VERSION = LTS_08_2023 AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c AZURE_IOT_SDK_C_SITE_METHOD = git AZURE_IOT_SDK_C_GIT_SUBMODULES = YES @@ -14,4 +14,10 @@ AZURE_IOT_SDK_C_INSTALL_STAGING = YES AZURE_IOT_SDK_C_DEPENDENCIES = libxml2 openssl libcurl util-linux AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON +ifeq ($(BR2_STATIC_LIBS),y) +AZURE_IOT_SDK_C_CONF_OPTS += -Duse_prov_client=OFF +else +AZURE_IOT_SDK_C_CONF_OPTS += -Duse_prov_client=ON +endif + $(eval $(cmake-package)) diff --git a/package/balena-engine/balena-engine.hash b/package/balena-engine/balena-engine.hash index 4adb8ce5617..6a92a40cc88 100644 --- a/package/balena-engine/balena-engine.hash +++ b/package/balena-engine/balena-engine.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4fb38109d133d499de366466a612fb6f523ea99d56fcd69b45dc494a75fbce0f balena-engine-20.10.21.tar.gz +sha256 1482b64e35d5406be719e362647ed7d0599cf4eead7770247ebd972c4c85ede5 balena-engine-20.10.26.tar.gz sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/balena-engine/balena-engine.mk b/package/balena-engine/balena-engine.mk index ecfb62bfbfe..49d526a4653 100644 --- a/package/balena-engine/balena-engine.mk +++ b/package/balena-engine/balena-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -BALENA_ENGINE_VERSION = 20.10.21 +BALENA_ENGINE_VERSION = 20.10.26 BALENA_ENGINE_SITE = $(call github,balena-os,balena-engine,v$(BALENA_ENGINE_VERSION)) BALENA_ENGINE_LICENSE = Apache-2.0 @@ -34,6 +34,17 @@ BALENA_ENGINE_TAGS = \ BALENA_ENGINE_BUILD_TARGETS = cmd/balena-engine +# create the go.mod file with language version go1.19 +# remove the conflicting vendor/modules.txt +# remove the conflicting vendor/archive (not allowed in go1.20) +# https://github.com/moby/moby/issues/44618#issuecomment-1343565705 +define BALENA_ENGINE_FIX_VENDORING + printf "module $(BALENA_ENGINE_GOMOD)\n\ngo 1.19\n" > $(@D)/go.mod + rm -f $(@D)/vendor/modules.txt + rm -rf $(@D)/vendor/archive +endef +BALENA_ENGINE_POST_EXTRACT_HOOKS += BALENA_ENGINE_FIX_VENDORING + ifeq ($(BR2_INIT_SYSTEMD),y) BALENA_ENGINE_DEPENDENCIES += systemd BALENA_ENGINE_TAGS += journald diff --git a/package/bash/0002-locale-fix-typo-local_shiftstates-vs.-locale_shiftst.patch b/package/bash/0002-locale-fix-typo-local_shiftstates-vs.-locale_shiftst.patch deleted file mode 100644 index 1636c180363..00000000000 --- a/package/bash/0002-locale-fix-typo-local_shiftstates-vs.-locale_shiftst.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 3d6b9e18506ad9daf4ec7b7d406b38d58ec88009 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Thu, 11 Mar 2021 20:48:36 +0100 -Subject: [PATCH] locale: fix typo local_shiftstates vs. locale_shiftstates -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: - - locale.c:94:3: error: ‘local_shiftstates’ undeclared (first use in this function); did you mean ‘locale_shiftstates’? - 94 | local_shiftstates = 0; - | ^~~~~~~~~~~~~~~~~ - | locale_shiftstates - -Signed-off-by: Peter Seiderer ---- - locale.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/locale.c b/locale.c -index 17ccc58..d6dd95a 100644 ---- a/locale.c -+++ b/locale.c -@@ -91,7 +91,7 @@ set_default_locale () - #if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); - #else -- local_shiftstates = 0; -+ locale_shiftstates = 0; - #endif - } - -@@ -117,7 +117,7 @@ set_default_locale_vars () - # if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); - # else -- local_shiftstates = 0; -+ locale_shiftstates = 0; - # endif - - u32reset (); -@@ -226,7 +226,7 @@ set_locale_var (var, value) - # if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); - # else -- local_shiftstates = 0; -+ locale_shiftstates = 0; - # endif - u32reset (); - return r; -@@ -250,7 +250,7 @@ set_locale_var (var, value) - #if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); - #else -- local_shiftstates = 0; -+ locale_shiftstates = 0; - #endif - u32reset (); - } -@@ -391,7 +391,7 @@ reset_locale_vars () - # if defined (HANDLE_MULTIBYTE) - locale_shiftstates = mblen ((char *)NULL, 0); - # else -- local_shiftstates = 0; -+ locale_shiftstates = 0; - # endif - u32reset (); - #endif --- -2.30.1 - diff --git a/package/bash/0002-parse.y-fix-compilation-for-non-multibyte-builds.patch b/package/bash/0002-parse.y-fix-compilation-for-non-multibyte-builds.patch new file mode 100644 index 00000000000..d330de5cd42 --- /dev/null +++ b/package/bash/0002-parse.y-fix-compilation-for-non-multibyte-builds.patch @@ -0,0 +1,63 @@ +From 0217fc2816e47ee296472df71d1011f0eb2937e6 Mon Sep 17 00:00:00 2001 +From: Vincent Fazio +Date: Fri, 27 Jan 2023 14:37:26 -0600 +Subject: [PATCH] parse.y: fix compilation for non-multibyte builds + +Builds configured with --disable-multibyte or when the toolchain does +not have WCHAR support would encounter a compile error due to an +undeclared reference to shell_input_line_property in shell_getc. + +Add a HANDLE_MULTIBYTE guard to conditionally compile the block that +references shell_input_line_property in shell_getc as it's only declared +when HANDLE_MULTIBYTE is defined. + +Signed-off-by: Vincent Fazio +[Upstream status: https://savannah.gnu.org/patch/index.php?10309] +--- + parse.y | 2 ++ + y.tab.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/parse.y b/parse.y +index 1d12e639..8f1355c6 100644 +--- a/parse.y ++++ b/parse.y +@@ -2625,6 +2625,7 @@ next_alias_char: + parser_state |= PST_ENDALIAS; + /* We need to do this to make sure last_shell_getc_is_singlebyte returns + true, since we are returning a single-byte space. */ ++#if defined (HANDLE_MULTIBYTE) + if (shell_input_line_index == shell_input_line_len && last_shell_getc_is_singlebyte == 0) + { + #if 0 +@@ -2638,6 +2639,7 @@ next_alias_char: + shell_input_line_property[shell_input_line_index - 1] = 1; + #endif + } ++#endif /* HANDLE_MULTIBYTE */ + return ' '; /* END_ALIAS */ + } + #endif +diff --git a/y.tab.c b/y.tab.c +index 50c5845b..799f730f 100644 +--- a/y.tab.c ++++ b/y.tab.c +@@ -4936,6 +4936,7 @@ next_alias_char: + parser_state |= PST_ENDALIAS; + /* We need to do this to make sure last_shell_getc_is_singlebyte returns + true, since we are returning a single-byte space. */ ++#if defined (HANDLE_MULTIBYTE) + if (shell_input_line_index == shell_input_line_len && last_shell_getc_is_singlebyte == 0) + { + #if 0 +@@ -4949,6 +4950,7 @@ next_alias_char: + shell_input_line_property[shell_input_line_index - 1] = 1; + #endif + } ++#endif /* HANDLE_MULTIBYTE */ + return ' '; /* END_ALIAS */ + } + #endif +-- +2.25.1 + diff --git a/package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch b/package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch new file mode 100644 index 00000000000..c412dcfce26 --- /dev/null +++ b/package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch @@ -0,0 +1,62 @@ +From 754e0d1edc1c01b18f4890de7c58f7610e589d76 Mon Sep 17 00:00:00 2001 +From: Vincent Fazio +Date: Tue, 7 Feb 2023 03:55:28 -0600 +Subject: [PATCH] configure: invert condition for strtoimax builtin + +Previously, bash would attempt to build a replacement for strtoimax if +it found that the C library had the function already declared. + +This caused build errors when linking against static libraries that did +not define the function as a weak alias but, in reality, was a logic +error since bash should only provide it's own implementation if one is +not provided by the C library. + +Now, fix this by inverting the logic. + +Upstream: + https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=43e861c2cd840946a81dfd0386966eb4f3a17ce9 + +Signed-off-by: Vincent Fazio +[yann.morin.1998@free.fr: patch configure after the m file] +Signed-off-by: Yann E. MORIN +--- + configure | 6 +++++- + m4/strtoimax.m4 | 5 ++++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/m4/strtoimax.m4 b/m4/strtoimax.m4 +index 30985723..fa43ac7b 100644 +--- a/m4/strtoimax.m4 ++++ b/m4/strtoimax.m4 +@@ -29,7 +29,10 @@ AC_CACHE_VAL(bash_cv_func_strtoimax, + fi + ]) + AC_MSG_RESULT($bash_cv_func_strtoimax) +-if test $bash_cv_func_strtoimax = yes; then ++if test "$ac_cv_have_decl_strtoimax" = "yes" ; then ++AC_DEFINE([HAVE_DECL_STRTOIMAX], [1]) ++fi ++if test $bash_cv_func_strtoimax = no; then + AC_LIBOBJ(strtoimax) + fi + ]) +diff --git a/configure b/configure +index 47313753..6039cee7 100755 +--- a/configure ++++ b/configure +@@ -20443,7 +20443,11 @@ fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_strtoimax" >&5 + printf "%s\n" "$bash_cv_func_strtoimax" >&6; } +-if test $bash_cv_func_strtoimax = yes; then ++if test "$ac_cv_have_decl_strtoimax" = "yes" ; then ++printf "%s\n" "#define HAVE_DECL_STRTOIMAX 1" >>confdefs.h ++ ++fi ++if test $bash_cv_func_strtoimax = no; then + case " $LIBOBJS " in + *" strtoimax.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strtoimax.$ac_objext" +-- +2.25.1 + diff --git a/package/bash/0003-glob-fix-dequote_pathname-vs.-udequote_pathname.patch b/package/bash/0003-glob-fix-dequote_pathname-vs.-udequote_pathname.patch deleted file mode 100644 index a801f68236c..00000000000 --- a/package/bash/0003-glob-fix-dequote_pathname-vs.-udequote_pathname.patch +++ /dev/null @@ -1,40 +0,0 @@ -From a60ab1e5e88863acf9b0e9bcaa7919bbf093da05 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Thu, 11 Mar 2021 20:55:52 +0100 -Subject: [PATCH] glob: fix dequote_pathname vs. udequote_pathname -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: - - glob.c:123:28: error: static declaration of ‘udequote_pathname’ follows non-static declaration - 123 | # define dequote_pathname udequote_pathname - | ^~~~~~~~~~~~~~~~~ - glob.c:125:13: note: in expansion of macro ‘dequote_pathname’ - 125 | static void dequote_pathname PARAMS((char *)); - | ^~~~~~~~~~~~~~~~ - glob.c:118:6: note: previous declaration of ‘udequote_pathname’ was here - 118 | void udequote_pathname PARAMS((char *)); - | ^~~~~~~~~~~~~~~~~ - -Signed-off-by: Peter Seiderer ---- - lib/glob/glob.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/lib/glob/glob.c b/lib/glob/glob.c -index eb6277f..c903b15 100644 ---- a/lib/glob/glob.c -+++ b/lib/glob/glob.c -@@ -117,6 +117,5 @@ static int mbskipname PARAMS((char *, char *, int)); - #else - # define dequote_pathname udequote_pathname - #endif --static void dequote_pathname PARAMS((char *)); - static int glob_testdir PARAMS((char *, int)); - static char **glob_dir_to_array PARAMS((char *, char **, int)); - --- -2.30.1 - diff --git a/package/bash/bash.hash b/package/bash/bash.hash index 4660e9d38a9..44c1c5ed50e 100644 --- a/package/bash/bash.hash +++ b/package/bash/bash.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# https://ftp.gnu.org/gnu/bash/bash-5.1.16.tar.gz.sig -sha256 5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558 bash-5.1.16.tar.gz +# https://ftp.gnu.org/gnu/bash/bash-5.2.21.tar.gz.sig +sha256 c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8 bash-5.2.21.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 3aca22898e7..9d173a5c7c0 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -4,7 +4,7 @@ # ################################################################################ -BASH_VERSION = 5.1.16 +BASH_VERSION = 5.2.21 BASH_SITE = $(BR2_GNU_MIRROR)/bash BASH_DEPENDENCIES = ncurses readline host-bison BASH_LICENSE = GPL-3.0+ @@ -62,10 +62,10 @@ endif # Add /bin/bash to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. -define BASH_ADD_MKSH_TO_SHELLS +define BASH_ADD_BASH_TO_SHELLS grep -qsE '^/bin/bash$$' $(TARGET_DIR)/etc/shells \ || echo "/bin/bash" >> $(TARGET_DIR)/etc/shells endef -BASH_TARGET_FINALIZE_HOOKS += BASH_ADD_MKSH_TO_SHELLS +BASH_TARGET_FINALIZE_HOOKS += BASH_ADD_BASH_TO_SHELLS $(eval $(autotools-package)) diff --git a/package/bat/bat.hash b/package/bat/bat.hash index f4d3e32c347..3fc01aff7f6 100644 --- a/package/bat/bat.hash +++ b/package/bat/bat.hash @@ -1,4 +1,4 @@ # Locally generated -sha256 7940641baaa61cd3bcd1c3db4804d179609d6ccd955868928a129bf3f853e0b2 bat-0.19.0.tar.gz +sha256 59d40adf1532834613752511cb5349679bf82f7f20b98e42de50472d4aa97970 bat-0.24.0.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE-APACHE -sha256 64de710b6309a7db5e44ad0af382300c7fb6f6d116d8ae32f0164e05db033068 LICENSE-MIT +sha256 dccda9eb9533f5c65624a1106536c6cfde46008d58e60b3faf154e8b9fd5b46e LICENSE-MIT diff --git a/package/bat/bat.mk b/package/bat/bat.mk index dc29a85429c..b95cdb25acc 100644 --- a/package/bat/bat.mk +++ b/package/bat/bat.mk @@ -4,7 +4,7 @@ # ################################################################################ -BAT_VERSION = 0.19.0 +BAT_VERSION = 0.24.0 BAT_SITE = $(call github,sharkdp,bat,v$(BAT_VERSION)) BAT_LICENSE = Apache-2.0 or MIT BAT_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT diff --git a/package/batman-adv/batman-adv.hash b/package/batman-adv/batman-adv.hash index 14a92c231ae..b95dfa34dda 100644 --- a/package/batman-adv/batman-adv.hash +++ b/package/batman-adv/batman-adv.hash @@ -1,7 +1,8 @@ -# From https://downloads.open-mesh.org/batman/releases/batman-adv-2022.2/batman-adv-2022.2.tar.gz.sha1 -sha1 e1829e10fc37ea674a20cb9ba1d6c1483042fbfa batman-adv-2022.2.tar.gz +# From https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2023.1.tar.gz.sha1 +sha1 e3d6e8d4db772156d7ad021b9a166832633a2ea5 batman-adv-2023.1.tar.gz +# locally computed +sha256 f46a7286660a5ec3506a1be7ef60b471c51ac70550597d598040479ab7b936b8 batman-adv-2022.3.tar.gz # Hash for license files -sha256 218ffb534fead1c9b5b0d90ec1b2fba688209cdf00e861bece1cbf469fe69953 batman-adv-2022.3.tar.gz sha256 cecbf53d1148e13256ac29f8b900655b7fc8dc12d59939a95bc2323ea1747025 LICENSES/preferred/GPL-2.0 sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT diff --git a/package/batman-adv/batman-adv.mk b/package/batman-adv/batman-adv.mk index 75b8292ee1b..5b50572d115 100644 --- a/package/batman-adv/batman-adv.mk +++ b/package/batman-adv/batman-adv.mk @@ -4,7 +4,7 @@ # ################################################################################ -BATMAN_ADV_VERSION = 2022.3 +BATMAN_ADV_VERSION = 2023.1 BATMAN_ADV_SITE = https://downloads.open-mesh.org/batman/stable/sources/batman-adv BATMAN_ADV_LICENSE = GPL-2.0, MIT (batman_adv.h) BATMAN_ADV_LICENSE_FILES = LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT diff --git a/package/bayer2rgb-neon/0001-add-some-_always_inline_-annotations.patch b/package/bayer2rgb-neon/0001-add-some-_always_inline_-annotations.patch deleted file mode 100644 index 281f90c8752..00000000000 --- a/package/bayer2rgb-neon/0001-add-some-_always_inline_-annotations.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 4e5d8be1b0d18453b76fca2c5139222a071dd207 Mon Sep 17 00:00:00 2001 -From: Enrico Scholz -Date: Mon, 4 Jul 2022 12:05:30 +0200 -Subject: [PATCH] add some _always_inline_ annotations - -enforce inlining to fix build errors with '-Og' - -fixes #1 - -Signed-off-by: Enrico Scholz -[Retrieved from: -https://gitlab-ext.sigma-chemnitz.de/ensc/bayer2rgb/-/commit/4e5d8be1b0d18453b76fca2c5139222a071dd207] -Signed-off-by: Fabrice Fontaine ---- - src/convert.c | 5 +++-- - src/main.c | 5 +++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/src/convert.c b/src/convert.c -index c852a14..ec77040 100644 ---- a/src/convert.c -+++ b/src/convert.c -@@ -17,8 +17,9 @@ - #include - #include - #include "bayer2rgb.h" -+#include "compiler.h" - --static bool have_neon() -+inline static _always_inline_ bool have_neon() - { - #ifdef HAVE_NEON - return true; -@@ -27,7 +28,7 @@ static bool have_neon() - #endif - } - --static bool have_cplusplus() -+inline static _always_inline_ bool have_cplusplus() - { - #ifdef HAVE_CPLUSPLUS - return true; -diff --git a/src/main.c b/src/main.c -index 841a142..087e8e5 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -33,6 +33,7 @@ - - #include "src/bayer2rgb.h" - #include "src/bayer2rgb-cmdline.h" -+#include "src/compiler.h" - - #define BPP_TO_BYTE(_bpp) (((_bpp) + 7) / 8) - -@@ -68,7 +69,7 @@ struct x_image_out { - size_t total_size; - }; - --inline static bool have_neon(void) -+inline static _always_inline_ bool have_neon(void) - { - #ifdef HAVE_NEON - return true; -@@ -77,7 +78,7 @@ inline static bool have_neon(void) - #endif - } - --static bool have_cplusplus() -+inline static _always_inline_ bool have_cplusplus() - { - #ifdef HAVE_CPLUSPLUS - return true; --- -GitLab - diff --git a/package/bayer2rgb-neon/bayer2rgb-neon.hash b/package/bayer2rgb-neon/bayer2rgb-neon.hash index 26a14fcb51f..7b26073de00 100644 --- a/package/bayer2rgb-neon/bayer2rgb-neon.hash +++ b/package/bayer2rgb-neon/bayer2rgb-neon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 edf451dbb52ad67eb35f9043390bd75ea7228d493c99184aae80b3bd27beab62 bayer2rgb-neon-15feb1115b4828488cc36d09f625e23e8b6a0ec5-br1.tar.gz +sha256 35b38a40e98e9fa7fb8042c718f460fb806e916d2bf3e9721c07bbe4b42faad5 bayer2rgb-neon-bc950b3398ba034fe5cc39f625796a6111cdb87f-br1.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/bayer2rgb-neon/bayer2rgb-neon.mk b/package/bayer2rgb-neon/bayer2rgb-neon.mk index 212fe767666..61d6334979e 100644 --- a/package/bayer2rgb-neon/bayer2rgb-neon.mk +++ b/package/bayer2rgb-neon/bayer2rgb-neon.mk @@ -4,7 +4,7 @@ # ################################################################################ -BAYER2RGB_NEON_VERSION = 15feb1115b4828488cc36d09f625e23e8b6a0ec5 +BAYER2RGB_NEON_VERSION = bc950b3398ba034fe5cc39f625796a6111cdb87f BAYER2RGB_NEON_SITE = https://gitlab-ext.sigma-chemnitz.de/ensc/bayer2rgb.git BAYER2RGB_NEON_SITE_METHOD = git BAYER2RGB_NEON_LICENSE = GPL-3.0 @@ -19,6 +19,14 @@ ifeq ($(BR2_arm),y) BAYER2RGB_NEON_CFLAGS += -mfpu=neon endif +# __builtin_prefetch() third argument must be a constant, but +# bayer2rgb-neon uses a variable, derived from a constant, so some +# optimization is needed to allow the compiler to turn it into a +# constant, otherwise the build fails +ifeq ($(BR2_OPTIMIZE_0),y) +BAYER2RGB_NEON_CFLAGS += -O1 +endif + BAYER2RGB_NEON_CONF_ENV = CFLAGS="$(BAYER2RGB_NEON_CFLAGS)" $(eval $(autotools-package)) diff --git a/package/bcm2835/bcm2835.hash b/package/bcm2835/bcm2835.hash index 2cdc35fcee4..802f34335bb 100644 --- a/package/bcm2835/bcm2835.hash +++ b/package/bcm2835/bcm2835.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 564920d205977d7e2846e434947708455d468d3a952feca9faef643abd03a227 bcm2835-1.71.tar.gz +sha256 e67a986462618988a5a86752e36e3ebdd7c5cae66940ff7330aea243b2762525 bcm2835-1.73.tar.gz sha256 8b1ba204bb69a0ade2bfcf65ef294a920f6bb361b317dba43c7ef29d96332b9b COPYING diff --git a/package/bcm2835/bcm2835.mk b/package/bcm2835/bcm2835.mk index 4870aa10ba4..dcf21cb5f03 100644 --- a/package/bcm2835/bcm2835.mk +++ b/package/bcm2835/bcm2835.mk @@ -4,7 +4,7 @@ # ################################################################################ -BCM2835_VERSION = 1.71 +BCM2835_VERSION = 1.73 BCM2835_SITE = https://www.airspayce.com/mikem/bcm2835 BCM2835_LICENSE = GPL-3.0 BCM2835_LICENSE_FILES = COPYING diff --git a/package/bdwgc/bdwgc.hash b/package/bdwgc/bdwgc.hash index 917089da088..8fa49b4585e 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f30107bcb062e0920a790ffffa56d9512348546859364c23a14be264b38836a0 gc-8.2.2.tar.gz +sha256 3d0d3cdbe077403d3106bb40f0cbb563413d6efdbb2a7e1cd6886595dec48fc2 gc-8.2.4.tar.gz sha256 a9b077aeb4e9e1aaf9742119d8023ef26f52f445cdc3f60d390bf59e1647f54a README.QUICK diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index e776fb74583..0e9c9d849c4 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -4,13 +4,13 @@ # ################################################################################ -BDWGC_VERSION = 8.2.2 +BDWGC_VERSION = 8.2.4 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz BDWGC_SITE = https://github.com/ivmai/bdwgc/releases/download/v$(BDWGC_VERSION) BDWGC_INSTALL_STAGING = YES BDWGC_LICENSE = bdwgc license BDWGC_LICENSE_FILES = README.QUICK -BDWGC_CPE_ID_VENDOR = bdwgc_project +BDWGC_CPE_ID_VALID = YES BDWGC_DEPENDENCIES = libatomic_ops host-pkgconf HOST_BDWGC_DEPENDENCIES = host-libatomic_ops host-pkgconf diff --git a/package/bearssl/0001-Fix-missing-objdir-dependency.patch b/package/bearssl/0001-Fix-missing-objdir-dependency.patch new file mode 100644 index 00000000000..4d4d9ee7052 --- /dev/null +++ b/package/bearssl/0001-Fix-missing-objdir-dependency.patch @@ -0,0 +1,1252 @@ +From 6fddb4056e0b8f72c2602ef82dcd973704354962 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Mon, 12 Dec 2022 10:12:58 -0700 +Subject: [PATCH] Fix missing objdir dependency. + +Make targets within $(OBJDIR) must depend on the $(OBJDIR) +target. + +Fixes: +Assembler messages: +Fatal error: can't create build/obj/x509_minimal_full.o: No such file or directory +make[2]: *** [mk/Rules.mk:1190: build/obj/x509_minimal_full.o] Error 1 shuffle=reverse + +Signed-off-by: James Hilliard +Cc: Thomas Pornin +Cc: Thomas Pornin +[Upstream status: emailed patch to maintainer] +--- + mk/Rules.mk | 594 +++++++++++++++++++++++++------------------------- + mk/mkrules.sh | 8 +- + 2 files changed, 301 insertions(+), 301 deletions(-) + +diff --git a/mk/Rules.mk b/mk/Rules.mk +index b480bd6..a868977 100644 +--- a/mk/Rules.mk ++++ b/mk/Rules.mk +@@ -358,893 +358,893 @@ $(TESTSPEED): $(BEARSSLLIB) $(OBJTESTSPEED) + $(TESTX509): $(BEARSSLLIB) $(OBJTESTX509) + $(LD) $(LDFLAGS) $(LDOUT)$(TESTX509) $(OBJTESTX509) $(BEARSSLLIB) + +-$(OBJDIR)$Psettings$O: src$Psettings.c $(HEADERSPRIV) ++$(OBJDIR)$Psettings$O: $(OBJDIR) src$Psettings.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psettings$O src$Psettings.c + +-$(OBJDIR)$Pccm$O: src$Paead$Pccm.c $(HEADERSPRIV) ++$(OBJDIR)$Pccm$O: $(OBJDIR) src$Paead$Pccm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pccm$O src$Paead$Pccm.c + +-$(OBJDIR)$Peax$O: src$Paead$Peax.c $(HEADERSPRIV) ++$(OBJDIR)$Peax$O: $(OBJDIR) src$Paead$Peax.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Peax$O src$Paead$Peax.c + +-$(OBJDIR)$Pgcm$O: src$Paead$Pgcm.c $(HEADERSPRIV) ++$(OBJDIR)$Pgcm$O: $(OBJDIR) src$Paead$Pgcm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pgcm$O src$Paead$Pgcm.c + +-$(OBJDIR)$Pccopy$O: src$Pcodec$Pccopy.c $(HEADERSPRIV) ++$(OBJDIR)$Pccopy$O: $(OBJDIR) src$Pcodec$Pccopy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pccopy$O src$Pcodec$Pccopy.c + +-$(OBJDIR)$Pdec16be$O: src$Pcodec$Pdec16be.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec16be$O: $(OBJDIR) src$Pcodec$Pdec16be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec16be$O src$Pcodec$Pdec16be.c + +-$(OBJDIR)$Pdec16le$O: src$Pcodec$Pdec16le.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec16le$O: $(OBJDIR) src$Pcodec$Pdec16le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec16le$O src$Pcodec$Pdec16le.c + +-$(OBJDIR)$Pdec32be$O: src$Pcodec$Pdec32be.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec32be$O: $(OBJDIR) src$Pcodec$Pdec32be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec32be$O src$Pcodec$Pdec32be.c + +-$(OBJDIR)$Pdec32le$O: src$Pcodec$Pdec32le.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec32le$O: $(OBJDIR) src$Pcodec$Pdec32le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec32le$O src$Pcodec$Pdec32le.c + +-$(OBJDIR)$Pdec64be$O: src$Pcodec$Pdec64be.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec64be$O: $(OBJDIR) src$Pcodec$Pdec64be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec64be$O src$Pcodec$Pdec64be.c + +-$(OBJDIR)$Pdec64le$O: src$Pcodec$Pdec64le.c $(HEADERSPRIV) ++$(OBJDIR)$Pdec64le$O: $(OBJDIR) src$Pcodec$Pdec64le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdec64le$O src$Pcodec$Pdec64le.c + +-$(OBJDIR)$Penc16be$O: src$Pcodec$Penc16be.c $(HEADERSPRIV) ++$(OBJDIR)$Penc16be$O: $(OBJDIR) src$Pcodec$Penc16be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc16be$O src$Pcodec$Penc16be.c + +-$(OBJDIR)$Penc16le$O: src$Pcodec$Penc16le.c $(HEADERSPRIV) ++$(OBJDIR)$Penc16le$O: $(OBJDIR) src$Pcodec$Penc16le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc16le$O src$Pcodec$Penc16le.c + +-$(OBJDIR)$Penc32be$O: src$Pcodec$Penc32be.c $(HEADERSPRIV) ++$(OBJDIR)$Penc32be$O: $(OBJDIR) src$Pcodec$Penc32be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc32be$O src$Pcodec$Penc32be.c + +-$(OBJDIR)$Penc32le$O: src$Pcodec$Penc32le.c $(HEADERSPRIV) ++$(OBJDIR)$Penc32le$O: $(OBJDIR) src$Pcodec$Penc32le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc32le$O src$Pcodec$Penc32le.c + +-$(OBJDIR)$Penc64be$O: src$Pcodec$Penc64be.c $(HEADERSPRIV) ++$(OBJDIR)$Penc64be$O: $(OBJDIR) src$Pcodec$Penc64be.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc64be$O src$Pcodec$Penc64be.c + +-$(OBJDIR)$Penc64le$O: src$Pcodec$Penc64le.c $(HEADERSPRIV) ++$(OBJDIR)$Penc64le$O: $(OBJDIR) src$Pcodec$Penc64le.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Penc64le$O src$Pcodec$Penc64le.c + +-$(OBJDIR)$Ppemdec$O: src$Pcodec$Ppemdec.c $(HEADERSPRIV) ++$(OBJDIR)$Ppemdec$O: $(OBJDIR) src$Pcodec$Ppemdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppemdec$O src$Pcodec$Ppemdec.c + +-$(OBJDIR)$Ppemenc$O: src$Pcodec$Ppemenc.c $(HEADERSPRIV) ++$(OBJDIR)$Ppemenc$O: $(OBJDIR) src$Pcodec$Ppemenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppemenc$O src$Pcodec$Ppemenc.c + +-$(OBJDIR)$Pec_all_m15$O: src$Pec$Pec_all_m15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_all_m15$O: $(OBJDIR) src$Pec$Pec_all_m15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_all_m15$O src$Pec$Pec_all_m15.c + +-$(OBJDIR)$Pec_all_m31$O: src$Pec$Pec_all_m31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_all_m31$O: $(OBJDIR) src$Pec$Pec_all_m31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_all_m31$O src$Pec$Pec_all_m31.c + +-$(OBJDIR)$Pec_c25519_i15$O: src$Pec$Pec_c25519_i15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_i15$O: $(OBJDIR) src$Pec$Pec_c25519_i15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_i15$O src$Pec$Pec_c25519_i15.c + +-$(OBJDIR)$Pec_c25519_i31$O: src$Pec$Pec_c25519_i31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_i31$O: $(OBJDIR) src$Pec$Pec_c25519_i31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_i31$O src$Pec$Pec_c25519_i31.c + +-$(OBJDIR)$Pec_c25519_m15$O: src$Pec$Pec_c25519_m15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_m15$O: $(OBJDIR) src$Pec$Pec_c25519_m15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_m15$O src$Pec$Pec_c25519_m15.c + +-$(OBJDIR)$Pec_c25519_m31$O: src$Pec$Pec_c25519_m31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_c25519_m31$O: $(OBJDIR) src$Pec$Pec_c25519_m31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_c25519_m31$O src$Pec$Pec_c25519_m31.c + +-$(OBJDIR)$Pec_curve25519$O: src$Pec$Pec_curve25519.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_curve25519$O: $(OBJDIR) src$Pec$Pec_curve25519.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_curve25519$O src$Pec$Pec_curve25519.c + +-$(OBJDIR)$Pec_default$O: src$Pec$Pec_default.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_default$O: $(OBJDIR) src$Pec$Pec_default.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_default$O src$Pec$Pec_default.c + +-$(OBJDIR)$Pec_keygen$O: src$Pec$Pec_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_keygen$O: $(OBJDIR) src$Pec$Pec_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_keygen$O src$Pec$Pec_keygen.c + +-$(OBJDIR)$Pec_p256_m15$O: src$Pec$Pec_p256_m15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_p256_m15$O: $(OBJDIR) src$Pec$Pec_p256_m15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_p256_m15$O src$Pec$Pec_p256_m15.c + +-$(OBJDIR)$Pec_p256_m31$O: src$Pec$Pec_p256_m31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_p256_m31$O: $(OBJDIR) src$Pec$Pec_p256_m31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_p256_m31$O src$Pec$Pec_p256_m31.c + +-$(OBJDIR)$Pec_prime_i15$O: src$Pec$Pec_prime_i15.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_prime_i15$O: $(OBJDIR) src$Pec$Pec_prime_i15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_prime_i15$O src$Pec$Pec_prime_i15.c + +-$(OBJDIR)$Pec_prime_i31$O: src$Pec$Pec_prime_i31.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_prime_i31$O: $(OBJDIR) src$Pec$Pec_prime_i31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_prime_i31$O src$Pec$Pec_prime_i31.c + +-$(OBJDIR)$Pec_pubkey$O: src$Pec$Pec_pubkey.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_pubkey$O: $(OBJDIR) src$Pec$Pec_pubkey.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_pubkey$O src$Pec$Pec_pubkey.c + +-$(OBJDIR)$Pec_secp256r1$O: src$Pec$Pec_secp256r1.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_secp256r1$O: $(OBJDIR) src$Pec$Pec_secp256r1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_secp256r1$O src$Pec$Pec_secp256r1.c + +-$(OBJDIR)$Pec_secp384r1$O: src$Pec$Pec_secp384r1.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_secp384r1$O: $(OBJDIR) src$Pec$Pec_secp384r1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_secp384r1$O src$Pec$Pec_secp384r1.c + +-$(OBJDIR)$Pec_secp521r1$O: src$Pec$Pec_secp521r1.c $(HEADERSPRIV) ++$(OBJDIR)$Pec_secp521r1$O: $(OBJDIR) src$Pec$Pec_secp521r1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pec_secp521r1$O src$Pec$Pec_secp521r1.c + +-$(OBJDIR)$Pecdsa_atr$O: src$Pec$Pecdsa_atr.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_atr$O: $(OBJDIR) src$Pec$Pecdsa_atr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_atr$O src$Pec$Pecdsa_atr.c + +-$(OBJDIR)$Pecdsa_default_sign_asn1$O: src$Pec$Pecdsa_default_sign_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_sign_asn1$O: $(OBJDIR) src$Pec$Pecdsa_default_sign_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_sign_asn1$O src$Pec$Pecdsa_default_sign_asn1.c + +-$(OBJDIR)$Pecdsa_default_sign_raw$O: src$Pec$Pecdsa_default_sign_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_sign_raw$O: $(OBJDIR) src$Pec$Pecdsa_default_sign_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_sign_raw$O src$Pec$Pecdsa_default_sign_raw.c + +-$(OBJDIR)$Pecdsa_default_vrfy_asn1$O: src$Pec$Pecdsa_default_vrfy_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_vrfy_asn1$O: $(OBJDIR) src$Pec$Pecdsa_default_vrfy_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_vrfy_asn1$O src$Pec$Pecdsa_default_vrfy_asn1.c + +-$(OBJDIR)$Pecdsa_default_vrfy_raw$O: src$Pec$Pecdsa_default_vrfy_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_default_vrfy_raw$O: $(OBJDIR) src$Pec$Pecdsa_default_vrfy_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_default_vrfy_raw$O src$Pec$Pecdsa_default_vrfy_raw.c + +-$(OBJDIR)$Pecdsa_i15_bits$O: src$Pec$Pecdsa_i15_bits.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_bits$O: $(OBJDIR) src$Pec$Pecdsa_i15_bits.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_bits$O src$Pec$Pecdsa_i15_bits.c + +-$(OBJDIR)$Pecdsa_i15_sign_asn1$O: src$Pec$Pecdsa_i15_sign_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_sign_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i15_sign_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_sign_asn1$O src$Pec$Pecdsa_i15_sign_asn1.c + +-$(OBJDIR)$Pecdsa_i15_sign_raw$O: src$Pec$Pecdsa_i15_sign_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_sign_raw$O: $(OBJDIR) src$Pec$Pecdsa_i15_sign_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_sign_raw$O src$Pec$Pecdsa_i15_sign_raw.c + +-$(OBJDIR)$Pecdsa_i15_vrfy_asn1$O: src$Pec$Pecdsa_i15_vrfy_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_vrfy_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i15_vrfy_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_vrfy_asn1$O src$Pec$Pecdsa_i15_vrfy_asn1.c + +-$(OBJDIR)$Pecdsa_i15_vrfy_raw$O: src$Pec$Pecdsa_i15_vrfy_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i15_vrfy_raw$O: $(OBJDIR) src$Pec$Pecdsa_i15_vrfy_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i15_vrfy_raw$O src$Pec$Pecdsa_i15_vrfy_raw.c + +-$(OBJDIR)$Pecdsa_i31_bits$O: src$Pec$Pecdsa_i31_bits.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_bits$O: $(OBJDIR) src$Pec$Pecdsa_i31_bits.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_bits$O src$Pec$Pecdsa_i31_bits.c + +-$(OBJDIR)$Pecdsa_i31_sign_asn1$O: src$Pec$Pecdsa_i31_sign_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_sign_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i31_sign_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_sign_asn1$O src$Pec$Pecdsa_i31_sign_asn1.c + +-$(OBJDIR)$Pecdsa_i31_sign_raw$O: src$Pec$Pecdsa_i31_sign_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_sign_raw$O: $(OBJDIR) src$Pec$Pecdsa_i31_sign_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_sign_raw$O src$Pec$Pecdsa_i31_sign_raw.c + +-$(OBJDIR)$Pecdsa_i31_vrfy_asn1$O: src$Pec$Pecdsa_i31_vrfy_asn1.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_vrfy_asn1$O: $(OBJDIR) src$Pec$Pecdsa_i31_vrfy_asn1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_vrfy_asn1$O src$Pec$Pecdsa_i31_vrfy_asn1.c + +-$(OBJDIR)$Pecdsa_i31_vrfy_raw$O: src$Pec$Pecdsa_i31_vrfy_raw.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_i31_vrfy_raw$O: $(OBJDIR) src$Pec$Pecdsa_i31_vrfy_raw.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_i31_vrfy_raw$O src$Pec$Pecdsa_i31_vrfy_raw.c + +-$(OBJDIR)$Pecdsa_rta$O: src$Pec$Pecdsa_rta.c $(HEADERSPRIV) ++$(OBJDIR)$Pecdsa_rta$O: $(OBJDIR) src$Pec$Pecdsa_rta.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pecdsa_rta$O src$Pec$Pecdsa_rta.c + +-$(OBJDIR)$Pdig_oid$O: src$Phash$Pdig_oid.c $(HEADERSPRIV) ++$(OBJDIR)$Pdig_oid$O: $(OBJDIR) src$Phash$Pdig_oid.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdig_oid$O src$Phash$Pdig_oid.c + +-$(OBJDIR)$Pdig_size$O: src$Phash$Pdig_size.c $(HEADERSPRIV) ++$(OBJDIR)$Pdig_size$O: $(OBJDIR) src$Phash$Pdig_size.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdig_size$O src$Phash$Pdig_size.c + +-$(OBJDIR)$Pghash_ctmul$O: src$Phash$Pghash_ctmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_ctmul$O: $(OBJDIR) src$Phash$Pghash_ctmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_ctmul$O src$Phash$Pghash_ctmul.c + +-$(OBJDIR)$Pghash_ctmul32$O: src$Phash$Pghash_ctmul32.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_ctmul32$O: $(OBJDIR) src$Phash$Pghash_ctmul32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_ctmul32$O src$Phash$Pghash_ctmul32.c + +-$(OBJDIR)$Pghash_ctmul64$O: src$Phash$Pghash_ctmul64.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_ctmul64$O: $(OBJDIR) src$Phash$Pghash_ctmul64.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_ctmul64$O src$Phash$Pghash_ctmul64.c + +-$(OBJDIR)$Pghash_pclmul$O: src$Phash$Pghash_pclmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_pclmul$O: $(OBJDIR) src$Phash$Pghash_pclmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_pclmul$O src$Phash$Pghash_pclmul.c + +-$(OBJDIR)$Pghash_pwr8$O: src$Phash$Pghash_pwr8.c $(HEADERSPRIV) ++$(OBJDIR)$Pghash_pwr8$O: $(OBJDIR) src$Phash$Pghash_pwr8.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pghash_pwr8$O src$Phash$Pghash_pwr8.c + +-$(OBJDIR)$Pmd5$O: src$Phash$Pmd5.c $(HEADERSPRIV) ++$(OBJDIR)$Pmd5$O: $(OBJDIR) src$Phash$Pmd5.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmd5$O src$Phash$Pmd5.c + +-$(OBJDIR)$Pmd5sha1$O: src$Phash$Pmd5sha1.c $(HEADERSPRIV) ++$(OBJDIR)$Pmd5sha1$O: $(OBJDIR) src$Phash$Pmd5sha1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmd5sha1$O src$Phash$Pmd5sha1.c + +-$(OBJDIR)$Pmgf1$O: src$Phash$Pmgf1.c $(HEADERSPRIV) ++$(OBJDIR)$Pmgf1$O: $(OBJDIR) src$Phash$Pmgf1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmgf1$O src$Phash$Pmgf1.c + +-$(OBJDIR)$Pmultihash$O: src$Phash$Pmultihash.c $(HEADERSPRIV) ++$(OBJDIR)$Pmultihash$O: $(OBJDIR) src$Phash$Pmultihash.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pmultihash$O src$Phash$Pmultihash.c + +-$(OBJDIR)$Psha1$O: src$Phash$Psha1.c $(HEADERSPRIV) ++$(OBJDIR)$Psha1$O: $(OBJDIR) src$Phash$Psha1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psha1$O src$Phash$Psha1.c + +-$(OBJDIR)$Psha2big$O: src$Phash$Psha2big.c $(HEADERSPRIV) ++$(OBJDIR)$Psha2big$O: $(OBJDIR) src$Phash$Psha2big.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psha2big$O src$Phash$Psha2big.c + +-$(OBJDIR)$Psha2small$O: src$Phash$Psha2small.c $(HEADERSPRIV) ++$(OBJDIR)$Psha2small$O: $(OBJDIR) src$Phash$Psha2small.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psha2small$O src$Phash$Psha2small.c + +-$(OBJDIR)$Pi15_add$O: src$Pint$Pi15_add.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_add$O: $(OBJDIR) src$Pint$Pi15_add.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_add$O src$Pint$Pi15_add.c + +-$(OBJDIR)$Pi15_bitlen$O: src$Pint$Pi15_bitlen.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_bitlen$O: $(OBJDIR) src$Pint$Pi15_bitlen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_bitlen$O src$Pint$Pi15_bitlen.c + +-$(OBJDIR)$Pi15_decmod$O: src$Pint$Pi15_decmod.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_decmod$O: $(OBJDIR) src$Pint$Pi15_decmod.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_decmod$O src$Pint$Pi15_decmod.c + +-$(OBJDIR)$Pi15_decode$O: src$Pint$Pi15_decode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_decode$O: $(OBJDIR) src$Pint$Pi15_decode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_decode$O src$Pint$Pi15_decode.c + +-$(OBJDIR)$Pi15_decred$O: src$Pint$Pi15_decred.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_decred$O: $(OBJDIR) src$Pint$Pi15_decred.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_decred$O src$Pint$Pi15_decred.c + +-$(OBJDIR)$Pi15_encode$O: src$Pint$Pi15_encode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_encode$O: $(OBJDIR) src$Pint$Pi15_encode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_encode$O src$Pint$Pi15_encode.c + +-$(OBJDIR)$Pi15_fmont$O: src$Pint$Pi15_fmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_fmont$O: $(OBJDIR) src$Pint$Pi15_fmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_fmont$O src$Pint$Pi15_fmont.c + +-$(OBJDIR)$Pi15_iszero$O: src$Pint$Pi15_iszero.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_iszero$O: $(OBJDIR) src$Pint$Pi15_iszero.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_iszero$O src$Pint$Pi15_iszero.c + +-$(OBJDIR)$Pi15_moddiv$O: src$Pint$Pi15_moddiv.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_moddiv$O: $(OBJDIR) src$Pint$Pi15_moddiv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_moddiv$O src$Pint$Pi15_moddiv.c + +-$(OBJDIR)$Pi15_modpow$O: src$Pint$Pi15_modpow.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_modpow$O: $(OBJDIR) src$Pint$Pi15_modpow.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_modpow$O src$Pint$Pi15_modpow.c + +-$(OBJDIR)$Pi15_modpow2$O: src$Pint$Pi15_modpow2.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_modpow2$O: $(OBJDIR) src$Pint$Pi15_modpow2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_modpow2$O src$Pint$Pi15_modpow2.c + +-$(OBJDIR)$Pi15_montmul$O: src$Pint$Pi15_montmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_montmul$O: $(OBJDIR) src$Pint$Pi15_montmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_montmul$O src$Pint$Pi15_montmul.c + +-$(OBJDIR)$Pi15_mulacc$O: src$Pint$Pi15_mulacc.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_mulacc$O: $(OBJDIR) src$Pint$Pi15_mulacc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_mulacc$O src$Pint$Pi15_mulacc.c + +-$(OBJDIR)$Pi15_muladd$O: src$Pint$Pi15_muladd.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_muladd$O: $(OBJDIR) src$Pint$Pi15_muladd.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_muladd$O src$Pint$Pi15_muladd.c + +-$(OBJDIR)$Pi15_ninv15$O: src$Pint$Pi15_ninv15.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_ninv15$O: $(OBJDIR) src$Pint$Pi15_ninv15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_ninv15$O src$Pint$Pi15_ninv15.c + +-$(OBJDIR)$Pi15_reduce$O: src$Pint$Pi15_reduce.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_reduce$O: $(OBJDIR) src$Pint$Pi15_reduce.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_reduce$O src$Pint$Pi15_reduce.c + +-$(OBJDIR)$Pi15_rshift$O: src$Pint$Pi15_rshift.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_rshift$O: $(OBJDIR) src$Pint$Pi15_rshift.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_rshift$O src$Pint$Pi15_rshift.c + +-$(OBJDIR)$Pi15_sub$O: src$Pint$Pi15_sub.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_sub$O: $(OBJDIR) src$Pint$Pi15_sub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_sub$O src$Pint$Pi15_sub.c + +-$(OBJDIR)$Pi15_tmont$O: src$Pint$Pi15_tmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi15_tmont$O: $(OBJDIR) src$Pint$Pi15_tmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi15_tmont$O src$Pint$Pi15_tmont.c + +-$(OBJDIR)$Pi31_add$O: src$Pint$Pi31_add.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_add$O: $(OBJDIR) src$Pint$Pi31_add.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_add$O src$Pint$Pi31_add.c + +-$(OBJDIR)$Pi31_bitlen$O: src$Pint$Pi31_bitlen.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_bitlen$O: $(OBJDIR) src$Pint$Pi31_bitlen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_bitlen$O src$Pint$Pi31_bitlen.c + +-$(OBJDIR)$Pi31_decmod$O: src$Pint$Pi31_decmod.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_decmod$O: $(OBJDIR) src$Pint$Pi31_decmod.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_decmod$O src$Pint$Pi31_decmod.c + +-$(OBJDIR)$Pi31_decode$O: src$Pint$Pi31_decode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_decode$O: $(OBJDIR) src$Pint$Pi31_decode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_decode$O src$Pint$Pi31_decode.c + +-$(OBJDIR)$Pi31_decred$O: src$Pint$Pi31_decred.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_decred$O: $(OBJDIR) src$Pint$Pi31_decred.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_decred$O src$Pint$Pi31_decred.c + +-$(OBJDIR)$Pi31_encode$O: src$Pint$Pi31_encode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_encode$O: $(OBJDIR) src$Pint$Pi31_encode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_encode$O src$Pint$Pi31_encode.c + +-$(OBJDIR)$Pi31_fmont$O: src$Pint$Pi31_fmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_fmont$O: $(OBJDIR) src$Pint$Pi31_fmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_fmont$O src$Pint$Pi31_fmont.c + +-$(OBJDIR)$Pi31_iszero$O: src$Pint$Pi31_iszero.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_iszero$O: $(OBJDIR) src$Pint$Pi31_iszero.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_iszero$O src$Pint$Pi31_iszero.c + +-$(OBJDIR)$Pi31_moddiv$O: src$Pint$Pi31_moddiv.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_moddiv$O: $(OBJDIR) src$Pint$Pi31_moddiv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_moddiv$O src$Pint$Pi31_moddiv.c + +-$(OBJDIR)$Pi31_modpow$O: src$Pint$Pi31_modpow.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_modpow$O: $(OBJDIR) src$Pint$Pi31_modpow.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_modpow$O src$Pint$Pi31_modpow.c + +-$(OBJDIR)$Pi31_modpow2$O: src$Pint$Pi31_modpow2.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_modpow2$O: $(OBJDIR) src$Pint$Pi31_modpow2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_modpow2$O src$Pint$Pi31_modpow2.c + +-$(OBJDIR)$Pi31_montmul$O: src$Pint$Pi31_montmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_montmul$O: $(OBJDIR) src$Pint$Pi31_montmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_montmul$O src$Pint$Pi31_montmul.c + +-$(OBJDIR)$Pi31_mulacc$O: src$Pint$Pi31_mulacc.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_mulacc$O: $(OBJDIR) src$Pint$Pi31_mulacc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_mulacc$O src$Pint$Pi31_mulacc.c + +-$(OBJDIR)$Pi31_muladd$O: src$Pint$Pi31_muladd.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_muladd$O: $(OBJDIR) src$Pint$Pi31_muladd.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_muladd$O src$Pint$Pi31_muladd.c + +-$(OBJDIR)$Pi31_ninv31$O: src$Pint$Pi31_ninv31.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_ninv31$O: $(OBJDIR) src$Pint$Pi31_ninv31.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_ninv31$O src$Pint$Pi31_ninv31.c + +-$(OBJDIR)$Pi31_reduce$O: src$Pint$Pi31_reduce.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_reduce$O: $(OBJDIR) src$Pint$Pi31_reduce.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_reduce$O src$Pint$Pi31_reduce.c + +-$(OBJDIR)$Pi31_rshift$O: src$Pint$Pi31_rshift.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_rshift$O: $(OBJDIR) src$Pint$Pi31_rshift.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_rshift$O src$Pint$Pi31_rshift.c + +-$(OBJDIR)$Pi31_sub$O: src$Pint$Pi31_sub.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_sub$O: $(OBJDIR) src$Pint$Pi31_sub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_sub$O src$Pint$Pi31_sub.c + +-$(OBJDIR)$Pi31_tmont$O: src$Pint$Pi31_tmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi31_tmont$O: $(OBJDIR) src$Pint$Pi31_tmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi31_tmont$O src$Pint$Pi31_tmont.c + +-$(OBJDIR)$Pi32_add$O: src$Pint$Pi32_add.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_add$O: $(OBJDIR) src$Pint$Pi32_add.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_add$O src$Pint$Pi32_add.c + +-$(OBJDIR)$Pi32_bitlen$O: src$Pint$Pi32_bitlen.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_bitlen$O: $(OBJDIR) src$Pint$Pi32_bitlen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_bitlen$O src$Pint$Pi32_bitlen.c + +-$(OBJDIR)$Pi32_decmod$O: src$Pint$Pi32_decmod.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_decmod$O: $(OBJDIR) src$Pint$Pi32_decmod.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_decmod$O src$Pint$Pi32_decmod.c + +-$(OBJDIR)$Pi32_decode$O: src$Pint$Pi32_decode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_decode$O: $(OBJDIR) src$Pint$Pi32_decode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_decode$O src$Pint$Pi32_decode.c + +-$(OBJDIR)$Pi32_decred$O: src$Pint$Pi32_decred.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_decred$O: $(OBJDIR) src$Pint$Pi32_decred.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_decred$O src$Pint$Pi32_decred.c + +-$(OBJDIR)$Pi32_div32$O: src$Pint$Pi32_div32.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_div32$O: $(OBJDIR) src$Pint$Pi32_div32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_div32$O src$Pint$Pi32_div32.c + +-$(OBJDIR)$Pi32_encode$O: src$Pint$Pi32_encode.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_encode$O: $(OBJDIR) src$Pint$Pi32_encode.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_encode$O src$Pint$Pi32_encode.c + +-$(OBJDIR)$Pi32_fmont$O: src$Pint$Pi32_fmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_fmont$O: $(OBJDIR) src$Pint$Pi32_fmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_fmont$O src$Pint$Pi32_fmont.c + +-$(OBJDIR)$Pi32_iszero$O: src$Pint$Pi32_iszero.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_iszero$O: $(OBJDIR) src$Pint$Pi32_iszero.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_iszero$O src$Pint$Pi32_iszero.c + +-$(OBJDIR)$Pi32_modpow$O: src$Pint$Pi32_modpow.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_modpow$O: $(OBJDIR) src$Pint$Pi32_modpow.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_modpow$O src$Pint$Pi32_modpow.c + +-$(OBJDIR)$Pi32_montmul$O: src$Pint$Pi32_montmul.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_montmul$O: $(OBJDIR) src$Pint$Pi32_montmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_montmul$O src$Pint$Pi32_montmul.c + +-$(OBJDIR)$Pi32_mulacc$O: src$Pint$Pi32_mulacc.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_mulacc$O: $(OBJDIR) src$Pint$Pi32_mulacc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_mulacc$O src$Pint$Pi32_mulacc.c + +-$(OBJDIR)$Pi32_muladd$O: src$Pint$Pi32_muladd.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_muladd$O: $(OBJDIR) src$Pint$Pi32_muladd.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_muladd$O src$Pint$Pi32_muladd.c + +-$(OBJDIR)$Pi32_ninv32$O: src$Pint$Pi32_ninv32.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_ninv32$O: $(OBJDIR) src$Pint$Pi32_ninv32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_ninv32$O src$Pint$Pi32_ninv32.c + +-$(OBJDIR)$Pi32_reduce$O: src$Pint$Pi32_reduce.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_reduce$O: $(OBJDIR) src$Pint$Pi32_reduce.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_reduce$O src$Pint$Pi32_reduce.c + +-$(OBJDIR)$Pi32_sub$O: src$Pint$Pi32_sub.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_sub$O: $(OBJDIR) src$Pint$Pi32_sub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_sub$O src$Pint$Pi32_sub.c + +-$(OBJDIR)$Pi32_tmont$O: src$Pint$Pi32_tmont.c $(HEADERSPRIV) ++$(OBJDIR)$Pi32_tmont$O: $(OBJDIR) src$Pint$Pi32_tmont.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi32_tmont$O src$Pint$Pi32_tmont.c + +-$(OBJDIR)$Pi62_modpow2$O: src$Pint$Pi62_modpow2.c $(HEADERSPRIV) ++$(OBJDIR)$Pi62_modpow2$O: $(OBJDIR) src$Pint$Pi62_modpow2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pi62_modpow2$O src$Pint$Pi62_modpow2.c + +-$(OBJDIR)$Phkdf$O: src$Pkdf$Phkdf.c $(HEADERSPRIV) ++$(OBJDIR)$Phkdf$O: $(OBJDIR) src$Pkdf$Phkdf.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phkdf$O src$Pkdf$Phkdf.c + +-$(OBJDIR)$Phmac$O: src$Pmac$Phmac.c $(HEADERSPRIV) ++$(OBJDIR)$Phmac$O: $(OBJDIR) src$Pmac$Phmac.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phmac$O src$Pmac$Phmac.c + +-$(OBJDIR)$Phmac_ct$O: src$Pmac$Phmac_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Phmac_ct$O: $(OBJDIR) src$Pmac$Phmac_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phmac_ct$O src$Pmac$Phmac_ct.c + +-$(OBJDIR)$Paesctr_drbg$O: src$Prand$Paesctr_drbg.c $(HEADERSPRIV) ++$(OBJDIR)$Paesctr_drbg$O: $(OBJDIR) src$Prand$Paesctr_drbg.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paesctr_drbg$O src$Prand$Paesctr_drbg.c + +-$(OBJDIR)$Phmac_drbg$O: src$Prand$Phmac_drbg.c $(HEADERSPRIV) ++$(OBJDIR)$Phmac_drbg$O: $(OBJDIR) src$Prand$Phmac_drbg.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Phmac_drbg$O src$Prand$Phmac_drbg.c + +-$(OBJDIR)$Psysrng$O: src$Prand$Psysrng.c $(HEADERSPRIV) ++$(OBJDIR)$Psysrng$O: $(OBJDIR) src$Prand$Psysrng.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psysrng$O src$Prand$Psysrng.c + +-$(OBJDIR)$Prsa_default_keygen$O: src$Prsa$Prsa_default_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_keygen$O: $(OBJDIR) src$Prsa$Prsa_default_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_keygen$O src$Prsa$Prsa_default_keygen.c + +-$(OBJDIR)$Prsa_default_modulus$O: src$Prsa$Prsa_default_modulus.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_modulus$O: $(OBJDIR) src$Prsa$Prsa_default_modulus.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_modulus$O src$Prsa$Prsa_default_modulus.c + +-$(OBJDIR)$Prsa_default_oaep_decrypt$O: src$Prsa$Prsa_default_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_default_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_oaep_decrypt$O src$Prsa$Prsa_default_oaep_decrypt.c + +-$(OBJDIR)$Prsa_default_oaep_encrypt$O: src$Prsa$Prsa_default_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_default_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_oaep_encrypt$O src$Prsa$Prsa_default_oaep_encrypt.c + +-$(OBJDIR)$Prsa_default_pkcs1_sign$O: src$Prsa$Prsa_default_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_default_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pkcs1_sign$O src$Prsa$Prsa_default_pkcs1_sign.c + +-$(OBJDIR)$Prsa_default_pkcs1_vrfy$O: src$Prsa$Prsa_default_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_default_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pkcs1_vrfy$O src$Prsa$Prsa_default_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_default_priv$O: src$Prsa$Prsa_default_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_priv$O: $(OBJDIR) src$Prsa$Prsa_default_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_priv$O src$Prsa$Prsa_default_priv.c + +-$(OBJDIR)$Prsa_default_privexp$O: src$Prsa$Prsa_default_privexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_privexp$O: $(OBJDIR) src$Prsa$Prsa_default_privexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_privexp$O src$Prsa$Prsa_default_privexp.c + +-$(OBJDIR)$Prsa_default_pub$O: src$Prsa$Prsa_default_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pub$O: $(OBJDIR) src$Prsa$Prsa_default_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pub$O src$Prsa$Prsa_default_pub.c + +-$(OBJDIR)$Prsa_default_pubexp$O: src$Prsa$Prsa_default_pubexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_default_pubexp$O: $(OBJDIR) src$Prsa$Prsa_default_pubexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_default_pubexp$O src$Prsa$Prsa_default_pubexp.c + +-$(OBJDIR)$Prsa_i15_keygen$O: src$Prsa$Prsa_i15_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_keygen$O: $(OBJDIR) src$Prsa$Prsa_i15_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_keygen$O src$Prsa$Prsa_i15_keygen.c + +-$(OBJDIR)$Prsa_i15_modulus$O: src$Prsa$Prsa_i15_modulus.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_modulus$O: $(OBJDIR) src$Prsa$Prsa_i15_modulus.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_modulus$O src$Prsa$Prsa_i15_modulus.c + +-$(OBJDIR)$Prsa_i15_oaep_decrypt$O: src$Prsa$Prsa_i15_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i15_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_oaep_decrypt$O src$Prsa$Prsa_i15_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i15_oaep_encrypt$O: src$Prsa$Prsa_i15_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i15_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_oaep_encrypt$O src$Prsa$Prsa_i15_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i15_pkcs1_sign$O: src$Prsa$Prsa_i15_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i15_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pkcs1_sign$O src$Prsa$Prsa_i15_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i15_pkcs1_vrfy$O: src$Prsa$Prsa_i15_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i15_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pkcs1_vrfy$O src$Prsa$Prsa_i15_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i15_priv$O: src$Prsa$Prsa_i15_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_priv$O: $(OBJDIR) src$Prsa$Prsa_i15_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_priv$O src$Prsa$Prsa_i15_priv.c + +-$(OBJDIR)$Prsa_i15_privexp$O: src$Prsa$Prsa_i15_privexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_privexp$O: $(OBJDIR) src$Prsa$Prsa_i15_privexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_privexp$O src$Prsa$Prsa_i15_privexp.c + +-$(OBJDIR)$Prsa_i15_pub$O: src$Prsa$Prsa_i15_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pub$O: $(OBJDIR) src$Prsa$Prsa_i15_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pub$O src$Prsa$Prsa_i15_pub.c + +-$(OBJDIR)$Prsa_i15_pubexp$O: src$Prsa$Prsa_i15_pubexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i15_pubexp$O: $(OBJDIR) src$Prsa$Prsa_i15_pubexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i15_pubexp$O src$Prsa$Prsa_i15_pubexp.c + +-$(OBJDIR)$Prsa_i31_keygen$O: src$Prsa$Prsa_i31_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_keygen$O: $(OBJDIR) src$Prsa$Prsa_i31_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_keygen$O src$Prsa$Prsa_i31_keygen.c + +-$(OBJDIR)$Prsa_i31_keygen_inner$O: src$Prsa$Prsa_i31_keygen_inner.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_keygen_inner$O: $(OBJDIR) src$Prsa$Prsa_i31_keygen_inner.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_keygen_inner$O src$Prsa$Prsa_i31_keygen_inner.c + +-$(OBJDIR)$Prsa_i31_modulus$O: src$Prsa$Prsa_i31_modulus.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_modulus$O: $(OBJDIR) src$Prsa$Prsa_i31_modulus.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_modulus$O src$Prsa$Prsa_i31_modulus.c + +-$(OBJDIR)$Prsa_i31_oaep_decrypt$O: src$Prsa$Prsa_i31_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i31_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_oaep_decrypt$O src$Prsa$Prsa_i31_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i31_oaep_encrypt$O: src$Prsa$Prsa_i31_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i31_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_oaep_encrypt$O src$Prsa$Prsa_i31_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i31_pkcs1_sign$O: src$Prsa$Prsa_i31_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i31_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pkcs1_sign$O src$Prsa$Prsa_i31_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i31_pkcs1_vrfy$O: src$Prsa$Prsa_i31_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i31_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pkcs1_vrfy$O src$Prsa$Prsa_i31_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i31_priv$O: src$Prsa$Prsa_i31_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_priv$O: $(OBJDIR) src$Prsa$Prsa_i31_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_priv$O src$Prsa$Prsa_i31_priv.c + +-$(OBJDIR)$Prsa_i31_privexp$O: src$Prsa$Prsa_i31_privexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_privexp$O: $(OBJDIR) src$Prsa$Prsa_i31_privexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_privexp$O src$Prsa$Prsa_i31_privexp.c + +-$(OBJDIR)$Prsa_i31_pub$O: src$Prsa$Prsa_i31_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pub$O: $(OBJDIR) src$Prsa$Prsa_i31_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pub$O src$Prsa$Prsa_i31_pub.c + +-$(OBJDIR)$Prsa_i31_pubexp$O: src$Prsa$Prsa_i31_pubexp.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i31_pubexp$O: $(OBJDIR) src$Prsa$Prsa_i31_pubexp.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i31_pubexp$O src$Prsa$Prsa_i31_pubexp.c + +-$(OBJDIR)$Prsa_i32_oaep_decrypt$O: src$Prsa$Prsa_i32_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i32_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_oaep_decrypt$O src$Prsa$Prsa_i32_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i32_oaep_encrypt$O: src$Prsa$Prsa_i32_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i32_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_oaep_encrypt$O src$Prsa$Prsa_i32_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i32_pkcs1_sign$O: src$Prsa$Prsa_i32_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i32_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_pkcs1_sign$O src$Prsa$Prsa_i32_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i32_pkcs1_vrfy$O: src$Prsa$Prsa_i32_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i32_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_pkcs1_vrfy$O src$Prsa$Prsa_i32_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i32_priv$O: src$Prsa$Prsa_i32_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_priv$O: $(OBJDIR) src$Prsa$Prsa_i32_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_priv$O src$Prsa$Prsa_i32_priv.c + +-$(OBJDIR)$Prsa_i32_pub$O: src$Prsa$Prsa_i32_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i32_pub$O: $(OBJDIR) src$Prsa$Prsa_i32_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i32_pub$O src$Prsa$Prsa_i32_pub.c + +-$(OBJDIR)$Prsa_i62_keygen$O: src$Prsa$Prsa_i62_keygen.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_keygen$O: $(OBJDIR) src$Prsa$Prsa_i62_keygen.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_keygen$O src$Prsa$Prsa_i62_keygen.c + +-$(OBJDIR)$Prsa_i62_oaep_decrypt$O: src$Prsa$Prsa_i62_oaep_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_oaep_decrypt$O: $(OBJDIR) src$Prsa$Prsa_i62_oaep_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_oaep_decrypt$O src$Prsa$Prsa_i62_oaep_decrypt.c + +-$(OBJDIR)$Prsa_i62_oaep_encrypt$O: src$Prsa$Prsa_i62_oaep_encrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_oaep_encrypt$O: $(OBJDIR) src$Prsa$Prsa_i62_oaep_encrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_oaep_encrypt$O src$Prsa$Prsa_i62_oaep_encrypt.c + +-$(OBJDIR)$Prsa_i62_pkcs1_sign$O: src$Prsa$Prsa_i62_pkcs1_sign.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_pkcs1_sign$O: $(OBJDIR) src$Prsa$Prsa_i62_pkcs1_sign.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_pkcs1_sign$O src$Prsa$Prsa_i62_pkcs1_sign.c + +-$(OBJDIR)$Prsa_i62_pkcs1_vrfy$O: src$Prsa$Prsa_i62_pkcs1_vrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_pkcs1_vrfy$O: $(OBJDIR) src$Prsa$Prsa_i62_pkcs1_vrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_pkcs1_vrfy$O src$Prsa$Prsa_i62_pkcs1_vrfy.c + +-$(OBJDIR)$Prsa_i62_priv$O: src$Prsa$Prsa_i62_priv.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_priv$O: $(OBJDIR) src$Prsa$Prsa_i62_priv.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_priv$O src$Prsa$Prsa_i62_priv.c + +-$(OBJDIR)$Prsa_i62_pub$O: src$Prsa$Prsa_i62_pub.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_i62_pub$O: $(OBJDIR) src$Prsa$Prsa_i62_pub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_i62_pub$O src$Prsa$Prsa_i62_pub.c + +-$(OBJDIR)$Prsa_oaep_pad$O: src$Prsa$Prsa_oaep_pad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_oaep_pad$O: $(OBJDIR) src$Prsa$Prsa_oaep_pad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_oaep_pad$O src$Prsa$Prsa_oaep_pad.c + +-$(OBJDIR)$Prsa_oaep_unpad$O: src$Prsa$Prsa_oaep_unpad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_oaep_unpad$O: $(OBJDIR) src$Prsa$Prsa_oaep_unpad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_oaep_unpad$O src$Prsa$Prsa_oaep_unpad.c + +-$(OBJDIR)$Prsa_pkcs1_sig_pad$O: src$Prsa$Prsa_pkcs1_sig_pad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_pkcs1_sig_pad$O: $(OBJDIR) src$Prsa$Prsa_pkcs1_sig_pad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_pkcs1_sig_pad$O src$Prsa$Prsa_pkcs1_sig_pad.c + +-$(OBJDIR)$Prsa_pkcs1_sig_unpad$O: src$Prsa$Prsa_pkcs1_sig_unpad.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_pkcs1_sig_unpad$O: $(OBJDIR) src$Prsa$Prsa_pkcs1_sig_unpad.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_pkcs1_sig_unpad$O src$Prsa$Prsa_pkcs1_sig_unpad.c + +-$(OBJDIR)$Prsa_ssl_decrypt$O: src$Prsa$Prsa_ssl_decrypt.c $(HEADERSPRIV) ++$(OBJDIR)$Prsa_ssl_decrypt$O: $(OBJDIR) src$Prsa$Prsa_ssl_decrypt.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Prsa_ssl_decrypt$O src$Prsa$Prsa_ssl_decrypt.c + +-$(OBJDIR)$Pprf$O: src$Pssl$Pprf.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf$O: $(OBJDIR) src$Pssl$Pprf.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf$O src$Pssl$Pprf.c + +-$(OBJDIR)$Pprf_md5sha1$O: src$Pssl$Pprf_md5sha1.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf_md5sha1$O: $(OBJDIR) src$Pssl$Pprf_md5sha1.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf_md5sha1$O src$Pssl$Pprf_md5sha1.c + +-$(OBJDIR)$Pprf_sha256$O: src$Pssl$Pprf_sha256.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf_sha256$O: $(OBJDIR) src$Pssl$Pprf_sha256.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf_sha256$O src$Pssl$Pprf_sha256.c + +-$(OBJDIR)$Pprf_sha384$O: src$Pssl$Pprf_sha384.c $(HEADERSPRIV) ++$(OBJDIR)$Pprf_sha384$O: $(OBJDIR) src$Pssl$Pprf_sha384.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pprf_sha384$O src$Pssl$Pprf_sha384.c + +-$(OBJDIR)$Pssl_ccert_single_ec$O: src$Pssl$Pssl_ccert_single_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_ccert_single_ec$O: $(OBJDIR) src$Pssl$Pssl_ccert_single_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_ccert_single_ec$O src$Pssl$Pssl_ccert_single_ec.c + +-$(OBJDIR)$Pssl_ccert_single_rsa$O: src$Pssl$Pssl_ccert_single_rsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_ccert_single_rsa$O: $(OBJDIR) src$Pssl$Pssl_ccert_single_rsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_ccert_single_rsa$O src$Pssl$Pssl_ccert_single_rsa.c + +-$(OBJDIR)$Pssl_client$O: src$Pssl$Pssl_client.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_client$O: $(OBJDIR) src$Pssl$Pssl_client.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_client$O src$Pssl$Pssl_client.c + +-$(OBJDIR)$Pssl_client_default_rsapub$O: src$Pssl$Pssl_client_default_rsapub.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_client_default_rsapub$O: $(OBJDIR) src$Pssl$Pssl_client_default_rsapub.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_client_default_rsapub$O src$Pssl$Pssl_client_default_rsapub.c + +-$(OBJDIR)$Pssl_client_full$O: src$Pssl$Pssl_client_full.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_client_full$O: $(OBJDIR) src$Pssl$Pssl_client_full.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_client_full$O src$Pssl$Pssl_client_full.c + +-$(OBJDIR)$Pssl_engine$O: src$Pssl$Pssl_engine.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine$O: $(OBJDIR) src$Pssl$Pssl_engine.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine$O src$Pssl$Pssl_engine.c + +-$(OBJDIR)$Pssl_engine_default_aescbc$O: src$Pssl$Pssl_engine_default_aescbc.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_aescbc$O: $(OBJDIR) src$Pssl$Pssl_engine_default_aescbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_aescbc$O src$Pssl$Pssl_engine_default_aescbc.c + +-$(OBJDIR)$Pssl_engine_default_aesccm$O: src$Pssl$Pssl_engine_default_aesccm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_aesccm$O: $(OBJDIR) src$Pssl$Pssl_engine_default_aesccm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_aesccm$O src$Pssl$Pssl_engine_default_aesccm.c + +-$(OBJDIR)$Pssl_engine_default_aesgcm$O: src$Pssl$Pssl_engine_default_aesgcm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_aesgcm$O: $(OBJDIR) src$Pssl$Pssl_engine_default_aesgcm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_aesgcm$O src$Pssl$Pssl_engine_default_aesgcm.c + +-$(OBJDIR)$Pssl_engine_default_chapol$O: src$Pssl$Pssl_engine_default_chapol.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_chapol$O: $(OBJDIR) src$Pssl$Pssl_engine_default_chapol.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_chapol$O src$Pssl$Pssl_engine_default_chapol.c + +-$(OBJDIR)$Pssl_engine_default_descbc$O: src$Pssl$Pssl_engine_default_descbc.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_descbc$O: $(OBJDIR) src$Pssl$Pssl_engine_default_descbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_descbc$O src$Pssl$Pssl_engine_default_descbc.c + +-$(OBJDIR)$Pssl_engine_default_ec$O: src$Pssl$Pssl_engine_default_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_ec$O: $(OBJDIR) src$Pssl$Pssl_engine_default_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_ec$O src$Pssl$Pssl_engine_default_ec.c + +-$(OBJDIR)$Pssl_engine_default_ecdsa$O: src$Pssl$Pssl_engine_default_ecdsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_ecdsa$O: $(OBJDIR) src$Pssl$Pssl_engine_default_ecdsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_ecdsa$O src$Pssl$Pssl_engine_default_ecdsa.c + +-$(OBJDIR)$Pssl_engine_default_rsavrfy$O: src$Pssl$Pssl_engine_default_rsavrfy.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_engine_default_rsavrfy$O: $(OBJDIR) src$Pssl$Pssl_engine_default_rsavrfy.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_engine_default_rsavrfy$O src$Pssl$Pssl_engine_default_rsavrfy.c + +-$(OBJDIR)$Pssl_hashes$O: src$Pssl$Pssl_hashes.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_hashes$O: $(OBJDIR) src$Pssl$Pssl_hashes.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_hashes$O src$Pssl$Pssl_hashes.c + +-$(OBJDIR)$Pssl_hs_client$O: src$Pssl$Pssl_hs_client.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_hs_client$O: $(OBJDIR) src$Pssl$Pssl_hs_client.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_hs_client$O src$Pssl$Pssl_hs_client.c + +-$(OBJDIR)$Pssl_hs_server$O: src$Pssl$Pssl_hs_server.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_hs_server$O: $(OBJDIR) src$Pssl$Pssl_hs_server.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_hs_server$O src$Pssl$Pssl_hs_server.c + +-$(OBJDIR)$Pssl_io$O: src$Pssl$Pssl_io.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_io$O: $(OBJDIR) src$Pssl$Pssl_io.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_io$O src$Pssl$Pssl_io.c + +-$(OBJDIR)$Pssl_keyexport$O: src$Pssl$Pssl_keyexport.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_keyexport$O: $(OBJDIR) src$Pssl$Pssl_keyexport.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_keyexport$O src$Pssl$Pssl_keyexport.c + +-$(OBJDIR)$Pssl_lru$O: src$Pssl$Pssl_lru.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_lru$O: $(OBJDIR) src$Pssl$Pssl_lru.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_lru$O src$Pssl$Pssl_lru.c + +-$(OBJDIR)$Pssl_rec_cbc$O: src$Pssl$Pssl_rec_cbc.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_cbc$O: $(OBJDIR) src$Pssl$Pssl_rec_cbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_cbc$O src$Pssl$Pssl_rec_cbc.c + +-$(OBJDIR)$Pssl_rec_ccm$O: src$Pssl$Pssl_rec_ccm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_ccm$O: $(OBJDIR) src$Pssl$Pssl_rec_ccm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_ccm$O src$Pssl$Pssl_rec_ccm.c + +-$(OBJDIR)$Pssl_rec_chapol$O: src$Pssl$Pssl_rec_chapol.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_chapol$O: $(OBJDIR) src$Pssl$Pssl_rec_chapol.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_chapol$O src$Pssl$Pssl_rec_chapol.c + +-$(OBJDIR)$Pssl_rec_gcm$O: src$Pssl$Pssl_rec_gcm.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_rec_gcm$O: $(OBJDIR) src$Pssl$Pssl_rec_gcm.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_rec_gcm$O src$Pssl$Pssl_rec_gcm.c + +-$(OBJDIR)$Pssl_scert_single_ec$O: src$Pssl$Pssl_scert_single_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_scert_single_ec$O: $(OBJDIR) src$Pssl$Pssl_scert_single_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_scert_single_ec$O src$Pssl$Pssl_scert_single_ec.c + +-$(OBJDIR)$Pssl_scert_single_rsa$O: src$Pssl$Pssl_scert_single_rsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_scert_single_rsa$O: $(OBJDIR) src$Pssl$Pssl_scert_single_rsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_scert_single_rsa$O src$Pssl$Pssl_scert_single_rsa.c + +-$(OBJDIR)$Pssl_server$O: src$Pssl$Pssl_server.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server$O: $(OBJDIR) src$Pssl$Pssl_server.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server$O src$Pssl$Pssl_server.c + +-$(OBJDIR)$Pssl_server_full_ec$O: src$Pssl$Pssl_server_full_ec.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_full_ec$O: $(OBJDIR) src$Pssl$Pssl_server_full_ec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_full_ec$O src$Pssl$Pssl_server_full_ec.c + +-$(OBJDIR)$Pssl_server_full_rsa$O: src$Pssl$Pssl_server_full_rsa.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_full_rsa$O: $(OBJDIR) src$Pssl$Pssl_server_full_rsa.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_full_rsa$O src$Pssl$Pssl_server_full_rsa.c + +-$(OBJDIR)$Pssl_server_mine2c$O: src$Pssl$Pssl_server_mine2c.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_mine2c$O: $(OBJDIR) src$Pssl$Pssl_server_mine2c.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_mine2c$O src$Pssl$Pssl_server_mine2c.c + +-$(OBJDIR)$Pssl_server_mine2g$O: src$Pssl$Pssl_server_mine2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_mine2g$O: $(OBJDIR) src$Pssl$Pssl_server_mine2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_mine2g$O src$Pssl$Pssl_server_mine2g.c + +-$(OBJDIR)$Pssl_server_minf2c$O: src$Pssl$Pssl_server_minf2c.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minf2c$O: $(OBJDIR) src$Pssl$Pssl_server_minf2c.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minf2c$O src$Pssl$Pssl_server_minf2c.c + +-$(OBJDIR)$Pssl_server_minf2g$O: src$Pssl$Pssl_server_minf2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minf2g$O: $(OBJDIR) src$Pssl$Pssl_server_minf2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minf2g$O src$Pssl$Pssl_server_minf2g.c + +-$(OBJDIR)$Pssl_server_minr2g$O: src$Pssl$Pssl_server_minr2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minr2g$O: $(OBJDIR) src$Pssl$Pssl_server_minr2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minr2g$O src$Pssl$Pssl_server_minr2g.c + +-$(OBJDIR)$Pssl_server_minu2g$O: src$Pssl$Pssl_server_minu2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minu2g$O: $(OBJDIR) src$Pssl$Pssl_server_minu2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minu2g$O src$Pssl$Pssl_server_minu2g.c + +-$(OBJDIR)$Pssl_server_minv2g$O: src$Pssl$Pssl_server_minv2g.c $(HEADERSPRIV) ++$(OBJDIR)$Pssl_server_minv2g$O: $(OBJDIR) src$Pssl$Pssl_server_minv2g.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pssl_server_minv2g$O src$Pssl$Pssl_server_minv2g.c + +-$(OBJDIR)$Paes_big_cbcdec$O: src$Psymcipher$Paes_big_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_big_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_cbcdec$O src$Psymcipher$Paes_big_cbcdec.c + +-$(OBJDIR)$Paes_big_cbcenc$O: src$Psymcipher$Paes_big_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_big_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_cbcenc$O src$Psymcipher$Paes_big_cbcenc.c + +-$(OBJDIR)$Paes_big_ctr$O: src$Psymcipher$Paes_big_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_ctr$O: $(OBJDIR) src$Psymcipher$Paes_big_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_ctr$O src$Psymcipher$Paes_big_ctr.c + +-$(OBJDIR)$Paes_big_ctrcbc$O: src$Psymcipher$Paes_big_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_big_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_ctrcbc$O src$Psymcipher$Paes_big_ctrcbc.c + +-$(OBJDIR)$Paes_big_dec$O: src$Psymcipher$Paes_big_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_dec$O: $(OBJDIR) src$Psymcipher$Paes_big_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_dec$O src$Psymcipher$Paes_big_dec.c + +-$(OBJDIR)$Paes_big_enc$O: src$Psymcipher$Paes_big_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_big_enc$O: $(OBJDIR) src$Psymcipher$Paes_big_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_big_enc$O src$Psymcipher$Paes_big_enc.c + +-$(OBJDIR)$Paes_common$O: src$Psymcipher$Paes_common.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_common$O: $(OBJDIR) src$Psymcipher$Paes_common.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_common$O src$Psymcipher$Paes_common.c + +-$(OBJDIR)$Paes_ct$O: src$Psymcipher$Paes_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct$O: $(OBJDIR) src$Psymcipher$Paes_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct$O src$Psymcipher$Paes_ct.c + +-$(OBJDIR)$Paes_ct64$O: src$Psymcipher$Paes_ct64.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64$O: $(OBJDIR) src$Psymcipher$Paes_ct64.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64$O src$Psymcipher$Paes_ct64.c + +-$(OBJDIR)$Paes_ct64_cbcdec$O: src$Psymcipher$Paes_ct64_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_ct64_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_cbcdec$O src$Psymcipher$Paes_ct64_cbcdec.c + +-$(OBJDIR)$Paes_ct64_cbcenc$O: src$Psymcipher$Paes_ct64_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_ct64_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_cbcenc$O src$Psymcipher$Paes_ct64_cbcenc.c + +-$(OBJDIR)$Paes_ct64_ctr$O: src$Psymcipher$Paes_ct64_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_ctr$O: $(OBJDIR) src$Psymcipher$Paes_ct64_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_ctr$O src$Psymcipher$Paes_ct64_ctr.c + +-$(OBJDIR)$Paes_ct64_ctrcbc$O: src$Psymcipher$Paes_ct64_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_ct64_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_ctrcbc$O src$Psymcipher$Paes_ct64_ctrcbc.c + +-$(OBJDIR)$Paes_ct64_dec$O: src$Psymcipher$Paes_ct64_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_dec$O: $(OBJDIR) src$Psymcipher$Paes_ct64_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_dec$O src$Psymcipher$Paes_ct64_dec.c + +-$(OBJDIR)$Paes_ct64_enc$O: src$Psymcipher$Paes_ct64_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct64_enc$O: $(OBJDIR) src$Psymcipher$Paes_ct64_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct64_enc$O src$Psymcipher$Paes_ct64_enc.c + +-$(OBJDIR)$Paes_ct_cbcdec$O: src$Psymcipher$Paes_ct_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_ct_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_cbcdec$O src$Psymcipher$Paes_ct_cbcdec.c + +-$(OBJDIR)$Paes_ct_cbcenc$O: src$Psymcipher$Paes_ct_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_ct_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_cbcenc$O src$Psymcipher$Paes_ct_cbcenc.c + +-$(OBJDIR)$Paes_ct_ctr$O: src$Psymcipher$Paes_ct_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_ctr$O: $(OBJDIR) src$Psymcipher$Paes_ct_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_ctr$O src$Psymcipher$Paes_ct_ctr.c + +-$(OBJDIR)$Paes_ct_ctrcbc$O: src$Psymcipher$Paes_ct_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_ct_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_ctrcbc$O src$Psymcipher$Paes_ct_ctrcbc.c + +-$(OBJDIR)$Paes_ct_dec$O: src$Psymcipher$Paes_ct_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_dec$O: $(OBJDIR) src$Psymcipher$Paes_ct_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_dec$O src$Psymcipher$Paes_ct_dec.c + +-$(OBJDIR)$Paes_ct_enc$O: src$Psymcipher$Paes_ct_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_ct_enc$O: $(OBJDIR) src$Psymcipher$Paes_ct_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_ct_enc$O src$Psymcipher$Paes_ct_enc.c + +-$(OBJDIR)$Paes_pwr8$O: src$Psymcipher$Paes_pwr8.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8$O: $(OBJDIR) src$Psymcipher$Paes_pwr8.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8$O src$Psymcipher$Paes_pwr8.c + +-$(OBJDIR)$Paes_pwr8_cbcdec$O: src$Psymcipher$Paes_pwr8_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_cbcdec$O src$Psymcipher$Paes_pwr8_cbcdec.c + +-$(OBJDIR)$Paes_pwr8_cbcenc$O: src$Psymcipher$Paes_pwr8_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_cbcenc$O src$Psymcipher$Paes_pwr8_cbcenc.c + +-$(OBJDIR)$Paes_pwr8_ctr$O: src$Psymcipher$Paes_pwr8_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_ctr$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_ctr$O src$Psymcipher$Paes_pwr8_ctr.c + +-$(OBJDIR)$Paes_pwr8_ctrcbc$O: src$Psymcipher$Paes_pwr8_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_pwr8_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_pwr8_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_pwr8_ctrcbc$O src$Psymcipher$Paes_pwr8_ctrcbc.c + +-$(OBJDIR)$Paes_small_cbcdec$O: src$Psymcipher$Paes_small_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_small_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_cbcdec$O src$Psymcipher$Paes_small_cbcdec.c + +-$(OBJDIR)$Paes_small_cbcenc$O: src$Psymcipher$Paes_small_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_small_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_cbcenc$O src$Psymcipher$Paes_small_cbcenc.c + +-$(OBJDIR)$Paes_small_ctr$O: src$Psymcipher$Paes_small_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_ctr$O: $(OBJDIR) src$Psymcipher$Paes_small_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_ctr$O src$Psymcipher$Paes_small_ctr.c + +-$(OBJDIR)$Paes_small_ctrcbc$O: src$Psymcipher$Paes_small_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_small_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_ctrcbc$O src$Psymcipher$Paes_small_ctrcbc.c + +-$(OBJDIR)$Paes_small_dec$O: src$Psymcipher$Paes_small_dec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_dec$O: $(OBJDIR) src$Psymcipher$Paes_small_dec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_dec$O src$Psymcipher$Paes_small_dec.c + +-$(OBJDIR)$Paes_small_enc$O: src$Psymcipher$Paes_small_enc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_small_enc$O: $(OBJDIR) src$Psymcipher$Paes_small_enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_small_enc$O src$Psymcipher$Paes_small_enc.c + +-$(OBJDIR)$Paes_x86ni$O: src$Psymcipher$Paes_x86ni.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni$O: $(OBJDIR) src$Psymcipher$Paes_x86ni.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni$O src$Psymcipher$Paes_x86ni.c + +-$(OBJDIR)$Paes_x86ni_cbcdec$O: src$Psymcipher$Paes_x86ni_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_cbcdec$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_cbcdec$O src$Psymcipher$Paes_x86ni_cbcdec.c + +-$(OBJDIR)$Paes_x86ni_cbcenc$O: src$Psymcipher$Paes_x86ni_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_cbcenc$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_cbcenc$O src$Psymcipher$Paes_x86ni_cbcenc.c + +-$(OBJDIR)$Paes_x86ni_ctr$O: src$Psymcipher$Paes_x86ni_ctr.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_ctr$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_ctr.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_ctr$O src$Psymcipher$Paes_x86ni_ctr.c + +-$(OBJDIR)$Paes_x86ni_ctrcbc$O: src$Psymcipher$Paes_x86ni_ctrcbc.c $(HEADERSPRIV) ++$(OBJDIR)$Paes_x86ni_ctrcbc$O: $(OBJDIR) src$Psymcipher$Paes_x86ni_ctrcbc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Paes_x86ni_ctrcbc$O src$Psymcipher$Paes_x86ni_ctrcbc.c + +-$(OBJDIR)$Pchacha20_ct$O: src$Psymcipher$Pchacha20_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Pchacha20_ct$O: $(OBJDIR) src$Psymcipher$Pchacha20_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pchacha20_ct$O src$Psymcipher$Pchacha20_ct.c + +-$(OBJDIR)$Pchacha20_sse2$O: src$Psymcipher$Pchacha20_sse2.c $(HEADERSPRIV) ++$(OBJDIR)$Pchacha20_sse2$O: $(OBJDIR) src$Psymcipher$Pchacha20_sse2.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pchacha20_sse2$O src$Psymcipher$Pchacha20_sse2.c + +-$(OBJDIR)$Pdes_ct$O: src$Psymcipher$Pdes_ct.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_ct$O: $(OBJDIR) src$Psymcipher$Pdes_ct.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_ct$O src$Psymcipher$Pdes_ct.c + +-$(OBJDIR)$Pdes_ct_cbcdec$O: src$Psymcipher$Pdes_ct_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_ct_cbcdec$O: $(OBJDIR) src$Psymcipher$Pdes_ct_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_ct_cbcdec$O src$Psymcipher$Pdes_ct_cbcdec.c + +-$(OBJDIR)$Pdes_ct_cbcenc$O: src$Psymcipher$Pdes_ct_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_ct_cbcenc$O: $(OBJDIR) src$Psymcipher$Pdes_ct_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_ct_cbcenc$O src$Psymcipher$Pdes_ct_cbcenc.c + +-$(OBJDIR)$Pdes_support$O: src$Psymcipher$Pdes_support.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_support$O: $(OBJDIR) src$Psymcipher$Pdes_support.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_support$O src$Psymcipher$Pdes_support.c + +-$(OBJDIR)$Pdes_tab$O: src$Psymcipher$Pdes_tab.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_tab$O: $(OBJDIR) src$Psymcipher$Pdes_tab.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_tab$O src$Psymcipher$Pdes_tab.c + +-$(OBJDIR)$Pdes_tab_cbcdec$O: src$Psymcipher$Pdes_tab_cbcdec.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_tab_cbcdec$O: $(OBJDIR) src$Psymcipher$Pdes_tab_cbcdec.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_tab_cbcdec$O src$Psymcipher$Pdes_tab_cbcdec.c + +-$(OBJDIR)$Pdes_tab_cbcenc$O: src$Psymcipher$Pdes_tab_cbcenc.c $(HEADERSPRIV) ++$(OBJDIR)$Pdes_tab_cbcenc$O: $(OBJDIR) src$Psymcipher$Pdes_tab_cbcenc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pdes_tab_cbcenc$O src$Psymcipher$Pdes_tab_cbcenc.c + +-$(OBJDIR)$Ppoly1305_ctmul$O: src$Psymcipher$Ppoly1305_ctmul.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_ctmul$O: $(OBJDIR) src$Psymcipher$Ppoly1305_ctmul.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_ctmul$O src$Psymcipher$Ppoly1305_ctmul.c + +-$(OBJDIR)$Ppoly1305_ctmul32$O: src$Psymcipher$Ppoly1305_ctmul32.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_ctmul32$O: $(OBJDIR) src$Psymcipher$Ppoly1305_ctmul32.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_ctmul32$O src$Psymcipher$Ppoly1305_ctmul32.c + +-$(OBJDIR)$Ppoly1305_ctmulq$O: src$Psymcipher$Ppoly1305_ctmulq.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_ctmulq$O: $(OBJDIR) src$Psymcipher$Ppoly1305_ctmulq.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_ctmulq$O src$Psymcipher$Ppoly1305_ctmulq.c + +-$(OBJDIR)$Ppoly1305_i15$O: src$Psymcipher$Ppoly1305_i15.c $(HEADERSPRIV) ++$(OBJDIR)$Ppoly1305_i15$O: $(OBJDIR) src$Psymcipher$Ppoly1305_i15.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ppoly1305_i15$O src$Psymcipher$Ppoly1305_i15.c + +-$(OBJDIR)$Pasn1enc$O: src$Px509$Pasn1enc.c $(HEADERSPRIV) ++$(OBJDIR)$Pasn1enc$O: $(OBJDIR) src$Px509$Pasn1enc.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pasn1enc$O src$Px509$Pasn1enc.c + +-$(OBJDIR)$Pencode_ec_pk8der$O: src$Px509$Pencode_ec_pk8der.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_ec_pk8der$O: $(OBJDIR) src$Px509$Pencode_ec_pk8der.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_ec_pk8der$O src$Px509$Pencode_ec_pk8der.c + +-$(OBJDIR)$Pencode_ec_rawder$O: src$Px509$Pencode_ec_rawder.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_ec_rawder$O: $(OBJDIR) src$Px509$Pencode_ec_rawder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_ec_rawder$O src$Px509$Pencode_ec_rawder.c + +-$(OBJDIR)$Pencode_rsa_pk8der$O: src$Px509$Pencode_rsa_pk8der.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_rsa_pk8der$O: $(OBJDIR) src$Px509$Pencode_rsa_pk8der.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_rsa_pk8der$O src$Px509$Pencode_rsa_pk8der.c + +-$(OBJDIR)$Pencode_rsa_rawder$O: src$Px509$Pencode_rsa_rawder.c $(HEADERSPRIV) ++$(OBJDIR)$Pencode_rsa_rawder$O: $(OBJDIR) src$Px509$Pencode_rsa_rawder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pencode_rsa_rawder$O src$Px509$Pencode_rsa_rawder.c + +-$(OBJDIR)$Pskey_decoder$O: src$Px509$Pskey_decoder.c $(HEADERSPRIV) ++$(OBJDIR)$Pskey_decoder$O: $(OBJDIR) src$Px509$Pskey_decoder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pskey_decoder$O src$Px509$Pskey_decoder.c + +-$(OBJDIR)$Px509_decoder$O: src$Px509$Px509_decoder.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_decoder$O: $(OBJDIR) src$Px509$Px509_decoder.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_decoder$O src$Px509$Px509_decoder.c + +-$(OBJDIR)$Px509_knownkey$O: src$Px509$Px509_knownkey.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_knownkey$O: $(OBJDIR) src$Px509$Px509_knownkey.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_knownkey$O src$Px509$Px509_knownkey.c + +-$(OBJDIR)$Px509_minimal$O: src$Px509$Px509_minimal.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_minimal$O: $(OBJDIR) src$Px509$Px509_minimal.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_minimal$O src$Px509$Px509_minimal.c + +-$(OBJDIR)$Px509_minimal_full$O: src$Px509$Px509_minimal_full.c $(HEADERSPRIV) ++$(OBJDIR)$Px509_minimal_full$O: $(OBJDIR) src$Px509$Px509_minimal_full.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Px509_minimal_full$O src$Px509$Px509_minimal_full.c + +-$(OBJDIR)$Pbrssl$O: tools$Pbrssl.c $(HEADERSTOOLS) ++$(OBJDIR)$Pbrssl$O: $(OBJDIR) tools$Pbrssl.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pbrssl$O tools$Pbrssl.c + +-$(OBJDIR)$Pcerts$O: tools$Pcerts.c $(HEADERSTOOLS) ++$(OBJDIR)$Pcerts$O: $(OBJDIR) tools$Pcerts.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pcerts$O tools$Pcerts.c + +-$(OBJDIR)$Pchain$O: tools$Pchain.c $(HEADERSTOOLS) ++$(OBJDIR)$Pchain$O: $(OBJDIR) tools$Pchain.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pchain$O tools$Pchain.c + +-$(OBJDIR)$Pclient$O: tools$Pclient.c $(HEADERSTOOLS) ++$(OBJDIR)$Pclient$O: $(OBJDIR) tools$Pclient.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pclient$O tools$Pclient.c + +-$(OBJDIR)$Perrors$O: tools$Perrors.c $(HEADERSTOOLS) ++$(OBJDIR)$Perrors$O: $(OBJDIR) tools$Perrors.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Perrors$O tools$Perrors.c + +-$(OBJDIR)$Pfiles$O: tools$Pfiles.c $(HEADERSTOOLS) ++$(OBJDIR)$Pfiles$O: $(OBJDIR) tools$Pfiles.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pfiles$O tools$Pfiles.c + +-$(OBJDIR)$Pimpl$O: tools$Pimpl.c $(HEADERSTOOLS) ++$(OBJDIR)$Pimpl$O: $(OBJDIR) tools$Pimpl.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pimpl$O tools$Pimpl.c + +-$(OBJDIR)$Pkeys$O: tools$Pkeys.c $(HEADERSTOOLS) ++$(OBJDIR)$Pkeys$O: $(OBJDIR) tools$Pkeys.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pkeys$O tools$Pkeys.c + +-$(OBJDIR)$Pnames$O: tools$Pnames.c $(HEADERSTOOLS) ++$(OBJDIR)$Pnames$O: $(OBJDIR) tools$Pnames.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pnames$O tools$Pnames.c + +-$(OBJDIR)$Pserver$O: tools$Pserver.c $(HEADERSTOOLS) ++$(OBJDIR)$Pserver$O: $(OBJDIR) tools$Pserver.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pserver$O tools$Pserver.c + +-$(OBJDIR)$Pskey$O: tools$Pskey.c $(HEADERSTOOLS) ++$(OBJDIR)$Pskey$O: $(OBJDIR) tools$Pskey.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pskey$O tools$Pskey.c + +-$(OBJDIR)$Psslio$O: tools$Psslio.c $(HEADERSTOOLS) ++$(OBJDIR)$Psslio$O: $(OBJDIR) tools$Psslio.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Psslio$O tools$Psslio.c + +-$(OBJDIR)$Pta$O: tools$Pta.c $(HEADERSTOOLS) ++$(OBJDIR)$Pta$O: $(OBJDIR) tools$Pta.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pta$O tools$Pta.c + +-$(OBJDIR)$Ptwrch$O: tools$Ptwrch.c $(HEADERSTOOLS) ++$(OBJDIR)$Ptwrch$O: $(OBJDIR) tools$Ptwrch.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ptwrch$O tools$Ptwrch.c + +-$(OBJDIR)$Pvector$O: tools$Pvector.c $(HEADERSTOOLS) ++$(OBJDIR)$Pvector$O: $(OBJDIR) tools$Pvector.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pvector$O tools$Pvector.c + +-$(OBJDIR)$Pverify$O: tools$Pverify.c $(HEADERSTOOLS) ++$(OBJDIR)$Pverify$O: $(OBJDIR) tools$Pverify.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pverify$O tools$Pverify.c + +-$(OBJDIR)$Pxmem$O: tools$Pxmem.c $(HEADERSTOOLS) ++$(OBJDIR)$Pxmem$O: $(OBJDIR) tools$Pxmem.c $(HEADERSTOOLS) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Pxmem$O tools$Pxmem.c + +-$(OBJDIR)$Ptest_crypto$O: test$Ptest_crypto.c $(HEADERSPRIV) ++$(OBJDIR)$Ptest_crypto$O: $(OBJDIR) test$Ptest_crypto.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ptest_crypto$O test$Ptest_crypto.c + +-$(OBJDIR)$Ptest_speed$O: test$Ptest_speed.c $(HEADERSPRIV) ++$(OBJDIR)$Ptest_speed$O: $(OBJDIR) test$Ptest_speed.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$Ptest_speed$O test$Ptest_speed.c + +-$(OBJDIR)$Ptest_x509$O: test$Ptest_x509.c $(HEADERSPRIV) ++$(OBJDIR)$Ptest_x509$O: $(OBJDIR) test$Ptest_x509.c $(HEADERSPRIV) + $(CC) $(CFLAGS) $(INCFLAGS) -DSRCDIRNAME=".." $(CCOUT)$(OBJDIR)$Ptest_x509$O test$Ptest_x509.c +diff --git a/mk/mkrules.sh b/mk/mkrules.sh +index eea159b..cce7564 100755 +--- a/mk/mkrules.sh ++++ b/mk/mkrules.sh +@@ -531,23 +531,23 @@ EOF + (for f in $coresrc ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done + + for f in $toolssrc ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSTOOLS)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSTOOLS)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done + + for f in $testcryptosrc $testspeedsrc ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done + + for f in $testx509src ; do + b="$(basename "$f" .c)\$O" + g="$(escsep "$f")" +- printf '\n$(OBJDIR)$P%s: %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) -DSRCDIRNAME=".." $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" ++ printf '\n$(OBJDIR)$P%s: $(OBJDIR) %s $(HEADERSPRIV)\n\t$(CC) $(CFLAGS) $(INCFLAGS) -DSRCDIRNAME=".." $(CCOUT)$(OBJDIR)$P%s %s\n' "$b" "$g" "$b" "$g" + done) >> Rules.mk +-- +2.34.1 + diff --git a/package/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk index 78c3c2ebb1e..20e1a122d04 100644 --- a/package/beecrypt/beecrypt.mk +++ b/package/beecrypt/beecrypt.mk @@ -10,7 +10,7 @@ BEECRYPT_AUTORECONF = YES BEECRYPT_INSTALL_STAGING = YES BEECRYPT_LICENSE = LGPL-2.1+ BEECRYPT_LICENSE_FILES = COPYING.LIB -BEECRYPT_CPE_ID_VENDOR = beecrypt_project +BEECRYPT_CPE_ID_VALID = YES BEECRYPT_CONF_OPTS = \ --disable-expert-mode \ diff --git a/package/bento4/0001-Add-support-for-cmake-install.patch b/package/bento4/0001-Add-support-for-cmake-install.patch deleted file mode 100644 index cec0cb18b9b..00000000000 --- a/package/bento4/0001-Add-support-for-cmake-install.patch +++ /dev/null @@ -1,130 +0,0 @@ -From ba95f55c495c4c34c75a95de843acfa00f6afe24 Mon Sep 17 00:00:00 2001 -From: Harry Mallon -Date: Fri, 9 Jul 2021 15:50:26 +0100 -Subject: [PATCH] Add support for cmake install - -Downloaded from upstream commit -https://github.com/axiomatic-systems/Bento4/commit/ba95f55c495c4c34c75a95de843acfa00f6afe24 - -Signed-off-by: Bernd Kuhls ---- - Build/cmake/Config.cmake.in | 4 ++ - CMakeLists.txt | 73 ++++++++++++++++++++++++++++++++++--- - 2 files changed, 71 insertions(+), 6 deletions(-) - create mode 100644 Build/cmake/Config.cmake.in - -diff --git a/Build/cmake/Config.cmake.in b/Build/cmake/Config.cmake.in -new file mode 100644 -index 00000000..38bbde7b ---- /dev/null -+++ b/Build/cmake/Config.cmake.in -@@ -0,0 +1,4 @@ -+@PACKAGE_INIT@ -+ -+include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") -+check_required_components("@PROJECT_NAME@") -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6de3bfe1..6ebf127f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,7 +7,14 @@ else() - cmake_minimum_required(VERSION 3.10) - endif() - --project(bento4) -+function(get_bento4_version) -+ file(STRINGS "Source/C++/Core/Ap4Version.h" _temp REGEX "AP4_VERSION_STRING") -+ string(REGEX MATCH "\"([^\"]+)\"" _temp "${_temp}") -+ set(BENTO4_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) -+endfunction() -+ -+get_bento4_version() -+project(bento4 VERSION "${BENTO4_VERSION}") - - # Variables - set(SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/Source/C++) -@@ -51,14 +58,22 @@ endif() - - # Includes - set(AP4_INCLUDE_DIRS -- ${SOURCE_CORE} -- ${SOURCE_CODECS} -- ${SOURCE_CRYPTO} -- ${SOURCE_METADATA} -+ $ -+ $ -+ $ -+ $ -+) -+file(GLOB AP4_HEADERS -+ ${SOURCE_CORE}/*.h -+ ${SOURCE_CODECS}/*.h -+ ${SOURCE_CRYPTO}/*.h -+ ${SOURCE_METADATA}/*.h - ) - - add_library(ap4 STATIC ${AP4_SOURCES}) --target_include_directories(ap4 PUBLIC ${AP4_INCLUDE_DIRS}) -+target_include_directories(ap4 PUBLIC -+ ${AP4_INCLUDE_DIRS} -+) - - # Use the statically linked C runtime library - if(MSVC) -@@ -72,6 +87,7 @@ if(BUILD_APPS) - file(GLOB BENTO4_APPS RELATIVE ${SOURCE_ROOT}/Apps ${SOURCE_ROOT}/Apps/*) - foreach(app ${BENTO4_APPS}) - string(TOLOWER ${app} binary_name) -+ list(APPEND BENTO4_APPS_LOWERCASE ${binary_name}) - add_executable(${binary_name} ${SOURCE_ROOT}/Apps/${app}/${app}.cpp) - target_link_libraries(${binary_name} ap4) - -@@ -81,3 +97,48 @@ foreach(app ${BENTO4_APPS}) - endif() - endforeach() - endif(BUILD_APPS) -+ -+# Install -+include(GNUInstallDirs) -+set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") -+set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") -+set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake") -+set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") -+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -+set(namespace "${PROJECT_NAME}::") -+ -+include(CMakePackageConfigHelpers) -+write_basic_package_version_file( -+ "${version_config}" COMPATIBILITY SameMajorVersion -+) -+ -+configure_package_config_file( -+ "Build/cmake/Config.cmake.in" -+ "${project_config}" -+ INSTALL_DESTINATION "${config_install_dir}" -+) -+ -+install( -+ TARGETS ap4 ${BENTO4_APPS_LOWERCASE} -+ EXPORT "${TARGETS_EXPORT_NAME}" -+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -+) -+ -+install( -+ FILES ${AP4_HEADERS} -+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bento4" -+) -+ -+install( -+ FILES "${project_config}" "${version_config}" -+ DESTINATION "${config_install_dir}" -+) -+ -+install( -+ EXPORT "${TARGETS_EXPORT_NAME}" -+ NAMESPACE "${namespace}" -+ DESTINATION "${config_install_dir}" -+) diff --git a/package/bento4/0002-Add-additional-methods-funtions-and-passing-poolid.patch b/package/bento4/0002-Add-additional-methods-funtions-and-passing-poolid.patch deleted file mode 100644 index 22ac657a3f3..00000000000 --- a/package/bento4/0002-Add-additional-methods-funtions-and-passing-poolid.patch +++ /dev/null @@ -1,634 +0,0 @@ -From b2027d354ef5d52efd525730fa5e6beccb88d33f Mon Sep 17 00:00:00 2001 -From: Glenn Guy -Date: Thu, 22 Jul 2021 10:00:44 +0200 -Subject: [PATCH] Add additional methods/funtions and passing poolid - -Added back: -* SSD - > ParentIsOwner functionality -* LinearReader: GetSample, SeekSample, Reset -* Ap4Movie -> GetPsshAtoms -* Uuid/VppC -> GetData -* Ap4Protection -> WVTT atom type - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4ByteStream.h | 1 - - Source/C++/Core/Ap4CommonEncryption.cpp | 15 ++-- - Source/C++/Core/Ap4CommonEncryption.h | 24 +++++-- - Source/C++/Core/Ap4IsmaCryp.cpp | 5 +- - Source/C++/Core/Ap4IsmaCryp.h | 3 +- - Source/C++/Core/Ap4LinearReader.cpp | 94 ++++++++++++++++++++++++- - Source/C++/Core/Ap4LinearReader.h | 4 ++ - Source/C++/Core/Ap4Marlin.cpp | 5 +- - Source/C++/Core/Ap4Marlin.h | 3 +- - Source/C++/Core/Ap4MoovAtom.cpp | 28 +++++++- - Source/C++/Core/Ap4MoovAtom.h | 5 ++ - Source/C++/Core/Ap4Movie.cpp | 10 +++ - Source/C++/Core/Ap4Movie.h | 4 ++ - Source/C++/Core/Ap4OmaDcf.cpp | 8 ++- - Source/C++/Core/Ap4OmaDcf.h | 6 +- - Source/C++/Core/Ap4Protection.h | 3 +- - Source/C++/Core/Ap4SampleDescription.h | 1 + - Source/C++/Core/Ap4UuidAtom.h | 1 + - Source/C++/Core/Ap4VpccAtom.h | 3 + - 19 files changed, 197 insertions(+), 26 deletions(-) - -diff --git a/Source/C++/Core/Ap4ByteStream.h b/Source/C++/Core/Ap4ByteStream.h -index 0a59e63..93ac80f 100644 ---- a/Source/C++/Core/Ap4ByteStream.h -+++ b/Source/C++/Core/Ap4ByteStream.h -@@ -195,7 +195,6 @@ public: - AP4_UI08* UseData() { return m_Buffer->UseData(); } - AP4_Size GetDataSize() { return m_Buffer->GetDataSize(); } - --protected: - virtual ~AP4_MemoryByteStream(); - - private: -diff --git a/Source/C++/Core/Ap4CommonEncryption.cpp b/Source/C++/Core/Ap4CommonEncryption.cpp -index acd6361..5308200 100644 ---- a/Source/C++/Core/Ap4CommonEncryption.cpp -+++ b/Source/C++/Core/Ap4CommonEncryption.cpp -@@ -1859,7 +1859,8 @@ AP4_CencSingleSampleDecrypter::~AP4_CencSingleSampleDecrypter() { - | AP4_CencSingleSampleDecrypter::DecryptSampleData - +---------------------------------------------------------------------*/ - AP4_Result --AP4_CencSingleSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, -+AP4_CencSingleSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv, - unsigned int subsample_count, -@@ -2094,8 +2095,9 @@ AP4_CencSampleDecrypter::Create(AP4_CencSampleInfoTable* sample_info_table, - +---------------------------------------------------------------------*/ - AP4_CencSampleDecrypter::~AP4_CencSampleDecrypter() - { -- delete m_SampleInfoTable; -- delete m_SingleSampleDecrypter; -+ delete m_SampleInfoTable; -+ if (m_SingleSampleDecrypter->GetParentIsOwner()) -+ delete m_SingleSampleDecrypter; - } - - /*---------------------------------------------------------------------- -@@ -2112,7 +2114,8 @@ AP4_CencSampleDecrypter::SetSampleIndex(AP4_Ordinal sample_index) - | AP4_CencSampleDecrypter::DecryptSampleData - +---------------------------------------------------------------------*/ - AP4_Result --AP4_CencSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, -+AP4_CencSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv) - { -@@ -2139,7 +2142,7 @@ AP4_CencSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, - } - - // decrypt the sample -- return m_SingleSampleDecrypter->DecryptSampleData(data_in, data_out, iv_block, subsample_count, bytes_of_cleartext_data, bytes_of_encrypted_data); -+ return m_SingleSampleDecrypter->DecryptSampleData(poolid, data_in, data_out, iv_block, subsample_count, bytes_of_cleartext_data, bytes_of_encrypted_data); - } - - /*---------------------------------------------------------------------- -@@ -2323,7 +2326,7 @@ AP4_CencFragmentDecrypter::ProcessSample(AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out) - { - // decrypt the sample -- return m_SampleDecrypter->DecryptSampleData(data_in, data_out, NULL); -+ return m_SampleDecrypter->DecryptSampleData(0, data_in, data_out, NULL); - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Core/Ap4CommonEncryption.h b/Source/C++/Core/Ap4CommonEncryption.h -index 80db456..580de66 100644 ---- a/Source/C++/Core/Ap4CommonEncryption.h -+++ b/Source/C++/Core/Ap4CommonEncryption.h -@@ -691,9 +691,18 @@ public: - // methods - AP4_CencSingleSampleDecrypter(AP4_StreamCipher* cipher) : - m_Cipher(cipher), -- m_FullBlocksOnly(false) {} -+ m_FullBlocksOnly(false), -+ m_ParentIsOwner(true) {} - virtual ~AP4_CencSingleSampleDecrypter(); -- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ virtual AP4_Result SetFragmentInfo(AP4_UI32 poolid, const AP4_UI08* keyid, const AP4_UI08 nalu_length_size, -+ AP4_DataBuffer &annexb_sps_pps, AP4_UI32 flags) { -+ return AP4_ERROR_NOT_SUPPORTED; -+ }; -+ virtual AP4_UI32 AddPool() { return 0; }; -+ virtual void RemovePool(AP4_UI32 poolid) {}; -+ virtual const char* GetSessionId() { return nullptr; }; -+ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - - // always 16 bytes -@@ -706,7 +715,9 @@ public: - const AP4_UI16* bytes_of_cleartext_data, - - // array of integers. NULL if subsample_count is 0 -- const AP4_UI32* bytes_of_encrypted_data); -+ const AP4_UI32* bytes_of_encrypted_data); -+ bool GetParentIsOwner()const { return m_ParentIsOwner; }; -+ void SetParentIsOwner(bool parent_is_owner) { m_ParentIsOwner = parent_is_owner; }; - - private: - // constructor -@@ -715,12 +726,14 @@ private: - bool reset_iv_at_each_subsample) : - m_Cipher(cipher), - m_FullBlocksOnly(full_blocks_only), -- m_ResetIvAtEachSubsample(reset_iv_at_each_subsample) {} -+ m_ResetIvAtEachSubsample(reset_iv_at_each_subsample), -+ m_ParentIsOwner(true) {} - - // members - AP4_StreamCipher* m_Cipher; - bool m_FullBlocksOnly; - bool m_ResetIvAtEachSubsample; -+ bool m_ParentIsOwner; - }; - - /*---------------------------------------------------------------------- -@@ -766,7 +779,8 @@ public: - m_SampleCursor(0) {} - virtual ~AP4_CencSampleDecrypter(); - virtual AP4_Result SetSampleIndex(AP4_Ordinal sample_index); -- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv); - -diff --git a/Source/C++/Core/Ap4IsmaCryp.cpp b/Source/C++/Core/Ap4IsmaCryp.cpp -index dfb59a4..442ad49 100644 ---- a/Source/C++/Core/Ap4IsmaCryp.cpp -+++ b/Source/C++/Core/Ap4IsmaCryp.cpp -@@ -142,7 +142,8 @@ AP4_IsmaCipher::GetDecryptedSampleSize(AP4_Sample& sample) - | AP4_IsmaCipher::DecryptSampleData - +---------------------------------------------------------------------*/ - AP4_Result --AP4_IsmaCipher::DecryptSampleData(AP4_DataBuffer& data_in, -+AP4_IsmaCipher::DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* /*iv*/) - { -@@ -333,7 +334,7 @@ AP4_Result - AP4_IsmaTrackDecrypter::ProcessSample(AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out) - { -- return m_Cipher->DecryptSampleData(data_in, data_out); -+ return m_Cipher->DecryptSampleData(0, data_in, data_out); - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Core/Ap4IsmaCryp.h b/Source/C++/Core/Ap4IsmaCryp.h -index 4b9c60e..970dac8 100644 ---- a/Source/C++/Core/Ap4IsmaCryp.h -+++ b/Source/C++/Core/Ap4IsmaCryp.h -@@ -74,7 +74,8 @@ public: - AP4_Result EncryptSampleData(AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - AP4_UI32 block_counter); -- AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv = NULL); - AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); -diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp -index 08b55ee..7cc3ebd 100644 ---- a/Source/C++/Core/Ap4LinearReader.cpp -+++ b/Source/C++/Core/Ap4LinearReader.cpp -@@ -117,6 +117,29 @@ AP4_LinearReader::FlushQueues() - } - } - -+/*---------------------------------------------------------------------- -+| AP4_LinearReader::Reset -++---------------------------------------------------------------------*/ -+void -+AP4_LinearReader::Reset() -+{ -+ // flush any queued samples -+ FlushQueues(); -+ -+ // reset tracker states -+ for (unsigned int i = 0; i < m_Trackers.ItemCount(); i++) { -+ if (m_Trackers[i]->m_SampleTableIsOwned) { -+ delete m_Trackers[i]->m_SampleTable; -+ } -+ delete m_Trackers[i]->m_NextSample; -+ m_Trackers[i]->m_SampleTable = NULL; -+ m_Trackers[i]->m_NextSample = NULL; -+ m_Trackers[i]->m_NextSampleIndex = 0; -+ m_Trackers[i]->m_Eos = false; -+ } -+ m_NextFragmentPosition = 0; -+} -+ - /*---------------------------------------------------------------------- - | AP4_LinearReader::SetSampleIndex - +---------------------------------------------------------------------*/ -@@ -591,6 +614,75 @@ AP4_LinearReader::ReadNextSample(AP4_Sample& sample, - return ReadNextSample(sample, &sample_data, track_id); - } - -+/*---------------------------------------------------------------------- -+| AP4_LinearReader::GetSample -++---------------------------------------------------------------------*/ -+AP4_Result AP4_LinearReader::GetSample(AP4_UI32 track_id, AP4_Sample &sample, AP4_Ordinal sample_index) -+{ -+ // look for a sample from a specific track -+ Tracker* tracker = FindTracker(track_id); -+ if (tracker == NULL) -+ return AP4_ERROR_INVALID_PARAMETERS; -+ -+ // don't continue if we've reached the end of that tracker -+ if (tracker->m_Eos) -+ return AP4_ERROR_EOS; -+ -+ return tracker->m_SampleTable->GetSample(sample_index, sample); -+} -+ -+/*---------------------------------------------------------------------- -+| AP4_LinearReader::SeekSample -++---------------------------------------------------------------------*/ -+AP4_Result -+AP4_LinearReader::SeekSample(AP4_UI32 track_id, AP4_UI64 ts, AP4_Ordinal &sample_index, bool preceedingSync) -+{ -+ // we only support fragmented sources for now -+ if (!m_HasFragments) -+ return AP4_ERROR_NOT_SUPPORTED; -+ -+ if (m_Trackers.ItemCount() == 0) { -+ return AP4_ERROR_NO_SUCH_ITEM; -+ } -+ -+ // look for a sample from a specific track -+ Tracker* tracker = FindTracker(track_id); -+ if (tracker == NULL) -+ return AP4_ERROR_INVALID_PARAMETERS; -+ -+ // don't continue if we've reached the end of that tracker -+ if (tracker->m_Eos) -+ return AP4_ERROR_EOS; -+ -+ AP4_Result result; -+ -+ if (!tracker->m_SampleTable && AP4_FAILED(result = Advance())) -+ return result; -+ -+ while (AP4_FAILED(result = tracker->m_SampleTable->GetSampleIndexForTimeStamp(ts, sample_index))) -+ { -+ if (result == AP4_ERROR_NOT_ENOUGH_DATA) -+ { -+ tracker->m_NextSampleIndex = tracker->m_SampleTable->GetSampleCount(); -+ if (AP4_FAILED(result = Advance())) -+ return result; -+ continue; -+ } -+ return result; -+ } -+ -+ sample_index = tracker->m_SampleTable->GetNearestSyncSampleIndex(sample_index, preceedingSync); -+ //we have reached the end -> go for the first sample of the next segment -+ if (sample_index == tracker->m_SampleTable->GetSampleCount()) -+ { -+ tracker->m_NextSampleIndex = tracker->m_SampleTable->GetSampleCount(); -+ if (AP4_FAILED(result = Advance())) -+ return result; -+ sample_index = 0; -+ } -+ return SetSampleIndex(tracker->m_Track->GetId(), sample_index); -+} -+ - /*---------------------------------------------------------------------- - | AP4_LinearReader::GetNextSample - +---------------------------------------------------------------------*/ -@@ -633,5 +725,5 @@ AP4_DecryptingSampleReader::ReadSampleData(AP4_Sample& sample, - AP4_Result result = sample.ReadData(m_DataBuffer); - if (AP4_FAILED(result)) return result; - -- return m_Decrypter->DecryptSampleData(m_DataBuffer, sample_data); -+ return m_Decrypter->DecryptSampleData(0, m_DataBuffer, sample_data); - } -diff --git a/Source/C++/Core/Ap4LinearReader.h b/Source/C++/Core/Ap4LinearReader.h -index 549cb5f..21f4871 100644 ---- a/Source/C++/Core/Ap4LinearReader.h -+++ b/Source/C++/Core/Ap4LinearReader.h -@@ -85,6 +85,8 @@ public: - AP4_Result SetSampleIndex(AP4_UI32 track_id, AP4_UI32 sample_index); - - AP4_Result SeekTo(AP4_UI32 time_ms, AP4_UI32* actual_time_ms = 0); -+ -+ AP4_Result SeekSample(AP4_UI32 track_id, AP4_UI64 ts, AP4_Ordinal &sample_index, bool preceedingSync); - - // accessors - AP4_Size GetBufferFullness() { return m_BufferFullness; } -@@ -169,8 +171,10 @@ protected: - AP4_Result ReadNextSample(AP4_Sample& sample, - AP4_DataBuffer* sample_data, - AP4_UI32& track_id); -+ AP4_Result GetSample(AP4_UI32 track_id, AP4_Sample &sample, AP4_Ordinal sample_index); - void FlushQueue(Tracker* tracker); - void FlushQueues(); -+ void Reset(); - - // members - AP4_Movie& m_Movie; -diff --git a/Source/C++/Core/Ap4Marlin.cpp b/Source/C++/Core/Ap4Marlin.cpp -index d0ddd3f..c1aa8b6 100644 ---- a/Source/C++/Core/Ap4Marlin.cpp -+++ b/Source/C++/Core/Ap4Marlin.cpp -@@ -431,7 +431,8 @@ AP4_MarlinIpmpSampleDecrypter::GetDecryptedSampleSize(AP4_Sample& sample) - | AP4_MarlinIpmpSampleDecrypter::DecryptSampleData - +---------------------------------------------------------------------*/ - AP4_Result --AP4_MarlinIpmpSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, -+AP4_MarlinIpmpSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* /*iv*/) - { -@@ -630,7 +631,7 @@ AP4_Result - AP4_MarlinIpmpTrackDecrypter::ProcessSample(AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out) - { -- return m_SampleDecrypter->DecryptSampleData(data_in, data_out); -+ return m_SampleDecrypter->DecryptSampleData(0, data_in, data_out); - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Core/Ap4Marlin.h b/Source/C++/Core/Ap4Marlin.h -index 774e04f..9280ad6 100644 ---- a/Source/C++/Core/Ap4Marlin.h -+++ b/Source/C++/Core/Ap4Marlin.h -@@ -118,7 +118,8 @@ public: - - // AP4_SampleDecrypter methods - AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); -- AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv = NULL); - -diff --git a/Source/C++/Core/Ap4MoovAtom.cpp b/Source/C++/Core/Ap4MoovAtom.cpp -index 1ceab49..fbeee4f 100644 ---- a/Source/C++/Core/Ap4MoovAtom.cpp -+++ b/Source/C++/Core/Ap4MoovAtom.cpp -@@ -31,6 +31,7 @@ - +---------------------------------------------------------------------*/ - #include "Ap4MoovAtom.h" - #include "Ap4TrakAtom.h" -+#include "Ap4PsshAtom.h" - #include "Ap4AtomFactory.h" - - /*---------------------------------------------------------------------- -@@ -61,6 +62,29 @@ private: - AP4_List* m_TrakAtoms; - }; - -+/*---------------------------------------------------------------------- -+| AP4_PsshAtomCollector -++---------------------------------------------------------------------*/ -+class AP4_PsshAtomCollector : public AP4_List::Item::Operator -+{ -+public: -+ AP4_PsshAtomCollector(AP4_List* pssh_atoms) : -+ m_PsshAtoms(pssh_atoms) {} -+ -+ AP4_Result Action(AP4_Atom* atom) const { -+ if (atom->GetType() == AP4_ATOM_TYPE_PSSH) { -+ AP4_PsshAtom* pssh = AP4_DYNAMIC_CAST(AP4_PsshAtom, atom); -+ if (pssh) { -+ m_PsshAtoms->Add(pssh); -+ } -+ } -+ return AP4_SUCCESS; -+ } -+ -+private: -+ AP4_List* m_PsshAtoms; -+}; -+ - /*---------------------------------------------------------------------- - | AP4_MoovAtom::AP4_MoovAtom - +---------------------------------------------------------------------*/ -@@ -80,7 +104,9 @@ AP4_MoovAtom::AP4_MoovAtom(AP4_UI32 size, - m_TimeScale(0) - { - // collect all trak atoms -- m_Children.Apply(AP4_TrakAtomCollector(&m_TrakAtoms)); -+ m_Children.Apply(AP4_TrakAtomCollector(&m_TrakAtoms)); -+ // collect all pssh atoms -+ m_Children.Apply(AP4_PsshAtomCollector(&m_PsshAtoms)); - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Core/Ap4MoovAtom.h b/Source/C++/Core/Ap4MoovAtom.h -index f06b2a1..d1a0147 100644 ---- a/Source/C++/Core/Ap4MoovAtom.h -+++ b/Source/C++/Core/Ap4MoovAtom.h -@@ -40,6 +40,7 @@ - +---------------------------------------------------------------------*/ - class AP4_AtomFactory; - class AP4_TrakAtom; -+class AP4_PsshAtom; - - /*---------------------------------------------------------------------- - | AP4_MoovAtom -@@ -61,6 +62,9 @@ public: - AP4_List& GetTrakAtoms() { - return m_TrakAtoms; - } -+ AP4_List& GetPsshAtoms() { -+ return m_PsshAtoms; -+ } - AP4_UI32 GetTimeScale() { - return m_TimeScale; - } -@@ -77,6 +81,7 @@ private: - AP4_AtomFactory& atom_factory); - - // members -+ AP4_List m_PsshAtoms; - AP4_List m_TrakAtoms; - AP4_UI32 m_TimeScale; - }; -diff --git a/Source/C++/Core/Ap4Movie.cpp b/Source/C++/Core/Ap4Movie.cpp -index b080b53..9617494 100644 ---- a/Source/C++/Core/Ap4Movie.cpp -+++ b/Source/C++/Core/Ap4Movie.cpp -@@ -32,6 +32,7 @@ - #include "Ap4File.h" - #include "Ap4Atom.h" - #include "Ap4TrakAtom.h" -+#include "Ap4PsshAtom.h" - #include "Ap4MoovAtom.h" - #include "Ap4MvhdAtom.h" - #include "Ap4AtomFactory.h" -@@ -110,6 +111,15 @@ AP4_Movie::AP4_Movie(AP4_MoovAtom* moov, AP4_ByteStream& sample_stream, bool tra - time_scale = 0; - } - -+ // get the pssh atoms -+ AP4_List* pssh_atoms; -+ pssh_atoms = &moov->GetPsshAtoms(); -+ AP4_List::Item* pssh_item = pssh_atoms->FirstItem(); -+ while (pssh_item) { -+ m_PsshAtoms.Append(*pssh_item->GetData()); -+ pssh_item = pssh_item->GetNext(); -+ } -+ - // get all tracks - AP4_List* trak_atoms; - trak_atoms = &moov->GetTrakAtoms(); -diff --git a/Source/C++/Core/Ap4Movie.h b/Source/C++/Core/Ap4Movie.h -index 21ef173..04992a4 100644 ---- a/Source/C++/Core/Ap4Movie.h -+++ b/Source/C++/Core/Ap4Movie.h -@@ -37,6 +37,7 @@ - #include "Ap4MvhdAtom.h" - #include "Ap4Track.h" - #include "Ap4List.h" -+#include "Ap4PsshAtom.h" - - /*---------------------------------------------------------------------- - | class references -@@ -60,6 +61,8 @@ public: - AP4_Result Inspect(AP4_AtomInspector& inspector); - - AP4_MoovAtom* GetMoovAtom() { return m_MoovAtom;} -+ void SetMoovAtom(AP4_MoovAtom* atom) { m_MoovAtom = atom; } -+ AP4_Array& GetPsshAtoms() { return m_PsshAtoms; } - AP4_MvhdAtom* GetMvhdAtom() { return m_MvhdAtom;} - AP4_List& GetTracks() { return m_Tracks; } - AP4_Track* GetTrack(AP4_UI32 track_id); -@@ -75,6 +78,7 @@ private: - AP4_MoovAtom* m_MoovAtom; - bool m_MoovAtomIsOwned; - AP4_MvhdAtom* m_MvhdAtom; -+ AP4_Array m_PsshAtoms; - AP4_List m_Tracks; - }; - -diff --git a/Source/C++/Core/Ap4OmaDcf.cpp b/Source/C++/Core/Ap4OmaDcf.cpp -index 17099a1..4eefbaf 100644 ---- a/Source/C++/Core/Ap4OmaDcf.cpp -+++ b/Source/C++/Core/Ap4OmaDcf.cpp -@@ -436,7 +436,8 @@ AP4_OmaDcfCtrSampleDecrypter::~AP4_OmaDcfCtrSampleDecrypter() - | AP4_OmaDcfCtrSampleDecrypter::DecryptSampleData - +---------------------------------------------------------------------*/ - AP4_Result --AP4_OmaDcfCtrSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, -+AP4_OmaDcfCtrSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* /*iv*/) - { -@@ -531,7 +532,8 @@ AP4_OmaDcfCbcSampleDecrypter::~AP4_OmaDcfCbcSampleDecrypter() - | AP4_OmaDbcCbcSampleDecrypter::DecryptSampleData - +---------------------------------------------------------------------*/ - AP4_Result --AP4_OmaDcfCbcSampleDecrypter::DecryptSampleData(AP4_DataBuffer& data_in, -+AP4_OmaDcfCbcSampleDecrypter::DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* /*iv*/) - { -@@ -853,7 +855,7 @@ AP4_Result - AP4_OmaDcfTrackDecrypter::ProcessSample(AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out) - { -- return m_Cipher->DecryptSampleData(data_in, data_out); -+ return m_Cipher->DecryptSampleData(0, data_in, data_out); - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Core/Ap4OmaDcf.h b/Source/C++/Core/Ap4OmaDcf.h -index 23f10ed..bb7b3d6 100644 ---- a/Source/C++/Core/Ap4OmaDcf.h -+++ b/Source/C++/Core/Ap4OmaDcf.h -@@ -133,7 +133,8 @@ public: - ~AP4_OmaDcfCtrSampleDecrypter(); - - // methods -- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv = NULL); - virtual AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); -@@ -155,7 +156,8 @@ public: - ~AP4_OmaDcfCbcSampleDecrypter(); - - // methods -- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv = NULL); - virtual AP4_Size GetDecryptedSampleSize(AP4_Sample& sample); -diff --git a/Source/C++/Core/Ap4Protection.h b/Source/C++/Core/Ap4Protection.h -index 856f1f3..4080584 100644 ---- a/Source/C++/Core/Ap4Protection.h -+++ b/Source/C++/Core/Ap4Protection.h -@@ -393,7 +393,8 @@ public: - // methods - virtual AP4_Size GetDecryptedSampleSize(AP4_Sample& sample) { return sample.GetSize(); } - virtual AP4_Result SetSampleIndex(AP4_Ordinal /*index*/) { return AP4_SUCCESS; } -- virtual AP4_Result DecryptSampleData(AP4_DataBuffer& data_in, -+ virtual AP4_Result DecryptSampleData(AP4_UI32 poolid, -+ AP4_DataBuffer& data_in, - AP4_DataBuffer& data_out, - const AP4_UI08* iv = NULL) = 0; - }; -diff --git a/Source/C++/Core/Ap4SampleDescription.h b/Source/C++/Core/Ap4SampleDescription.h -index 27f3136..d493f96 100644 ---- a/Source/C++/Core/Ap4SampleDescription.h -+++ b/Source/C++/Core/Ap4SampleDescription.h -@@ -101,6 +101,7 @@ const AP4_UI32 AP4_SAMPLE_FORMAT_TX3G = AP4_ATOM_TYPE('t','x','3','g'); - const AP4_UI32 AP4_SAMPLE_FORMAT_VC_1 = AP4_ATOM_TYPE('v','c','-','1'); - const AP4_UI32 AP4_SAMPLE_FORMAT_XML_ = AP4_ATOM_TYPE('x','m','l',' '); - const AP4_UI32 AP4_SAMPLE_FORMAT_STPP = AP4_ATOM_TYPE('s','t','p','p'); -+const AP4_UI32 AP4_SAMPLE_FORMAT_WVTT = AP4_ATOM_TYPE('w','v','t','t'); - const AP4_UI32 AP4_SAMPLE_FORMAT_FLAC = AP4_ATOM_TYPE('f','L','a','C'); - const AP4_UI32 AP4_SAMPLE_FORMAT_OPUS = AP4_ATOM_TYPE('O','p','u','s'); - const AP4_UI32 AP4_SAMPLE_FORMAT_VP8 = AP4_ATOM_TYPE('v','p','0','8'); -diff --git a/Source/C++/Core/Ap4UuidAtom.h b/Source/C++/Core/Ap4UuidAtom.h -index b9771bd..0ec3b08 100644 ---- a/Source/C++/Core/Ap4UuidAtom.h -+++ b/Source/C++/Core/Ap4UuidAtom.h -@@ -90,6 +90,7 @@ public: - - // methods - virtual AP4_Result WriteFields(AP4_ByteStream& stream); -+ const AP4_DataBuffer &GetData() { return m_Data; }; - - protected: - // members -diff --git a/Source/C++/Core/Ap4VpccAtom.h b/Source/C++/Core/Ap4VpccAtom.h -index 9fb60bc..929048a 100644 ---- a/Source/C++/Core/Ap4VpccAtom.h -+++ b/Source/C++/Core/Ap4VpccAtom.h -@@ -79,10 +79,13 @@ public: - AP4_UI08 GetTransferCharacteristics() { return m_TransferCharacteristics; } - AP4_UI08 GetMatrixCoefficients() { return m_MatrixCoefficients; } - const AP4_DataBuffer& GetCodecInitializationData() { return m_CodecIntializationData; } -+ const AP4_DataBuffer& GetData() { return m_Data; } - - // helpers - AP4_Result GetCodecString(AP4_UI32 container_type, AP4_String& codec); - -+protected: -+ AP4_DataBuffer m_Data; - private: - // methods - AP4_VpccAtom(AP4_UI32 size, const AP4_UI08* payload); --- -2.30.2 - diff --git a/package/bento4/0003-Backport-Smmothstream-changes.patch b/package/bento4/0003-Backport-Smmothstream-changes.patch deleted file mode 100644 index a9a577a2d91..00000000000 --- a/package/bento4/0003-Backport-Smmothstream-changes.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 97088e7bd7e84a493bea7e5fe4e808c8ac3e00ff Mon Sep 17 00:00:00 2001 -From: CastagnaIT -Date: Thu, 22 Jul 2021 10:09:24 +0200 -Subject: [PATCH] Backport Smmothstream changes - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4File.cpp | 14 ++++++++------ - Source/C++/Core/Ap4File.h | 6 ++++-- - Source/C++/Core/Ap4FragmentSampleTable.cpp | 2 +- - 3 files changed, 13 insertions(+), 9 deletions(-) - -diff --git a/Source/C++/Core/Ap4File.cpp b/Source/C++/Core/Ap4File.cpp -index cb20c3e..f1d2727 100644 ---- a/Source/C++/Core/Ap4File.cpp -+++ b/Source/C++/Core/Ap4File.cpp -@@ -55,13 +55,14 @@ AP4_File::AP4_File(AP4_Movie* movie) : - +---------------------------------------------------------------------*/ - AP4_File::AP4_File(AP4_ByteStream& stream, - AP4_AtomFactory& atom_factory, -- bool moov_only) : -- m_Movie(NULL), -+ bool moov_only, -+ AP4_Movie* movie) : -+ m_Movie(movie), - m_FileType(NULL), - m_MetaData(NULL), - m_MoovIsBeforeMdat(true) - { -- ParseStream(stream, atom_factory, moov_only); -+ ParseStream(stream, atom_factory, moov_only, movie); - } - - /*---------------------------------------------------------------------- -@@ -75,7 +76,7 @@ AP4_File::AP4_File(AP4_ByteStream& stream, - m_MoovIsBeforeMdat(true) - { - AP4_DefaultAtomFactory atom_factory; -- ParseStream(stream, atom_factory, moov_only); -+ ParseStream(stream, atom_factory, moov_only, m_Movie); - } - - /*---------------------------------------------------------------------- -@@ -93,12 +94,13 @@ AP4_File::~AP4_File() - void - AP4_File::ParseStream(AP4_ByteStream& stream, - AP4_AtomFactory& atom_factory, -- bool moov_only) -+ bool moov_only, -+ AP4_Movie* movie) - { - // parse top-level atoms - AP4_Atom* atom; - AP4_Position stream_position; -- bool keep_parsing = true; -+ bool keep_parsing = movie == 0; - while (keep_parsing && - AP4_SUCCEEDED(stream.Tell(stream_position)) && - AP4_SUCCEEDED(atom_factory.CreateAtomFromStream(stream, atom))) { -diff --git a/Source/C++/Core/Ap4File.h b/Source/C++/Core/Ap4File.h -index 9375258..2f00187 100644 ---- a/Source/C++/Core/Ap4File.h -+++ b/Source/C++/Core/Ap4File.h -@@ -101,7 +101,8 @@ public: - */ - AP4_File(AP4_ByteStream& stream, - AP4_AtomFactory& atom_factory, -- bool moov_only); -+ bool moov_only, -+ AP4_Movie* movie = NULL); - - /** - * Constructs an AP4_File from a stream using the default atom factory -@@ -161,7 +162,8 @@ private: - // methods - void ParseStream(AP4_ByteStream& stream, - AP4_AtomFactory& atom_factory, -- bool moov_only); -+ bool moov_only, -+ AP4_Movie* movie); - - // members - AP4_Movie* m_Movie; -diff --git a/Source/C++/Core/Ap4FragmentSampleTable.cpp b/Source/C++/Core/Ap4FragmentSampleTable.cpp -index 84e5ded..3fbb53e 100644 ---- a/Source/C++/Core/Ap4FragmentSampleTable.cpp -+++ b/Source/C++/Core/Ap4FragmentSampleTable.cpp -@@ -130,7 +130,7 @@ AP4_FragmentSampleTable::AddTrun(AP4_TrunAtom* trun, - data_offset += trun->GetDataOffset(); - } - // MS hack -- if (data_offset == moof_offset) { -+ if (data_offset < payload_offset) { - data_offset = payload_offset; - } else { - payload_offset = data_offset; --- -2.30.2 - diff --git a/package/bento4/0004-more-SPS-parameters.patch b/package/bento4/0004-more-SPS-parameters.patch deleted file mode 100644 index 7034739815e..00000000000 --- a/package/bento4/0004-more-SPS-parameters.patch +++ /dev/null @@ -1,219 +0,0 @@ -From 25df596f009514b213c5eaf5d5eb94072391c1be Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 10:22:39 +0200 -Subject: [PATCH] more SPS parameters - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Codecs/Ap4AvcParser.cpp | 100 ++++++++++++++++++++++++++++- - Source/C++/Codecs/Ap4AvcParser.h | 22 +++++++ - Source/C++/Core/Ap4Utils.cpp | 8 +++ - Source/C++/Core/Ap4Utils.h | 2 +- - 4 files changed, 129 insertions(+), 3 deletions(-) - -diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp -index b95398b..7efb5c9 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.cpp -+++ b/Source/C++/Codecs/Ap4AvcParser.cpp -@@ -30,7 +30,6 @@ - | includes - +---------------------------------------------------------------------*/ - #include "Ap4AvcParser.h" --#include "Ap4Utils.h" - - /*---------------------------------------------------------------------- - | debugging -@@ -123,6 +122,25 @@ AP4_AvcNalParser::SliceTypeName(unsigned int slice_type) - } - } - -+const int SAR[17][2] = { -+ { 0, 1 }, -+ { 1, 1 }, -+ { 12, 11 }, -+ { 10, 11 }, -+ { 16, 11 }, -+ { 40, 33 }, -+ { 24, 11 }, -+ { 20, 11 }, -+ { 32, 11 }, -+ { 80, 33 }, -+ { 18, 11 }, -+ { 15, 11 }, -+ { 64, 33 }, -+ { 160, 99 }, -+ { 4, 3 }, -+ { 3, 2 }, -+ { 2, 1 }, -+}; - /*---------------------------------------------------------------------- - | AP4_AvcNalParser::AP4_AvcNalParser - +---------------------------------------------------------------------*/ -@@ -236,7 +254,28 @@ AP4_AvcSequenceParameterSet::AP4_AvcSequenceParameterSet() : - frame_crop_left_offset(0), - frame_crop_right_offset(0), - frame_crop_top_offset(0), -- frame_crop_bottom_offset(0) -+ frame_crop_bottom_offset(0), -+ vui_parameters_present_flag(0), -+ aspect_ratio_info_present_flag(0), -+ aspect_ratio_idc(0), -+ sar_width(0), -+ sar_height(0), -+ overscan_info_present_flag(0), -+ overscan_appropriate_flag(0), -+ video_signal_type_present_flag(0), -+ video_format(0), -+ video_full_range_flag(0), -+ colour_description_present_flag(0), -+ colour_primaries(0), -+ transfer_characteristics(0), -+ matrix_coefficients(0), -+ chroma_loc_info_present_flag(0), -+ chroma_sample_loc_type_top_field(0), -+ chroma_sample_loc_type_bottom_field(0), -+ timing_info_present_flag(0), -+ num_units_in_tick(0), -+ time_scale(0), -+ fixed_frame_rate_flag(0) - { - AP4_SetMemory(scaling_list_4x4, 0, sizeof(scaling_list_4x4)); - AP4_SetMemory(use_default_scaling_matrix_4x4, 0, sizeof(use_default_scaling_matrix_4x4)); -@@ -372,7 +411,64 @@ AP4_AvcFrameParser::ParseSPS(const unsigned char* data, - sps.frame_crop_top_offset = ReadGolomb(bits); - sps.frame_crop_bottom_offset = ReadGolomb(bits); - } -+ sps.vui_parameters_present_flag = bits.ReadBit(); -+ if (sps.vui_parameters_present_flag) { -+ sps.aspect_ratio_info_present_flag = bits.ReadBit(); -+ if (sps.aspect_ratio_info_present_flag) { -+ sps.aspect_ratio_idc = bits.ReadBits(8); -+ if (sps.aspect_ratio_idc == 0xFF) -+ { -+ sps.sar_width = bits.ReadBits(16); -+ sps.sar_height = bits.ReadBits(16); -+ } -+ else if (sps.aspect_ratio_idc < 17) -+ { -+ sps.sar_width = SAR[sps.aspect_ratio_idc][0]; -+ sps.sar_height = SAR[sps.aspect_ratio_idc][1]; -+ } -+ } -+ sps.overscan_info_present_flag = bits.ReadBit(); -+ if (sps.overscan_info_present_flag) -+ sps.overscan_appropriate_flag = bits.ReadBit(); -+ -+ sps.video_signal_type_present_flag = bits.ReadBit(); -+ if (sps.video_signal_type_present_flag) { -+ sps.video_format = bits.ReadBits(3); -+ sps.video_full_range_flag = bits.ReadBit(); -+ sps.colour_description_present_flag = bits.ReadBit(); -+ if (sps.colour_description_present_flag) { -+ sps.colour_primaries = bits.ReadBits(8); -+ sps.transfer_characteristics = bits.ReadBits(8); -+ sps.matrix_coefficients = bits.ReadBits(8); -+ } -+ } -+ - -+ sps.chroma_loc_info_present_flag = bits.ReadBit(); -+ if (sps.chroma_loc_info_present_flag) { -+ sps.chroma_sample_loc_type_top_field = ReadGolomb(bits); -+ sps.chroma_sample_loc_type_bottom_field = ReadGolomb(bits); -+ } -+ -+ if (bits.PeekBit() && bits.BitsLeft() < 10) -+ return AP4_SUCCESS; -+ -+ sps.timing_info_present_flag = bits.ReadBit(); -+ if (sps.timing_info_present_flag) { -+#if AP4_PLATFORM_BYTE_ORDER == AP4_PLATFORM_BYTE_ORDER_BIG_ENDIAN -+ sps.num_units_in_tick = bits.ReadBits(32); -+ sps.time_scale = bits.ReadBits(32); -+#else -+ sps.num_units_in_tick = bits.ReadBits(16) << 16; -+ sps.num_units_in_tick |= bits.ReadBits(16); -+ sps.time_scale = bits.ReadBits(16) << 16; -+ sps.time_scale |= bits.ReadBits(16); -+#endif -+ if (!sps.num_units_in_tick || !sps.time_scale) -+ sps.timing_info_present_flag = 0; -+ sps.fixed_frame_rate_flag = bits.ReadBit(); -+ } -+ } - return AP4_SUCCESS; - } - -diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h -index 8f9cd6c..9f97892 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.h -+++ b/Source/C++/Codecs/Ap4AvcParser.h -@@ -37,6 +37,7 @@ - #include "Ap4DataBuffer.h" - #include "Ap4NalParser.h" - #include "Ap4Array.h" -+#include "Ap4Utils.h" - - /*---------------------------------------------------------------------- - | constants -@@ -131,6 +132,27 @@ struct AP4_AvcSequenceParameterSet { - unsigned int frame_crop_right_offset; - unsigned int frame_crop_top_offset; - unsigned int frame_crop_bottom_offset; -+ unsigned int vui_parameters_present_flag; -+ unsigned int aspect_ratio_info_present_flag; -+ unsigned int aspect_ratio_idc; -+ unsigned int sar_width; -+ unsigned int sar_height; -+ unsigned int overscan_info_present_flag; -+ unsigned int overscan_appropriate_flag; -+ unsigned int video_signal_type_present_flag; -+ unsigned int video_format; -+ unsigned int video_full_range_flag; -+ unsigned int colour_description_present_flag; -+ unsigned int colour_primaries; -+ unsigned int transfer_characteristics; -+ unsigned int matrix_coefficients; -+ unsigned int chroma_loc_info_present_flag; -+ unsigned int chroma_sample_loc_type_top_field; -+ unsigned int chroma_sample_loc_type_bottom_field; -+ unsigned int timing_info_present_flag; -+ unsigned int num_units_in_tick; -+ unsigned int time_scale; -+ unsigned int fixed_frame_rate_flag; - }; - - struct AP4_AvcPictureParameterSet { -diff --git a/Source/C++/Core/Ap4Utils.cpp b/Source/C++/Core/Ap4Utils.cpp -index 96def27..6de4dba 100644 ---- a/Source/C++/Core/Ap4Utils.cpp -+++ b/Source/C++/Core/Ap4Utils.cpp -@@ -581,4 +581,12 @@ AP4_BitReader::SkipBit() - } - } - -+/*---------------------------------------------------------------------- -+| AP4_BitReader::BitsLeft -++---------------------------------------------------------------------*/ -+AP4_UI32 -+AP4_BitReader::BitsLeft() -+{ -+ return (m_Buffer.GetDataSize() - m_Position) * 8 + m_BitsCached; -+} - -diff --git a/Source/C++/Core/Ap4Utils.h b/Source/C++/Core/Ap4Utils.h -index 475bff3..e66bafa 100644 ---- a/Source/C++/Core/Ap4Utils.h -+++ b/Source/C++/Core/Ap4Utils.h -@@ -262,7 +262,7 @@ public: - AP4_Result SkipBytes(AP4_Size byte_count); - void SkipBit(); - void SkipBits(unsigned int bit_count); -- -+ AP4_UI32 BitsLeft(); - unsigned int GetBitsRead(); - - private: --- -2.30.2 - diff --git a/package/bento4/0005-AVC-extract-VUI-values-from-SPS.patch b/package/bento4/0005-AVC-extract-VUI-values-from-SPS.patch deleted file mode 100644 index 27b9572269f..00000000000 --- a/package/bento4/0005-AVC-extract-VUI-values-from-SPS.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 56e0acde44adbc5503da20dd96c31db33f744bd7 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 10:27:50 +0200 -Subject: [PATCH] AVC extract VUI values from SPS - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Codecs/Ap4AvcParser.cpp | 54 +++++++++++++++++++++++++----- - Source/C++/Codecs/Ap4AvcParser.h | 3 +- - 2 files changed, 47 insertions(+), 10 deletions(-) - -diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp -index 7efb5c9..7f4fc34 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.cpp -+++ b/Source/C++/Codecs/Ap4AvcParser.cpp -@@ -287,18 +287,54 @@ AP4_AvcSequenceParameterSet::AP4_AvcSequenceParameterSet() : - /*---------------------------------------------------------------------- - | AP4_AvcSequenceParameterSet::GetInfo - +---------------------------------------------------------------------*/ --void -+bool - AP4_AvcSequenceParameterSet::GetInfo(unsigned int& width, unsigned int& height) - { -- width = (pic_width_in_mbs_minus1+1) * 16; -- height = (2-frame_mbs_only_flag) * (pic_height_in_map_units_minus1+1) * 16; -+ unsigned int nwidth = (pic_width_in_mbs_minus1+1) * 16; -+ unsigned int nheight = (2-frame_mbs_only_flag) * (pic_height_in_map_units_minus1+1) * 16; - -- if (frame_cropping_flag) { -- unsigned int crop_h = 2*(frame_crop_left_offset+frame_crop_right_offset); -- unsigned int crop_v = 2*(frame_crop_top_offset+frame_crop_bottom_offset)*(2-frame_mbs_only_flag); -- if (crop_h < width) width -= crop_h; -- if (crop_v < height) height -= crop_v; -- } -+ if (frame_cropping_flag) { -+ unsigned int crop_h = 2*(frame_crop_left_offset+frame_crop_right_offset); -+ unsigned int crop_v = 2*(frame_crop_top_offset+frame_crop_bottom_offset)*(2-frame_mbs_only_flag); -+ if (crop_h < nwidth) nwidth -= crop_h; -+ if (crop_v < nheight) nheight -= crop_v; -+ } -+ if (nwidth != width || nheight != height) -+ { -+ width = nwidth; -+ height = nheight; -+ return true; -+ } -+ return false; -+} -+ -+/*---------------------------------------------------------------------- -+| AP4_AvcSequenceParameterSet::GetVUIInfo -++---------------------------------------------------------------------*/ -+bool -+AP4_AvcSequenceParameterSet::GetVUIInfo(unsigned int& fps_ticks, unsigned int& fps_scale, float &aspect) -+{ -+ bool ret(false); -+ if (timing_info_present_flag && fixed_frame_rate_flag) -+ { -+ if (fps_scale != (num_units_in_tick << 1) || fps_ticks != time_scale) -+ { -+ fps_scale = num_units_in_tick << 1; -+ fps_ticks = time_scale; -+ ret = true; -+ } -+ } -+ unsigned int w, h; -+ if (aspect_ratio_info_present_flag && GetInfo(w, h)) -+ { -+ float a((float)(sar_width * w) / (sar_height * h)); -+ if (a != aspect) -+ { -+ aspect = a; -+ ret = true; -+ } -+ } -+ return ret; - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h -index 9f97892..431a294 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.h -+++ b/Source/C++/Codecs/Ap4AvcParser.h -@@ -91,7 +91,8 @@ typedef struct { - struct AP4_AvcSequenceParameterSet { - AP4_AvcSequenceParameterSet(); - -- void GetInfo(unsigned int& width, unsigned int& height); -+ bool GetInfo(unsigned int& width, unsigned int& height); -+ bool GetVUIInfo(unsigned int& fps_ticks, unsigned int& fps_scale, float &aspect); - - AP4_DataBuffer raw_bytes; - --- -2.30.2 - diff --git a/package/bento4/0006-Implement-SPS-Frame-parser.patch b/package/bento4/0006-Implement-SPS-Frame-parser.patch deleted file mode 100644 index d2c224ccf90..00000000000 --- a/package/bento4/0006-Implement-SPS-Frame-parser.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 441247d84e8493a49d234fe062100b049956de90 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 10:34:42 +0200 -Subject: [PATCH] Implement SPS Frame parser - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Codecs/Ap4AvcParser.cpp | 26 ++++++++++++++++++++++++++ - Source/C++/Codecs/Ap4AvcParser.h | 5 +++++ - 2 files changed, 31 insertions(+) - -diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp -index 7f4fc34..cfa841d 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.cpp -+++ b/Source/C++/Codecs/Ap4AvcParser.cpp -@@ -1112,6 +1112,32 @@ AP4_AvcFrameParser::AppendNalUnitData(const unsigned char* data, unsigned int da - m_AccessUnitData.Append(new AP4_DataBuffer(data, data_size)); - } - -+/*---------------------------------------------------------------------- -+| AP4_AvcFrameParser::Feed -++---------------------------------------------------------------------*/ -+AP4_Result AP4_AvcFrameParser::ParseFrameForSPS(const AP4_Byte* data, AP4_Size data_size, AP4_UI08 naluLengthSize, AP4_AvcSequenceParameterSet &sps) -+{ -+ if (data_size < naluLengthSize) -+ return AP4_ERROR_EOS; -+ -+ while (data_size > naluLengthSize) -+ { -+ AP4_Size nalSize(0); -+ for (unsigned int i(0); i < naluLengthSize; ++i) { nalSize = (nalSize << 8) + *data++; }; -+ data_size -= naluLengthSize; -+ if (nalSize > data_size) -+ return AP4_ERROR_INVALID_PARAMETERS; -+ -+ if ((*data & 0x1F) == AP4_AVC_NAL_UNIT_TYPE_SPS) -+ { -+ AP4_AvcFrameParser fp; -+ return fp.ParseSPS(data, data_size, sps); -+ } -+ data_size -= nalSize; -+ } -+ return AP4_SUCCESS; -+} -+ - /*---------------------------------------------------------------------- - | AP4_AvcFrameParser::Feed - +---------------------------------------------------------------------*/ -diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h -index 431a294..99c5320 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.h -+++ b/Source/C++/Codecs/Ap4AvcParser.h -@@ -258,6 +258,11 @@ public: - AP4_AvcFrameParser(); - ~AP4_AvcFrameParser(); - -+ static AP4_Result ParseFrameForSPS(const AP4_Byte* data, -+ AP4_Size data_size, -+ AP4_UI08 naluLengthSize, -+ AP4_AvcSequenceParameterSet &sps); -+ - /** - * Feed some data to the parser and look for the next NAL Unit. - * --- -2.30.2 - diff --git a/package/bento4/0007-Fix-segfault-when-AP4_Sample-s-seek.patch b/package/bento4/0007-Fix-segfault-when-AP4_Sample-s-seek.patch deleted file mode 100644 index bd7f4346528..00000000000 --- a/package/bento4/0007-Fix-segfault-when-AP4_Sample-s-seek.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b36f3c02a93029308654f77c01c3c04259449c5c Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 10:35:48 +0200 -Subject: [PATCH] Fix segfault when AP4_Sample's seek - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4LinearReader.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp -index 7cc3ebd..61dd60e 100644 ---- a/Source/C++/Core/Ap4LinearReader.cpp -+++ b/Source/C++/Core/Ap4LinearReader.cpp -@@ -482,6 +482,7 @@ AP4_LinearReader::Advance(bool read_data) - result = buffer->m_Sample->ReadData(buffer->m_Data); - } - if (AP4_FAILED(result)) { -+ buffer->m_Sample = nullptr; - delete buffer; - return result; - } --- -2.30.2 - diff --git a/package/bento4/0008-Hack-HBO.patch b/package/bento4/0008-Hack-HBO.patch deleted file mode 100644 index ed297574a83..00000000000 --- a/package/bento4/0008-Hack-HBO.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 37e54320f2822bdc7eab50eb54b1fc4a452c7f60 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 11:18:14 +0200 -Subject: [PATCH] Hack HBO - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4FragmentSampleTable.cpp | 8 +++++++- - Source/C++/Core/Ap4FragmentSampleTable.h | 1 + - Source/C++/Core/Ap4LinearReader.cpp | 20 +++++++++++++------- - Source/C++/Core/Ap4LinearReader.h | 3 ++- - Source/C++/Core/Ap4MovieFragment.cpp | 5 ++++- - Source/C++/Core/Ap4MovieFragment.h | 2 ++ - Source/C++/Core/Ap4Processor.cpp | 3 ++- - 7 files changed, 31 insertions(+), 11 deletions(-) - -diff --git a/Source/C++/Core/Ap4FragmentSampleTable.cpp b/Source/C++/Core/Ap4FragmentSampleTable.cpp -index 3fbb53e..cea5c7d 100644 ---- a/Source/C++/Core/Ap4FragmentSampleTable.cpp -+++ b/Source/C++/Core/Ap4FragmentSampleTable.cpp -@@ -47,6 +47,7 @@ AP4_FragmentSampleTable::AP4_FragmentSampleTable(AP4_ContainerAtom* traf, - AP4_ByteStream* sample_stream, - AP4_Position moof_offset, - AP4_Position mdat_payload_offset, -+ AP4_UI64 mdat_payload_size, - AP4_UI64 dts_origin) : - m_Duration(0) - { -@@ -73,6 +74,7 @@ AP4_FragmentSampleTable::AP4_FragmentSampleTable(AP4_ContainerAtom* traf, - } - - // process all the trun atoms -+ AP4_UI32 trun_flags(0); - for (AP4_List::Item* item = traf->GetChildren().FirstItem(); - item; - item = item->GetNext()) { -@@ -88,9 +90,13 @@ AP4_FragmentSampleTable::AP4_FragmentSampleTable(AP4_ContainerAtom* traf, - mdat_payload_offset, - dts_origin); - if (AP4_FAILED(result)) return; -+ trun_flags |= trun->GetFlags(); - } - } -- } -+ } -+ // Hack if we have a single sample and default sample size is wrong (hbo ttml) -+ if (m_Samples.ItemCount() == 1 && (trun_flags & AP4_TRUN_FLAG_SAMPLE_SIZE_PRESENT) == 0) -+ m_Samples[0].SetSize(mdat_payload_size); - } - - /*---------------------------------------------------------------------- -diff --git a/Source/C++/Core/Ap4FragmentSampleTable.h b/Source/C++/Core/Ap4FragmentSampleTable.h -index 67192de..29fa4a9 100644 ---- a/Source/C++/Core/Ap4FragmentSampleTable.h -+++ b/Source/C++/Core/Ap4FragmentSampleTable.h -@@ -57,6 +57,7 @@ class AP4_FragmentSampleTable : public AP4_SampleTable - AP4_ByteStream* sample_stream, - AP4_Position moof_offset, - AP4_Position mdat_payload_offset, // hack because MS doesn't implement the spec correctly -+ AP4_UI64 mdat_payload_size, - AP4_UI64 dts_origin=0); - virtual ~AP4_FragmentSampleTable(); - -diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp -index 61dd60e..eabeacf 100644 ---- a/Source/C++/Core/Ap4LinearReader.cpp -+++ b/Source/C++/Core/Ap4LinearReader.cpp -@@ -309,7 +309,8 @@ AP4_LinearReader::ProcessTrack(AP4_Track* track) - AP4_Result - AP4_LinearReader::ProcessMoof(AP4_ContainerAtom* moof, - AP4_Position moof_offset, -- AP4_Position mdat_payload_offset) -+ AP4_Position mdat_payload_offset, -+ AP4_UI64 mdat_payload_size) - { - AP4_Result result; - -@@ -334,7 +335,8 @@ AP4_LinearReader::ProcessMoof(AP4_ContainerAtom* moof, - ids[j], - m_FragmentStream, - moof_offset, -- mdat_payload_offset, -+ mdat_payload_offset, -+ mdat_payload_size, - tracker->m_NextDts, - sample_table); - if (AP4_FAILED(result)) return result; -@@ -382,13 +384,11 @@ AP4_LinearReader::AdvanceFragment() - AP4_Position position = 0; - m_FragmentStream->Tell(position); - -- // process the movie fragment -- result = ProcessMoof(moof, position-atom->GetSize(), position+8); -- if (AP4_FAILED(result)) return result; -- - // compute where the next fragment will be - AP4_UI32 size; - AP4_UI32 type; -+ AP4_UI64 size_64 = 0; -+ - m_FragmentStream->Tell(position); - result = m_FragmentStream->ReadUI32(size); - if (AP4_FAILED(result)) return AP4_SUCCESS; // can't read more -@@ -397,13 +397,19 @@ AP4_LinearReader::AdvanceFragment() - if (size == 0) { - m_NextFragmentPosition = 0; - } else if (size == 1) { -- AP4_UI64 size_64 = 0; - result = m_FragmentStream->ReadUI64(size_64); - if (AP4_FAILED(result)) return AP4_SUCCESS; // can't read more - m_NextFragmentPosition = position+size_64; -+ size_64 -= 8; - } else { - m_NextFragmentPosition = position+size; -+ size_64 = size; - } -+ -+ // process the movie fragment -+ result = ProcessMoof(moof, position - atom->GetSize(), position + 8, size_64 - 8); -+ if (AP4_FAILED(result)) return result; -+ - return AP4_SUCCESS; - } else { - delete atom; -diff --git a/Source/C++/Core/Ap4LinearReader.h b/Source/C++/Core/Ap4LinearReader.h -index 21f4871..929b4e1 100644 ---- a/Source/C++/Core/Ap4LinearReader.h -+++ b/Source/C++/Core/Ap4LinearReader.h -@@ -161,7 +161,8 @@ protected: - virtual AP4_Result ProcessTrack(AP4_Track* track); - virtual AP4_Result ProcessMoof(AP4_ContainerAtom* moof, - AP4_Position moof_offset, -- AP4_Position mdat_payload_offset); -+ AP4_Position mdat_payload_offset, -+ AP4_UI64 mdat_payload_size); - - // methods - Tracker* FindTracker(AP4_UI32 track_id); -diff --git a/Source/C++/Core/Ap4MovieFragment.cpp b/Source/C++/Core/Ap4MovieFragment.cpp -index 028d42d..c2ead25 100644 ---- a/Source/C++/Core/Ap4MovieFragment.cpp -+++ b/Source/C++/Core/Ap4MovieFragment.cpp -@@ -127,6 +127,7 @@ AP4_MovieFragment::CreateSampleTable(AP4_MoovAtom* moov, - AP4_ByteStream* sample_stream, - AP4_Position moof_offset, - AP4_Position mdat_payload_offset, -+ AP4_UI64 mdat_payload_size, - AP4_UI64 dts_origin, - AP4_FragmentSampleTable*& sample_table) - { -@@ -158,6 +159,7 @@ AP4_MovieFragment::CreateSampleTable(AP4_MoovAtom* moov, - sample_stream, - moof_offset, - mdat_payload_offset, -+ mdat_payload_size, - dts_origin); - return AP4_SUCCESS; - } -@@ -174,9 +176,10 @@ AP4_MovieFragment::CreateSampleTable(AP4_Movie* movie, - AP4_ByteStream* sample_stream, - AP4_Position moof_offset, - AP4_Position mdat_payload_offset, -+ AP4_UI64 mdat_payload_size, - AP4_UI64 dts_origin, - AP4_FragmentSampleTable*& sample_table) - { - AP4_MoovAtom* moov = movie?movie->GetMoovAtom():NULL; -- return CreateSampleTable(moov, track_id, sample_stream, moof_offset, mdat_payload_offset, dts_origin, sample_table); -+ return CreateSampleTable(moov, track_id, sample_stream, moof_offset, mdat_payload_offset, mdat_payload_size, dts_origin, sample_table); - } -diff --git a/Source/C++/Core/Ap4MovieFragment.h b/Source/C++/Core/Ap4MovieFragment.h -index f829411..de59c42 100644 ---- a/Source/C++/Core/Ap4MovieFragment.h -+++ b/Source/C++/Core/Ap4MovieFragment.h -@@ -70,6 +70,7 @@ public: - AP4_ByteStream* sample_stream, - AP4_Position moof_offset, - AP4_Position mdat_payload_offset, // hack because MS doesn't implement the spec properly -+ AP4_UI64 mdat_payload_size, - AP4_UI64 dts_origin, - AP4_FragmentSampleTable*& sample_table); - AP4_Result CreateSampleTable(AP4_Movie* movie, -@@ -77,6 +78,7 @@ public: - AP4_ByteStream* sample_stream, - AP4_Position moof_offset, - AP4_Position mdat_payload_offset, // hack because MS doesn't implement the spec properly -+ AP4_UI64 mdat_payload_size, - AP4_UI64 dts_origin, - AP4_FragmentSampleTable*& sample_table); - -diff --git a/Source/C++/Core/Ap4Processor.cpp b/Source/C++/Core/Ap4Processor.cpp -index c4e1d78..365d955 100644 ---- a/Source/C++/Core/Ap4Processor.cpp -+++ b/Source/C++/Core/Ap4Processor.cpp -@@ -156,6 +156,7 @@ AP4_Processor::ProcessFragments(AP4_MoovAtom* moov, - AP4_Atom* atom = locator->m_Atom; - AP4_UI64 atom_offset = locator->m_Offset; - AP4_UI64 mdat_payload_offset = atom_offset+atom->GetSize()+AP4_ATOM_HEADER_SIZE; -+ AP4_UI64 mdat_payload_size = atom->GetSize(); - AP4_Sample sample; - AP4_DataBuffer sample_data_in; - AP4_DataBuffer sample_data_out; -@@ -226,7 +227,7 @@ AP4_Processor::ProcessFragments(AP4_MoovAtom* moov, - - // create a sample table object so we can read the sample data - AP4_FragmentSampleTable* sample_table = NULL; -- result = fragment->CreateSampleTable(moov, tfhd->GetTrackId(), &input, atom_offset, mdat_payload_offset, 0, sample_table); -+ result = fragment->CreateSampleTable(moov, tfhd->GetTrackId(), &input, atom_offset, mdat_payload_offset, mdat_payload_size, 0, sample_table); - if (AP4_FAILED(result)) return result; - sample_tables.Append(sample_table); - --- -2.30.2 - diff --git a/package/bento4/0009-Android-32-ftello-fix.patch b/package/bento4/0009-Android-32-ftello-fix.patch deleted file mode 100644 index 0adca20ed08..00000000000 --- a/package/bento4/0009-Android-32-ftello-fix.patch +++ /dev/null @@ -1,31 +0,0 @@ -From f12fbb6f54b8302db2ab7c926a26f9189cf86532 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 10:41:35 +0200 -Subject: [PATCH] Android 32 ftello fix - -ref: https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4Config.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/C++/Core/Ap4Config.h b/Source/C++/Core/Ap4Config.h -index 422069e..c859a03 100644 ---- a/Source/C++/Core/Ap4Config.h -+++ b/Source/C++/Core/Ap4Config.h -@@ -141,10 +141,10 @@ - #endif - - #if !defined(AP4_fseek) --#define AP4_fseek fseeko -+#define AP4_fseek fseek - #endif - #if !defined(AP4_ftell) --#define AP4_ftell ftello -+#define AP4_ftell ftell - #endif - - /* some compilers (ex: MSVC 8) deprecate those, so we rename them */ --- -2.30.2 - diff --git a/package/bento4/0010-Dazn-sample-duration-workaround.patch b/package/bento4/0010-Dazn-sample-duration-workaround.patch deleted file mode 100644 index 5c64210324a..00000000000 --- a/package/bento4/0010-Dazn-sample-duration-workaround.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 10f931c703c68b4fc856e09788dfe64579252bb8 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 10:48:36 +0200 -Subject: [PATCH] Dazn sample duration workaround - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4TrunAtom.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/Source/C++/Core/Ap4TrunAtom.cpp b/Source/C++/Core/Ap4TrunAtom.cpp -index c51f21d..77b7c6d 100644 ---- a/Source/C++/Core/Ap4TrunAtom.cpp -+++ b/Source/C++/Core/Ap4TrunAtom.cpp -@@ -128,6 +128,12 @@ AP4_TrunAtom::AP4_TrunAtom(AP4_UI32 size, - for (unsigned int i=0; i 1 sequences -+ if (i && m_Entries[i].sample_duration == 1 && m_Entries[i - 1].sample_duration > 1) -+ { -+ m_Entries[i].sample_duration = m_Entries[i - 1].sample_duration >> 1; -+ m_Entries[i - 1].sample_duration -= m_Entries[i].sample_duration; -+ } - --record_fields_count; - } - if (flags & AP4_TRUN_FLAG_SAMPLE_SIZE_PRESENT) { --- -2.30.2 - diff --git a/package/bento4/0011-Add-argument-to-reuse-single-sample-decrypter.patch b/package/bento4/0011-Add-argument-to-reuse-single-sample-decrypter.patch deleted file mode 100644 index 15159af892d..00000000000 --- a/package/bento4/0011-Add-argument-to-reuse-single-sample-decrypter.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 7bb5120b52814e4471a165e295acdc6b6155259e Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 11:01:12 +0200 -Subject: [PATCH] Add argument to reuse single sample decrypter - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4CommonEncryption.cpp | 36 ++++++++++++++++++------- - Source/C++/Core/Ap4CommonEncryption.h | 8 +++++- - Source/C++/Core/Ap4Protection.cpp | 3 ++- - 3 files changed, 35 insertions(+), 12 deletions(-) - -diff --git a/Source/C++/Core/Ap4CommonEncryption.cpp b/Source/C++/Core/Ap4CommonEncryption.cpp -index 5308200..cb5c328 100644 ---- a/Source/C++/Core/Ap4CommonEncryption.cpp -+++ b/Source/C++/Core/Ap4CommonEncryption.cpp -@@ -1967,6 +1967,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti - const AP4_UI08* key, - AP4_Size key_size, - AP4_BlockCipherFactory* block_cipher_factory, -+ AP4_CencSingleSampleDecrypter* singlesample_decrypter, - AP4_CencSampleDecrypter*& decrypter) - { - AP4_SaioAtom* saio = NULL; -@@ -1982,6 +1983,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti - saio, - saiz, - sample_encryption_atom, -+ singlesample_decrypter, - decrypter); - } - -@@ -1999,6 +2001,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti - AP4_SaioAtom*& saio, - AP4_SaizAtom*& saiz, - AP4_CencSampleEncryption*& sample_encryption_atom, -+ AP4_CencSingleSampleDecrypter* singlesample_decrypter, - AP4_CencSampleDecrypter*& decrypter) - { - // default return values -@@ -2032,6 +2035,7 @@ AP4_CencSampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_descripti - key_size, - block_cipher_factory, - reset_iv_at_each_subsample, -+ singlesample_decrypter, - decrypter); - } - -@@ -2045,6 +2049,7 @@ AP4_CencSampleDecrypter::Create(AP4_CencSampleInfoTable* sample_info_table, - AP4_Size key_size, - AP4_BlockCipherFactory* block_cipher_factory, - bool reset_iv_at_each_subsample, -+ AP4_CencSingleSampleDecrypter* singlesample_decrypter, - AP4_CencSampleDecrypter*& decrypter) - { - // default return value -@@ -2074,15 +2079,23 @@ AP4_CencSampleDecrypter::Create(AP4_CencSampleInfoTable* sample_info_table, - - // create a single-sample decrypter - AP4_CencSingleSampleDecrypter* single_sample_decrypter = NULL; -- AP4_Result result = AP4_CencSingleSampleDecrypter::Create(cipher_type, -- key, -- key_size, -- sample_info_table->GetCryptByteBlock(), -- sample_info_table->GetSkipByteBlock(), -- block_cipher_factory, -- reset_iv_at_each_subsample, -- single_sample_decrypter); -- if (AP4_FAILED(result)) return result; -+ if (!singlesample_decrypter) -+ { -+ AP4_Result result = AP4_CencSingleSampleDecrypter::Create(cipher_type, -+ key, -+ key_size, -+ sample_info_table->GetCryptByteBlock(), -+ sample_info_table->GetSkipByteBlock(), -+ block_cipher_factory, -+ reset_iv_at_each_subsample, -+ single_sample_decrypter); -+ -+ if (AP4_FAILED(result)) return result; -+ } -+ else -+ { -+ single_sample_decrypter = singlesample_decrypter; -+ } - - // create the decrypter - decrypter = new AP4_CencSampleDecrypter(single_sample_decrypter, sample_info_table); -@@ -2333,7 +2346,9 @@ AP4_CencFragmentDecrypter::ProcessSample(AP4_DataBuffer& data_in, - | AP4_CencDecryptingProcessor::AP4_CencDecryptingProcessor - +---------------------------------------------------------------------*/ - AP4_CencDecryptingProcessor::AP4_CencDecryptingProcessor(const AP4_ProtectionKeyMap* key_map, -- AP4_BlockCipherFactory* block_cipher_factory) : -+ AP4_BlockCipherFactory* block_cipher_factory, -+ AP4_CencSingleSampleDecrypter *cenc_singlesample_decrypter) : -+ m_CencSingleSampleDecrypter(cenc_singlesample_decrypter), - m_KeyMap(key_map) - { - if (block_cipher_factory) { -@@ -2483,6 +2498,7 @@ AP4_CencDecryptingProcessor::CreateFragmentHandler(AP4_TrakAtom* trak, - saio, - saiz, - sample_encryption_atom, -+ m_CencSingleSampleDecrypter, - sample_decrypter); - if (AP4_FAILED(result)) return NULL; - -diff --git a/Source/C++/Core/Ap4CommonEncryption.h b/Source/C++/Core/Ap4CommonEncryption.h -index 580de66..a6b20ce 100644 ---- a/Source/C++/Core/Ap4CommonEncryption.h -+++ b/Source/C++/Core/Ap4CommonEncryption.h -@@ -48,6 +48,7 @@ class AP4_SaioAtom; - class AP4_CencSampleInfoTable; - class AP4_AvcFrameParser; - class AP4_HevcFrameParser; -+class AP4_CencSingleSampleDecrypter; - - /*---------------------------------------------------------------------- - | constants -@@ -654,7 +655,8 @@ class AP4_CencDecryptingProcessor : public AP4_Processor - public: - // constructor - AP4_CencDecryptingProcessor(const AP4_ProtectionKeyMap* key_map, -- AP4_BlockCipherFactory* block_cipher_factory = NULL); -+ AP4_BlockCipherFactory* block_cipher_factory = NULL, -+ AP4_CencSingleSampleDecrypter* cenc_singlesample_decrypter = NULL); - - // AP4_Processor methods - virtual AP4_Processor::TrackHandler* CreateTrackHandler(AP4_TrakAtom* trak); -@@ -670,6 +672,7 @@ protected: - - // members - AP4_BlockCipherFactory* m_BlockCipherFactory; -+ AP4_CencSingleSampleDecrypter* m_CencSingleSampleDecrypter; - const AP4_ProtectionKeyMap* m_KeyMap; - }; - -@@ -752,6 +755,7 @@ public: - AP4_SaioAtom*& saio_atom, // [out] - AP4_SaizAtom*& saiz_atom, // [out] - AP4_CencSampleEncryption*& sample_encryption_atom, // [out] -+ AP4_CencSingleSampleDecrypter* singlesample_decrypter, - AP4_CencSampleDecrypter*& decrypter); - - static AP4_Result Create(AP4_ProtectedSampleDescription* sample_description, -@@ -761,6 +765,7 @@ public: - const AP4_UI08* key, - AP4_Size key_size, - AP4_BlockCipherFactory* block_cipher_factory, -+ AP4_CencSingleSampleDecrypter* singlesample_decrypter, - AP4_CencSampleDecrypter*& decrypter); - - static AP4_Result Create(AP4_CencSampleInfoTable* sample_info_table, -@@ -769,6 +774,7 @@ public: - AP4_Size key_size, - AP4_BlockCipherFactory* block_cipher_factory, - bool reset_iv_at_each_subsample, -+ AP4_CencSingleSampleDecrypter* singlesample_decrypter, - AP4_CencSampleDecrypter*& decrypter); - - // methods -diff --git a/Source/C++/Core/Ap4Protection.cpp b/Source/C++/Core/Ap4Protection.cpp -index fd421e9..80bb9f0 100644 ---- a/Source/C++/Core/Ap4Protection.cpp -+++ b/Source/C++/Core/Ap4Protection.cpp -@@ -812,7 +812,8 @@ AP4_SampleDecrypter::Create(AP4_ProtectedSampleDescription* sample_description, - aux_info_data_offset, - key, - key_size, -- block_cipher_factory, -+ block_cipher_factory, -+ NULL, - decrypter); - if (AP4_FAILED(result)) return NULL; - return decrypter; --- -2.30.2 - diff --git a/package/bento4/0012-Static-ReadGolomb-SignedGolomb.patch b/package/bento4/0012-Static-ReadGolomb-SignedGolomb.patch deleted file mode 100644 index d20e1191bf7..00000000000 --- a/package/bento4/0012-Static-ReadGolomb-SignedGolomb.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 91e148a9c53811447d35c36d9f11f767d49477a0 Mon Sep 17 00:00:00 2001 -From: Glenn Guy -Date: Thu, 22 Jul 2021 11:04:26 +0200 -Subject: [PATCH] Static ReadGolomb/SignedGolomb - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Codecs/Ap4AvcParser.cpp | 8 ++++---- - Source/C++/Codecs/Ap4AvcParser.h | 3 +++ - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/Source/C++/Codecs/Ap4AvcParser.cpp b/Source/C++/Codecs/Ap4AvcParser.cpp -index cfa841d..a17b698 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.cpp -+++ b/Source/C++/Codecs/Ap4AvcParser.cpp -@@ -191,8 +191,8 @@ AP4_AvcFrameParser::~AP4_AvcFrameParser() - /*---------------------------------------------------------------------- - | ReadGolomb - +---------------------------------------------------------------------*/ --static unsigned int --ReadGolomb(AP4_BitReader& bits) -+unsigned int -+AP4_AvcFrameParser::ReadGolomb(AP4_BitReader& bits) - { - unsigned int leading_zeros = 0; - while (bits.ReadBit() == 0) { -@@ -209,8 +209,8 @@ ReadGolomb(AP4_BitReader& bits) - /*---------------------------------------------------------------------- - | SignedGolomb - +---------------------------------------------------------------------*/ --static int --SignedGolomb(unsigned int code_num) -+int -+AP4_AvcFrameParser::SignedGolomb(unsigned int code_num) - { - if (code_num % 2) { - return (code_num+1)/2; -diff --git a/Source/C++/Codecs/Ap4AvcParser.h b/Source/C++/Codecs/Ap4AvcParser.h -index 99c5320..0c74c0e 100644 ---- a/Source/C++/Codecs/Ap4AvcParser.h -+++ b/Source/C++/Codecs/Ap4AvcParser.h -@@ -321,6 +321,9 @@ public: - unsigned int nal_ref_idc, - AP4_AvcSliceHeader& slice_header); - -+ static unsigned int ReadGolomb(AP4_BitReader& bits); -+ static int SignedGolomb(unsigned int code_num); -+ - private: - // methods - bool SameFrame(unsigned int nal_unit_type_1, unsigned int nal_ref_idc_1, AP4_AvcSliceHeader& sh1, --- -2.30.2 - diff --git a/package/bento4/0013-Add-GetChannels-method.patch b/package/bento4/0013-Add-GetChannels-method.patch deleted file mode 100644 index 7e3f6e69aca..00000000000 --- a/package/bento4/0013-Add-GetChannels-method.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 15e31e3641e4f85475984bf4d9ebf8ae47303a8a Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 11:07:13 +0200 -Subject: [PATCH] Add GetChannels method - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4Dac3Atom.cpp | 6 ++++++ - Source/C++/Core/Ap4Dac3Atom.h | 1 + - 2 files changed, 7 insertions(+) - -diff --git a/Source/C++/Core/Ap4Dac3Atom.cpp b/Source/C++/Core/Ap4Dac3Atom.cpp -index 80a511e..a9ea78a 100644 ---- a/Source/C++/Core/Ap4Dac3Atom.cpp -+++ b/Source/C++/Core/Ap4Dac3Atom.cpp -@@ -143,3 +143,9 @@ AP4_Dac3Atom::InspectFields(AP4_AtomInspector& inspector) - inspector.AddField("lfeon", m_StreamInfo.lfeon); - return AP4_SUCCESS; - } -+ -+AP4_UI08 AP4_Dac3Atom::GetChannels() const -+{ -+ static const AP4_UI08 CC[] = { 2, 1, 2, 3, 3, 4, 4, 5 }; -+ return CC[m_StreamInfo.acmod] + m_StreamInfo.lfeon; -+} -diff --git a/Source/C++/Core/Ap4Dac3Atom.h b/Source/C++/Core/Ap4Dac3Atom.h -index 2532ef2..78e2875 100644 ---- a/Source/C++/Core/Ap4Dac3Atom.h -+++ b/Source/C++/Core/Ap4Dac3Atom.h -@@ -73,6 +73,7 @@ public: - const AP4_DataBuffer& GetRawBytes() const { return m_RawBytes; } - unsigned int GetDataRate() const { return m_DataRate; } - const StreamInfo& GetStreamInfo() const { return m_StreamInfo; } -+ AP4_UI08 GetChannels() const; - - private: - // methods --- -2.30.2 - diff --git a/package/bento4/0014-Implemented-GetSampleIndexForTimeStamp-GetNearestSyn.patch b/package/bento4/0014-Implemented-GetSampleIndexForTimeStamp-GetNearestSyn.patch deleted file mode 100644 index a2bc7aefebe..00000000000 --- a/package/bento4/0014-Implemented-GetSampleIndexForTimeStamp-GetNearestSyn.patch +++ /dev/null @@ -1,59 +0,0 @@ -From f673675843144785658a010bab455972d83af004 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 11:09:37 +0200 -Subject: [PATCH] Implemented - GetSampleIndexForTimeStamp/GetNearestSyncSampleIndex - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4FragmentSampleTable.cpp | 25 ++++++++++++++++++---- - 1 file changed, 21 insertions(+), 4 deletions(-) - -diff --git a/Source/C++/Core/Ap4FragmentSampleTable.cpp b/Source/C++/Core/Ap4FragmentSampleTable.cpp -index cea5c7d..1c62f24 100644 ---- a/Source/C++/Core/Ap4FragmentSampleTable.cpp -+++ b/Source/C++/Core/Ap4FragmentSampleTable.cpp -@@ -297,10 +297,19 @@ AP4_FragmentSampleTable::GetSampleChunkPosition(AP4_Ordinal sample_index, - | AP4_FragmentSampleTable::GetSampleIndexForTimeStamp - +---------------------------------------------------------------------*/ - AP4_Result --AP4_FragmentSampleTable::GetSampleIndexForTimeStamp(AP4_UI64 /*ts*/, -+AP4_FragmentSampleTable::GetSampleIndexForTimeStamp(AP4_UI64 ts, - AP4_Ordinal& sample_index) - { -- sample_index = 0; // TODO -+ if (!m_Samples.ItemCount()) -+ return AP4_ERROR_NOT_ENOUGH_DATA; -+ -+ sample_index = 0; -+ while (sample_index < m_Samples.ItemCount() && m_Samples[sample_index].GetCts() + m_Samples[sample_index].GetDuration() < ts) -+ ++sample_index; -+ -+ if (sample_index == m_Samples.ItemCount()) -+ return AP4_ERROR_NOT_ENOUGH_DATA; -+ - return AP4_SUCCESS; - } - -@@ -308,8 +317,16 @@ AP4_FragmentSampleTable::GetSampleIndexForTimeStamp(AP4_UI64 /*ts*/, - | AP4_FragmentSampleTable::GetNearestSyncSampleIndex - +---------------------------------------------------------------------*/ - AP4_Ordinal --AP4_FragmentSampleTable::GetNearestSyncSampleIndex(AP4_Ordinal /*sample_index*/, bool /*before*/) -+AP4_FragmentSampleTable::GetNearestSyncSampleIndex(AP4_Ordinal sample_index, bool before) - { -- return 0; // TODO -+ if (sample_index >= m_Samples.ItemCount()) -+ return sample_index; -+ -+ AP4_Ordinal end(before ? 0 : m_Samples.ItemCount()); -+ -+ while (sample_index != end && !m_Samples[sample_index].IsSync()) -+ sample_index = sample_index + (before ? -1 : 1); -+ -+ return sample_index; - } - --- -2.30.2 - diff --git a/package/bento4/0015-Avoid-set-next-fragment-position.patch b/package/bento4/0015-Avoid-set-next-fragment-position.patch deleted file mode 100644 index ded33ffdaf2..00000000000 --- a/package/bento4/0015-Avoid-set-next-fragment-position.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0658d38be16c88585b248b237895b4dc63f28e79 Mon Sep 17 00:00:00 2001 -From: peak3d -Date: Thu, 22 Jul 2021 11:23:13 +0200 -Subject: [PATCH] Avoid set next fragment position - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4LinearReader.cpp | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp -index eabeacf..61c3a9d 100644 ---- a/Source/C++/Core/Ap4LinearReader.cpp -+++ b/Source/C++/Core/Ap4LinearReader.cpp -@@ -54,8 +54,8 @@ AP4_LinearReader::AP4_LinearReader(AP4_Movie& movie, - m_HasFragments = movie.HasFragments(); - if (fragment_stream) { - fragment_stream->AddReference(); -- fragment_stream->Tell(m_CurrentFragmentPosition); -- m_NextFragmentPosition = m_CurrentFragmentPosition; -+ //fragment_stream->Tell(m_CurrentFragmentPosition); -+ //m_NextFragmentPosition = m_CurrentFragmentPosition; - } - } - -@@ -360,9 +360,11 @@ AP4_LinearReader::AdvanceFragment() - AP4_Result result; - - // go the the start of the next fragment -- result = m_FragmentStream->Seek(m_NextFragmentPosition); -- if (AP4_FAILED(result)) return result; -- m_CurrentFragmentPosition = m_NextFragmentPosition; -+ if (m_NextFragmentPosition) { -+ result = m_FragmentStream->Seek(m_NextFragmentPosition); -+ if (AP4_FAILED(result)) return result; -+ m_CurrentFragmentPosition = m_NextFragmentPosition; -+ } - - // read atoms until we find a moof - assert(m_HasFragments); --- -2.30.2 - diff --git a/package/bento4/0016-Fix-segfault-in-AP4_LinearReader-ProcessMoof.patch b/package/bento4/0016-Fix-segfault-in-AP4_LinearReader-ProcessMoof.patch deleted file mode 100644 index cbcc62f9825..00000000000 --- a/package/bento4/0016-Fix-segfault-in-AP4_LinearReader-ProcessMoof.patch +++ /dev/null @@ -1,27 +0,0 @@ -From e5b37c1e0a7a84fdc7b403c5e30a5e93706104b8 Mon Sep 17 00:00:00 2001 -From: Dobroslaw Kijowski -Date: Tue, 19 Oct 2021 14:17:11 +0200 -Subject: [PATCH] Fix segfault in Ap4LinearReader ProcessMoof - -Downloaded from https://github.com/xbmc/inputstream.adaptive/pull/856 - -Signed-off-by: Bernd Kuhls ---- - Source/C++/Core/Ap4LinearReader.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/C++/Core/Ap4LinearReader.cpp b/Source/C++/Core/Ap4LinearReader.cpp -index 61c3a9d..2464865 100644 ---- a/Source/C++/Core/Ap4LinearReader.cpp -+++ b/Source/C++/Core/Ap4LinearReader.cpp -@@ -329,7 +329,7 @@ AP4_LinearReader::ProcessMoof(AP4_ContainerAtom* moof, - tracker->m_SampleTable = NULL; - tracker->m_NextSampleIndex = 0; - for (unsigned int j=0; jm_Track->GetId()) { -+ if (ids.ItemCount()==1 || ids[j] == tracker->m_Track->GetId()) { - AP4_FragmentSampleTable* sample_table = NULL; - result = m_Fragment->CreateSampleTable(&m_Movie, - ids[j], --- -2.33.1 diff --git a/package/bento4/bento4.hash b/package/bento4/bento4.hash index 8b9ec610f51..b9391aed6aa 100644 --- a/package/bento4/bento4.hash +++ b/package/bento4/bento4.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9f3eb912207d7ed9c1e6e05315083404b32a11f8aacd604a9b2bdcb10bf79eb9 bento4-1.6.0-639.tar.gz +sha256 4464cd47b597e6dedbfc231bb6eb097c45cfe5ee0051082460d9ac53e9d74dc3 bento4-1.6.0-639-7-Omega.tar.gz sha256 7daae92c8628ada28def8d096fe2fde298b72ec3e2d64a3c408afce38edb361b Documents/LICENSE.txt diff --git a/package/bento4/bento4.mk b/package/bento4/bento4.mk index 89ff2e4b85a..8aefc401ef5 100644 --- a/package/bento4/bento4.mk +++ b/package/bento4/bento4.mk @@ -4,8 +4,8 @@ # ################################################################################ -BENTO4_VERSION = 1.6.0-639 -BENTO4_SITE = $(call github,axiomatic-systems,Bento4,v$(BENTO4_VERSION)) +BENTO4_VERSION = 1.6.0-639-7-Omega +BENTO4_SITE = $(call github,xbmc,Bento4,$(BENTO4_VERSION)) BENTO4_INSTALL_STAGING = YES BENTO4_LICENSE = GPL-2.0+ BENTO4_LICENSE_FILES = Documents/LICENSE.txt diff --git a/package/berkeleydb/Config.in b/package/berkeleydb/Config.in index f32d13ab170..f8fbb5cc093 100644 --- a/package/berkeleydb/Config.in +++ b/package/berkeleydb/Config.in @@ -13,6 +13,11 @@ config BR2_PACKAGE_BERKELEYDB_COMPAT185 help Build and install DB 1.85 compatibility API. +config BR2_PACKAGE_BERKELEYDB_DBM + bool "historic dbm interface" + help + Enable the historic dbm interface. + config BR2_PACKAGE_BERKELEYDB_TOOLS bool "install tools" help diff --git a/package/berkeleydb/berkeleydb.mk b/package/berkeleydb/berkeleydb.mk index 36b1894f340..1c121370db2 100644 --- a/package/berkeleydb/berkeleydb.mk +++ b/package/berkeleydb/berkeleydb.mk @@ -39,6 +39,7 @@ define BERKELEYDB_CONFIGURE_CMDS --disable-java \ --disable-tcl \ $(if $(BR2_PACKAGE_BERKELEYDB_COMPAT185),--enable-compat185,--disable-compat185) \ + $(if $(BR2_PACKAGE_BERKELEYDB_DBM),--enable-dbm,--disable-dbm) \ $(SHARED_STATIC_LIBS_OPTS) \ --with-pic \ --enable-o_direct \ diff --git a/package/bind/Config.in b/package/bind/Config.in index 63ccd57db7c..512e948ca22 100644 --- a/package/bind/Config.in +++ b/package/bind/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_BIND depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on !BR2_STATIC_LIBS # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_OPENSSL help @@ -43,7 +44,8 @@ config BR2_PACKAGE_BIND_TOOLS endif -comment "bind needs a toolchain w/ NPTL, dynamic library" +comment "bind needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/bind/bind.hash b/package/bind/bind.hash index d41a9bbc5eb..482b046c8d1 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.16.33/bind-9.16.33.tar.xz.asc +# Verified from https://ftp.isc.org/isc/bind9/9.16.48/bind-9.16.48.tar.xz.asc # with key AADBBA5074F1402F7B69D56BC5B4EE931A9F9DFD -sha256 ec4fbea4b2e368d1824971509e33fa159224ad14b436034c6bcd46104c328d91 bind-9.16.33.tar.xz -sha256 daf6f1eddf5983ed664a2d125b619e56e2e93917c19d0d41c7586ea153ba2155 COPYRIGHT +sha256 8d3814582348f90dead1ad410b1019094cd399d3d83930abebb2b3b1eb0b2bbb bind-9.16.48.tar.xz +sha256 13491a682dc0f5ee2273cebd3949e2be62f9470fe659419a03a308d4f444773b COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 2f83a6276e3..0d81ffabd68 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIND_VERSION = 9.16.33 +BIND_VERSION = 9.16.48 BIND_SOURCE= bind-$(BIND_VERSION).tar.xz BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. @@ -14,8 +14,6 @@ BIND_LICENSE = MPL-2.0 BIND_LICENSE_FILES = COPYRIGHT BIND_CPE_ID_VENDOR = isc BIND_SELINUX_MODULES = bind -# Only applies to RHEL6.x with DNSSEC validation on -BIND_IGNORE_CVES = CVE-2017-3139 # Library CVE and not used by bind but used by ISC DHCP BIND_IGNORE_CVES += CVE-2019-6470 BIND_TARGET_SERVER_SBIN = arpaname ddns-confgen dnssec-checkds dnssec-coverage @@ -28,7 +26,6 @@ BIND_TARGET_SERVER_SBIN += dnssec-keyfromlabel dnssec-signzone tsig-keygen BIND_TARGET_TOOLS_BIN = dig host nslookup nsupdate BIND_CONF_ENV = \ BUILD_CC="$(TARGET_CC)" \ - BUILD_CFLAGS="$(TARGET_CFLAGS)" \ LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` BIND_CONF_OPTS = \ --without-cmocka \ @@ -39,6 +36,14 @@ BIND_CONF_OPTS = \ BIND_DEPENDENCIES = host-pkgconf libuv openssl +BIND_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y) +BIND_CFLAGS += -O0 +endif + +BIND_CONF_OPTS += CFLAGS="$(BIND_CFLAGS)" + ifeq ($(BR2_PACKAGE_ZLIB),y) BIND_CONF_OPTS += --with-zlib BIND_DEPENDENCIES += zlib diff --git a/package/binutils-bare-metal/binutils-bare-metal.hash b/package/binutils-bare-metal/binutils-bare-metal.hash new file mode 120000 index 00000000000..e0655d3af33 --- /dev/null +++ b/package/binutils-bare-metal/binutils-bare-metal.hash @@ -0,0 +1 @@ +../binutils/binutils.hash \ No newline at end of file diff --git a/package/binutils-bare-metal/binutils-bare-metal.mk b/package/binutils-bare-metal/binutils-bare-metal.mk new file mode 100644 index 00000000000..778a5235f48 --- /dev/null +++ b/package/binutils-bare-metal/binutils-bare-metal.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# binutils-bare-metal +# +################################################################################ + +HOST_BINUTILS_BARE_METAL_VERSION = 2.42 +HOST_BINUTILS_BARE_METAL_SITE = $(BR2_GNU_MIRROR)/binutils +HOST_BINUTILS_BARE_METAL_SOURCE = binutils-$(HOST_BINUTILS_BARE_METAL_VERSION).tar.xz + +HOST_BINUTILS_BARE_METAL_LICENSE = GPL-3.0+, libiberty LGPL-2.1+ +HOST_BINUTILS_BARE_METAL_LICENSE_FILES = COPYING3 COPYING.LIB +HOST_BINUTILS_BARE_METAL_CPE_ID_VENDOR = gnu +HOST_BINUTILS_BARE_METAL_CPE_ID_PRODUCT = binutils + +HOST_BINUTILS_BARE_METAL_DEPENDENCIES = host-zlib + +# Don't build documentation. It takes up extra space / build time, +# and sometimes needs specific makeinfo versions to work +HOST_BINUTILS_BARE_METAL_CONF_ENV += MAKEINFO=true +HOST_BINUTILS_BARE_METAL_MAKE_OPTS += MAKEINFO=true +HOST_BINUTILS_BARE_METAL_INSTALL_OPTS += MAKEINFO=true install + +HOST_BINUTILS_BARE_METAL_CONF_OPTS = \ + --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \ + --disable-gprof \ + --disable-shared \ + --enable-lto \ + --enable-static \ + --disable-initfini-array \ + --disable-multilib \ + --disable-werror + +$(eval $(host-autotools-package)) diff --git a/package/binutils/2.37/0001-sh-conf.patch b/package/binutils/2.37/0001-sh-conf.patch deleted file mode 100644 index fcc597e4d94..00000000000 --- a/package/binutils/2.37/0001-sh-conf.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 33f3c1f804efc2e4f97849081589efb70cda31e5 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:38:13 +0100 -Subject: [PATCH] sh-conf - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - -[Romain: rebase on top of 2.32] -Signed-off-by: Romain Naour -[Thomas: rebase on top of 2.29, in which sh64 support was removed.] -Signed-off-by: Thomas Petazzoni ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 3dd206525a7..6881ce632f5 100755 ---- a/configure -+++ b/configure -@@ -3892,7 +3892,7 @@ case "${target}" in - nvptx*-*-*) - noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; -diff --git a/configure.ac b/configure.ac -index 797a624621e..1f9256bbf18 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1175,7 +1175,7 @@ case "${target}" in - nvptx*-*-*) - noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; --- -2.31.1 - diff --git a/package/binutils/2.37/0002-poison-system-directories.patch b/package/binutils/2.37/0002-poison-system-directories.patch deleted file mode 100644 index 1a5fe465752..00000000000 --- a/package/binutils/2.37/0002-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 4d8705ddb55897e8a74b617ab95736d520d9e1ea Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.33.1] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texi | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index 26d55a00d47..ffad464783c 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -43,6 +43,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index c197aaef3cb..882263aa43f 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -829,6 +829,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1498,6 +1499,8 @@ Optional Features: - --enable-checking enable run-time checks - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15236,7 +15239,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 8ea97c43cd4..0f246db67d8 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -106,6 +106,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index 35fafebfaed..74e66405de6 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -162,6 +162,14 @@ typedef struct - in the linker script. */ - bool force_group_allocation; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bool poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bool error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texi b/ld/ld.texi -index dd8f571d4e4..3ab210b41b9 100644 ---- a/ld/ld.texi -+++ b/ld/ld.texi -@@ -2863,6 +2863,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 9d0af06f1f6..7cdd3b1c1b1 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline) - new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 9e8bf5fb835..2f0fadfe0a3 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -163,6 +163,8 @@ enum option_values - OPTION_CTF_VARIABLES, - OPTION_NO_CTF_VARIABLES, - OPTION_CTF_SHARE_TYPES, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index 42660eb9a3c..1aef9387f93 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -321,6 +321,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = true; - command_line.warn_search_mismatch = true; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = true; -+ command_line.error_poison_system_directories = false; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 00274c500d0..4f23b3a2da2 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -595,6 +595,14 @@ static const struct ld_option ld_options[] = - " is: share-unconflicted (default),\n" - " share-duplicated"), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -607,6 +615,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1643,6 +1652,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = false; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = true; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1788,6 +1805,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = true; -+ - while (ingroup) - { - einfo (_("%P: missing --end-group; added as last command line option\n")); --- -2.31.1 - diff --git a/package/binutils/2.37/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch b/package/binutils/2.37/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch deleted file mode 100644 index bfd531b8185..00000000000 --- a/package/binutils/2.37/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ef4ba1da823e8366ea4f126f50885a44ebf4dcf0 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 9 Jun 2021 17:28:27 +0200 -Subject: [PATCH] bfd/elf32-or1k: fix building with gcc version < 5 - -Gcc version >= 5 has standard C mode not set to -std=gnu11, so if we use -an old compiler(i.e. gcc 4.9) build fails on: -``` -elf32-or1k.c:2251:3: error: 'for' loop initial declarations are only allowed in -C99 or C11 mode - for (size_t i = 0; i < insn_count; i++) - ^ -``` - -So let's declare `size_t i` at the top of the function instead of inside -for loop. - -Signed-off-by: Giulio Benetti ---- - bfd/elf32-or1k.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c -index 4ae7f324d33..32063ab0289 100644 ---- a/bfd/elf32-or1k.c -+++ b/bfd/elf32-or1k.c -@@ -2244,9 +2244,10 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, - { - unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; - unsigned output_insns[PLT_MAX_INSN_COUNT]; -+ size_t i; - - /* Copy instructions into the output buffer. */ -- for (size_t i = 0; i < insn_count; i++) -+ for (i = 0; i < insn_count; i++) - output_insns[i] = insns[i]; - - /* Honor the no-delay-slot setting. */ -@@ -2277,7 +2278,7 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, - } - - /* Write out the output buffer. */ -- for (size_t i = 0; i < (insn_count+1); i++) -+ for (i = 0; i < (insn_count+1); i++) - bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); - } - --- -2.31.1 - diff --git a/package/binutils/2.37/0004-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch b/package/binutils/2.37/0004-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch deleted file mode 100644 index 0d18321ee11..00000000000 --- a/package/binutils/2.37/0004-or1k-fix-pc-relative-relocation-against-dynamic-on-P.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 203b80f8dbdd3ddb860114b03351a0dea28c978f Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Sat, 10 Jul 2021 17:57:34 +0200 -Subject: [PATCH] or1k: fix pc-relative relocation against dynamic on PC - relative 26 bit relocation - -When building openal we were seeing the assert failure: - -/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: -pc-relative relocation against dynamic symbol alSourcePausev -/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: -pc-relative relocation against dynamic symbol alSourceStopv -/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: -pc-relative relocation against dynamic symbol alSourceRewindv -/home/buildroot/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/9.3.0/../../../../or1k-buildroot-linux-uclibc/bin/ld: CMakeFiles/OpenAL.dir/al/source.cpp.o: -pc-relative relocation against dynamic symbol alSourcePlayv -collect2: error: ld returned 1 exit status - -This happens because in R_OR1K_INSN_REL_26 case we can't reference local -symbol as previously done but we need to make sure that calls to actual -symbol always call the version of current object. - -bfd/Changelog: - - * elf32-or1k.c (or1k_elf_relocate_section): use a separate entry - in switch case R_OR1K_INSN_REL_26 where we need to check for - !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL(). - -Signed-off-by: Giulio Benetti ---- - bfd/elf32-or1k.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c -index 32063ab0289..67252394173 100644 ---- a/bfd/elf32-or1k.c -+++ b/bfd/elf32-or1k.c -@@ -1543,6 +1543,18 @@ or1k_elf_relocate_section (bfd *output_bfd, - break; - - case R_OR1K_INSN_REL_26: -+ /* For a non-shared link, these will reference plt or call the -+ version of actual object. */ -+ if (bfd_link_pic (info) && !SYMBOL_CALLS_LOCAL (info, h)) -+ { -+ _bfd_error_handler -+ (_("%pB: pc-relative relocation against dynamic symbol %s"), -+ input_bfd, name); -+ ret_val = false; -+ bfd_set_error (bfd_error_bad_value); -+ } -+ break; -+ - case R_OR1K_PCREL_PG21: - case R_OR1K_LO13: - case R_OR1K_SLO13: --- -2.31.1 - diff --git a/package/binutils/2.37/0005-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch b/package/binutils/2.37/0005-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch deleted file mode 100644 index 8609db95b7a..00000000000 --- a/package/binutils/2.37/0005-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 362a20108782b87cd780a989c0dbd014fc2def8b Mon Sep 17 00:00:00 2001 -From: Stafford Horne -Date: Sun, 2 Jan 2022 09:03:28 +0900 -Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 signed overflow by using special - howto - -Previously when fixing PR 21464 we masked out upper bits of the -relocation value in order to avoid overflow complaints when acceptable. -It turns out this does not work when the relocation value ends up being -signed. - -To fix this this patch introduces a special howto with -complain_on_overflow set to complain_overflow_dont. This is used in -place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16 -relocations. - -bfd/ChangeLog: - - PR 28735 - * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define. - (or1k_elf_relocate_section): Use new howto instead of trying to - mask out relocation bits. - -Signed-off-by: Giulio Benetti ---- - bfd/elf32-or1k.c | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c -index 4ae7f324d33..7fd88d72442 100644 ---- a/bfd/elf32-or1k.c -+++ b/bfd/elf32-or1k.c -@@ -828,6 +828,23 @@ static reloc_howto_type or1k_elf_howto_table[] = - false), /* pcrel_offset */ - }; - -+/* A copy of the R_OR1K_GOT16 used in the presense of R_OR1K_GOT_AHI16 -+ relocations when we know we can ignore overflows. */ -+static reloc_howto_type or1k_elf_got16_no_overflow_howto = -+ HOWTO (R_OR1K_GOT16, /* type */ -+ 0, /* rightshift */ -+ 2, /* size (0 = byte, 1 = short, 2 = long) */ -+ 16, /* bitsize */ -+ false, /* pc_relative */ -+ 0, /* bitpos */ -+ complain_overflow_dont, /* complain_on_overflow */ -+ bfd_elf_generic_reloc, /* special_function */ -+ "R_OR1K_GOT16", /* name */ -+ false, /* partial_inplace */ -+ 0, /* src_mask */ -+ 0xffff, /* dst_mask */ -+ false); /* pcrel_offset */ -+ - /* Map BFD reloc types to Or1k ELF reloc types. */ - - struct or1k_reloc_map -@@ -1506,12 +1523,11 @@ or1k_elf_relocate_section (bfd *output_bfd, - if (r_type == R_OR1K_GOT_AHI16) - saw_gotha = true; - -- /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 -+ /* If we have a R_OR1K_GOT16 following a R_OR1K_GOT_AHI16 - relocation we assume the code is doing the right thing to avoid -- overflows. Here we mask the lower 16-bit of the relocation to -- avoid overflow validation failures. */ -+ overflows. */ - if (r_type == R_OR1K_GOT16 && saw_gotha) -- relocation &= 0xffff; -+ howto = &or1k_elf_got16_no_overflow_howto; - - /* Addend should be zero. */ - if (rel->r_addend != 0) --- -2.25.1 - diff --git a/package/binutils/2.37/0006-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch b/package/binutils/2.37/0006-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch deleted file mode 100644 index 46697cc5c8a..00000000000 --- a/package/binutils/2.37/0006-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 26 Jul 2021 05:59:55 -0700 -Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd - -Close the file descriptor if there is no archive plugin file descriptor -to avoid running out of file descriptors on thin archives with many -archive members. - -bfd/ - - PR ld/28138 - * plugin.c (bfd_plugin_close_file_descriptor): Close the file - descriptor there is no archive plugin file descriptor. - -ld/ - - PR ld/28138 - * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for - native build. - - PR ld/28138 - * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. - * testsuite/ld-plugin/pr28138.c: New file. - * testsuite/ld-plugin/pr28138-1.c: Likewise. - * testsuite/ld-plugin/pr28138-2.c: Likewise. - * testsuite/ld-plugin/pr28138-3.c: Likewise. - * testsuite/ld-plugin/pr28138-4.c: Likewise. - * testsuite/ld-plugin/pr28138-5.c: Likewise. - * testsuite/ld-plugin/pr28138-6.c: Likewise. - * testsuite/ld-plugin/pr28138-7.c: Likewise. - -(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) -(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) - -[Upstream: - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1c611b40e6bfc8029bff7696814330b5bc0ee5c0] -Signed-off-by: Peter Seiderer ---- - bfd/plugin.c | 8 +++++++ - ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ - ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ - 10 files changed, 104 insertions(+) - create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c - create mode 100644 ld/testsuite/ld-plugin/pr28138.c - -diff --git a/bfd/plugin.c b/bfd/plugin.c -index 6cfa2b66470..3bab8febe88 100644 ---- a/bfd/plugin.c -+++ b/bfd/plugin.c -@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) - && !bfd_is_thin_archive (abfd->my_archive)) - abfd = abfd->my_archive; - -+ /* Close the file descriptor if there is no archive plugin file -+ descriptor. */ -+ if (abfd->archive_plugin_fd == -1) -+ { -+ close (fd); -+ return; -+ } -+ - abfd->archive_plugin_fd_open_count--; - /* Dup the archive plugin file descriptor for later use, which - will be closed by _bfd_archive_close_and_cleanup. */ -diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp -index def69e43ab3..999d911ce6a 100644 ---- a/ld/testsuite/ld-plugin/lto.exp -+++ b/ld/testsuite/ld-plugin/lto.exp -@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { - } - } - -+run_cc_link_tests [list \ -+ [list \ -+ "Build pr28138.a" \ -+ "-T" "" \ -+ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ -+ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ -+ ] \ -+ [list \ -+ "Build pr28138.o" \ -+ "" "" \ -+ {pr28138.c} {} \ -+ ] \ -+] -+ -+set exec_output [run_host_cmd "sh" \ -+ "-c \"ulimit -n 20; \ -+ $CC -Btmpdir/ld -o tmpdir/pr28138 \ -+ tmpdir/pr28138.o tmpdir/pr28138.a\""] -+set exec_output [prune_warnings $exec_output] -+if [string match "" $exec_output] then { -+ if { [isnative] } { -+ set exec_output [run_host_cmd "tmpdir/pr28138" ""] -+ if [string match "PASS" $exec_output] then { -+ pass "PR ld/28138" -+ } else { -+ fail "PR ld/28138" -+ } -+ } else { -+ pass "PR ld/28138" -+ } -+} else { -+ fail "PR ld/28138" -+} -+ - set testname "Build liblto-11.a" - remote_file host delete "tmpdir/liblto-11.a" - set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] -diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c -new file mode 100644 -index 00000000000..51d119e1642 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-1.c -@@ -0,0 +1,6 @@ -+extern int a0(void); -+int -+a1(void) -+{ -+ return 1 + a0(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c -new file mode 100644 -index 00000000000..1120cd797e9 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-2.c -@@ -0,0 +1,6 @@ -+extern int a1(void); -+int -+a2(void) -+{ -+ return 1 + a1(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c -new file mode 100644 -index 00000000000..ec464947ee6 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-3.c -@@ -0,0 +1,6 @@ -+extern int a2(void); -+int -+a3(void) -+{ -+ return 1 + a2(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c -new file mode 100644 -index 00000000000..475701b2c5c ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-4.c -@@ -0,0 +1,6 @@ -+extern int a3(void); -+int -+a4(void) -+{ -+ return 1 + a3(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c -new file mode 100644 -index 00000000000..e24f86c363e ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-5.c -@@ -0,0 +1,6 @@ -+extern int a4(void); -+int -+a5(void) -+{ -+ return 1 + a4(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c -new file mode 100644 -index 00000000000..b5b938bdb21 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-6.c -@@ -0,0 +1,6 @@ -+extern int a5(void); -+int -+a6(void) -+{ -+ return 1 + a5(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c -new file mode 100644 -index 00000000000..4ef75bf0f0c ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-7.c -@@ -0,0 +1,6 @@ -+extern int a6(void); -+int -+a7(void) -+{ -+ return 1 + a6(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c -new file mode 100644 -index 00000000000..68252c9f382 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138.c -@@ -0,0 +1,20 @@ -+#include -+ -+extern int a7(void); -+ -+int -+a0(void) -+{ -+ return 0; -+} -+ -+int -+main() -+{ -+ if (a7() == 7) -+ { -+ printf ("PASS\n"); -+ return 0; -+ } -+ return 1; -+} --- -2.34.1 - diff --git a/package/binutils/2.37/0007-i386-Allow-GOT32-relocations-against-ABS-symbols.patch b/package/binutils/2.37/0007-i386-Allow-GOT32-relocations-against-ABS-symbols.patch deleted file mode 100644 index 3e292822613..00000000000 --- a/package/binutils/2.37/0007-i386-Allow-GOT32-relocations-against-ABS-symbols.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 30a954525f4e53a9cd50a1a8a6f201c7cf6595c7 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 7 Feb 2022 15:22:19 -0800 -Subject: [PATCH] i386: Allow GOT32 relocations against ABS symbols - -GOT32 relocations are allowed since absolute value + addend is stored in -the GOT slot. - -Tested on glibc 2.35 build with GCC 11.2 and -Os. - -bfd/ - - PR ld/28870 - * elfxx-x86.c (_bfd_elf_x86_valid_reloc_p): Also allow GOT32 - relocations. - - -Signed-off-by: Waldemar Brodkorb - -diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c -index 7ac2411fc80..d00dc45677b 100644 ---- a/bfd/elfxx-x86.c -+++ b/bfd/elfxx-x86.c -@@ -1942,9 +1942,9 @@ _bfd_elf_x86_valid_reloc_p (asection *input_section, - irel = *rel; - - /* Only allow relocations against absolute symbol, which can be -- resolved as absolute value + addend. GOTPCREL relocations -- are allowed since absolute value + addend is stored in the -- GOT slot. */ -+ resolved as absolute value + addend. GOTPCREL and GOT32 -+ relocations are allowed since absolute value + addend is -+ stored in the GOT slot. */ - if (bed->target_id == X86_64_ELF_DATA) - { - r_type &= ~R_X86_64_converted_reloc_bit; -@@ -1965,7 +1965,9 @@ _bfd_elf_x86_valid_reloc_p (asection *input_section, - else - valid_p = (r_type == R_386_32 - || r_type == R_386_16 -- || r_type == R_386_8); -+ || r_type == R_386_8 -+ || r_type == R_386_GOT32 -+ || r_type == R_386_GOT32X); - - if (valid_p) - *no_dynreloc_p = true; diff --git a/package/binutils/2.38/0001-sh-conf.patch b/package/binutils/2.38/0001-sh-conf.patch deleted file mode 100644 index fcc597e4d94..00000000000 --- a/package/binutils/2.38/0001-sh-conf.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 33f3c1f804efc2e4f97849081589efb70cda31e5 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:38:13 +0100 -Subject: [PATCH] sh-conf - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - -[Romain: rebase on top of 2.32] -Signed-off-by: Romain Naour -[Thomas: rebase on top of 2.29, in which sh64 support was removed.] -Signed-off-by: Thomas Petazzoni ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 3dd206525a7..6881ce632f5 100755 ---- a/configure -+++ b/configure -@@ -3892,7 +3892,7 @@ case "${target}" in - nvptx*-*-*) - noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; -diff --git a/configure.ac b/configure.ac -index 797a624621e..1f9256bbf18 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1175,7 +1175,7 @@ case "${target}" in - nvptx*-*-*) - noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" - ;; -- sh-*-*) -+ sh*-*-*) - case "${target}" in - sh*-*-elf) - ;; --- -2.31.1 - diff --git a/package/binutils/2.38/0002-poison-system-directories.patch b/package/binutils/2.38/0002-poison-system-directories.patch deleted file mode 100644 index 1a5fe465752..00000000000 --- a/package/binutils/2.38/0002-poison-system-directories.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 4d8705ddb55897e8a74b617ab95736d520d9e1ea Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:45:38 +0100 -Subject: [PATCH] poison-system-directories - -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -[Romain: rebase on top of 2.33.1] -Signed-off-by: Romain Naour -[Gustavo: adapt to binutils 2.25] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -Upstream-Status: Inappropriate [distribution: codesourcery] - -Patch originally created by Mark Hatle, forward-ported to -binutils 2.21 by Scott Garman. - -purpose: warn for uses of system directories when cross linking - -Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 - -2008-07-02 Joseph Myers - - ld/ - * ld.h (args_type): Add error_poison_system_directories. - * ld.texinfo (--error-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.error_poison_system_directories. - * ldmain.c (main): Initialize - command_line.error_poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --error-poison-system-directories. - (parse_args): Handle new option. - -2007-06-13 Joseph Myers - - ld/ - * config.in: Regenerate. - * ld.h (args_type): Add poison_system_directories. - * ld.texinfo (--no-poison-system-directories): Document. - * ldfile.c (ldfile_add_library_path): Check - command_line.poison_system_directories. - * ldmain.c (main): Initialize - command_line.poison_system_directories. - * lexsup.c (enum option_values): Add - OPTION_NO_POISON_SYSTEM_DIRECTORIES. - (ld_options): Add --no-poison-system-directories. - (parse_args): Handle new option. - -2007-04-20 Joseph Myers - - Merge from Sourcery G++ binutils 2.17: - - 2007-03-20 Joseph Myers - Based on patch by Mark Hatle . - ld/ - * configure.ac (--enable-poison-system-directories): New option. - * configure, config.in: Regenerate. - * ldfile.c (ldfile_add_library_path): If - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, - /usr/lib, /usr/local/lib or /usr/X11R6/lib. - -Signed-off-by: Mark Hatle -Signed-off-by: Scott Garman ---- - ld/config.in | 3 +++ - ld/configure | 14 ++++++++++++++ - ld/configure.ac | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texi | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - -diff --git a/ld/config.in b/ld/config.in -index 26d55a00d47..ffad464783c 100644 ---- a/ld/config.in -+++ b/ld/config.in -@@ -43,6 +43,9 @@ - language is requested. */ - #undef ENABLE_NLS - -+/* Define to warn for use of native system library directories */ -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES -+ - /* Additional extension a shared object might have. */ - #undef EXTRA_SHLIB_EXTENSION - -diff --git a/ld/configure b/ld/configure -index c197aaef3cb..882263aa43f 100755 ---- a/ld/configure -+++ b/ld/configure -@@ -829,6 +829,7 @@ with_lib_path - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1498,6 +1499,8 @@ Optional Features: - --enable-checking enable run-time checks - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15236,7 +15239,18 @@ else - fi - - -+# Check whether --enable-poison-system-directories was given. -+if test "${enable_poison_system_directories+set}" = set; then : -+ enableval=$enable_poison_system_directories; -+else -+ enable_poison_system_directories=no -+fi -+ -+if test "x${enable_poison_system_directories}" = "xyes"; then - -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h -+ -+fi - - # Check whether --enable-got was given. - if test "${enable_got+set}" = set; then : -diff --git a/ld/configure.ac b/ld/configure.ac -index 8ea97c43cd4..0f246db67d8 100644 ---- a/ld/configure.ac -+++ b/ld/configure.ac -@@ -106,6 +106,16 @@ AC_SUBST(use_sysroot) - AC_SUBST(TARGET_SYSTEM_ROOT) - AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) - -+AC_ARG_ENABLE([poison-system-directories], -+ AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system library directories]),, -+ [enable_poison_system_directories=no]) -+if test "x${enable_poison_system_directories}" = "xyes"; then -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], -+ [1], -+ [Define to warn for use of native system library directories]) -+fi -+ - dnl Use --enable-gold to decide if this linker should be the default. - dnl "install_as_default" is set to false if gold is the default linker. - dnl "installed_linker" is the installed BFD linker name. -diff --git a/ld/ld.h b/ld/ld.h -index 35fafebfaed..74e66405de6 100644 ---- a/ld/ld.h -+++ b/ld/ld.h -@@ -162,6 +162,14 @@ typedef struct - in the linker script. */ - bool force_group_allocation; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bool poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bool error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - -diff --git a/ld/ld.texi b/ld/ld.texi -index dd8f571d4e4..3ab210b41b9 100644 ---- a/ld/ld.texi -+++ b/ld/ld.texi -@@ -2863,6 +2863,18 @@ string identifying the original linked file does not change. - - Passing @code{none} for @var{style} disables the setting from any - @code{--build-id} options earlier on the command line. -+ -+@kindex --no-poison-system-directories -+@item --no-poison-system-directories -+Do not warn for @option{-L} options using system directories such as -+@file{/usr/lib} when cross linking. This option is intended for use -+in chroot environments when such directories contain the correct -+libraries for the target system rather than the host. -+ -+@kindex --error-poison-system-directories -+@item --error-poison-system-directories -+Give an error instead of a warning for @option{-L} options using -+system directories when cross linking. - @end table - - @c man end -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 9d0af06f1f6..7cdd3b1c1b1 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline) - new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); - else - new_dirs->name = xstrdup (name); -+ -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES -+ if (command_line.poison_system_directories -+ && ((!strncmp (name, "/lib", 4)) -+ || (!strncmp (name, "/usr/lib", 8)) -+ || (!strncmp (name, "/usr/local/lib", 14)) -+ || (!strncmp (name, "/usr/X11R6/lib", 14)))) -+ { -+ if (command_line.error_poison_system_directories) -+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ else -+ einfo (_("%P: warning: library search path \"%s\" is unsafe for " -+ "cross-compilation\n"), name); -+ } -+#endif -+ - } - - /* Try to open a BFD for a lang_input_statement. */ -diff --git a/ld/ldlex.h b/ld/ldlex.h -index 9e8bf5fb835..2f0fadfe0a3 100644 ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -163,6 +163,8 @@ enum option_values - OPTION_CTF_VARIABLES, - OPTION_NO_CTF_VARIABLES, - OPTION_CTF_SHARE_TYPES, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ -diff --git a/ld/ldmain.c b/ld/ldmain.c -index 42660eb9a3c..1aef9387f93 100644 ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -321,6 +321,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = true; - command_line.warn_search_mismatch = true; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = true; -+ command_line.error_poison_system_directories = false; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the -diff --git a/ld/lexsup.c b/ld/lexsup.c -index 00274c500d0..4f23b3a2da2 100644 ---- a/ld/lexsup.c -+++ b/ld/lexsup.c -@@ -595,6 +595,14 @@ static const struct ld_option ld_options[] = - " is: share-unconflicted (default),\n" - " share-duplicated"), - TWO_DASHES }, -+ { {"no-poison-system-directories", no_argument, NULL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Do not warn for -L options using system directories"), -+ TWO_DASHES }, -+ { {"error-poison-system-directories", no_argument, NULL, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, -+ '\0', NULL, N_("Give an error for -L options using system directories"), -+ TWO_DASHES }, - }; - - #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -607,6 +615,7 @@ parse_args (unsigned argc, char **argv) - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1643,6 +1652,14 @@ parse_args (unsigned argc, char **argv) - } - break; - -+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = false; -+ break; -+ -+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = true; -+ break; -+ - case OPTION_PUSH_STATE: - input_flags.pushed = xmemdup (&input_flags, - sizeof (input_flags), -@@ -1788,6 +1805,10 @@ parse_args (unsigned argc, char **argv) - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = true; -+ - while (ingroup) - { - einfo (_("%P: missing --end-group; added as last command line option\n")); --- -2.31.1 - diff --git a/package/binutils/2.38/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch b/package/binutils/2.38/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch deleted file mode 100644 index bfd531b8185..00000000000 --- a/package/binutils/2.38/0003-bfd-elf32-or1k-fix-building-with-gcc-version-5.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ef4ba1da823e8366ea4f126f50885a44ebf4dcf0 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 9 Jun 2021 17:28:27 +0200 -Subject: [PATCH] bfd/elf32-or1k: fix building with gcc version < 5 - -Gcc version >= 5 has standard C mode not set to -std=gnu11, so if we use -an old compiler(i.e. gcc 4.9) build fails on: -``` -elf32-or1k.c:2251:3: error: 'for' loop initial declarations are only allowed in -C99 or C11 mode - for (size_t i = 0; i < insn_count; i++) - ^ -``` - -So let's declare `size_t i` at the top of the function instead of inside -for loop. - -Signed-off-by: Giulio Benetti ---- - bfd/elf32-or1k.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c -index 4ae7f324d33..32063ab0289 100644 ---- a/bfd/elf32-or1k.c -+++ b/bfd/elf32-or1k.c -@@ -2244,9 +2244,10 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, - { - unsigned nodelay = elf_elfheader (output_bfd)->e_flags & EF_OR1K_NODELAY; - unsigned output_insns[PLT_MAX_INSN_COUNT]; -+ size_t i; - - /* Copy instructions into the output buffer. */ -- for (size_t i = 0; i < insn_count; i++) -+ for (i = 0; i < insn_count; i++) - output_insns[i] = insns[i]; - - /* Honor the no-delay-slot setting. */ -@@ -2277,7 +2278,7 @@ or1k_write_plt_entry (bfd *output_bfd, bfd_byte *contents, unsigned insnj, - } - - /* Write out the output buffer. */ -- for (size_t i = 0; i < (insn_count+1); i++) -+ for (i = 0; i < (insn_count+1); i++) - bfd_put_32 (output_bfd, output_insns[i], contents + (i*4)); - } - --- -2.31.1 - diff --git a/package/binutils/2.38/0004-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch b/package/binutils/2.38/0004-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch deleted file mode 100644 index 8609db95b7a..00000000000 --- a/package/binutils/2.38/0004-or1k-Avoid-R_OR1K_GOT16-signed-overflow-by-using-spe.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 362a20108782b87cd780a989c0dbd014fc2def8b Mon Sep 17 00:00:00 2001 -From: Stafford Horne -Date: Sun, 2 Jan 2022 09:03:28 +0900 -Subject: [PATCH] or1k: Avoid R_OR1K_GOT16 signed overflow by using special - howto - -Previously when fixing PR 21464 we masked out upper bits of the -relocation value in order to avoid overflow complaints when acceptable. -It turns out this does not work when the relocation value ends up being -signed. - -To fix this this patch introduces a special howto with -complain_on_overflow set to complain_overflow_dont. This is used in -place of the normal R_OR1K_GOT16 howto when we detect R_OR1K_GOT_AHI16 -relocations. - -bfd/ChangeLog: - - PR 28735 - * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define. - (or1k_elf_relocate_section): Use new howto instead of trying to - mask out relocation bits. - -Signed-off-by: Giulio Benetti ---- - bfd/elf32-or1k.c | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c -index 4ae7f324d33..7fd88d72442 100644 ---- a/bfd/elf32-or1k.c -+++ b/bfd/elf32-or1k.c -@@ -828,6 +828,23 @@ static reloc_howto_type or1k_elf_howto_table[] = - false), /* pcrel_offset */ - }; - -+/* A copy of the R_OR1K_GOT16 used in the presense of R_OR1K_GOT_AHI16 -+ relocations when we know we can ignore overflows. */ -+static reloc_howto_type or1k_elf_got16_no_overflow_howto = -+ HOWTO (R_OR1K_GOT16, /* type */ -+ 0, /* rightshift */ -+ 2, /* size (0 = byte, 1 = short, 2 = long) */ -+ 16, /* bitsize */ -+ false, /* pc_relative */ -+ 0, /* bitpos */ -+ complain_overflow_dont, /* complain_on_overflow */ -+ bfd_elf_generic_reloc, /* special_function */ -+ "R_OR1K_GOT16", /* name */ -+ false, /* partial_inplace */ -+ 0, /* src_mask */ -+ 0xffff, /* dst_mask */ -+ false); /* pcrel_offset */ -+ - /* Map BFD reloc types to Or1k ELF reloc types. */ - - struct or1k_reloc_map -@@ -1506,12 +1523,11 @@ or1k_elf_relocate_section (bfd *output_bfd, - if (r_type == R_OR1K_GOT_AHI16) - saw_gotha = true; - -- /* If we have a R_OR1K_GOT16 followed by a R_OR1K_GOT_AHI16 -+ /* If we have a R_OR1K_GOT16 following a R_OR1K_GOT_AHI16 - relocation we assume the code is doing the right thing to avoid -- overflows. Here we mask the lower 16-bit of the relocation to -- avoid overflow validation failures. */ -+ overflows. */ - if (r_type == R_OR1K_GOT16 && saw_gotha) -- relocation &= 0xffff; -+ howto = &or1k_elf_got16_no_overflow_howto; - - /* Addend should be zero. */ - if (rel->r_addend != 0) --- -2.25.1 - diff --git a/package/binutils/2.38/0005-binutils-2.38-vs.-ppc32-linux-kernel.patch b/package/binutils/2.38/0005-binutils-2.38-vs.-ppc32-linux-kernel.patch deleted file mode 100644 index c62652c95f3..00000000000 --- a/package/binutils/2.38/0005-binutils-2.38-vs.-ppc32-linux-kernel.patch +++ /dev/null @@ -1,55 +0,0 @@ -From ed9b2e40ebffec835d63473367da8dd8f80d7d5b Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Mon, 21 Feb 2022 10:58:57 +1030 -Subject: [PATCH] binutils 2.38 vs. ppc32 linux kernel - -Commit b25f942e18d6 made .machine more strict. Weaken it again. - - * config/tc-ppc.c (ppc_machine): Treat an early .machine specially, - keeping sticky options to work around gcc bugs. - -(cherry picked from commit cebc89b9328eab994f6b0314c263f94e7949a553) -Signed-off-by: Waldemar Brodkorb ---- - gas/config/tc-ppc.c | 25 ++++++++++++++++++++++++- - 1 file changed, 24 insertions(+), 1 deletion(-) - -diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c -index 054f9c72161..89bc7d3f9b9 100644 ---- a/gas/config/tc-ppc.c -+++ b/gas/config/tc-ppc.c -@@ -5965,7 +5965,30 @@ ppc_machine (int ignore ATTRIBUTE_UNUSED) - options do not count as a new machine, instead they add - to currently selected opcodes. */ - ppc_cpu_t machine_sticky = 0; -- new_cpu = ppc_parse_cpu (ppc_cpu, &machine_sticky, cpu_string); -+ /* Unfortunately, some versions of gcc emit a .machine -+ directive very near the start of the compiler's assembly -+ output file. This is bad because it overrides user -Wa -+ cpu selection. Worse, there are versions of gcc that -+ emit the *wrong* cpu, not even respecting the -mcpu given -+ to gcc. See gcc pr101393. And to compound the problem, -+ as of 20220222 gcc doesn't pass the correct cpu option to -+ gas on the command line. See gcc pr59828. Hack around -+ this by keeping sticky options for an early .machine. */ -+ asection *sec; -+ for (sec = stdoutput->sections; sec != NULL; sec = sec->next) -+ { -+ segment_info_type *info = seg_info (sec); -+ /* Are the frags for this section perturbed from their -+ initial state? Even .align will count here. */ -+ if (info != NULL -+ && (info->frchainP->frch_root != info->frchainP->frch_last -+ || info->frchainP->frch_root->fr_type != rs_fill -+ || info->frchainP->frch_root->fr_fix != 0)) -+ break; -+ } -+ new_cpu = ppc_parse_cpu (ppc_cpu, -+ sec == NULL ? &sticky : &machine_sticky, -+ cpu_string); - if (new_cpu != 0) - ppc_cpu = new_cpu; - else --- -2.30.2 - diff --git a/package/binutils/2.40/0001-sh-conf.patch b/package/binutils/2.40/0001-sh-conf.patch new file mode 100644 index 00000000000..ffa23a88a79 --- /dev/null +++ b/package/binutils/2.40/0001-sh-conf.patch @@ -0,0 +1,50 @@ +From 87551ade276aa0db86c4567b3ac219c4f979b538 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:38:13 +0100 +Subject: [PATCH] sh-conf + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +Upstream: N/A [Buildroot specific] + +[Romain: rebase on top of 2.32] +Signed-off-by: Romain Naour +[Thomas: rebase on top of 2.29, in which sh64 support was removed.] +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 417fc5a970c..fa8ba331796 100755 +--- a/configure ++++ b/configure +@@ -4067,7 +4067,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +diff --git a/configure.ac b/configure.ac +index 3a1eb0357e5..d700c14ddf5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1300,7 +1300,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +-- +2.40.1 + diff --git a/package/binutils/2.40/0002-poison-system-directories.patch b/package/binutils/2.40/0002-poison-system-directories.patch new file mode 100644 index 00000000000..4b927b630e0 --- /dev/null +++ b/package/binutils/2.40/0002-poison-system-directories.patch @@ -0,0 +1,309 @@ +From a6d90a842e349545ceb27f022317618dd99378ce Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Waldemar: rebase on top of 2.39] +Signed-off-by: Waldemar Brodkorb +[Romain: rebase on top of 2.33.1] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] +Upstream: N/A [Buildroot specific] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index ad0dc6a106c..d21edaddce7 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -58,6 +58,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index 43b44be1dc6..28f054ea3f8 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -839,6 +839,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1521,6 +1522,8 @@ Optional Features: + --enable-checking enable run-time checks + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15504,7 +15507,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index 77edac3258c..a74dac63038 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -103,6 +103,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index 05649ff61b8..1818c227473 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -163,6 +163,14 @@ typedef struct + in the linker script. */ + bool force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bool poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bool error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texi b/ld/ld.texi +index db3a9f09b45..9dacc934f80 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2949,6 +2949,18 @@ string identifying the original linked file does not change. + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. + ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. ++ + @kindex --package-metadata=@var{JSON} + @item --package-metadata=@var{JSON} + Request the creation of a @code{.note.package} ELF note section. The +diff --git a/ld/ldfile.c b/ld/ldfile.c +index b8fd4e5d8e0..1f1d8e23bc9 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 0538f0a06a1..d1de3aec23d 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -166,6 +166,8 @@ enum option_values + OPTION_CTF_VARIABLES, + OPTION_NO_CTF_VARIABLES, + OPTION_CTF_SHARE_TYPES, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + OPTION_WARN_EXECSTACK, + OPTION_NO_WARN_EXECSTACK, + OPTION_WARN_RWX_SEGMENTS, +diff --git a/ld/ldmain.c b/ld/ldmain.c +index 9290a189b0d..e2e3074e872 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -321,6 +321,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = true; + command_line.warn_search_mismatch = true; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = true; ++ command_line.error_poison_system_directories = false; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index c5960385572..da0a7829914 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -613,6 +613,14 @@ static const struct ld_option ld_options[] = + " is: share-unconflicted (default),\n" + " share-duplicated"), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -625,6 +633,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1692,6 +1701,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = false; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = true; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1837,6 +1854,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = true; ++ + while (ingroup) + { + einfo (_("%P: missing --end-group; added as last command line option\n")); +-- +2.40.1 + diff --git a/package/binutils/2.41/0001-sh-conf.patch b/package/binutils/2.41/0001-sh-conf.patch new file mode 100644 index 00000000000..ffa23a88a79 --- /dev/null +++ b/package/binutils/2.41/0001-sh-conf.patch @@ -0,0 +1,50 @@ +From 87551ade276aa0db86c4567b3ac219c4f979b538 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:38:13 +0100 +Subject: [PATCH] sh-conf + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +Upstream: N/A [Buildroot specific] + +[Romain: rebase on top of 2.32] +Signed-off-by: Romain Naour +[Thomas: rebase on top of 2.29, in which sh64 support was removed.] +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 417fc5a970c..fa8ba331796 100755 +--- a/configure ++++ b/configure +@@ -4067,7 +4067,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +diff --git a/configure.ac b/configure.ac +index 3a1eb0357e5..d700c14ddf5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1300,7 +1300,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +-- +2.40.1 + diff --git a/package/binutils/2.41/0002-poison-system-directories.patch b/package/binutils/2.41/0002-poison-system-directories.patch new file mode 100644 index 00000000000..4b927b630e0 --- /dev/null +++ b/package/binutils/2.41/0002-poison-system-directories.patch @@ -0,0 +1,309 @@ +From a6d90a842e349545ceb27f022317618dd99378ce Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Waldemar: rebase on top of 2.39] +Signed-off-by: Waldemar Brodkorb +[Romain: rebase on top of 2.33.1] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] +Upstream: N/A [Buildroot specific] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index ad0dc6a106c..d21edaddce7 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -58,6 +58,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index 43b44be1dc6..28f054ea3f8 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -839,6 +839,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1521,6 +1522,8 @@ Optional Features: + --enable-checking enable run-time checks + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15504,7 +15507,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index 77edac3258c..a74dac63038 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -103,6 +103,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index 05649ff61b8..1818c227473 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -163,6 +163,14 @@ typedef struct + in the linker script. */ + bool force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bool poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bool error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texi b/ld/ld.texi +index db3a9f09b45..9dacc934f80 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2949,6 +2949,18 @@ string identifying the original linked file does not change. + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. + ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. ++ + @kindex --package-metadata=@var{JSON} + @item --package-metadata=@var{JSON} + Request the creation of a @code{.note.package} ELF note section. The +diff --git a/ld/ldfile.c b/ld/ldfile.c +index b8fd4e5d8e0..1f1d8e23bc9 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 0538f0a06a1..d1de3aec23d 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -166,6 +166,8 @@ enum option_values + OPTION_CTF_VARIABLES, + OPTION_NO_CTF_VARIABLES, + OPTION_CTF_SHARE_TYPES, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + OPTION_WARN_EXECSTACK, + OPTION_NO_WARN_EXECSTACK, + OPTION_WARN_RWX_SEGMENTS, +diff --git a/ld/ldmain.c b/ld/ldmain.c +index 9290a189b0d..e2e3074e872 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -321,6 +321,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = true; + command_line.warn_search_mismatch = true; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = true; ++ command_line.error_poison_system_directories = false; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index c5960385572..da0a7829914 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -613,6 +613,14 @@ static const struct ld_option ld_options[] = + " is: share-unconflicted (default),\n" + " share-duplicated"), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -625,6 +633,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1692,6 +1701,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = false; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = true; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1837,6 +1854,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = true; ++ + while (ingroup) + { + einfo (_("%P: missing --end-group; added as last command line option\n")); +-- +2.40.1 + diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index 5dd2af2f9ca..2f1ddf4bdc3 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -5,41 +5,42 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI default y depends on !BR2_microblaze +config BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME + bool + choice prompt "Binutils Version" - default BR2_BINUTILS_VERSION_2_38_X if !BR2_arc + default BR2_BINUTILS_VERSION_2_40_X if !BR2_arc default BR2_BINUTILS_VERSION_ARC if BR2_arc help Select the version of binutils you wish to use. -config BR2_BINUTILS_VERSION_2_37_X - bool "binutils 2.37" - # AVX512FP16 instructions were not supported before binutils - # 2.38 - depends on !BR2_X86_CPU_HAS_AVX512 - -config BR2_BINUTILS_VERSION_2_38_X - bool "binutils 2.38" - config BR2_BINUTILS_VERSION_2_39_X bool "binutils 2.39" + select BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME + +config BR2_BINUTILS_VERSION_2_40_X + bool "binutils 2.40" + +config BR2_BINUTILS_VERSION_2_41_X + bool "binutils 2.41" config BR2_BINUTILS_VERSION_ARC - bool "binutils arc (2.34.50)" + bool "binutils arc (2.41)" depends on BR2_arc endchoice config BR2_BINUTILS_VERSION string - default "arc-2020.09-release" if BR2_BINUTILS_VERSION_ARC - default "2.37" if BR2_BINUTILS_VERSION_2_37_X - default "2.38" if BR2_BINUTILS_VERSION_2_38_X + default "arc-2023.09-release" if BR2_BINUTILS_VERSION_ARC default "2.39" if BR2_BINUTILS_VERSION_2_39_X + default "2.40" if BR2_BINUTILS_VERSION_2_40_X + default "2.41" if BR2_BINUTILS_VERSION_2_41_X config BR2_BINUTILS_GPROFNG bool "gprofng support" - depends on BR2_BINUTILS_VERSION_2_39_X + depends on !BR2_BINUTILS_VERSION_ARC help This option enables support for gprofng, a new profiler. diff --git a/package/binutils/arc-2020.09-release/0001-poison-system-directories.patch b/package/binutils/arc-2023.09-release/0001-poison-system-directories.patch similarity index 78% rename from package/binutils/arc-2020.09-release/0001-poison-system-directories.patch rename to package/binutils/arc-2023.09-release/0001-poison-system-directories.patch index 7a76ef29631..4b927b630e0 100644 --- a/package/binutils/arc-2020.09-release/0001-poison-system-directories.patch +++ b/package/binutils/arc-2023.09-release/0001-poison-system-directories.patch @@ -1,21 +1,21 @@ -From 5f62ad7ce534e3384d6ed8892614979da297bd70 Mon Sep 17 00:00:00 2001 -From: Evgeniy Didin -Date: Mon, 14 Oct 2019 16:45:15 +0300 -Subject: [PATCH] [PATCH] poison-system-directories - -Patch adapted to arc-binutils-gdb-2019.09 -Signed-off-by: Evgeniy Didin +From a6d90a842e349545ceb27f022317618dd99378ce Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories Patch adapted to binutils 2.23.2 and extended to use BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. -[Romain: rebase on top of 2.26] +[Waldemar: rebase on top of 2.39] +Signed-off-by: Waldemar Brodkorb +[Romain: rebase on top of 2.33.1] Signed-off-by: Romain Naour [Gustavo: adapt to binutils 2.25] Signed-off-by: Thomas Petazzoni Signed-off-by: Gustavo Zacarias Upstream-Status: Inappropriate [distribution: codesourcery] +Upstream: N/A [Buildroot specific] Patch originally created by Mark Hatle, forward-ported to binutils 2.21 by Scott Garman. @@ -81,10 +81,10 @@ Signed-off-by: Scott Garman 9 files changed, 89 insertions(+) diff --git a/ld/config.in b/ld/config.in -index d93c9b08300..5da2742beac 100644 +index ad0dc6a106c..d21edaddce7 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -31,6 +31,9 @@ +@@ -58,6 +58,9 @@ language is requested. */ #undef ENABLE_NLS @@ -95,10 +95,10 @@ index d93c9b08300..5da2742beac 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index 2d6ca5c0445..563f9921f7f 100755 +index 43b44be1dc6..28f054ea3f8 100755 --- a/ld/configure +++ b/ld/configure -@@ -823,6 +823,7 @@ with_lib_path +@@ -839,6 +839,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -106,8 +106,8 @@ index 2d6ca5c0445..563f9921f7f 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1487,6 +1488,8 @@ Optional Features: - --disable-largefile omit support for large files +@@ -1521,6 +1522,8 @@ Optional Features: + --enable-checking enable run-time checks --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) + --enable-poison-system-directories @@ -115,7 +115,7 @@ index 2d6ca5c0445..563f9921f7f 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15804,7 +15807,18 @@ else +@@ -15504,7 +15507,18 @@ else fi @@ -135,10 +135,10 @@ index 2d6ca5c0445..563f9921f7f 100755 # Check whether --enable-got was given. if test "${enable_got+set}" = set; then : diff --git a/ld/configure.ac b/ld/configure.ac -index 41a51bbb7e9..dbaa98a9e17 100644 +index 77edac3258c..a74dac63038 100644 --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) +@@ -103,6 +103,16 @@ AC_SUBST(use_sysroot) AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -156,33 +156,32 @@ index 41a51bbb7e9..dbaa98a9e17 100644 dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/ld/ld.h b/ld/ld.h -index 55078a9637b..511e9bc34b7 100644 +index 05649ff61b8..1818c227473 100644 --- a/ld/ld.h +++ b/ld/ld.h -@@ -180,6 +180,14 @@ typedef struct +@@ -163,6 +163,14 @@ typedef struct in the linker script. */ - bfd_boolean force_group_allocation; + bool force_group_allocation; + /* If TRUE (the default) warn for uses of system directories when + cross linking. */ -+ bfd_boolean poison_system_directories; ++ bool poison_system_directories; + + /* If TRUE (default FALSE) give an error for uses of system + directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; ++ bool error_poison_system_directories; + /* Big or little endian as set on command line. */ enum endian_enum endian; diff --git a/ld/ld.texi b/ld/ld.texi -index fcbc335c95e..6ba7ebdb32a 100644 +index db3a9f09b45..9dacc934f80 100644 --- a/ld/ld.texi +++ b/ld/ld.texi -@@ -2557,6 +2557,18 @@ string identifying the original linked file does not change. - +@@ -2949,6 +2949,18 @@ string identifying the original linked file does not change. Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. -+ + +@kindex --no-poison-system-directories +@item --no-poison-system-directories +Do not warn for @option{-L} options using system directories such as @@ -194,14 +193,15 @@ index fcbc335c95e..6ba7ebdb32a 100644 +@item --error-poison-system-directories +Give an error instead of a warning for @option{-L} options using +system directories when cross linking. - @end table - - @c man end ++ + @kindex --package-metadata=@var{JSON} + @item --package-metadata=@var{JSON} + Request the creation of a @code{.note.package} ELF note section. The diff --git a/ld/ldfile.c b/ld/ldfile.c -index 7f60319390e..0bcc06db964 100644 +index b8fd4e5d8e0..1f1d8e23bc9 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) +@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bool cmdline) new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); else new_dirs->name = xstrdup (name); @@ -226,39 +226,38 @@ index 7f60319390e..0bcc06db964 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index 32a7a6409e8..c02b64bf92f 100644 +index 0538f0a06a1..d1de3aec23d 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -152,6 +152,8 @@ enum option_values - OPTION_NO_PRINT_MAP_DISCARDED, - OPTION_NON_CONTIGUOUS_REGIONS, - OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS, +@@ -166,6 +166,8 @@ enum option_values + OPTION_CTF_VARIABLES, + OPTION_NO_CTF_VARIABLES, + OPTION_CTF_SHARE_TYPES, + OPTION_NO_POISON_SYSTEM_DIRECTORIES, + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - - /* The initial parser states. */ + OPTION_WARN_EXECSTACK, + OPTION_NO_WARN_EXECSTACK, + OPTION_WARN_RWX_SEGMENTS, diff --git a/ld/ldmain.c b/ld/ldmain.c -index 34c19223137..66d2c3f4bcf 100644 +index 9290a189b0d..e2e3074e872 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; +@@ -321,6 +321,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = true; + command_line.warn_search_mismatch = true; command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; ++ command_line.poison_system_directories = true; ++ command_line.error_poison_system_directories = false; /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index 1c15ac29c0c..8b714e10a40 100644 +index c5960385572..da0a7829914 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -549,6 +549,14 @@ static const struct ld_option ld_options[] = - { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, - '\0', NULL, N_("Do not show discarded sections in map file output"), +@@ -613,6 +613,14 @@ static const struct ld_option ld_options[] = + " is: share-unconflicted (default),\n" + " share-duplicated"), TWO_DASHES }, + { {"no-poison-system-directories", no_argument, NULL, + OPTION_NO_POISON_SYSTEM_DIRECTORIES}, @@ -271,7 +270,7 @@ index 1c15ac29c0c..8b714e10a40 100644 }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -561,6 +569,7 @@ parse_args (unsigned argc, char **argv) +@@ -625,6 +633,7 @@ parse_args (unsigned argc, char **argv) int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -279,32 +278,32 @@ index 1c15ac29c0c..8b714e10a40 100644 struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1549,6 +1558,14 @@ parse_args (unsigned argc, char **argv) +@@ -1692,6 +1701,14 @@ parse_args (unsigned argc, char **argv) } break; + case OPTION_NO_POISON_SYSTEM_DIRECTORIES: -+ command_line.poison_system_directories = FALSE; ++ command_line.poison_system_directories = false; + break; + + case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: -+ command_line.error_poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = true; + break; + case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1600,6 +1617,10 @@ parse_args (unsigned argc, char **argv) +@@ -1837,6 +1854,10 @@ parse_args (unsigned argc, char **argv) command_line.soname = NULL; } + BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); + if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = true; + while (ingroup) { einfo (_("%P: missing --end-group; added as last command line option\n")); -- -2.16.2 +2.40.1 diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index 1a8574de92b..e4c6a0b0b66 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -1,10 +1,11 @@ -# From ftp://gcc.gnu.org/pub/binutils/releases/sha512.sum -sha512 5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7 binutils-2.37.tar.xz -sha512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d binutils-2.38.tar.xz +# From https://gcc.gnu.org/pub/binutils/releases/sha512.sum sha512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz +sha512 a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz +sha512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374 binutils-2.41.tar.xz +sha512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 binutils-2.42.tar.xz # Locally calculated (fetched from Github) -sha512 76a8227a19218435319c660e4983ea17985194b7f496f163e97543e7f6fd3e9249241fdc05a16ba512fba96a1d846c1f7b080983404d821d6215f10e7f11e238 binutils-gdb-arc-2020.09-release.tar.gz +sha512 3518b47d5c11d1fb478ee152bde1719363f9391db73f3b9f5491217c17742bef8ebca6a51a40302dfaa9476c5a32a8b8f70a4bf64289422dea5f750ae53ab88d binutils-gdb-arc-2023.09-release.tar.gz # locally computed sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING3 diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 1ef7ee57d2f..6846933646d 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,13 +9,13 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2020.09-release +BINUTILS_VERSION = arc-2023.09-release else -BINUTILS_VERSION = 2.38 +BINUTILS_VERSION = 2.40 endif endif # BINUTILS_VERSION -ifeq ($(BINUTILS_VERSION),arc-2020.09-release) +ifeq ($(BINUTILS_VERSION),arc-2023.09-release) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y @@ -54,7 +54,8 @@ BINUTILS_CONF_OPTS = \ --with-system-zlib \ --disable-gprofng \ $(BINUTILS_DISABLE_GDB_CONF_OPTS) \ - $(BINUTILS_EXTRA_CONFIG_OPTIONS) + $(BINUTILS_EXTRA_CONFIG_OPTIONS) \ + --without-zstd ifeq ($(BR2_STATIC_LIBS),y) BINUTILS_CONF_OPTS += --disable-plugins @@ -90,7 +91,8 @@ HOST_BINUTILS_CONF_OPTS = \ --enable-plugins \ --enable-lto \ $(BINUTILS_DISABLE_GDB_CONF_OPTS) \ - $(BINUTILS_EXTRA_CONFIG_OPTIONS) + $(BINUTILS_EXTRA_CONFIG_OPTIONS) \ + --without-zstd ifeq ($(BR2_BINUTILS_GPROFNG),y) HOST_BINUTILS_DEPENDENCIES += host-bison @@ -103,12 +105,19 @@ endif # our TARGET_CONFIGURE_ARGS are taken into consideration for those BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS) +ifeq ($(BR2_PACKAGE_BINUTILS_HAS_NO_LIBSFRAME),) +define BINUTILS_INSTALL_STAGING_LIBSFRAME + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libsframe DESTDIR=$(STAGING_DIR) install +endef +endif + # We just want libbfd, libiberty and libopcodes, # not the full-blown binutils in staging define BINUTILS_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR=$(STAGING_DIR) install $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR=$(STAGING_DIR) install $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR=$(STAGING_DIR) install + $(BINUTILS_INSTALL_STAGING_LIBSFRAME) endef # If we don't want full binutils on target diff --git a/package/bird/bird.hash b/package/bird/bird.hash index 6ccacd8d585..a62fbba630e 100644 --- a/package/bird/bird.hash +++ b/package/bird/bird.hash @@ -1,2 +1,2 @@ -sha256 7ed341ddd8dc87fa9736586b3515447a8436fec442d65f4022155ab9de1ffd5a bird-2.0.10.tar.gz +sha256 3ec462a237d06d1f4455d6ec00a42f0b1686061fc988e5c89a841d01dd753b53 bird-2.0.12.tar.gz sha256 94c53c84320078920ac1f0d49c81a4e9004512f534521a58bdf145acbcbc2cd2 README diff --git a/package/bird/bird.mk b/package/bird/bird.mk index e1e392168c5..f1b2ee6c5ea 100644 --- a/package/bird/bird.mk +++ b/package/bird/bird.mk @@ -4,7 +4,7 @@ # ################################################################################ -BIRD_VERSION = 2.0.10 +BIRD_VERSION = 2.0.12 BIRD_SITE = https://bird.network.cz/download BIRD_LICENSE = GPL-2.0+ BIRD_LICENSE_FILES = README diff --git a/package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch b/package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch deleted file mode 100644 index 8038a311d36..00000000000 --- a/package/bitcoin/0001-src-randomenv.cpp-fix-build-on-uclibc.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 330cb33985d0ce97c20f4a0f0bbda0fbffe098d4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 9 Nov 2020 21:18:40 +0100 -Subject: [PATCH] src/randomenv.cpp: fix build on uclibc - -Check for HAVE_STRONG_GETAUXVAL or HAVE_WEAK_GETAUXVAL before using -getauxval to avoid a build failure on uclibc - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/bitcoin/bitcoin/pull/20358] ---- - src/randomenv.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/randomenv.cpp b/src/randomenv.cpp -index 07122b7f6..5e07c3db4 100644 ---- a/src/randomenv.cpp -+++ b/src/randomenv.cpp -@@ -53,7 +53,7 @@ - #include - #endif - #endif --#ifdef __linux__ -+#if defined(HAVE_STRONG_GETAUXVAL) || defined(HAVE_WEAK_GETAUXVAL) - #include - #endif - -@@ -326,7 +326,7 @@ void RandAddStaticEnv(CSHA512& hasher) - // Bitcoin client version - hasher << CLIENT_VERSION; - --#ifdef __linux__ -+#if defined(HAVE_STRONG_GETAUXVAL) || defined(HAVE_WEAK_GETAUXVAL) - // Information available through getauxval() - # ifdef AT_HWCAP - hasher << getauxval(AT_HWCAP); -@@ -346,7 +346,7 @@ void RandAddStaticEnv(CSHA512& hasher) - const char* exec_str = (const char*)getauxval(AT_EXECFN); - if (exec_str) hasher.Write((const unsigned char*)exec_str, strlen(exec_str) + 1); - # endif --#endif // __linux__ -+#endif // HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL - - #ifdef HAVE_GETCPUID - AddAllCPUID(hasher); --- -2.28.0 - diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in index a344811d6b4..060cae24f5f 100644 --- a/package/bitcoin/Config.in +++ b/package/bitcoin/Config.in @@ -11,8 +11,8 @@ config BR2_PACKAGE_BITCOIN bool "bitcoin" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_USE_WCHAR select BR2_PACKAGE_BOOST @@ -36,12 +36,19 @@ config BR2_PACKAGE_BITCOIN https://bitcoincore.org -comment "bitcoin needs a toolchain w/ C++, threads, wchar" +if BR2_PACKAGE_BITCOIN + +config BR2_PACKAGE_BITCOIN_WALLET + bool "wallet support" + select BR2_PACKAGE_SQLITE + help + Enable bitcoin wallet support. + +endif + +comment "bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 9" depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR - -comment "bitcoin needs a toolchain not affected by GCC bug 64735" - depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 diff --git a/package/bitcoin/bitcoin.hash b/package/bitcoin/bitcoin.hash index 643fcbc1419..6b3008af863 100644 --- a/package/bitcoin/bitcoin.hash +++ b/package/bitcoin/bitcoin.hash @@ -1,5 +1,7 @@ -# From https://bitcoincore.org/bin/bitcoin-core-0.21.2/SHA256SUMS.asc -sha256 4146f751fc5691bdcf911cbdb8d32d8d25c297d29d58173227ae1ae6438edb9e bitcoin-0.21.2.tar.gz +# Hash from: https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS +# After checking pgp signature from: +# https://bitcoincore.org/bin/bitcoin-core-26.0/SHA256SUMS.asc +sha256 ab1d99276e28db62d1d9f3901e85ac358d7f1ebcb942d348a9c4e46f0fcdc0a1 bitcoin-26.0.tar.gz # Hash for license file -sha256 96fe807030b21f88305adc32af62f9aa19915f2783509fd6f52aea02cf83f644 COPYING +sha256 a6331cd1f889397adfc0c3b0535682a20950c6cf8e5c712e9997a15ce98324e1 COPYING diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk index 10ae32202cf..2f8a1777a26 100644 --- a/package/bitcoin/bitcoin.mk +++ b/package/bitcoin/bitcoin.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITCOIN_VERSION = 0.21.2 +BITCOIN_VERSION = 26.0 BITCOIN_SITE = https://bitcoincore.org/bin/bitcoin-core-$(BITCOIN_VERSION) BITCOIN_AUTORECONF = YES BITCOIN_LICENSE = MIT @@ -13,14 +13,27 @@ BITCOIN_CPE_ID_VENDOR = bitcoin BITCOIN_CPE_ID_PRODUCT = bitcoin_core BITCOIN_DEPENDENCIES = host-pkgconf boost libevent BITCOIN_MAKE_ENV = BITCOIN_GENBUILD_NO_GIT=1 +# Berkeley Database (bdb) support is always disabled. It is only +# needed for legacy wallet format. New wallets are using SQLite. BITCOIN_CONF_OPTS = \ --disable-bench \ - --disable-wallet \ --disable-tests \ --with-boost-libdir=$(STAGING_DIR)/usr/lib/ \ --disable-hardening \ + --without-bdb \ --without-gui +ifeq ($(BR2_PACKAGE_BITCOIN_WALLET),y) +BITCOIN_DEPENDENCIES += sqlite +BITCOIN_CONF_OPTS += \ + --enable-wallet \ + --with-sqlite +else +BITCOIN_CONF_OPTS += \ + --disable-wallet \ + --without-sqlite +endif + ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) BITCOIN_DEPENDENCIES += libminiupnpc BITCOIN_CONF_OPTS += --with-miniupnpc diff --git a/package/bitstream-vera/bitstream-vera.hash b/package/bitstream-vera/bitstream-vera.hash index bb31b17a4af..54deb2661cb 100644 --- a/package/bitstream-vera/bitstream-vera.hash +++ b/package/bitstream-vera/bitstream-vera.hash @@ -1,4 +1,4 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2.sha256sum +# From https://download.gnome.org/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2.sha256sum sha256 db5b27df7bbb318036ebdb75acd3e98f1bd6eb6608fb70a67d478cd243d178dc ttf-bitstream-vera-1.10.tar.bz2 # locally computed sha256 3361d054759a2fc686a2c058be82deaf9c2e6fe549be9004d7935a6c1736315d COPYRIGHT.TXT diff --git a/package/bitstream-vera/bitstream-vera.mk b/package/bitstream-vera/bitstream-vera.mk index f487d637c27..2c9dc1a5cb0 100644 --- a/package/bitstream-vera/bitstream-vera.mk +++ b/package/bitstream-vera/bitstream-vera.mk @@ -5,7 +5,7 @@ ################################################################################ BITSTREAM_VERA_VERSION = 1.10 -BITSTREAM_VERA_SITE = http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/$(BITSTREAM_VERA_VERSION) +BITSTREAM_VERA_SITE = https://download.gnome.org/sources/ttf-bitstream-vera/$(BITSTREAM_VERA_VERSION) BITSTREAM_VERA_SOURCE = ttf-bitstream-vera-$(BITSTREAM_VERA_VERSION).tar.bz2 BITSTREAM_VERA_TARGET_DIR = $(TARGET_DIR)/usr/share/fonts/ttf-bitstream-vera BITSTREAM_VERA_LICENSE = BitstreamVera diff --git a/package/bitwise/bitwise.hash b/package/bitwise/bitwise.hash index c8daa0aa649..9da1a4c0c58 100644 --- a/package/bitwise/bitwise.hash +++ b/package/bitwise/bitwise.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f524f794188a10defc4df673d8cf0b3739f93e58e93aff0cdb8a99fbdcca2ffb bitwise-v0.43.tar.gz +sha256 806271fa5bf31de0600315e8720004a8f529954480e991ca84a9868dc1cae97e bitwise-v0.50.tar.gz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/bitwise/bitwise.mk b/package/bitwise/bitwise.mk index 33d8f6776b5..5bce92fcf79 100644 --- a/package/bitwise/bitwise.mk +++ b/package/bitwise/bitwise.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITWISE_VERSION = 0.43 +BITWISE_VERSION = 0.50 BITWISE_SITE = https://github.com/mellowcandle/bitwise/releases/download/v$(BITWISE_VERSION) BITWISE_SOURCE = bitwise-v$(BITWISE_VERSION).tar.gz BITWISE_DEPENDENCIES = ncurses readline diff --git a/package/blktrace/blktrace.mk b/package/blktrace/blktrace.mk index d66a35227e3..90038fc7880 100644 --- a/package/blktrace/blktrace.mk +++ b/package/blktrace/blktrace.mk @@ -10,7 +10,7 @@ BLKTRACE_SITE = http://brick.kernel.dk/snaps BLKTRACE_DEPENDENCIES = libaio BLKTRACE_LICENSE = GPL-2.0+ BLKTRACE_LICENSE_FILES = COPYING -BLKTRACE_CPE_ID_VENDOR = blktrace_project +BLKTRACE_CPE_ID_VALID = YES define BLKTRACE_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) $(TARGET_CONFIGURE_OPTS) diff --git a/package/bluez-alsa/Config.in b/package/bluez-alsa/Config.in index 73ae3d5333b..d70172646fd 100644 --- a/package/bluez-alsa/Config.in +++ b/package/bluez-alsa/Config.in @@ -13,6 +13,9 @@ config BR2_PACKAGE_BLUEZ_ALSA select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_SBC + # samplerate ALSA plugin is needed for proper sample rate + # conversion with Bluetooth devices + select BR2_PACKAGE_LIBSAMPLERATE if BR2_PACKAGE_ALSA_PLUGINS help Bluetooth Audio ALSA Backend. diff --git a/package/bluez-alsa/bluez-alsa.hash b/package/bluez-alsa/bluez-alsa.hash index ad7fe627085..55138656039 100644 --- a/package/bluez-alsa/bluez-alsa.hash +++ b/package/bluez-alsa/bluez-alsa.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 ce5e060e61669d61d44f5f9bad34a7b88378376e9d49d31482406a68127a6b29 bluez-alsa-4.0.0.tar.gz -sha256 aaebd0cca73b0f361cb7f1bffa40418b2485fc10bfae7a47c193679c7e26d2e3 LICENSE +sha256 b69a3e6dd69315194403ee930ac1553aed3fb9a3988e502ae5c24a8bfef70f9f bluez-alsa-4.1.1.tar.gz +sha256 956564dcf06ba65cd7a5eb6cdfd695e2ab0f09ea9684e4eaf079f5d533bd206d LICENSE diff --git a/package/bluez-alsa/bluez-alsa.mk b/package/bluez-alsa/bluez-alsa.mk index 83dfce61776..38682c27558 100644 --- a/package/bluez-alsa/bluez-alsa.mk +++ b/package/bluez-alsa/bluez-alsa.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLUEZ_ALSA_VERSION = 4.0.0 +BLUEZ_ALSA_VERSION = 4.1.1 BLUEZ_ALSA_SITE = $(call github,Arkq,bluez-alsa,v$(BLUEZ_ALSA_VERSION)) BLUEZ_ALSA_LICENSE = MIT BLUEZ_ALSA_LICENSE_FILES = LICENSE @@ -20,6 +20,10 @@ BLUEZ_ALSA_CONF_OPTS = \ --with-alsaplugindir=/usr/lib/alsa-lib \ --with-alsaconfdir=/etc/alsa/conf.d +ifeq ($(BR2_PACKAGE_ALSA_PLUGINS),y) +BLUEZ_ALSA_DEPENDENCIES += alsa-plugins +endif + ifeq ($(BR2_PACKAGE_FDK_AAC),y) BLUEZ_ALSA_DEPENDENCIES += fdk-aac BLUEZ_ALSA_CONF_OPTS += --enable-aac diff --git a/package/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk index 565511120fe..74b385e110f 100644 --- a/package/bluez5_utils-headers/bluez5_utils-headers.mk +++ b/package/bluez5_utils-headers/bluez5_utils-headers.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils -BLUEZ5_UTILS_HEADERS_VERSION = 5.65 +BLUEZ5_UTILS_HEADERS_VERSION = 5.72 BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils diff --git a/package/bluez5_utils/S40bluetooth b/package/bluez5_utils/S40bluetoothd old mode 100755 new mode 100644 similarity index 100% rename from package/bluez5_utils/S40bluetooth rename to package/bluez5_utils/S40bluetoothd diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index e0c9f3cdb93..46680cf3c9f 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 2565a4d48354b576e6ad92e25b54ed66808296581c8abb80587051f9993d96d4 bluez-5.65.tar.xz +sha256 499d7fa345a996c1bb650f5c6749e1d929111fa6ece0be0e98687fee6124536e bluez-5.72.tar.xz # Locally computed sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 76070dc3a90..3ccb63948ca 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils-headers -BLUEZ5_UTILS_VERSION = 5.65 +BLUEZ5_UTILS_VERSION = 5.72 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES @@ -64,9 +64,19 @@ endif # enable audio plugins (a2dp and avrcp) ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-a2dp --enable-avrcp +BLUEZ5_UTILS_CONF_OPTS += \ + --enable-a2dp \ + --enable-avrcp \ + --enable-bap \ + --enable-mcp \ + --enable-vcp else -BLUEZ5_UTILS_CONF_OPTS += --disable-a2dp --disable-avrcp +BLUEZ5_UTILS_CONF_OPTS += \ + --disable-a2dp \ + --disable-avrcp \ + --disable-bap \ + --disable-mcp \ + --disable-vcp endif # enable health plugin @@ -184,8 +194,8 @@ BLUEZ5_UTILS_CONF_OPTS += --disable-systemd endif define BLUEZ5_UTILS_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetooth \ - $(TARGET_DIR)/etc/init.d/S40bluetooth + $(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetoothd \ + $(TARGET_DIR)/etc/init.d/S40bluetoothd endef $(eval $(autotools-package)) diff --git a/package/boost/0001-Improve-modfunc-performance.patch b/package/boost/0001-Improve-modfunc-performance.patch deleted file mode 100644 index a34d6bb4d54..00000000000 --- a/package/boost/0001-Improve-modfunc-performance.patch +++ /dev/null @@ -1,551 +0,0 @@ -From 825aedad557b7e3bb27614335b6ced16887103de Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= -Date: Mon, 7 Nov 2022 00:16:44 +0100 -Subject: [PATCH] Improve "modfunc" performance Fixes #79 - ("boost/intrusive/hashtable.hpp: build failure (undeclared indentifier)") - -Backport from Boost development branch to fix issues with some architectures -(64-bit with 128-bit processing, where size_t != unsigned long). In this case, -code is enabled that causes a build failure. - -Upstream: https://github.com/boostorg/intrusive/commit/825aedad557b7e3bb27614335b6ced16887103de -Issue: https://github.com/boostorg/intrusive/issues/79 -Fixes: http://autobuild.buildroot.net/results/6cb/6cbc0672f3c5046405793d8cdc8f961d2ffb1d3e - -Signed-off-by: Andreas Ziegler ---- - include/boost/intrusive/hashtable.hpp | 235 ++++++++++++++++---------- - 1 file changed, 145 insertions(+), 90 deletions(-) - -diff --git a/include/boost/intrusive/hashtable.hpp b/include/boost/intrusive/hashtable.hpp -index b8bc877..688fb9b 100644 ---- a/boost/intrusive/hashtable.hpp -+++ b/boost/intrusive/hashtable.hpp -@@ -2,6 +2,7 @@ - // - // (C) Copyright Ion Gaztanaga 2006-2022 - // (C) Copyright 2022 Joaquin M Lopez Munoz. -+// (C) Copyright 2022 Christian Mazakas - // - // Distributed under the Boost Software License, Version 1.0. - // (See accompanying file LICENSE_1_0.txt or copy at -@@ -84,11 +85,6 @@ namespace intrusive { - - /// @cond - --#if !defined(BOOST_NO_INT64_T)&&\ -- (defined(BOOST_HAS_INT128) || (defined(_MSC_VER) && defined(_WIN64))) --#define BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT --#endif -- - //We only support LLP64(Win64) or LP64(most Unix) data models - #ifdef _WIN64 //In 64 bit windows sizeof(size_t) == sizeof(unsigned long long) - # define BOOST_INTRUSIVE_SIZE_C(NUMBER) NUMBER##ULL -@@ -98,7 +94,6 @@ namespace intrusive { - # define BOOST_INTRUSIVE_64_BIT_SIZE_T (((((ULONG_MAX>>16)>>16)>>16)>>15) != 0) - #endif - -- - template - struct prime_list_holder - { -@@ -167,11 +162,11 @@ struct prime_list_holder - { return prime_list[std::ptrdiff_t(n)]; } - - template -- BOOST_INTRUSIVE_FORCEINLINE static std::size_t modfunc(std::size_t hash) { return hash % prime_list[SizeIndex]; } -+ BOOST_INTRUSIVE_FORCEINLINE static std::size_t modfunc(std::size_t hash) { return hash % SizeIndex; } - - static std::size_t(*const positions[])(std::size_t); - -- #if defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -+ #if BOOST_INTRUSIVE_64_BIT_SIZE_T - static const uint64_t inv_sizes32[]; - static const std::size_t inv_sizes32_size; - #endif -@@ -185,17 +180,20 @@ struct prime_list_holder - BOOST_INTRUSIVE_FORCEINLINE static std::size_t size(std::size_t size_index) - { return prime_list_holder<>::size_from_index(size_index); } - -- #if defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -+ #if BOOST_INTRUSIVE_64_BIT_SIZE_T - // https://github.com/lemire/fastmod - -- - BOOST_INTRUSIVE_FORCEINLINE static uint64_t mul128_u32(uint64_t lowbits, uint32_t d) - { - #if defined(_MSC_VER) -- return __umulh(lowbits, d); -+ return __umulh(lowbits, d); -+ #elif defined(BOOST_HAS_INT128) -+ return static_cast((uint128_type(lowbits) * d) >> 64); - #else -- __extension__ typedef unsigned __int128 ext_uint128_t; -- return (ext_uint128_t(lowbits) * d) >> 64; -+ uint64_t r1 = (lowbits & UINT32_MAX) * d; -+ uint64_t r2 = (lowbits >> 32) * d; -+ r2 += r1 >> 32; -+ return r2 >> 32; - #endif - } - -@@ -204,51 +202,67 @@ struct prime_list_holder - uint64_t lowbits = M * a; - return (uint32_t)(mul128_u32(lowbits, d)); - } -- #endif // defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -+ #endif // BOOST_INTRUSIVE_64_BIT_SIZE_T - - BOOST_INTRUSIVE_FORCEINLINE static std::size_t position(std::size_t hash,std::size_t size_index) - { -- #if defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) && BOOST_INTRUSIVE_64_BIT_SIZE_T -- const std::size_t sizes_under_32bit = sizeof(inv_sizes32)/sizeof(inv_sizes32[0]); -+ #if BOOST_INTRUSIVE_64_BIT_SIZE_T -+ BOOST_CONSTEXPR_OR_CONST std::size_t sizes_under_32bit = sizeof(inv_sizes32)/sizeof(inv_sizes32[0]); - if(BOOST_LIKELY(size_index < sizes_under_32bit)){ - return fastmod_u32( uint32_t(hash)+uint32_t(hash>>32) - , inv_sizes32[size_index] - , uint32_t(prime_list[size_index]) ); - } - else{ -- return positions[size_index-sizes_under_32bit](hash); -+ return positions[size_index](hash); - } -- #elif defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -- return fastmod_u32(hash, inv_sizes32[size_index], uint32_t(sizes[size_index])); - #else - return positions[size_index](hash); -- #endif // defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -+ #endif // BOOST_INTRUSIVE_64_BIT_SIZE_T - } - }; - - template - std::size_t(* const prime_list_holder::positions[])(std::size_t) = - { -- #if !defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -- modfunc< 0>,modfunc< 1>,modfunc< 2>,modfunc< 3>,modfunc< 4>, -- modfunc< 5>,modfunc< 6>,modfunc< 7>,modfunc< 8>,modfunc< 9>, -- modfunc<10>,modfunc<11>,modfunc<12>,modfunc<13>,modfunc<14>, -- modfunc<15>,modfunc<16>,modfunc<17>,modfunc<18>,modfunc<19>, -- modfunc<20>,modfunc<21>,modfunc<22>,modfunc<23>,modfunc<24>, -- modfunc<25>,modfunc<26>,modfunc<27>,modfunc<28>,modfunc<29>, -- modfunc<30>, -- #endif -- # if BOOST_INTRUSIVE_64_BIT_SIZE_T -- modfunc<31>,modfunc<32>,modfunc<33>,modfunc<34>, -- modfunc<35>,modfunc<36>,modfunc<37>,modfunc<38>,modfunc<39>, -- modfunc<40>,modfunc<41>,modfunc<42>,modfunc<43>,modfunc<44>, -- modfunc<45>,modfunc<46>,modfunc<47>,modfunc<48>,modfunc<49>, -- modfunc<50>,modfunc<51>,modfunc<52>,modfunc<53>,modfunc<54>, -- modfunc<55>,modfunc<56>,modfunc<57>,modfunc<58>,modfunc<59>, -- modfunc<60>,modfunc<61>,modfunc<62>,modfunc<63> -- # else -- modfunc<31> -- # endif -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, //0-30 indexes -+#if BOOST_INTRUSIVE_64_BIT_SIZE_T -+ //Taken from Boost.MultiIndex code, thanks to Joaquin M. Lopez Munoz. -+ modfunc, //<- 32 bit values stop here (index 31) -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc, -+ modfunc, modfunc //(index 63) -+#else -+ modfunc //<- 32 bit stops here (index 31) as ptrdiff_t is signed -+#endif - }; - - template -@@ -298,7 +312,7 @@ const std::size_t prime_list_holder::prime_list_size - = sizeof(prime_list) / sizeof(std::size_t); - - --#if defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -+#if BOOST_INTRUSIVE_64_BIT_SIZE_T - - template - const uint64_t prime_list_holder::inv_sizes32[] = { -@@ -340,7 +354,7 @@ template - const std::size_t prime_list_holder::inv_sizes32_size - = sizeof(inv_sizes32) / sizeof(uint64_t); - --#endif // defined(BOOST_INTRUSIVE_FCA_FASTMOD_SUPPORT) -+#endif // BOOST_INTRUSIVE_64_BIT_SIZE_T - - struct prime_fmod_size : prime_list_holder<> - { -@@ -785,9 +799,9 @@ BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_va - } - - template //fastmod_buckets --BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t bucket_cnt, std::size_t split, detail::true_) -+BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t , std::size_t split, detail::true_) - { -- return prime_fmod_size::position(hash_value, split); (void)bucket_cnt; -+ return prime_fmod_size::position(hash_value, split); - } - - //!This metafunction will obtain the type of a bucket -@@ -1473,6 +1487,10 @@ struct bucket_hash_t - , bucket_plus_vtraits_t(BOOST_MOVE_BASE(bucket_plus_vtraits_t, other)) - {} - -+ template -+ BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_hash(const K &k) const -+ { return this->base_t::operator()(k); } -+ - BOOST_INTRUSIVE_FORCEINLINE const hasher &priv_hasher() const - { return this->base_t::get(); } - -@@ -1747,8 +1765,17 @@ struct hashtable_size_wrapper - typedef const size_traits & size_traits_const_t; - typedef size_traits & size_traits_t; - -- BOOST_INTRUSIVE_FORCEINLINE size_traits_const_t priv_size_traits() const -- { return size_traits_; } -+ BOOST_INTRUSIVE_FORCEINLINE SizeType get_hashtable_size_wrapper_size() const -+ { return size_traits_.get_size(); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void set_hashtable_size_wrapper_size(SizeType s) -+ { size_traits_.set_size(s); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void inc_hashtable_size_wrapper_size() -+ { size_traits_.increment(); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void dec_hashtable_size_wrapper_size() -+ { size_traits_.decrement(); } - - BOOST_INTRUSIVE_FORCEINLINE size_traits_t priv_size_traits() - { return size_traits_; } -@@ -1780,7 +1807,19 @@ struct hashtable_size_wrapper - typedef size_traits size_traits_const_t; - typedef size_traits size_traits_t; - -- BOOST_INTRUSIVE_FORCEINLINE size_traits priv_size_traits() const -+ BOOST_INTRUSIVE_FORCEINLINE SizeType get_hashtable_size_wrapper_size() const -+ { return 0u; } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void set_hashtable_size_wrapper_size(SizeType) -+ {} -+ -+ BOOST_INTRUSIVE_FORCEINLINE void inc_hashtable_size_wrapper_size() -+ {} -+ -+ BOOST_INTRUSIVE_FORCEINLINE void dec_hashtable_size_wrapper_size() -+ {} -+ -+ BOOST_INTRUSIVE_FORCEINLINE size_traits priv_size_traits() - { return size_traits(); } - }; - -@@ -1815,14 +1854,14 @@ struct hashdata_internal - public: - static const bool linear_buckets = 0 != (BoolFlags & hash_bool_flags::linear_buckets_pos); - typedef typename get_hashtable_size_wrapper_bucket -- ::type internal_type; -- -- typedef typename internal_type::key_equal key_equal; -- typedef typename internal_type::hasher hasher; -+ ::type split_bucket_hash_equal_t; -+ -+ typedef typename split_bucket_hash_equal_t::key_equal key_equal; -+ typedef typename split_bucket_hash_equal_t::hasher hasher; - typedef bucket_plus_vtraits - bucket_plus_vtraits_t; - typedef SizeType size_type; -- typedef typename internal_type::size_traits split_traits; -+ typedef typename split_bucket_hash_equal_t::size_traits split_traits; - typedef typename bucket_plus_vtraits_t::bucket_ptr bucket_ptr; - typedef typename bucket_plus_vtraits_t::const_value_traits_ptr const_value_traits_ptr; - typedef typename bucket_plus_vtraits_t::siterator siterator; -@@ -1866,23 +1905,20 @@ struct hashdata_internal - - hashdata_internal( const ValueTraits &val_traits, const bucket_traits &b_traits - , const hasher & h, const key_equal &e) -- : internal_type(val_traits, b_traits, h, e) -+ : split_bucket_hash_equal_t(val_traits, b_traits, h, e) - {} - - BOOST_INTRUSIVE_FORCEINLINE hashdata_internal(BOOST_RV_REF(hashdata_internal) other) -- : internal_type(BOOST_MOVE_BASE(internal_type, other)) -+ : split_bucket_hash_equal_t(BOOST_MOVE_BASE(split_bucket_hash_equal_t, other)) - {} - -- BOOST_INTRUSIVE_FORCEINLINE typename internal_type::size_traits_t priv_split_traits() -- { return this->priv_size_traits(); } -- -- BOOST_INTRUSIVE_FORCEINLINE typename internal_type::size_traits_const_t priv_split_traits() const -+ BOOST_INTRUSIVE_FORCEINLINE typename split_bucket_hash_equal_t::size_traits_t priv_split_traits() - { return this->priv_size_traits(); } - - ~hashdata_internal() - { this->priv_clear_buckets(); } - -- using internal_type::priv_clear_buckets; -+ using split_bucket_hash_equal_t::priv_clear_buckets; - - void priv_clear_buckets() - { -@@ -1907,7 +1943,17 @@ struct hashdata_internal - - //public functions - BOOST_INTRUSIVE_FORCEINLINE SizeType split_count() const BOOST_NOEXCEPT -- { return this->priv_split_traits().get_size(); } -+ { return this->split_bucket_hash_equal_t::get_hashtable_size_wrapper_size(); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void split_count(SizeType s) BOOST_NOEXCEPT -+ { this->split_bucket_hash_equal_t::set_hashtable_size_wrapper_size(s); } -+ -+ //public functions -+ BOOST_INTRUSIVE_FORCEINLINE void inc_split_count() BOOST_NOEXCEPT -+ { this->split_bucket_hash_equal_t::inc_hashtable_size_wrapper_size(); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void dec_split_count() BOOST_NOEXCEPT -+ { this->split_bucket_hash_equal_t::dec_hashtable_size_wrapper_size(); } - - BOOST_INTRUSIVE_FORCEINLINE static SizeType initial_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT - { -@@ -1983,10 +2029,7 @@ struct hashdata_internal - { return (priv_hash_to_nbucket)(hash_value, fastmod_buckets_t()); } - - BOOST_INTRUSIVE_FORCEINLINE size_type priv_hash_to_nbucket(std::size_t hash_value, detail::true_) const //fastmod_buckets_t -- { -- return static_cast(hash_to_bucket_split -- (hash_value, this->priv_usable_bucket_count(), this->split_count(), detail::true_())); -- } -+ { return static_cast(prime_fmod_size::position(hash_value, this->split_count())); } - - BOOST_INTRUSIVE_FORCEINLINE size_type priv_hash_to_nbucket(std::size_t hash_value, detail::false_) const //!fastmod_buckets_t - { -@@ -1994,7 +2037,6 @@ struct hashdata_internal - (hash_value, this->priv_usable_bucket_count(), this->split_count(), detail::false_())); - } - -- - BOOST_INTRUSIVE_FORCEINLINE iterator iterator_to(reference value, detail::false_) BOOST_NOEXCEPT - { - return iterator( siterator(this->priv_value_to_node_ptr(value)) -@@ -2083,8 +2125,8 @@ struct hashdata_internal - , this->priv_value_traits_ptr()); - } - -- using internal_type::end; -- using internal_type::cend; -+ using split_bucket_hash_equal_t::end; -+ using split_bucket_hash_equal_t::cend; - - local_iterator end(size_type n) BOOST_NOEXCEPT - { return local_iterator(this->priv_bucket_lend(n), this->priv_value_traits_ptr()); } -@@ -2322,19 +2364,32 @@ class hashtable_impl - public: - typedef insert_commit_data_impl insert_commit_data; - -+ private: - void default_init_actions() - { - this->priv_set_sentinel_bucket(); - this->priv_init_buckets_and_cache(); -- this->priv_size_traits().set_size(size_type(0)); -+ this->priv_size_count(size_type(0)); - size_type bucket_sz = this->bucket_count(); - BOOST_INTRUSIVE_INVARIANT_ASSERT(bucket_sz != 0); - //Check power of two bucket array if the option is activated - BOOST_INTRUSIVE_INVARIANT_ASSERT - (!power_2_buckets || (0 == (bucket_sz & (bucket_sz - 1)))); -- this->priv_split_traits().set_size(this->initial_split_from_bucket_count(bucket_sz)); -+ this->split_count(this->initial_split_from_bucket_count(bucket_sz)); - } - -+ BOOST_INTRUSIVE_FORCEINLINE SizeType priv_size_count() const BOOST_NOEXCEPT -+ { return this->internal_type::get_hashtable_size_wrapper_size(); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void priv_size_count(SizeType s) BOOST_NOEXCEPT -+ { this->internal_type::set_hashtable_size_wrapper_size(s); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void priv_size_inc() BOOST_NOEXCEPT -+ { this->internal_type::inc_hashtable_size_wrapper_size(); } -+ -+ BOOST_INTRUSIVE_FORCEINLINE void priv_size_dec() BOOST_NOEXCEPT -+ { this->internal_type::dec_hashtable_size_wrapper_size(); } -+ - public: - - //! Requires: buckets must not be being used by any other resource. -@@ -2403,10 +2458,10 @@ class hashtable_impl - { - this->priv_swap_cache(x); - x.priv_init_cache(); -- this->priv_size_traits().set_size(x.priv_size_traits().get_size()); -- x.priv_size_traits().set_size(size_type(0)); -- this->priv_split_traits().set_size(x.split_count()); -- x.priv_split_traits().set_size(size_type(0)); -+ this->priv_size_count(x.priv_size_count()); -+ x.priv_size_count(size_type(0)); -+ this->split_count(x.split_count()); -+ x.split_count(size_type(0)); - } - - //! Effects: Equivalent to swap. -@@ -2524,7 +2579,7 @@ class hashtable_impl - size_type size() const BOOST_NOEXCEPT - { - BOOST_IF_CONSTEXPR(constant_time_size) -- return this->priv_size_traits().get_size(); -+ return this->priv_size_count(); - else{ - std::size_t len = 0; - std::size_t bucket_cnt = this->bucket_count(); -@@ -2798,7 +2853,7 @@ class hashtable_impl - //! After a successful rehashing insert_commit_data remains valid. - iterator insert_unique_commit(reference value, const insert_commit_data &commit_data) BOOST_NOEXCEPT - { -- this->priv_size_traits().increment(); -+ this->priv_size_inc(); - node_ptr const n = this->priv_value_to_node_ptr(value); - BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || slist_node_algorithms::unique(n)); - node_functions_t::store_hash(n, commit_data.get_hash(), store_hash_t()); -@@ -2890,7 +2945,7 @@ class hashtable_impl - //Get the bucket number and local iterator for both iterators - const bucket_ptr bp = this->priv_get_bucket_ptr(i); - this->priv_erase_node(*bp, i.slist_it(), this->make_node_disposer(disposer), optimize_multikey_t()); -- this->priv_size_traits().decrement(); -+ this->priv_size_dec(); - this->priv_erasure_update_cache(bp); - } - -@@ -2931,7 +2986,7 @@ class hashtable_impl - size_type const num_erased = (size_type)this->priv_erase_node_range - ( before_first_local_it, first_bucket_num, last_local_it, last_bucket_num - , this->make_node_disposer(disposer), optimize_multikey_t()); -- this->priv_size_traits().set_size(size_type(this->priv_size_traits().get_size()-num_erased)); -+ this->priv_size_count(size_type(this->priv_size_count()-num_erased)); - this->priv_erasure_update_cache_range(first_bucket_num, last_bucket_num); - } - } -@@ -3001,7 +3056,7 @@ class hashtable_impl - (this->priv_value_from_siterator(it), h, key, equal_func, compare_hash_t())); - slist_node_algorithms::unlink_after_and_dispose(prev.pointed_node(), it.pointed_node(), this->make_node_disposer(disposer)); - } -- this->priv_size_traits().set_size(size_type(this->priv_size_traits().get_size()-cnt)); -+ this->priv_size_count(size_type(this->priv_size_count()-cnt)); - this->priv_erasure_update_cache(); - } - -@@ -3020,7 +3075,7 @@ class hashtable_impl - void clear() BOOST_NOEXCEPT - { - this->priv_clear_buckets_and_cache(); -- this->priv_size_traits().set_size(size_type(0)); -+ this->priv_size_count(size_type(0)); - } - - //! Requires: Disposer::operator()(pointer) shouldn't throw. -@@ -3045,7 +3100,7 @@ class hashtable_impl - --num_buckets; - slist_node_algorithms::detach_and_dispose(b->get_node_ptr(), d); - } -- this->priv_size_traits().set_size(size_type(0)); -+ this->priv_size_count(size_type(0)); - } - this->priv_init_cache(); - } -@@ -3339,7 +3394,7 @@ class hashtable_impl - //! - //! Note: the return value is in the range [0, this->bucket_count()). - BOOST_INTRUSIVE_FORCEINLINE size_type bucket(const key_type& k) const -- { return this->bucket(k, this->priv_hasher()); } -+ { return this->priv_hash_to_nbucket(this->priv_hash(k)); } - - //! Requires: "hash_func" must be a hash function that induces - //! the same hash values as the stored hasher. The difference is that -@@ -3520,7 +3575,7 @@ class hashtable_impl - if((ret = split_idx < bucket_cnt)){ - const std::size_t bucket_to_rehash = split_idx - bucket_cnt/2u; - bucket_type &old_bucket = this->priv_bucket(bucket_to_rehash); -- this->priv_split_traits().increment(); -+ this->inc_split_count(); - - //Anti-exception stuff: if an exception is thrown while - //moving elements from old_bucket to the target bucket, all moved -@@ -3553,7 +3608,7 @@ class hashtable_impl - bucket_type &target_bucket = this->priv_bucket(target_bucket_num); - bucket_type &source_bucket = this->priv_bucket(split_idx-1u); - slist_node_algorithms::transfer_after(target_bucket.get_node_ptr(), source_bucket.get_node_ptr()); -- this->priv_split_traits().decrement(); -+ this->dec_split_count(); - this->priv_insertion_update_cache(target_bucket_num); - } - return ret; -@@ -3763,8 +3818,8 @@ class hashtable_impl - ArrayDisposer rollback2(old_buckets[0], nd, old_bucket_count); - - //Put size in a safe value for rollback exception -- size_type const size_backup = this->priv_size_traits().get_size(); -- this->priv_size_traits().set_size(0); -+ size_type const size_backup = this->priv_size_count(); -+ this->priv_size_count(0); - //Put cache to safe position - this->priv_init_cache(); - this->priv_unset_sentinel_bucket(); -@@ -3826,8 +3881,8 @@ class hashtable_impl - } - } - -- this->priv_size_traits().set_size(size_backup); -- this->priv_split_traits().set_size(split); -+ this->priv_size_count(size_backup); -+ this->split_count(split); - if(&new_bucket_traits != &this->priv_bucket_traits()) - this->priv_bucket_traits() = new_bucket_traits; - this->priv_set_sentinel_bucket(); -@@ -3927,8 +3982,8 @@ class hashtable_impl - this->priv_hasher() = src.priv_hasher(); - this->priv_equal() = src.priv_equal(); - rollback.release(); -- this->priv_size_traits().set_size(src.priv_size_traits().get_size()); -- this->priv_split_traits().set_size(dst_bucket_count); -+ this->priv_size_count(src.priv_size_count()); -+ this->split_count(dst_bucket_count); - this->priv_set_cache_bucket_num(0u); - this->priv_erasure_update_cache(); - } -@@ -3946,7 +4001,7 @@ class hashtable_impl - , n, optimize_multikey_t()); - //Update cache and increment size if needed - this->priv_insertion_update_cache(bucket_num); -- this->priv_size_traits().increment(); -+ this->priv_size_inc(); - slist_node_algorithms::link_after(prev.pointed_node(), n); - return this->build_iterator(siterator(n), this->priv_bucket_ptr(bucket_num)); - } --- -2.34.1 - diff --git a/package/boost/0001-unordered-fix-copy-assign.patch b/package/boost/0001-unordered-fix-copy-assign.patch new file mode 100644 index 00000000000..670552535af --- /dev/null +++ b/package/boost/0001-unordered-fix-copy-assign.patch @@ -0,0 +1,22 @@ +Upstream Patch for Unordered + +Prevent erroneous copying of groups data, update max load to properly propagate + +Signed-off-by: Michael Nosthoff +Upstream: https://github.com/boostorg/unordered/commit/067884a4e213352e7c81c441f1453c54735c39f3 +diff --git a/include/boost/unordered/detail/foa/core.hpp b/include/boost/unordered/detail/foa/core.hpp +index 239d05d3..7ae9f2c8 100644 +--- a/boost/unordered/detail/foa/core.hpp ++++ b/boost/unordered/detail/foa/core.hpp +@@ -1870,9 +1870,10 @@ private: + + void fast_copy_elements_from(const table_core& x) + { +- if(arrays.elements){ ++ if(arrays.elements&&x.arrays.elements){ + copy_elements_array_from(x); + copy_groups_array_from(x); ++ size_ctrl.ml=std::size_t(x.size_ctrl.ml); + size_ctrl.size=std::size_t(x.size_ctrl.size); + } + } diff --git a/package/boost/Config.in b/package/boost/Config.in index b99b01f22eb..60cc0a11a2f 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -219,6 +219,7 @@ comment "boost-log needs a toolchain not affected by GCC bug 64735" config BR2_PACKAGE_BOOST_MATH bool "boost-math" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 help Boost.Math includes several contributions in the domain of mathematics: @@ -341,6 +342,19 @@ config BR2_PACKAGE_BOOST_TYPE_ERASURE comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 +config BR2_PACKAGE_BOOST_URL + bool "boost-url" + help + Boost.URL is a portable C++ library which provides containers + and algorithms which model a "URL," more formally described + using the Uniform Resource Identifier (URI) specification. + + This library understands the grammars related to URLs and + provides functionality to validate, parse, examine, and + modify urls, and apply normalization or resolution algorithms. + + To use the library "header-only" this option is not needed. + config BR2_PACKAGE_BOOST_WAVE bool "boost-wave" # limitation of assembler for coldfire diff --git a/package/boost/boost.hash b/package/boost/boost.hash index ab54a4b2fc0..14403758acd 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From https://www.boost.org/users/history/version_1_80_0.html -sha256 1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0 boost_1_80_0.tar.bz2 +# From https://www.boost.org/users/history/version_1_83_0.html +sha256 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e boost_1_83_0.tar.bz2 # Locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index bd1d3299825..9b1baec5bf7 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOST_VERSION = 1.80.0 +BOOST_VERSION = 1.83.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 BOOST_SITE = https://boostorg.jfrog.io/artifactory/main/release/$(BOOST_VERSION)/source BOOST_INSTALL_STAGING = YES @@ -18,7 +18,7 @@ HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ contract container coroutine date_time exception fiber filesystem graph \ graph_parallel iostreams json locale log math mpi nowide program_options \ python random serialization stacktrace test thread timer \ - type_erasure wave) + type_erasure url wave) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) @@ -50,6 +50,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_URL),,url) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave) BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/bootgen/0001-Fix-build-on-machines-with-modern-flex.patch b/package/bootgen/0001-Fix-build-on-machines-with-modern-flex.patch deleted file mode 100644 index ea82f5e70cd..00000000000 --- a/package/bootgen/0001-Fix-build-on-machines-with-modern-flex.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 7251dce3dc974c7372e7024ade3e8a455266cfd2 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Fri, 18 Mar 2022 09:02:31 +0100 -Subject: [PATCH] Fix build on machines with modern flex - -Bootgen embeds an old version of flex, but uses the system include syntax -(#include <>) to reference it, causing conflicts on systems with the -development headers for a modern flex version installed, leading to build -issues like: - -../bisonflex/bif.yy.cpp: In member function 'virtual int BIF::FlexScanner::yylex()': -../bisonflex/bif.yy.cpp:1608:18: error: no match for 'operator=' (operand types are 'std::istream' {aka 'std::basic_istream'} and 'std::istream*' {aka 'std::basic_istream*'}) - -Fix it by using normal local #include statements by: - -sed -i 's//"FlexLexer.h"/g' * - -Signed-off-by: Peter Korsgaard -[Submitted upstream: https://github.com/Xilinx/bootgen/pull/20] ---- - FlexLexer.h | 6 +++--- - bif.yy.cpp | 2 +- - bifscanner.h | 2 +- - cmdoptions.yy.cpp | 2 +- - cmdoptionsscanner.h | 2 +- - reginit.yy.cpp | 2 +- - reginitscanner.h | 2 +- - 7 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/FlexLexer.h b/FlexLexer.h -index b115b5d..1c0386f 100755 ---- a/FlexLexer.h -+++ b/FlexLexer.h -@@ -33,15 +33,15 @@ - // - // If you want to create multiple lexer classes, you use the -P flag - // to rename each yyFlexLexer to some other xxFlexLexer. You then --// include in your other sources once per lexer class: -+// include "FlexLexer.h" in your other sources once per lexer class: - // - // #undef yyFlexLexer - // #define yyFlexLexer xxFlexLexer --// #include -+// #include "FlexLexer.h" - // - // #undef yyFlexLexer - // #define yyFlexLexer zzFlexLexer --// #include -+// #include "FlexLexer.h" - // ... - - #ifndef __FLEX_LEXER_H -diff --git a/bif.yy.cpp b/bif.yy.cpp -index 7dd0841..9e09267 100644 ---- a/bif.yy.cpp -+++ b/bif.yy.cpp -@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR; - - #define yytext_ptr yytext - --#include -+#include "FlexLexer.h" - - int yyFlexLexer::yywrap() { return 1; } - int yyFlexLexer::yylex() -diff --git a/bifscanner.h b/bifscanner.h -index a6ec9e4..ded78da 100755 ---- a/bifscanner.h -+++ b/bifscanner.h -@@ -28,7 +28,7 @@ - #if ! defined(yyFlexLexerOnce) - #undef yyFlexLexer - #define yyFlexLexer bifFlexLexer --#include -+#include "FlexLexer.h" - #endif - - // Override the interface for yylex since we namespaced it -diff --git a/cmdoptions.yy.cpp b/cmdoptions.yy.cpp -index 6ee80de..1acfcce 100644 ---- a/cmdoptions.yy.cpp -+++ b/cmdoptions.yy.cpp -@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR; - - #define yytext_ptr yytext - --#include -+#include "FlexLexer.h" - - int yyFlexLexer::yywrap() { return 1; } - int yyFlexLexer::yylex() -diff --git a/cmdoptionsscanner.h b/cmdoptionsscanner.h -index a48af09..e02c1f1 100755 ---- a/cmdoptionsscanner.h -+++ b/cmdoptionsscanner.h -@@ -29,7 +29,7 @@ - - #undef yyFlexLexer - #define yyFlexLexer reginitFlexLexer --#include -+#include "FlexLexer.h" - #endif - - // Override the interface for yylex since we namespaced it -diff --git a/reginit.yy.cpp b/reginit.yy.cpp -index 8422867..ff088f9 100644 ---- a/reginit.yy.cpp -+++ b/reginit.yy.cpp -@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR; - - #define yytext_ptr yytext - --#include -+#include "FlexLexer.h" - - int yyFlexLexer::yywrap() { return 1; } - int yyFlexLexer::yylex() -diff --git a/reginitscanner.h b/reginitscanner.h -index 4e78af9..23177be 100755 ---- a/reginitscanner.h -+++ b/reginitscanner.h -@@ -29,7 +29,7 @@ - - #undef yyFlexLexer - #define yyFlexLexer reginitFlexLexer --#include -+#include "FlexLexer.h" - #endif - - // Override the interface for yylex since we namespaced it --- -2.30.2 - diff --git a/package/bootgen/bootgen.hash b/package/bootgen/bootgen.hash index 5d77c164f3e..6f34b2b8506 100644 --- a/package/bootgen/bootgen.hash +++ b/package/bootgen/bootgen.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7e07c75aa3e3965c8e33faefde037877f78130451cebc2056b096db9c66acbb3 bootgen-xilinx_v2022.2.tar.gz +sha256 aa8120369d8a6016c731a3338188045c82833602e8ea955b53130a16560e5eb3 bootgen-xilinx_v2023.2.tar.gz sha256 4da5f5eff0592e5d275f1871faf9e9a4fc0f6346027bfb777fa59d0aa6a59aa3 LICENSE diff --git a/package/bootgen/bootgen.mk b/package/bootgen/bootgen.mk index 88bc73b604f..70338090f4c 100644 --- a/package/bootgen/bootgen.mk +++ b/package/bootgen/bootgen.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOTGEN_VERSION = xilinx_v2022.2 +BOOTGEN_VERSION = xilinx_v2023.2 BOOTGEN_SITE = $(call github,Xilinx,bootgen,$(BOOTGEN_VERSION)) HOST_BOOTGEN_DEPENDENCIES = host-openssl host-pkgconf BOOTGEN_LICENSE = Apache-2.0 diff --git a/package/botan/0001-Add-superh-alias-needed-by-Debian.patch b/package/botan/0001-Add-superh-alias-needed-by-Debian.patch deleted file mode 100644 index c6236849e93..00000000000 --- a/package/botan/0001-Add-superh-alias-needed-by-Debian.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 454c7c04385a47d511cf8999ccff2746afbab06b Mon Sep 17 00:00:00 2001 -From: Jack Lloyd -Date: Sat, 21 Nov 2020 12:37:06 -0500 -Subject: [PATCH] Add superh alias needed by Debian - -[Retrieved from: -https://github.com/randombit/botan/commit/454c7c04385a47d511cf8999ccff2746afbab06b] -Signed-off-by: Fabrice Fontaine ---- - src/build-data/arch/superh.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/build-data/arch/superh.txt b/src/build-data/arch/superh.txt -index 6af6dbe682..8e2833a914 100644 ---- a/src/build-data/arch/superh.txt -+++ b/src/build-data/arch/superh.txt -@@ -1,4 +1,5 @@ - - - sh4 -+sh4a - diff --git a/package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch b/package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch deleted file mode 100644 index aa9f3ad5bab..00000000000 --- a/package/botan/0002-src-build-data-arch-superh.txt-add-sh4-eb-aeb.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c88897ebaf173b97068811b520a4741039f09dcd Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 20 Aug 2022 15:16:22 +0200 -Subject: [PATCH] src/build-data/arch/superh.txt: add sh4{eb,aeb} - -Fix the following build failure with sh4{eb,aeb}: - - ERROR: Unknown or unidentifiable processor "sh4aeb" - -Fixes: - - http://autobuild.buildroot.org/results/d7750b734736a66e10bc5a8ee06708041b36443a - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/randombit/botan/commit/c88897ebaf173b97068811b520a4741039f09dcd] ---- - src/build-data/arch/superh.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/build-data/arch/superh.txt b/src/build-data/arch/superh.txt -index 8e2833a914..e17edb097a 100644 ---- a/src/build-data/arch/superh.txt -+++ b/src/build-data/arch/superh.txt -@@ -2,4 +2,6 @@ - - sh4 - sh4a -+sh4eb -+sh4aeb - diff --git a/package/botan/Config.in b/package/botan/Config.in index 8f7f3f5c7aa..c74128bb9d3 100644 --- a/package/botan/Config.in +++ b/package/botan/Config.in @@ -14,10 +14,8 @@ config BR2_PACKAGE_BOTAN_ARCH_SUPPORTS config BR2_PACKAGE_BOTAN bool "botan" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20 depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS help @@ -25,11 +23,7 @@ config BR2_PACKAGE_BOTAN http://botan.randombit.net -comment "botan needs a toolchain w/ C++, threads, gcc >= 4.8" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "botan needs a toolchain w/ C++, gcc >= 10" + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS - -comment "botan needs a toolchain not affected by GCC bug 64735" - depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/botan/botan.hash b/package/botan/botan.hash index 64da04415e8..37e00ea9cc5 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,4 +1,4 @@ # From https://botan.randombit.net/releases/sha256sums.txt -sha256 dae047f399c5a47f087db5d3d9d9e8f11ae4985d14c928d71da1aff801802d55 Botan-2.19.3.tar.xz +sha256 368f11f426f1205aedb9e9e32368a16535dc11bd60351066e6f6664ec36b85b9 Botan-3.3.0.tar.xz # Locally computed -sha256 472faf6d2231130382779f96de506be19296473750356449fc426ddc9cb03b50 license.txt +sha256 1833cde7c7cc03296b1ef2ddc178b1cd7fd1c476840f32cf6aedb09ab0bc9004 license.txt diff --git a/package/botan/botan.mk b/package/botan/botan.mk index 59fbc950b01..e0bd258f575 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,12 +4,12 @@ # ################################################################################ -BOTAN_VERSION = 2.19.3 +BOTAN_VERSION = 3.3.0 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause BOTAN_LICENSE_FILES = license.txt -BOTAN_CPE_ID_VENDOR = botan_project +BOTAN_CPE_ID_VALID = YES BOTAN_INSTALL_STAGING = YES @@ -48,8 +48,14 @@ else BOTAN_CONF_OPTS += --without-stack-protector endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y) +BOTAN_CONF_OPTS += --with-os-feature=threads +else +BOTAN_CONF_OPTS += --without-os-feature=threads +endif + ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) -BOTAN_CONF_OPTS += --without-os-feature=getauxval +BOTAN_CONF_OPTS += --without-os-feature=explicit_bzero,getauxval,getentropy endif ifeq ($(BR2_PACKAGE_BOOST_FILESYSTEM)$(BR2_PACKAGE_BOOST_SYSTEM),yy) @@ -67,6 +73,11 @@ BOTAN_DEPENDENCIES += sqlite BOTAN_CONF_OPTS += --with-sqlite endif +ifeq ($(BR2_PACKAGE_TROUSERS),y) +BOTAN_DEPENDENCIES += trousers +BOTAN_CONF_OPTS += --with-tpm +endif + ifeq ($(BR2_PACKAGE_XZ),y) BOTAN_DEPENDENCIES += xz BOTAN_CONF_OPTS += --with-lzma @@ -85,6 +96,10 @@ ifeq ($(BR2_ARM_CPU_HAS_NEON),) BOTAN_CONF_OPTS += --disable-neon endif +ifeq ($(BR2_SOFT_FLOAT),y) +BOTAN_CONF_OPTS += --disable-neon +endif + define BOTAN_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure.py $(BOTAN_CONF_OPTS)) endef diff --git a/package/bpftool/Config.in b/package/bpftool/Config.in index 461be9e5b4f..55fd09ef3da 100644 --- a/package/bpftool/Config.in +++ b/package/bpftool/Config.in @@ -2,8 +2,10 @@ config BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS bool # see libbpf/src/bpf.c default y if BR2_arc + default y if BR2_arm || BR2_armeb default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 + default y if BR2_riscv default y if BR2_sparc || BR2_sparc64 default y if BR2_s390x @@ -15,7 +17,6 @@ config BR2_PACKAGE_BPFTOOL depends on BR2_USE_WCHAR # binutils, elfutils depends on !BR2_STATIC_LIBS # elfutils depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 select BR2_PACKAGE_BINUTILS select BR2_PACKAGE_ELFUTILS @@ -23,11 +24,10 @@ config BR2_PACKAGE_BPFTOOL bpftool is a tool for for inspection and simple manipulation of eBPF programs and maps. -comment "bpftool needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 4.12" +comment "bpftool needs a toolchain w/ wchar, dynamic library, threads, headers >= 4.12" depends on BR2_PACKAGE_BPFTOOL_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_nios2 depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_HAS_THREADS \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) \ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 diff --git a/package/bpftool/bpftool.hash b/package/bpftool/bpftool.hash index 92b9359fe3d..cfd3c545158 100644 --- a/package/bpftool/bpftool.hash +++ b/package/bpftool/bpftool.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 465a50fea4afbacd326f2209d81ae0dcff637fbb2c9d1a315e94f79a788ce960 bpftool-v7.0.0-br1.tar.gz +sha256 35ff149cab4a3ab209b0c04cab2707243ab7ee753de5f4b5678296c975cf7fe0 bpftool-v7.1.0-br1.tar.gz sha256 7c588754d5e81e92e2a12e47cf78949d485c9c22b4850f12d21b3835c85947d1 LICENSE sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd LICENSE.BSD-2-Clause sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2.0 diff --git a/package/bpftool/bpftool.mk b/package/bpftool/bpftool.mk index 3b27698130f..cd68d897991 100644 --- a/package/bpftool/bpftool.mk +++ b/package/bpftool/bpftool.mk @@ -4,7 +4,7 @@ # ################################################################################ -BPFTOOL_VERSION = v7.0.0 +BPFTOOL_VERSION = v7.1.0 BPFTOOL_SITE = https://github.com/libbpf/bpftool BPFTOOL_SITE_METHOD = git BPFTOOL_GIT_SUBMODULES = YES @@ -33,12 +33,12 @@ endef define BPFTOOL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ - -C $(@D)/src install DESTDIR="$(TARGET_DIR)" prefix=/usr + -C $(@D)/src install-bin DESTDIR="$(TARGET_DIR)" prefix=/usr endef define HOST_BPFTOOL_INSTALL_CMDS $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ - -C $(@D)/src install DESTDIR="$(HOST_DIR)" prefix=/usr + -C $(@D)/src install-bin DESTDIR="$(HOST_DIR)" prefix= endef $(eval $(generic-package)) diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash index a12e92cbac4..c20abfc26c8 100644 --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e51b717c2a60ca29fcdd8e04e07c00996226cb48fa56a8ad1934b5f4ddee2e3d brcmfmac_sdio-firmware-rpi-ea9963f3f77b4bb6cd280577eb115152bdd67e8d.tar.gz -sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx +sha256 2f0917b104739455dd488dd8f5af2ee4430801a7ac8fe8d9866e74bfbb185356 brcmfmac_sdio-firmware-rpi-26ff205b45dc109b498a70aaf182804ad9dbfea5.tar.gz +sha256 ea8b7b7b6cfc6fd30587ed977100f6a542734ce53218b5b63de16180acddd599 LICENSE diff --git a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk index 5332bf53d73..95707487a9b 100644 --- a/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk +++ b/package/brcmfmac_sdio-firmware-rpi/brcmfmac_sdio-firmware-rpi.mk @@ -4,33 +4,26 @@ # ################################################################################ -BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = ea9963f3f77b4bb6cd280577eb115152bdd67e8d +BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION = 26ff205b45dc109b498a70aaf182804ad9dbfea5 BRCMFMAC_SDIO_FIRMWARE_RPI_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(BRCMFMAC_SDIO_FIRMWARE_RPI_VERSION)) BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE = PROPRIETARY -BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENCE.broadcom_bcm43xx +BRCMFMAC_SDIO_FIRMWARE_RPI_LICENSE_FILES = LICENSE ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT),y) define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_BT - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm - $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/synaptics + cp --remove-destination --no-dereference $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm + cp --remove-destination --no-dereference $(@D)/firmware/synaptics/*.hcd $(TARGET_DIR)/lib/firmware/synaptics + chmod 644 $(TARGET_DIR)/lib/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/synaptics/*.hcd endef endif ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI),y) define BRCMFMAC_SDIO_FIRMWARE_RPI_INSTALL_TARGET_WIFI - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm - $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm - ln -sf ../cypress/cyfmac43430-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.bin - ln -sf ../cypress/cyfmac43430-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob - ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt - ln -sf brcmfmac43430-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt - ln -sf ../cypress/cyfmac43455-sdio.bin $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.bin - ln -sf ../cypress/cyfmac43455-sdio.clm_blob $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob - ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt - ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt - ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/cypress - $(INSTALL) -m 0644 $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm $(TARGET_DIR)/lib/firmware/cypress + cp --remove-destination --no-dereference $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm + cp --remove-destination --no-dereference $(@D)/firmware/cypress/cyfmac* $(TARGET_DIR)/lib/firmware/cypress + chmod 644 $(TARGET_DIR)/lib/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/cypress/cyfmac* endef endif diff --git a/package/bridge-utils/Config.in b/package/bridge-utils/Config.in index de5883f063f..2d886e2cb05 100644 --- a/package/bridge-utils/Config.in +++ b/package/bridge-utils/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_BRIDGE_UTILS added. Instead use the bridge command from the iproute2 package which supports more features. - https://git.kernel.org/cgit/linux/kernel/git/shemminger/bridge-utils.git/ + https://wiki.linuxfoundation.org/networking/bridge diff --git a/package/brltty/0002-shell-prologue-runProgramTerminationCommands-used-a-.patch b/package/brltty/0002-shell-prologue-runProgramTerminationCommands-used-a-.patch deleted file mode 100644 index 0f81254e086..00000000000 --- a/package/brltty/0002-shell-prologue-runProgramTerminationCommands-used-a-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4503c2cbd3981ba1b50ec7ce287ab48c772b3a7f Mon Sep 17 00:00:00 2001 -From: Dave Mielke -Date: Sat, 15 Oct 2022 15:20:38 -0400 -Subject: [PATCH] shell prologue: runProgramTerminationCommands used a bash - command. (dm) - -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -4503c2cbd3981ba1b50ec7ce287ab48c772b3a7f] ---- - brltty-prologue.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/brltty-prologue.sh b/brltty-prologue.sh -index 05b817742..6d1faf983 100644 ---- a/brltty-prologue.sh -+++ b/brltty-prologue.sh -@@ -102,7 +102,7 @@ runProgramTerminationCommands() { - while [ "${programTerminationCommandCount}" -gt 0 ] - do - set -- $(getVariable "programTerminationCommand${programTerminationCommandCount}") -- let "programTerminationCommandCount -= 1" -+ programTerminationCommandCount=$((programTerminationCommandCount - 1)) - - local process="${1}" - local directory="${2}" --- -2.34.1 - diff --git a/package/brltty/brltty.hash b/package/brltty/brltty.hash index 9fc63714bc2..9b707fc1c29 100644 --- a/package/brltty/brltty.hash +++ b/package/brltty/brltty.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 2f173535291ba39b5a9fc8d80c349234333d92042d95d6dd88796c98a02f316b brltty-6.5.tar.xz +sha256 ab11cfc5fbd7ef0ec876ffea7e131e424b2fd004b6158064e1a2e46412825529 brltty-6.6.tar.xz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f LICENSE-LGPL -sha256 c00c876cb4581a6b54fcc176f7e694896e5b52c4b015615566a787e8bc89fe69 README +sha256 72740317768530c60046c591160d4552afb3ac49657b04c7b8452c1bbe7b834e README diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk index dc5a38cddb1..22d58ebd00e 100644 --- a/package/brltty/brltty.mk +++ b/package/brltty/brltty.mk @@ -4,7 +4,7 @@ # ################################################################################ -BRLTTY_VERSION = 6.5 +BRLTTY_VERSION = 6.6 BRLTTY_SOURCE = brltty-$(BRLTTY_VERSION).tar.xz BRLTTY_SITE = http://brltty.com/archive BRLTTY_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install @@ -23,8 +23,10 @@ BRLTTY_CONF_ENV = \ PKG_CONFIG_FOR_BUILD=$(HOST_DIR)/bin/pkgconf BRLTTY_CONF_OPTS = \ + --disable-emacs-bindings \ --disable-java-bindings \ --disable-lisp-bindings \ + --disable-lua-bindings \ --disable-ocaml-bindings \ --disable-python-bindings \ --disable-tcl-bindings \ diff --git a/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch b/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch deleted file mode 100644 index 2a3204fc346..00000000000 --- a/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 6cb16322decd643fed9de332d9cda77f7738b7af Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Mon, 7 Sep 2020 12:14:22 +0300 -Subject: [PATCH] CMake: Allow using BUILD_SHARED_LIBS to choose static/shared - libs - -By convention projects using CMake which can build either static or -shared libraries use a BUILD_SHARED_LIBS flag to allow selecting between -both: the add_library() command automatically switches between both using -this variable when the library kind is not passed to add_library(). It -is also usual to expose the BUILD_SHARED_LIBS as an user-facing setting -with the option() command. - -This way, the following will both work as expected: - - % cmake -DBUILD_SHARED_LIBS=OFF ... - % cmake -DBUILS_SHARED_LIBS=ON ... - -This is helpful for distributions which need (or want) to build only -static libraries. - -Signed-off-by: Adrian Perez de Castro -[Upstream status: https://github.com/google/brotli/pull/655] ---- - CMakeLists.txt | 46 ++++++++++++++----------------------------- - c/fuzz/test_fuzzer.sh | 6 +++--- - 2 files changed, 18 insertions(+), 34 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4ff3401..f889311 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -6,6 +6,8 @@ cmake_minimum_required(VERSION 2.8.6) - - project(brotli C) - -+option(BUILD_SHARED_LIBS "Build shared libraries" ON) -+ - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message(STATUS "Setting build type to Release as none was specified.") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE) -@@ -137,10 +139,6 @@ set(BROTLI_LIBRARIES_CORE brotlienc brotlidec brotlicommon) - set(BROTLI_LIBRARIES ${BROTLI_LIBRARIES_CORE} ${LIBM_LIBRARY}) - mark_as_advanced(BROTLI_LIBRARIES) - --set(BROTLI_LIBRARIES_CORE_STATIC brotlienc-static brotlidec-static brotlicommon-static) --set(BROTLI_LIBRARIES_STATIC ${BROTLI_LIBRARIES_CORE_STATIC} ${LIBM_LIBRARY}) --mark_as_advanced(BROTLI_LIBRARIES_STATIC) -- - if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - add_definitions(-DOS_LINUX) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") -@@ -161,29 +159,25 @@ transform_sources_list("scripts/sources.lst" "${CMAKE_CURRENT_BINARY_DIR}/source - include("${CMAKE_CURRENT_BINARY_DIR}/sources.lst.cmake") - - if(BROTLI_EMSCRIPTEN) -- set(BROTLI_SHARED_LIBS "") --else() -- set(BROTLI_SHARED_LIBS brotlicommon brotlidec brotlienc) -- add_library(brotlicommon SHARED ${BROTLI_COMMON_C}) -- add_library(brotlidec SHARED ${BROTLI_DEC_C}) -- add_library(brotlienc SHARED ${BROTLI_ENC_C}) -+ set(BUILD_SHARED_LIBS OFF) - endif() - --set(BROTLI_STATIC_LIBS brotlicommon-static brotlidec-static brotlienc-static) --add_library(brotlicommon-static STATIC ${BROTLI_COMMON_C}) --add_library(brotlidec-static STATIC ${BROTLI_DEC_C}) --add_library(brotlienc-static STATIC ${BROTLI_ENC_C}) -+add_library(brotlicommon ${BROTLI_COMMON_C}) -+add_library(brotlidec ${BROTLI_DEC_C}) -+add_library(brotlienc ${BROTLI_ENC_C}) - - # Older CMake versions does not understand INCLUDE_DIRECTORIES property. - include_directories(${BROTLI_INCLUDE_DIRS}) - --foreach(lib IN LISTS BROTLI_SHARED_LIBS) -- target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" ) -- string(TOUPPER "${lib}" LIB) -- set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION") --endforeach() -+if(BUILD_SHARED_LIBS) -+ foreach(lib brotlicommon brotlidec brotlienc) -+ target_compile_definitions(${lib} PUBLIC "BROTLI_SHARED_COMPILATION" ) -+ string(TOUPPER "${lib}" LIB) -+ set_target_properties (${lib} PROPERTIES DEFINE_SYMBOL "${LIB}_SHARED_COMPILATION") -+ endforeach() -+endif() - --foreach(lib IN LISTS BROTLI_SHARED_LIBS BROTLI_STATIC_LIBS) -+foreach(lib brotlicommon brotlidec brotlienc) - target_link_libraries(${lib} ${LIBM_LIBRARY}) - set_property(TARGET ${lib} APPEND PROPERTY INCLUDE_DIRECTORIES ${BROTLI_INCLUDE_DIRS}) - set_target_properties(${lib} PROPERTIES -@@ -200,9 +194,6 @@ target_link_libraries(brotlidec brotlicommon) - target_link_libraries(brotlienc brotlicommon) - endif() - --target_link_libraries(brotlidec-static brotlicommon-static) --target_link_libraries(brotlienc-static brotlicommon-static) -- - # For projects stuck on older versions of CMake, this will set the - # BROTLI_INCLUDE_DIRS and BROTLI_LIBRARIES variables so they still - # have a relatively easy way to use Brotli: -@@ -216,7 +207,7 @@ endif() - - # Build the brotli executable - add_executable(brotli ${BROTLI_CLI_C}) --target_link_libraries(brotli ${BROTLI_LIBRARIES_STATIC}) -+target_link_libraries(brotli ${BROTLI_LIBRARIES}) - - # Installation - if(NOT BROTLI_EMSCRIPTEN) -@@ -233,13 +224,6 @@ if(NOT BROTLI_BUNDLED_MODE) - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ) - -- install( -- TARGETS ${BROTLI_LIBRARIES_CORE_STATIC} -- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -- ) -- - install( - DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" --- -2.28.0 - diff --git a/package/brotli/0002-Revert-Add-runtime-linker-path-to-pkg-config-files.patch b/package/brotli/0002-Revert-Add-runtime-linker-path-to-pkg-config-files.patch deleted file mode 100644 index 892aa1da15d..00000000000 --- a/package/brotli/0002-Revert-Add-runtime-linker-path-to-pkg-config-files.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 09b0992b6acb7faa6fd3b23f9bc036ea117230fc Mon Sep 17 00:00:00 2001 -From: Eugene Kliuchnikov -Date: Wed, 2 Sep 2020 11:38:26 +0200 -Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)" - (#838) - -This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1. -[Retrieved from: -https://github.com/google/brotli/commit/09b0992b6acb7faa6fd3b23f9bc036ea117230fc] -Signed-off-by: Fabrice Fontaine ---- - scripts/libbrotlicommon.pc.in | 2 +- - scripts/libbrotlidec.pc.in | 2 +- - scripts/libbrotlienc.pc.in | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in -index 10ca969e..2a8cf7a3 100644 ---- a/scripts/libbrotlicommon.pc.in -+++ b/scripts/libbrotlicommon.pc.in -@@ -7,5 +7,5 @@ Name: libbrotlicommon - URL: https://github.com/google/brotli - Description: Brotli common dictionary library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlicommon -+Libs: -L${libdir} -lbrotlicommon - Cflags: -I${includedir} -diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in -index e7c3124f..6f8ef2e4 100644 ---- a/scripts/libbrotlidec.pc.in -+++ b/scripts/libbrotlidec.pc.in -@@ -7,6 +7,6 @@ Name: libbrotlidec - URL: https://github.com/google/brotli - Description: Brotli decoder library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlidec -+Libs: -L${libdir} -lbrotlidec - Requires.private: libbrotlicommon >= 1.0.2 - Cflags: -I${includedir} -diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in -index 4dd0811b..2098afe2 100644 ---- a/scripts/libbrotlienc.pc.in -+++ b/scripts/libbrotlienc.pc.in -@@ -7,6 +7,6 @@ Name: libbrotlienc - URL: https://github.com/google/brotli - Description: Brotli encoder library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlienc -+Libs: -L${libdir} -lbrotlienc - Requires.private: libbrotlicommon >= 1.0.2 - Cflags: -I${includedir} diff --git a/package/brotli/brotli.hash b/package/brotli/brotli.hash index 22f894c403b..145467c420a 100644 --- a/package/brotli/brotli.hash +++ b/package/brotli/brotli.hash @@ -1,5 +1,5 @@ # Locally generated: -sha512 b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5 v1.0.9.tar.gz +sha512 6eb280d10d8e1b43d22d00fa535435923c22ce8448709419d676ff47d4a644102ea04f488fc65a179c6c09fee12380992e9335bad8dfebd5d1f20908d10849d9 v1.1.0.tar.gz # Hash for license files: sha512 bae78184c2f50f86d8c727826d3982c469454c42b9af81f4ef007e39036434fa894cf5be3bf5fc65b7de2301f0a72d067a8186e303327db8a96bd14867e0a3a8 LICENSE diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk index ac49fe664f7..80aa2566b51 100644 --- a/package/brotli/brotli.mk +++ b/package/brotli/brotli.mk @@ -4,7 +4,7 @@ # ################################################################################ -BROTLI_VERSION = 1.0.9 +BROTLI_VERSION = 1.1.0 BROTLI_SOURCE = v$(BROTLI_VERSION).tar.gz BROTLI_SITE = https://github.com/google/brotli/archive BROTLI_LICENSE = MIT diff --git a/package/bubblewrap/bubblewrap.hash b/package/bubblewrap/bubblewrap.hash index 98fafc36791..abc69d96be9 100644 --- a/package/bubblewrap/bubblewrap.hash +++ b/package/bubblewrap/bubblewrap.hash @@ -1,5 +1,5 @@ -# From https://github.com/containers/bubblewrap/releases/tag/v0.6.2 -sha256 8a0ec802d1b3e956c5bb0a40a81c9ce0b055a31bf30a8efa547433603b8af20b bubblewrap-0.6.2.tar.xz +# From https://github.com/containers/bubblewrap/releases/tag/v0.8.0 +sha256 957ad1149db9033db88e988b12bcebe349a445e1efc8a9b59ad2939a113d333a bubblewrap-0.8.0.tar.xz # Hash for license files: sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/bubblewrap/bubblewrap.mk b/package/bubblewrap/bubblewrap.mk index 91864d2b764..1081db697da 100644 --- a/package/bubblewrap/bubblewrap.mk +++ b/package/bubblewrap/bubblewrap.mk @@ -4,7 +4,7 @@ # ################################################################################ -BUBBLEWRAP_VERSION = 0.6.2 +BUBBLEWRAP_VERSION = 0.8.0 BUBBLEWRAP_SITE = https://github.com/containers/bubblewrap/releases/download/v$(BUBBLEWRAP_VERSION) BUBBLEWRAP_SOURCE = bubblewrap-$(BUBBLEWRAP_VERSION).tar.xz BUBBLEWRAP_DEPENDENCIES = host-pkgconf libcap diff --git a/package/bullet/bullet.hash b/package/bullet/bullet.hash index 5c70c683b02..3160b045726 100644 --- a/package/bullet/bullet.hash +++ b/package/bullet/bullet.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 49d1ee47aa8cbb0bc6bb459f0a4cfb9579b40e28f5c7d9a36c313e3031fb3965 bullet-3.21.tar.gz +sha256 c45afb6399e3f68036ddb641c6bf6f552bf332d5ab6be62f7e6c54eda05ceb77 bullet-3.25.tar.gz sha256 885cd516a8420acb7c3e0b1a7119913b686495001ae564e3229740460e8cff59 LICENSE.txt diff --git a/package/bullet/bullet.mk b/package/bullet/bullet.mk index 9afd922ec9e..e112623b790 100644 --- a/package/bullet/bullet.mk +++ b/package/bullet/bullet.mk @@ -4,7 +4,7 @@ # ################################################################################ -BULLET_VERSION = 3.21 +BULLET_VERSION = 3.25 BULLET_SITE = $(call github,bulletphysics,bullet3,$(BULLET_VERSION)) BULLET_INSTALL_STAGING = YES BULLET_LICENSE = Zlib diff --git a/package/bustle/0001-Makefile-fix-pcap-config-call.patch b/package/bustle/0001-Makefile-fix-pcap-config-call.patch new file mode 100644 index 00000000000..b02bea641b0 --- /dev/null +++ b/package/bustle/0001-Makefile-fix-pcap-config-call.patch @@ -0,0 +1,45 @@ +From 77e2de892cd359f779c84739682431a66eb8cf31 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 8 Jan 2023 11:03:52 +0100 +Subject: [PATCH] Makefile: fix pcap-config call + +Fix the following build failure raised since libpcap version 1.10.2 and +https://github.com/the-tcpdump-group/libpcap/commit/d0cba780dc2b2bb4f3ca9427d1a0f03479f45707: + +pcap-config: Invalid command-line option pcap-config specified +Usage: pcap-config [ --help ] [ --static | --static-pcap-only ] [ --libs | --additional-libs ] +perl -nle 'm/^Version:\s+(.*)$/ and print $1' \ + bustle.cabal > dist/build/autogen/version.txt +echo '#define BUSTLE_VERSION "'`cat dist/build/autogen/version.txt`'"' > dist/build/autogen/version.h +/home/buildroot/autobuild/run/instance-2/output-1/host/bin/arm-linux-gcc -Idist/build/autogen -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \ + -o dist/build/bustle-pcap c-sources/pcap-reader.c c-sources/pcap-monitor.c c-sources/bustle-pcap.c \ + -I/home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/glib-2.0 -I/home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/glib-2.0/include -I/home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/libmount -I/home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/blkid -I/home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/gio-unix-2.0 -pthread -L/home/buildroot/autobuild/run/instance-2/output-1/host/bin/../arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lgio-2.0 -lgobject-2.0 -lglib-2.0 +/home/buildroot/autobuild/run/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /tmp/cc5SQkTV.o: in function `bustle_pcap_reader_finalize': +pcap-reader.c:(.text+0x254): undefined reference to `pcap_close' + +Fixes: + - http://autobuild.buildroot.org/results/f3dcb617488e4172e639e3bd51a93bc9822ea186 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.freedesktop.org/bustle/bustle/-/merge_requests/21] +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 8865819..721e714 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ CFLAGS = -g -O2 -Wall -Wunused -Waddress + DBUS_FLAGS = $(shell pkg-config --cflags --libs dbus-1) + GIO_FLAGS := $(shell pkg-config --cflags --libs 'glib-2.0 >= 2.26' gio-2.0 gio-unix-2.0) + PCAP_CONFIG ?= pcap-config +-PCAP_FLAGS := $(shell $(PCAP_CONFIG) --cflags pcap-config --libs) ++PCAP_FLAGS := $(shell $(PCAP_CONFIG) --cflags --libs) + DESTDIR = + PREFIX = /usr/local + BINDIR = $(DESTDIR)$(PREFIX)/bin +-- +2.39.0 + diff --git a/package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch b/package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch deleted file mode 100644 index f9bfee328eb..00000000000 --- a/package/busybox/0003-awk-fix-use-after-free-CVE-2022-30065.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e06b1f0839972cc3f5b432849d574d14a8f17613 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Fri, 17 Jun 2022 17:45:34 +0200 -Subject: [PATCH] awk: fix use after free (CVE-2022-30065) - -fixes https://bugs.busybox.net/show_bug.cgi?id=14781 - -function old new delta -evaluate 3343 3357 +14 - -Signed-off-by: Natanael Copa -Signed-off-by: Denys Vlasenko -Backport: https://git.busybox.net/busybox/commit/?id=e63d7cdfdac78c6fd27e9e63150335767592b85e -[straightforward conflict resolution in testsuite/awk.tests] -Signed-off-by: Quentin Schulz ---- - editors/awk.c | 3 +++ - testsuite/awk.tests | 6 ++++++ - 2 files changed, 9 insertions(+) - -diff --git a/editors/awk.c b/editors/awk.c -index f6314ac72..654cbac33 100644 ---- a/editors/awk.c -+++ b/editors/awk.c -@@ -3114,6 +3114,9 @@ static var *evaluate(node *op, var *res) - - case XC( OC_MOVE ): - debug_printf_eval("MOVE\n"); -+ /* make sure that we never return a temp var */ -+ if (L.v == TMPVAR0) -+ L.v = res; - /* if source is a temporary string, jusk relink it to dest */ - if (R.v == TMPVAR1 - && !(R.v->type & VF_NUMBER) -diff --git a/testsuite/awk.tests b/testsuite/awk.tests -index bcaafe8fd..156aa65eb 100755 ---- a/testsuite/awk.tests -+++ b/testsuite/awk.tests -@@ -469,4 +469,10 @@ testing 'awk printf %% prints one %' \ - "%\n" \ - '' '' - -+testing 'awk assign while test' \ -+ "awk '\$1==\$1=\"foo\" {print \$1}'" \ -+ "foo\n" \ -+ "" \ -+ "foo" -+ - exit $FAILCOUNT --- -2.37.3 - diff --git a/package/busybox/0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/package/busybox/0003-libbb-sockaddr2str-ensure-only-printable-characters-.patch similarity index 100% rename from package/busybox/0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch rename to package/busybox/0003-libbb-sockaddr2str-ensure-only-printable-characters-.patch diff --git a/package/busybox/0005-nslookup-sanitize-all-printed-strings-with-printable.patch b/package/busybox/0004-nslookup-sanitize-all-printed-strings-with-printable.patch similarity index 100% rename from package/busybox/0005-nslookup-sanitize-all-printed-strings-with-printable.patch rename to package/busybox/0004-nslookup-sanitize-all-printed-strings-with-printable.patch diff --git a/package/busybox/0005-seedrng-fix-for-glibc-2.24-not-providing-getrandom.patch b/package/busybox/0005-seedrng-fix-for-glibc-2.24-not-providing-getrandom.patch new file mode 100644 index 00000000000..4a194612b46 --- /dev/null +++ b/package/busybox/0005-seedrng-fix-for-glibc-2.24-not-providing-getrandom.patch @@ -0,0 +1,39 @@ +From 200a9669fbf6f06894e4243cccc9fc11a1a6073a Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Mon, 10 Apr 2023 17:26:04 +0200 +Subject: [PATCH] seedrng: fix for glibc <= 2.24 not providing getrandom() + +Signed-off-by: Denys Vlasenko +Upstream: https://git.busybox.net/busybox/commit/?id=200a9669fbf6f06894e4243cccc9fc11a1a6073a +--- + miscutils/seedrng.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/miscutils/seedrng.c b/miscutils/seedrng.c +index 967741dc7..7cc855141 100644 +--- a/miscutils/seedrng.c ++++ b/miscutils/seedrng.c +@@ -45,6 +45,20 @@ + #include + #include + ++/* Fix up glibc <= 2.24 not having getrandom() */ ++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 24 ++#include ++# define getrandom(...) bb_getrandom(__VA_ARGS__) ++static ssize_t getrandom(void *buffer, size_t length, unsigned flags) ++{ ++# if defined(__NR_getrandom) ++ return syscall(__NR_getrandom, buffer, length, flags); ++# else ++ return ENOSYS; ++# endif ++} ++#endif ++ + #ifndef GRND_INSECURE + #define GRND_INSECURE 0x0004 /* Apparently some headers don't ship with this yet. */ + #endif +-- +2.39.1 + diff --git a/package/busybox/0006-seedrng-fix-for-glibc-2.24-not-providing-random-head.patch b/package/busybox/0006-seedrng-fix-for-glibc-2.24-not-providing-random-head.patch new file mode 100644 index 00000000000..d7298848056 --- /dev/null +++ b/package/busybox/0006-seedrng-fix-for-glibc-2.24-not-providing-random-head.patch @@ -0,0 +1,60 @@ +From cb57abb46f06f4ede8d9ccbdaac67377fdf416cf Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt +Date: Mon, 10 Apr 2023 19:58:15 +0200 +Subject: [PATCH] seedrng: fix for glibc <= 2.24 not providing random header + + - dropped the wrong define (not sure why it was there) + - not available if glibc <= 2.24 + - GRND_NONBLOCK not defined if not included + - ret < 0 && errno == ENOSYS has to be true to get creditable set + +Signed-off-by: Thomas Devoogdt +Signed-off-by: Denys Vlasenko +Upstream: https://git.busybox.net/busybox/commit/?id=cb57abb46f06f4ede8d9ccbdaac67377fdf416cf +--- + miscutils/seedrng.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/miscutils/seedrng.c b/miscutils/seedrng.c +index 7cc855141..3bf6e2ea7 100644 +--- a/miscutils/seedrng.c ++++ b/miscutils/seedrng.c +@@ -42,25 +42,31 @@ + #include "libbb.h" + + #include +-#include + #include + + /* Fix up glibc <= 2.24 not having getrandom() */ + #if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 24 + #include +-# define getrandom(...) bb_getrandom(__VA_ARGS__) + static ssize_t getrandom(void *buffer, size_t length, unsigned flags) + { + # if defined(__NR_getrandom) + return syscall(__NR_getrandom, buffer, length, flags); + # else +- return ENOSYS; ++ errno = ENOSYS; ++ return -1; + # endif + } ++#else ++#include ++#endif ++ ++/* Apparently some headers don't ship with this yet. */ ++#ifndef GRND_NONBLOCK ++#define GRND_NONBLOCK 0x0001 + #endif + + #ifndef GRND_INSECURE +-#define GRND_INSECURE 0x0004 /* Apparently some headers don't ship with this yet. */ ++#define GRND_INSECURE 0x0004 + #endif + + #define DEFAULT_SEED_DIR "/var/lib/seedrng" +-- +2.39.1 + diff --git a/package/busybox/0007-seedrng-fix-getrandom-detection-for-non-glibc-libc.patch b/package/busybox/0007-seedrng-fix-getrandom-detection-for-non-glibc-libc.patch new file mode 100644 index 00000000000..140b27cae67 --- /dev/null +++ b/package/busybox/0007-seedrng-fix-getrandom-detection-for-non-glibc-libc.patch @@ -0,0 +1,124 @@ +From b2d26d449ec855602b9a88f58c2eb675de0224f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= +Date: Tue, 18 Apr 2023 15:54:43 +0200 +Subject: [PATCH v4] seedrng: fix getrandom() detection for non-glibc libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +glibc <= 2.24 does not provide getrandom(). A check for it has been +added in 200a9669fbf6f06894e4243cccc9fc11a1a6073a and fixed in +cb57abb46f06f4ede8d9ccbdaac67377fdf416cf. + +However, building with a libc other than glibc can lead to the same +problem as not every other libc has getrandom() either: + +- uClibc provides it from v1.0.2 onwards, but requires to define +_GNU_SOURCE (all versions - we already define it by default), and +stddef to be included first (when using uClibc < 1.0.35 - we already +include it through libbb.h). + +- musl libc has getrandom(), but only from version 1.1.20 onwards. As +musl does not provide __MUSL__ or version information, it's not +possible to check for it like we did for glibc. + +All of this makes it difficult (or impossible in case of musl) to +check what we need to do to have getrandom() based on each libc +versions. + +On top of that, getrandom() is also not available on older kernels. As +an example, when using a 3.10 kernel with uClibc 1.0.26, getrandom() +is declared so compiling works, but it fails at link time because +getrandom() is not defined. + +To make it easier, take a similar approach to what was done for the +crypt library: try to build a sample program to see if we have +getrandom(). To keep it compatible with different versions of +make (for reference see [1]), a variable for '#' is also introduced. + +Based on the new Makefile variable, we now either use the +libc-provided getrandom() when it's available, or use our own +implementation when it's not (like it was the case already for glibc < +2.25). + +This should fix compiling with many libc/kernel combinations. + +[1]: https://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b576b907b06aea5f4 + +Signed-off-by: Raphaël Mélotte +Upstream: http://lists.busybox.net/pipermail/busybox/2023-May/090317.html +--- +Changes v3 -> v4: + - use a variable for '#' for compatibility with GNU make 4.2.1 and earlier. + +Changes v2 -> v3: + - fix _GNU_SOURCE define location + +Changes v1 -> v2: + - move _GNU_SOURCE to bb_libtest.c + - remove GRND_NONBLOCK + +Note that I was not able to test every single combination, but I could +confirm it builds successfully for: +uClibc 10.0.24, linux headers 3.10 (libc getrandom NOT used) +uClibc 1.0.36, linux headers 4.9 (libc getrandom used) +musl 1.1.16, linux headers 4.12 (libc getrandom NOT used) +musl 1.2.1, linux headers (libc getrandom used) +glibc 2.25, linux headers 4.10 (libc getrandom used) + + Makefile.flags | 12 ++++++++++++ + miscutils/seedrng.c | 8 ++++---- + 2 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/Makefile.flags b/Makefile.flags +index 1cec5ba20..0d437303a 100644 +--- a/Makefile.flags ++++ b/Makefile.flags +@@ -161,6 +161,18 @@ ifeq ($(RT_AVAILABLE),y) + LDLIBS += rt + endif + ++# GNU Make version 4.2.1 and earlier require number signs ('#') ++# inside function invocations to be escaped, while versions 4.3+ ++# require them to be unescaped. Use a variable for it so that it works ++# for both versions: ++C := \# ++# Not all libc versions have getrandom, so check for it: ++HAVE_GETRANDOM := $(shell printf '$Cdefine _GNU_SOURCE\n$Cinclude \n$Cinclude \nint main(void){char buf[256];\ngetrandom(buf,sizeof(buf),0);}' >bb_libtest.c; $(CC) $(CFLAGS) $(CFLAGS_busybox) -o /dev/null bb_libtest.c >/dev/null 2>&1 && echo "y"; rm bb_libtest.c) ++ ++ifeq ($(HAVE_GETRANDOM),y) ++CFLAGS += -DHAVE_GETRANDOM ++endif ++ + # libpam may use libpthread, libdl and/or libaudit. + # On some platforms that requires an explicit -lpthread, -ldl, -laudit. + # However, on *other platforms* it fails when some of those flags +diff --git a/miscutils/seedrng.c b/miscutils/seedrng.c +index 3bf6e2ea7..2f1e18c32 100644 +--- a/miscutils/seedrng.c ++++ b/miscutils/seedrng.c +@@ -44,8 +44,10 @@ + #include + #include + +-/* Fix up glibc <= 2.24 not having getrandom() */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 24 ++/* Fix up some libc (e.g. glibc <= 2.24) not having getrandom() */ ++#if defined HAVE_GETRANDOM ++#include ++#else /* No getrandom */ + #include + static ssize_t getrandom(void *buffer, size_t length, unsigned flags) + { +@@ -56,8 +58,6 @@ static ssize_t getrandom(void *buffer, size_t length, unsigned flags) + return -1; + # endif + } +-#else +-#include + #endif + + /* Apparently some headers don't ship with this yet. */ +-- +2.39.1 + diff --git a/package/busybox/0008-shell-fix-SIGWINCH-and-SIGCHLD-in-hush-interrupting-.patch b/package/busybox/0008-shell-fix-SIGWINCH-and-SIGCHLD-in-hush-interrupting-.patch new file mode 100644 index 00000000000..8ebb487ec6d --- /dev/null +++ b/package/busybox/0008-shell-fix-SIGWINCH-and-SIGCHLD-in-hush-interrupting-.patch @@ -0,0 +1,103 @@ +From 93e0898c663a533082b5f3c2e7dcce93ec47076d Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Thu, 26 Jan 2023 12:56:33 +0100 +Subject: [PATCH] shell: fix SIGWINCH and SIGCHLD (in hush) interrupting line + input, closes 15256 + +function old new delta +record_pending_signo 32 63 +31 +lineedit_read_key 231 224 -7 +------------------------------------------------------------------------------ +(add/remove: 0/0 grow/shrink: 1/1 up/down: 31/-7) Total: 24 bytes + +Signed-off-by: Denys Vlasenko +Upstream: https://git.busybox.net/busybox/commit/?id=93e0898c663a533082b5f3c2e7dcce93ec47076d +Signed-off-by: Romain Naour +--- + libbb/lineedit.c | 17 ++++++++++------- + shell/ash.c | 3 ++- + shell/hush.c | 10 ++++++++-- + 3 files changed, 20 insertions(+), 10 deletions(-) + +diff --git a/libbb/lineedit.c b/libbb/lineedit.c +index d6b2e76ff..b942f540a 100644 +--- a/libbb/lineedit.c ++++ b/libbb/lineedit.c +@@ -2180,7 +2180,8 @@ static int lineedit_read_key(char *read_key_buffer, int timeout) + * "\xff\n",pause,"ls\n" invalid and thus won't lose "ls". + * + * If LI_INTERRUPTIBLE, return -1 if got EINTR in poll() +- * inside read_key, or if bb_got_signal != 0 (IOW: if signal ++ * inside read_key and bb_got_signal became != 0, ++ * or if bb_got_signal != 0 (IOW: if signal + * arrived before poll() is reached). + * + * Note: read_key sets errno to 0 on success. +@@ -2197,14 +2198,16 @@ static int lineedit_read_key(char *read_key_buffer, int timeout) + IF_FEATURE_EDITING_WINCH(S.ok_to_redraw = 0;) + if (errno != EINTR) + break; ++ /* It was EINTR. Repeat read_key() unless... */ + if (state->flags & LI_INTERRUPTIBLE) { +- /* LI_INTERRUPTIBLE bails out on EINTR, +- * but nothing really guarantees that bb_got_signal +- * is nonzero. Follow the least surprise principle: ++ /* LI_INTERRUPTIBLE bails out on EINTR ++ * if bb_got_signal became nonzero. ++ * (It may stay zero: for example, our SIGWINCH ++ * handler does not set it. This is used for signals ++ * which should not interrupt line editing). + */ +- if (bb_got_signal == 0) +- bb_got_signal = 255; +- goto ret; ++ if (bb_got_signal != 0) ++ goto ret; /* will return -1 */ + } + } + +diff --git a/shell/ash.c b/shell/ash.c +index 18ccc1329..5f8c8ea19 100644 +--- a/shell/ash.c ++++ b/shell/ash.c +@@ -10821,7 +10821,8 @@ preadfd(void) + again: + /* For shell, LI_INTERRUPTIBLE is set: + * read_line_input will abort on either +- * getting EINTR in poll(), or if it sees bb_got_signal != 0 ++ * getting EINTR in poll() and bb_got_signal became != 0, ++ * or if it sees bb_got_signal != 0 + * (IOW: if signal arrives before poll() is reached). + * Interactive testcases: + * (while kill -INT $$; do sleep 1; done) & +diff --git a/shell/hush.c b/shell/hush.c +index d111f0cc5..f064b8fd2 100644 +--- a/shell/hush.c ++++ b/shell/hush.c +@@ -1946,7 +1946,12 @@ static void record_pending_signo(int sig) + { + sigaddset(&G.pending_set, sig); + #if ENABLE_FEATURE_EDITING +- bb_got_signal = sig; /* for read_line_input: "we got a signal" */ ++ if (sig != SIGCHLD ++ || (G_traps && G_traps[SIGCHLD] && G_traps[SIGCHLD][0]) ++ /* ^^^ if SIGCHLD, interrupt line reading only if it has a trap */ ++ ) { ++ bb_got_signal = sig; /* for read_line_input: "we got a signal" */ ++ } + #endif + #if ENABLE_HUSH_FAST + if (sig == SIGCHLD) { +@@ -2669,7 +2674,8 @@ static int get_user_input(struct in_str *i) + } else { + /* For shell, LI_INTERRUPTIBLE is set: + * read_line_input will abort on either +- * getting EINTR in poll(), or if it sees bb_got_signal != 0 ++ * getting EINTR in poll() and bb_got_signal became != 0, ++ * or if it sees bb_got_signal != 0 + * (IOW: if signal arrives before poll() is reached). + * Interactive testcases: + * (while kill -INT $$; do sleep 1; done) & +-- +2.30.2 + diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 5e5c5867621..3c2aa515f84 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -13,6 +13,7 @@ if BR2_PACKAGE_BUSYBOX config BR2_PACKAGE_BUSYBOX_CONFIG string "BusyBox configuration file to use?" + default "package/busybox/busybox-minimal.config" if !BR2_USE_MMU default "package/busybox/busybox.config" help Some people may wish to use their own modified BusyBox diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config index 1fb4e39e21d..5d2a30806ac 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -53,7 +53,7 @@ CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" # CONFIG_USE_PORTABLE_CODE is not set -CONFIG_STACK_OPTIMIZATION_386=y +# CONFIG_STACK_OPTIMIZATION_386 is not set CONFIG_STATIC_LIBGCC=y # @@ -955,8 +955,7 @@ CONFIG_PING=y CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set -CONFIG_TC=y -CONFIG_FEATURE_TC_INGRESS=y +# CONFIG_TC is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config index e7f628ca6d5..cfd16172fa6 100644 --- a/package/busybox/busybox.config +++ b/package/busybox/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.35.0 -# Thu Jan 27 10:16:54 2022 +# Busybox version: 1.36.0 +# Tue Feb 7 12:34:02 2023 # CONFIG_HAVE_DOT_CONFIG=y @@ -53,7 +53,7 @@ CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" # CONFIG_USE_PORTABLE_CODE is not set -CONFIG_STACK_OPTIMIZATION_386=y +# CONFIG_STACK_OPTIMIZATION_386 is not set CONFIG_STATIC_LIBGCC=y # @@ -93,6 +93,9 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set CONFIG_PASSWORD_MINLEN=6 CONFIG_MD5_SMALL=1 +CONFIG_SHA1_SMALL=3 +CONFIG_SHA1_HWACCEL=y +CONFIG_SHA256_HWACCEL=y CONFIG_SHA3_SMALL=1 CONFIG_FEATURE_NON_POSIX_CP=y # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set @@ -123,6 +126,9 @@ CONFIG_LAST_SUPPORTED_WCHAR=0 # CONFIG_UNICODE_BIDI_SUPPORT is not set # CONFIG_UNICODE_NEUTRAL_TABLE is not set # CONFIG_UNICODE_PRESERVE_BROKEN is not set +# CONFIG_LOOP_CONFIGURE is not set +# CONFIG_NO_LOOP_CONFIGURE is not set +CONFIG_TRY_LOOP_CONFIGURE=y # # Applets @@ -338,6 +344,7 @@ CONFIG_FEATURE_TR_CLASSES=y CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y CONFIG_TRUNCATE=y +CONFIG_TSORT=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNAME_OSNAME="GNU/Linux" @@ -520,7 +527,7 @@ CONFIG_FEATURE_SHADOWPASSWDS=y # CONFIG_USE_BB_PWD_GRP is not set # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y -# CONFIG_USE_BB_CRYPT_SHA is not set +CONFIG_USE_BB_CRYPT_SHA=y # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set CONFIG_ADDGROUP=y @@ -811,10 +818,10 @@ CONFIG_FEATURE_LESS_TRUNCATE=y CONFIG_FEATURE_LESS_REGEXP=y # CONFIG_FEATURE_LESS_WINCH is not set # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set -# CONFIG_FEATURE_LESS_DASHCMD is not set +CONFIG_FEATURE_LESS_DASHCMD=y # CONFIG_FEATURE_LESS_LINENUMS is not set -# CONFIG_FEATURE_LESS_RAW is not set -# CONFIG_FEATURE_LESS_ENV is not set +CONFIG_FEATURE_LESS_RAW=y +CONFIG_FEATURE_LESS_ENV=y CONFIG_LSSCSI=y CONFIG_MAKEDEVS=y # CONFIG_FEATURE_MAKEDEVS_LEAF is not set @@ -831,10 +838,12 @@ CONFIG_PARTPROBE=y # CONFIG_RFKILL is not set CONFIG_RUNLEVEL=y # CONFIG_RX is not set +CONFIG_SEEDRNG=y CONFIG_SETFATTR=y CONFIG_SETSERIAL=y CONFIG_STRINGS=y CONFIG_TIME=y +CONFIG_TREE=y CONFIG_TS=y # CONFIG_TTYSIZE is not set # CONFIG_UBIATTACH is not set @@ -959,8 +968,7 @@ CONFIG_FEATURE_FANCY_PING=y CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_SSL_CLIENT is not set -CONFIG_TC=y -CONFIG_FEATURE_TC_INGRESS=y +# CONFIG_TC is not set # CONFIG_TCPSVD is not set # CONFIG_UDPSVD is not set CONFIG_TELNET=y @@ -1007,6 +1015,7 @@ CONFIG_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" # CONFIG_UDHCPC6 is not set # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set @@ -1141,6 +1150,7 @@ CONFIG_ASH_IDLE_TIMEOUT=y CONFIG_ASH_ECHO=y CONFIG_ASH_PRINTF=y CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y CONFIG_ASH_HELP=y CONFIG_ASH_GETOPTS=y CONFIG_ASH_CMDCMD=y diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash index 2091cdaf659..6eba365ecc7 100644 --- a/package/busybox/busybox.hash +++ b/package/busybox/busybox.hash @@ -1,5 +1,5 @@ -# From https://busybox.net/downloads/busybox-1.35.0.tar.bz2.sha256 -sha256 faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694 busybox-1.35.0.tar.bz2 +# From https://busybox.net/downloads/busybox-1.36.1.tar.bz2.sha256 +sha256 b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 busybox-1.36.1.tar.bz2 # Locally computed sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE sha256 b5a136ed67798e51fe2e0ca0b2a21cb01b904ff0c9f7d563a6292e276607e58f archival/libarchive/bz/LICENSE diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index ef628e90e96..eb5e7ad9222 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,17 +4,15 @@ # ################################################################################ -BUSYBOX_VERSION = 1.35.0 +BUSYBOX_VERSION = 1.36.1 BUSYBOX_SITE = https://www.busybox.net/downloads BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_LICENSE = GPL-2.0, bzip2-1.0.4 BUSYBOX_LICENSE_FILES = LICENSE archival/libarchive/bz/LICENSE BUSYBOX_CPE_ID_VENDOR = busybox -# 0003-awk-fix-use-after-free-CVE-2022-30065.patch -BUSYBOX_IGNORE_CVES += CVE-2022-30065 -# 0004-libbb-sockaddr2str-ensure-only-printable-characters-.patch -# 0005-nslookup-sanitize-all-printed-strings-with-printable.patch +# 0003-libbb-sockaddr2str-ensure-only-printable-characters-.patch +# 0004-nslookup-sanitize-all-printed-strings-with-printable.patch BUSYBOX_IGNORE_CVES += CVE-2022-28391 BUSYBOX_CFLAGS = \ @@ -108,6 +106,9 @@ BUSYBOX_MAKE_OPTS = \ CONFIG_PREFIX="$(TARGET_DIR)" \ SKIP_STRIP=y +# specifying BUSYBOX_CONFIG_FILE on the command-line overrides the .config +# setting. +# check-package disable Ifdef ifndef BUSYBOX_CONFIG_FILE BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif @@ -275,6 +276,15 @@ define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES endef endif +# Disable SHA1 and SHA256 HWACCEL to avoid segfault in init +# with some x86 toolchains (mostly musl?). +ifeq ($(BR2_i386),y) +define BUSYBOX_MUSL_DISABLE_SHA_HWACCEL + $(call KCONFIG_DISABLE_OPT,CONFIG_SHA1_HWACCEL) + $(call KCONFIG_DISABLE_OPT,CONFIG_SHA256_HWACCEL) +endef +endif + # Only install our logging scripts if no other package does it. ifeq ($(BR2_PACKAGE_SYSKLOGD)$(BR2_PACKAGE_RSYSLOG)$(BR2_PACKAGE_SYSLOG_NG),) define BUSYBOX_INSTALL_LOGGING_SCRIPT @@ -363,6 +373,7 @@ endef BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_INSTALL_ADD_TO_SHELLS define BUSYBOX_KCONFIG_FIXUP_CMDS + $(BUSYBOX_MUSL_DISABLE_SHA_HWACCEL) $(BUSYBOX_SET_MMU) $(BUSYBOX_PREFER_STATIC) $(BUSYBOX_SET_MDEV) diff --git a/package/bwm-ng/bwm-ng.mk b/package/bwm-ng/bwm-ng.mk index de09eafae5f..31edda0c23c 100644 --- a/package/bwm-ng/bwm-ng.mk +++ b/package/bwm-ng/bwm-ng.mk @@ -9,6 +9,7 @@ BWM_NG_SITE = $(call github,vgropp,bwm-ng,v$(BWM_NG_VERSION)) BWM_NG_CONF_OPTS = --with-procnetdev --with-diskstats BWM_NG_LICENSE = GPL-2.0+ BWM_NG_LICENSE_FILES = COPYING +BWM_NG_CPE_ID_VALID = YES BWM_NG_AUTORECONF = YES ifeq ($(BR2_PACKAGE_NCURSES),y) diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index af1f076aab0..9a2b69c7311 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf c-ares-1.18.1.tar.gz +sha256 0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b c-ares-1.27.0.tar.gz # Hash for license file -sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md +sha256 80fff25340df53b0cf0c3cddbca9050b559b9cbed2ad71830327cfef54959aef LICENSE.md diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index 0152759ebcc..c4441255a2d 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,13 +4,13 @@ # ################################################################################ -C_ARES_VERSION = 1.18.1 +C_ARES_VERSION = 1.27.0 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom C_ARES_LICENSE = MIT C_ARES_LICENSE_FILES = LICENSE.md -C_ARES_CPE_ID_VENDOR = c-ares_project +C_ARES_CPE_ID_VENDOR = c-ares $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/c-icap-modules/c-icap-modules.hash b/package/c-icap-modules/c-icap-modules.hash index cc7949a0928..110ffd4de32 100644 --- a/package/c-icap-modules/c-icap-modules.hash +++ b/package/c-icap-modules/c-icap-modules.hash @@ -1,7 +1,7 @@ # From http://sourceforge.net/projects/c-icap/files/c-icap-modules/0.5.x/ -md5 2f8c174f7a5414616f5a0a976ac4a221 c_icap_modules-0.5.4.tar.gz -sha1 ec7bb138d7775895cd8b2e12adc41dbf48eba1b7 c_icap_modules-0.5.4.tar.gz +md5 ca6d5d124a4668d63affcaa5ab083e57 c_icap_modules-0.5.5.tar.gz +sha1 67be484a93fe662a7735ee06e1d34d82b54469a8 c_icap_modules-0.5.5.tar.gz # Locally calculated -sha256 87409920c66027204e9cca5f20e137b63cd12daf6dfcd85c1fa62ab2bd1c57cc c_icap_modules-0.5.4.tar.gz +sha256 6a42f1fdd8c35ad38d29f7d3c10f925471977f217086352e146cf95e45f2b5b5 c_icap_modules-0.5.5.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/c-icap-modules/c-icap-modules.mk b/package/c-icap-modules/c-icap-modules.mk index 2eaa141afe0..e9bbbdb2842 100644 --- a/package/c-icap-modules/c-icap-modules.mk +++ b/package/c-icap-modules/c-icap-modules.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_ICAP_MODULES_VERSION = 0.5.4 +C_ICAP_MODULES_VERSION = 0.5.5 C_ICAP_MODULES_SOURCE = c_icap_modules-$(C_ICAP_MODULES_VERSION).tar.gz C_ICAP_MODULES_SITE = http://downloads.sourceforge.net/c-icap C_ICAP_MODULES_LICENSE = GPL-2.0+ diff --git a/package/c-icap/c-icap.hash b/package/c-icap/c-icap.hash index 6aa81c26412..9a596cf375c 100644 --- a/package/c-icap/c-icap.hash +++ b/package/c-icap/c-icap.hash @@ -1,6 +1,6 @@ # Retrieved from https://sourceforge.net/projects/c-icap/files/c-icap/0.5.x/ -md5 82fd2fba1a08a8a0cf3567fe24aa035d c_icap-0.5.7.tar.gz -sha1 3b2470e00abd1418bec3a440d3073d7a6231c4c1 c_icap-0.5.7.tar.gz +md5 c8329684588a906d10a687e84ba4a478 c_icap-0.5.10.tar.gz +sha1 2901aa19c8c4b09b700164290942290c34132076 c_icap-0.5.10.tar.gz # Locally calculated -sha256 01ef17d7999d3476fe705abc56d0da562c2f180aafe08fc1269f419cad8521a9 c_icap-0.5.7.tar.gz +sha256 541d503354907f06d1d72fa90fffd031002f0f4346150fb7b2203ad5825ae49d c_icap-0.5.10.tar.gz sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/c-icap/c-icap.mk b/package/c-icap/c-icap.mk index fb66c75e61d..36ef1c8b120 100644 --- a/package/c-icap/c-icap.mk +++ b/package/c-icap/c-icap.mk @@ -4,12 +4,12 @@ # ################################################################################ -C_ICAP_VERSION = 0.5.7 +C_ICAP_VERSION = 0.5.10 C_ICAP_SOURCE = c_icap-$(C_ICAP_VERSION).tar.gz C_ICAP_SITE = http://downloads.sourceforge.net/c-icap C_ICAP_LICENSE = LGPL-2.1+ C_ICAP_LICENSE_FILES = COPYING -C_ICAP_CPE_ID_VENDOR = c-icap_project +C_ICAP_CPE_ID_VALID = YES C_ICAP_INSTALL_STAGING = YES C_ICAP_CONFIG_SCRIPTS = c-icap-config c-icap-libicapapi-config C_ICAP_CONF_OPTS = \ diff --git a/package/c-periphery/c-periphery.hash b/package/c-periphery/c-periphery.hash index 516cfb33e5f..f8f0654b4f7 100644 --- a/package/c-periphery/c-periphery.hash +++ b/package/c-periphery/c-periphery.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ba298aac5c1f6ebe2b89ed623a2f678bedfa3b9dc78aaf4f0534a1dd304629da c-periphery-2.3.1.tar.gz -sha256 7121a0a2ba36ed9388be2f1a916f0e3584d8e49cc7888fbcfcf83bab2a8bebef LICENSE +sha256 24327bc2a22588444b2576fa1c9560619f6faad986c236c54f4b3f36b20dad56 c-periphery-2.4.2.tar.gz +sha256 2c29e38ac4d393558522c5fa671bd03f9d6f7d751c899a3482b20ab2a0ba5122 LICENSE diff --git a/package/c-periphery/c-periphery.mk b/package/c-periphery/c-periphery.mk index 722679f9f86..e3745c4af6e 100644 --- a/package/c-periphery/c-periphery.mk +++ b/package/c-periphery/c-periphery.mk @@ -4,11 +4,11 @@ # ################################################################################ -C_PERIPHERY_VERSION = 2.3.1 +C_PERIPHERY_VERSION = 2.4.2 C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,v$(C_PERIPHERY_VERSION)) C_PERIPHERY_INSTALL_STAGING = YES C_PERIPHERY_LICENSE = MIT C_PERIPHERY_LICENSE_FILES = LICENSE -C_PERIPHERY_CPE_ID_VENDOR = c-periphery_project +C_PERIPHERY_CPE_ID_VALID = YES $(eval $(cmake-package)) diff --git a/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch b/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch index b76c1bfd7f5..ed90c217eca 100644 --- a/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch +++ b/package/ca-certificates/0001-mozilla-certdata2pem.py-make-cryptography-module-opt.patch @@ -1,4 +1,4 @@ -From bf18b564122e8f976681a2398862fde1eafd84ba Mon Sep 17 00:00:00 2001 +From a4e468a2a0afa80df174831c2f422184820bb0fa Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 6 Jan 2022 23:15:00 +0100 Subject: [PATCH] mozilla/certdata2pem.py: make cryptography module optional @@ -14,38 +14,39 @@ cryptography Python module is there, we perform the check, otherwise the check is skipped. Signed-off-by: Thomas Petazzoni +[Steve: refreshed to apply on ca-certificates version 20230311] +Signed-off-by: Steve Hay --- - mozilla/certdata2pem.py | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) + mozilla/certdata2pem.py | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py -index ede23d4..a6261f8 100644 +index 4df86a2..3a6d7dc 100644 --- a/mozilla/certdata2pem.py +++ b/mozilla/certdata2pem.py -@@ -28,9 +28,6 @@ import sys +@@ -28,8 +28,6 @@ import sys import textwrap import io -from cryptography import x509 - -- + objects = [] - # Dirty file parser. -@@ -122,11 +119,16 @@ for obj in objects: +@@ -122,11 +120,16 @@ for obj in objects: if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]: continue -- cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) -- if cert.not_valid_after < datetime.datetime.now(): +- cert = x509.load_der_x509_certificate(bytes(obj['CKA_VALUE'])) +- if cert.not_valid_after < datetime.datetime.utcnow(): - print('!'*74) - print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) - print('!'*74) + try: + from cryptography import x509 + -+ cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) -+ if cert.not_valid_after < datetime.datetime.now(): ++ cert = x509.load_der_x509_certificate(bytes(obj['CKA_VALUE'])) ++ if cert.not_valid_after < datetime.datetime.utcnow(): + print('!'*74) + print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) + print('!'*74) @@ -55,5 +56,5 @@ index ede23d4..a6261f8 100644 bname = obj['CKA_LABEL'][1:-1].replace('/', '_')\ .replace(' ', '_')\ -- -2.33.1 +2.30.2 diff --git a/package/ca-certificates/0002-mozilla-certdata2pem.py-Fix-compat-with-cryptography.patch b/package/ca-certificates/0002-mozilla-certdata2pem.py-Fix-compat-with-cryptography.patch deleted file mode 100644 index 0537da92242..00000000000 --- a/package/ca-certificates/0002-mozilla-certdata2pem.py-Fix-compat-with-cryptography.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5e493ca307a031e81528ceddb96f3da40bc062cf Mon Sep 17 00:00:00 2001 -From: Wataru Ashihara -Date: Wed, 2 Nov 2022 12:40:05 -0400 -Subject: [PATCH] mozilla/certdata2pem.py: Fix compat with cryptography > 3.0 - -In newer cryptography packages, load_der_x509_certificate is enforced to be 'bytes' rather than currently used 'bytearray'. This fixes that. - -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008244 -Signed-off-by: Justin Wood ---- - mozilla/certdata2pem.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py -index a6261f8..c0fa52c 100644 ---- a/mozilla/certdata2pem.py -+++ b/mozilla/certdata2pem.py -@@ -122,7 +122,7 @@ for obj in objects: - try: - from cryptography import x509 - -- cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) -+ cert = x509.load_der_x509_certificate(bytes(obj['CKA_VALUE'])) - if cert.not_valid_after < datetime.datetime.now(): - print('!'*74) - print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) --- -2.38.1 - diff --git a/package/ca-certificates/ca-certificates.hash b/package/ca-certificates/ca-certificates.hash index a1675b999e7..8a5b48dd791 100644 --- a/package/ca-certificates/ca-certificates.hash +++ b/package/ca-certificates/ca-certificates.hash @@ -1,6 +1,4 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 bce5a8fac45456dbebf256f3a812c6cd0a853e3e ca-certificates_20211016.tar.xz -sha256 2ae9b6dc5f40c25d6d7fe55e07b54f12a8967d1955d3b7b2f42ee46266eeef88 ca-certificates_20211016.tar.xz - +sha256 83de934afa186e279d1ed08ea0d73f5cf43a6fbfb5f00874b6db3711c64576f3 ca-certificates_20230311.tar.xz # Locally computed sha256 e85e1bcad3a915dc7e6f41412bc5bdeba275cadd817896ea0451f2140a93967c debian/copyright diff --git a/package/ca-certificates/ca-certificates.mk b/package/ca-certificates/ca-certificates.mk index 0b6962ab7b8..fe115209a7d 100644 --- a/package/ca-certificates/ca-certificates.mk +++ b/package/ca-certificates/ca-certificates.mk @@ -4,9 +4,9 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20211016 +CA_CERTIFICATES_VERSION = 20230311 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = https://snapshot.debian.org/archive/debian/20211022T144903Z/pool/main/c/ca-certificates +CA_CERTIFICATES_SITE = https://snapshot.debian.org/archive/debian/20230317T205011Z/pool/main/c/ca-certificates CA_CERTIFICATES_DEPENDENCIES = host-openssl host-python3 CA_CERTIFICATES_LICENSE = GPL-2.0+ (script), MPL-2.0 (data) CA_CERTIFICATES_LICENSE_FILES = debian/copyright @@ -20,7 +20,9 @@ define CA_CERTIFICATES_INSTALL_TARGET_CMDS $(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/ssl/certs $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR) rm -f $(TARGET_DIR)/usr/sbin/update-ca-certificates +endef +define CA_CERTIFICATES_GEN_BUNDLE # Remove any existing certificates under /etc/ssl/certs rm -f $(TARGET_DIR)/etc/ssl/certs/* @@ -30,14 +32,15 @@ define CA_CERTIFICATES_INSTALL_TARGET_CMDS for i in `find usr/share/ca-certificates -name "*.crt" | LC_COLLATE=C sort` ; do \ ln -sf ../../../$$i etc/ssl/certs/`basename $${i} .crt`.pem ;\ cat $$i ;\ - done >$(@D)/ca-certificates.crt + done >$(BUILD_DIR)/ca-certificates.crt # Create symlinks to the certificates by their hash values $(HOST_DIR)/bin/c_rehash $(TARGET_DIR)/etc/ssl/certs # Install the certificates bundle - $(INSTALL) -D -m 644 $(@D)/ca-certificates.crt \ + $(INSTALL) -D -m 644 $(BUILD_DIR)/ca-certificates.crt \ $(TARGET_DIR)/etc/ssl/certs/ca-certificates.crt endef +CA_CERTIFICATES_TARGET_FINALIZE_HOOKS += CA_CERTIFICATES_GEN_BUNDLE $(eval $(generic-package)) diff --git a/package/cage/0001-Upgrade-to-wlroots-0.15.patch b/package/cage/0001-Upgrade-to-wlroots-0.15.patch deleted file mode 100644 index a5716ede439..00000000000 --- a/package/cage/0001-Upgrade-to-wlroots-0.15.patch +++ /dev/null @@ -1,312 +0,0 @@ -From e51bef3fdad649d453276717294cc6177666cf5a Mon Sep 17 00:00:00 2001 -From: Simon Ser -Date: Wed, 11 Aug 2021 11:31:14 +0200 -Subject: [PATCH] Upgrade to wlroots 0.15 - -- Update wlr_box includes to util/box.h: the wlroots header has - been moved upstream. -- Subsurface fields have been moved -- Create renderer and allocator, stop using wlr_backend_get_renderer -- Initalize output rendering - -Signed-off-by: Adrian Perez de Castro -Upstream status: https://github.com/Hjdskes/cage/commit/395189fb051ed722c7b10b6cb11caa8f6904079c ---- - cage.c | 21 +++++++++++++++++---- - meson.build | 2 +- - output.c | 5 +++++ - render.c | 26 ++++++++------------------ - server.h | 2 ++ - util.c | 2 -- - util.h | 2 +- - view.c | 5 ++--- - view.h | 2 +- - xdg_shell.c | 1 - - xwayland.c | 1 - - 11 files changed, 37 insertions(+), 32 deletions(-) - -diff --git a/cage.c b/cage.c -index 5392535..f9db7a9 100644 ---- a/cage.c -+++ b/cage.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -261,7 +262,6 @@ main(int argc, char *argv[]) - struct wl_event_source *sigint_source = NULL; - struct wl_event_source *sigterm_source = NULL; - struct wl_event_source *sigchld_source = NULL; -- struct wlr_renderer *renderer = NULL; - struct wlr_compositor *compositor = NULL; - struct wlr_data_device_manager *data_device_manager = NULL; - struct wlr_server_decoration_manager *server_decoration_manager = NULL; -@@ -316,8 +316,21 @@ main(int argc, char *argv[]) - goto end; - } - -- renderer = wlr_backend_get_renderer(server.backend); -- wlr_renderer_init_wl_display(renderer, server.wl_display); -+ server.renderer = wlr_renderer_autocreate(server.backend); -+ if (!server.renderer) { -+ wlr_log(WLR_ERROR, "Unable to create the wlroots renderer"); -+ ret = 1; -+ goto end; -+ } -+ -+ server.allocator = wlr_allocator_autocreate(server.backend, server.renderer); -+ if (!server.allocator) { -+ wlr_log(WLR_ERROR, "Unable to create the wlroots allocator"); -+ ret = 1; -+ goto end; -+ } -+ -+ wlr_renderer_init_wl_display(server.renderer, server.wl_display); - - wl_list_init(&server.views); - wl_list_init(&server.outputs); -@@ -329,7 +342,7 @@ main(int argc, char *argv[]) - goto end; - } - -- compositor = wlr_compositor_create(server.wl_display, renderer); -+ compositor = wlr_compositor_create(server.wl_display, server.renderer); - if (!compositor) { - wlr_log(WLR_ERROR, "Unable to create the wlroots compositor"); - ret = 1; -diff --git a/meson.build b/meson.build -index 3a84794..f2e5428 100644 ---- a/meson.build -+++ b/meson.build -@@ -34,7 +34,7 @@ if is_freebsd - ) - endif - --wlroots = dependency('wlroots', version: '>= 0.14.0') -+wlroots = dependency('wlroots', version: '>= 0.15.0') - wayland_protos = dependency('wayland-protocols', version: '>=1.14') - wayland_server = dependency('wayland-server') - pixman = dependency('pixman-1') -diff --git a/output.c b/output.c -index d8da3b9..e8b3a22 100644 ---- a/output.c -+++ b/output.c -@@ -442,6 +442,11 @@ handle_new_output(struct wl_listener *listener, void *data) - struct cg_server *server = wl_container_of(listener, server, new_output); - struct wlr_output *wlr_output = data; - -+ if (!wlr_output_init_render(wlr_output, server->allocator, server->renderer)) { -+ wlr_log(WLR_ERROR, "Failed to initialize output rendering"); -+ return; -+ } -+ - struct cg_output *output = calloc(1, sizeof(struct cg_output)); - if (!output) { - wlr_log(WLR_ERROR, "Failed to allocate output"); -diff --git a/render.c b/render.c -index 166a088..ffa960f 100644 ---- a/render.c -+++ b/render.c -@@ -10,11 +10,11 @@ - #include - #include - #include --#include - #include - #include - #include - #include -+#include - #include - #include - -@@ -27,8 +27,6 @@ - static void - scissor_output(struct wlr_output *output, pixman_box32_t *rect) - { -- struct wlr_renderer *renderer = wlr_backend_get_renderer(output->backend); -- - struct wlr_box box = { - .x = rect->x1, - .y = rect->y1, -@@ -41,7 +39,7 @@ scissor_output(struct wlr_output *output, pixman_box32_t *rect) - enum wl_output_transform transform = wlr_output_transform_invert(output->transform); - wlr_box_transform(&box, &box, transform, output_width, output_height); - -- wlr_renderer_scissor(renderer, &box); -+ wlr_renderer_scissor(output->renderer, &box); - } - - struct render_data { -@@ -52,8 +50,6 @@ static void - render_texture(struct wlr_output *wlr_output, pixman_region32_t *output_damage, struct wlr_texture *texture, - const struct wlr_box *box, const float matrix[static 9]) - { -- struct wlr_renderer *renderer = wlr_backend_get_renderer(wlr_output->backend); -- - pixman_region32_t damage; - pixman_region32_init(&damage); - pixman_region32_union_rect(&damage, &damage, box->x, box->y, box->width, box->height); -@@ -66,7 +62,7 @@ render_texture(struct wlr_output *wlr_output, pixman_region32_t *output_damage, - pixman_box32_t *rects = pixman_region32_rectangles(&damage, &nrects); - for (int i = 0; i < nrects; i++) { - scissor_output(wlr_output, &rects[i]); -- wlr_render_texture_with_matrix(renderer, texture, matrix, 1.0f); -+ wlr_render_texture_with_matrix(wlr_output->renderer, texture, matrix, 1.0f); - } - - damage_finish: -@@ -134,13 +130,7 @@ output_render(struct cg_output *output, pixman_region32_t *damage) - struct cg_server *server = output->server; - struct wlr_output *wlr_output = output->wlr_output; - -- struct wlr_renderer *renderer = wlr_backend_get_renderer(wlr_output->backend); -- if (!renderer) { -- wlr_log(WLR_DEBUG, "Expected the output backend to have a renderer"); -- return; -- } -- -- wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height); -+ wlr_renderer_begin(server->renderer, wlr_output->width, wlr_output->height); - - if (!pixman_region32_not_empty(damage)) { - wlr_log(WLR_DEBUG, "Output isn't damaged but needs a buffer swap"); -@@ -149,7 +139,7 @@ output_render(struct cg_output *output, pixman_region32_t *damage) - - #ifdef DEBUG - if (server->debug_damage_tracking) { -- wlr_renderer_clear(renderer, (float[]){1.0f, 0.0f, 0.0f, 1.0f}); -+ wlr_renderer_clear(server->renderer, (float[]){1.0f, 0.0f, 0.0f, 1.0f}); - } - #endif - -@@ -158,7 +148,7 @@ output_render(struct cg_output *output, pixman_region32_t *damage) - pixman_box32_t *rects = pixman_region32_rectangles(damage, &nrects); - for (int i = 0; i < nrects; i++) { - scissor_output(wlr_output, &rects[i]); -- wlr_renderer_clear(renderer, color); -+ wlr_renderer_clear(server->renderer, color); - } - - // TODO: render only top view, possibly use focused view for this, see #35. -@@ -178,8 +168,8 @@ renderer_end: - /* Draw software cursor in case hardware cursors aren't - available. This is a no-op when they are. */ - wlr_output_render_software_cursors(wlr_output, damage); -- wlr_renderer_scissor(renderer, NULL); -- wlr_renderer_end(renderer); -+ wlr_renderer_scissor(server->renderer, NULL); -+ wlr_renderer_end(server->renderer); - - int output_width, output_height; - wlr_output_transformed_resolution(wlr_output, &output_width, &output_height); -diff --git a/server.h b/server.h -index 817637b..74970c5 100644 ---- a/server.h -+++ b/server.h -@@ -25,6 +25,8 @@ struct cg_server { - struct wl_display *wl_display; - struct wl_list views; - struct wlr_backend *backend; -+ struct wlr_renderer *renderer; -+ struct wlr_allocator *allocator; - - struct cg_seat *seat; - struct wlr_idle *idle; -diff --git a/util.c b/util.c -index 95de499..714c7e3 100644 ---- a/util.c -+++ b/util.c -@@ -6,8 +6,6 @@ - * See the LICENSE file accompanying this file. - */ - --#include -- - #include "util.h" - - int -diff --git a/util.h b/util.h -index db6bc7d..b6281f3 100644 ---- a/util.h -+++ b/util.h -@@ -1,7 +1,7 @@ - #ifndef CG_UTIL_H - #define CG_UTIL_H - --#include -+#include - - /** Apply scale to a width or height. */ - int scale_length(int length, int offset, float scale); -diff --git a/view.c b/view.c -index 3f3b0ed..33b59b4 100644 ---- a/view.c -+++ b/view.c -@@ -12,7 +12,6 @@ - #include - #include - #include --#include - #include - #include - -@@ -235,10 +234,10 @@ view_map(struct cg_view *view, struct wlr_surface *surface) - view->wlr_surface = surface; - - struct wlr_subsurface *subsurface; -- wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_below, parent_link) { -+ wl_list_for_each (subsurface, &view->wlr_surface->current.subsurfaces_below, current.link) { - subsurface_create(view, subsurface); - } -- wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_above, parent_link) { -+ wl_list_for_each (subsurface, &view->wlr_surface->current.subsurfaces_above, current.link) { - subsurface_create(view, subsurface); - } - -diff --git a/view.h b/view.h -index cd16e42..87477d0 100644 ---- a/view.h -+++ b/view.h -@@ -5,9 +5,9 @@ - - #include - #include --#include - #include - #include -+#include - #if CAGE_HAS_XWAYLAND - #include - #endif -diff --git a/xdg_shell.c b/xdg_shell.c -index 2e42347..d676552 100644 ---- a/xdg_shell.c -+++ b/xdg_shell.c -@@ -9,7 +9,6 @@ - #include - #include - #include --#include - #include - #include - -diff --git a/xwayland.c b/xwayland.c -index 2aae0f9..ebd8e54 100644 ---- a/xwayland.c -+++ b/xwayland.c -@@ -9,7 +9,6 @@ - #include - #include - #include --#include - #include - #include - --- -2.36.0 - diff --git a/package/cage/cage.hash b/package/cage/cage.hash index 57a1c12638a..d5517bd918e 100644 --- a/package/cage/cage.hash +++ b/package/cage/cage.hash @@ -1,5 +1,5 @@ -# Generated locally after checking GPG signature -sha256 dfe27fb0c7d43db72d6c82f01e2736580a0791a23ba69d7b56285d08af98ad90 cage-0.1.4.tar.gz +# Generated locally after checking GPG signature from https://github.com/cage-kiosk/cage/releases/download/v0.1.5/cage-0.1.5.tar.gz.sig +sha256 ece0312e559289df0238289ea6c60e9fed32d27fe3ae8a8f83eeff26ddc239e1 cage-0.1.5.tar.gz # Hashes for license files: sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE diff --git a/package/cage/cage.mk b/package/cage/cage.mk index c132f086f63..119950bc00e 100644 --- a/package/cage/cage.mk +++ b/package/cage/cage.mk @@ -4,7 +4,7 @@ # ################################################################################ -CAGE_VERSION = 0.1.4 +CAGE_VERSION = 0.1.5 CAGE_SITE = https://github.com/Hjdskes/cage/releases/download/v$(CAGE_VERSION) CAGE_LICENSE = MIT CAGE_LICENSE_FILES = LICENSE diff --git a/package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch b/package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch new file mode 100644 index 00000000000..078e90fa423 --- /dev/null +++ b/package/cairo/0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch @@ -0,0 +1,39 @@ +From ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0 Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Sun, 1 Aug 2021 11:16:03 +0000 +Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop + +[Retrieved from: +https://gitlab.freedesktop.org/cairo/cairo/-/commit/ab2c5ee21e5f3d3ee4b3f67cfcd5811a4f99c3a0] +Signed-off-by: Quentin Schulz +--- + src/cairo-arc.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/cairo-arc.c b/src/cairo-arc.c +index 390397bae..1c891d1a0 100644 +--- a/src/cairo-arc.c ++++ b/src/cairo-arc.c +@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance) + { M_PI / 11.0, 9.81410988043554039085e-09 }, + }; + int table_size = ARRAY_LENGTH (table); ++ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */ + + for (i = 0; i < table_size; i++) + if (table[i].error < tolerance) + return table[i].angle; + + ++i; ++ + do { + angle = M_PI / i++; + error = _arc_error_normalized (angle); +- } while (error > tolerance); ++ } while (error > tolerance && i < max_segments); + + return angle; + } +-- +2.38.1 + diff --git a/package/cairo/0001-fix-nofork-build.patch b/package/cairo/0001-fix-nofork-build.patch deleted file mode 100644 index 702e9910a5a..00000000000 --- a/package/cairo/0001-fix-nofork-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -test: fix build when SHOULD_FORK is false - -The code in test/cairo-test-runner.c properly takes into account -platforms that do have fork() support, and uses the SHOULD_FORK define -to know whether fork is available or not. - -However, this SHOULD_FORK macro is used to guard the inclusion of -, which is needed to get the prototype of other functions -(namely readlink and getppid), that are used in portions of this file -not guarded by SHOULD_FORK. - -Signed-off-by: Thomas Petazzoni - -Index: b/test/cairo-test-runner.c -=================================================================== ---- a/test/cairo-test-runner.c -+++ b/test/cairo-test-runner.c -@@ -36,10 +36,10 @@ - #include /* for version information */ - - #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID --#if SHOULD_FORK - #if HAVE_UNISTD_H - #include - #endif -+#if SHOULD_FORK - #if HAVE_SIGNAL_H - #include - #endif diff --git a/package/cairo/0002-Fix-mask-usage-in-image-compositor.patch b/package/cairo/0002-Fix-mask-usage-in-image-compositor.patch new file mode 100644 index 00000000000..54a95593c5f --- /dev/null +++ b/package/cairo/0002-Fix-mask-usage-in-image-compositor.patch @@ -0,0 +1,56 @@ +From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Tue, 15 Dec 2020 16:48:19 +0100 +Subject: [PATCH] Fix mask usage in image-compositor + +[Retrieved from +https://gitlab.freedesktop.org/cairo/cairo/-/commit/03a820b173ed1fdef6ff14b4468f5dbc02ff59be] +[Removed changes in test/ directory to remove binary diff so that the +patch can be applied by `patch` tool] +Signed-off-by: Quentin Schulz +--- + src/cairo-image-compositor.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c +index bbf4cf228..2352c478e 100644 +--- a/src/cairo-image-compositor.c ++++ b/src/cairo-image-compositor.c +@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + unsigned num_spans) + { + cairo_image_span_renderer_t *r = abstract_renderer; +- uint8_t *m; ++ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); + int x0; + + if (num_spans == 0) + return CAIRO_STATUS_SUCCESS; + + x0 = spans[0].x; +- m = r->_buf; ++ m = base; + do { + int len = spans[1].x - spans[0].x; + if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { +@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + spans[0].x, y, + spans[1].x - spans[0].x, h); + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else if (spans[0].coverage == 0x0) { + if (spans[0].x != x0) { +@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + #endif + } + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else { + *m++ = spans[0].coverage; +-- +2.38.1 + diff --git a/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch b/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch deleted file mode 100644 index 10e000d16f8..00000000000 --- a/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >= 2.9 -[Retrieved from: -https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645] -Signed-off-by: Fabrice Fontaine ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..981973f78 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } - --- -2.24.1 - diff --git a/package/cairo/0003-cairo-ft-private.h-fix-missing-FT_Color-error.patch b/package/cairo/0003-cairo-ft-private.h-fix-missing-FT_Color-error.patch new file mode 100644 index 00000000000..3b18d8077bc --- /dev/null +++ b/package/cairo/0003-cairo-ft-private.h-fix-missing-FT_Color-error.patch @@ -0,0 +1,32 @@ +From da698db0c20507f0e07492cbe40dbaf1c9053f71 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt +Date: Sun, 12 Nov 2023 09:58:05 +0100 +Subject: [PATCH] cairo-ft-private.h: fix missing FT_Color error + +In file included from ../src/cairo-colr-glyph-render.c:37: +../src/cairo-ft-private.h:87:30: error: unknown type name 'FT_Color' + 87 | FT_Color *palette, + | ^~~~~~~~ + +Upstream: https://gitlab.freedesktop.org/cairo/cairo/-/issues/792 +Signed-off-by: Thomas Devoogdt +--- + src/cairo-ft-private.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cairo-ft-private.h b/src/cairo-ft-private.h +index 836f7e523..6b0e30223 100644 +--- a/src/cairo-ft-private.h ++++ b/src/cairo-ft-private.h +@@ -43,6 +43,8 @@ + + #if CAIRO_HAS_FT_FONT + ++#include FT_COLOR_H ++ + CAIRO_BEGIN_DECLS + + typedef struct _cairo_ft_unscaled_font cairo_ft_unscaled_font_t; +-- +2.34.1 + diff --git a/package/cairo/cairo.hash b/package/cairo/cairo.hash index 3b93e24a228..fca9ff678c4 100644 --- a/package/cairo/cairo.hash +++ b/package/cairo/cairo.hash @@ -1,7 +1,7 @@ -# From https://www.cairographics.org/releases/cairo-1.16.0.tar.xz.sha1 -sha1 00e81842ae5e81bb0343108884eb5205be0eac14 cairo-1.16.0.tar.xz +# From https://www.cairographics.org/snapshots/cairo-1.17.4.tar.xz.sha1 +sha1 68712ae1039b114347be3b7200bc1c901d47a636 cairo-1.17.4.tar.xz # Calculated based on the hash above -sha256 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz +sha256 74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705 cairo-1.17.4.tar.xz # Hash for license files: sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index f479aa252a1..4515b760752 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -4,16 +4,18 @@ # ################################################################################ -CAIRO_VERSION = 1.16.0 +CAIRO_VERSION = 1.17.4 CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz CAIRO_LICENSE = LGPL-2.1 or MPL-1.1 (library) CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 CAIRO_CPE_ID_VENDOR = cairographics -CAIRO_SITE = http://cairographics.org/releases +CAIRO_SITE = http://cairographics.org/snapshots CAIRO_INSTALL_STAGING = YES -# 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch -CAIRO_IGNORE_CVES += CVE-2018-19876 +# 0001-_arc_max_angle_for_tolerance_normalized-fix-infinite.patch +CAIRO_IGNORE_CVES += CVE-2019-6462 +# 0002-Fix-mask-usage-in-image-compositor.patch +CAIRO_IGNORE_CVES += CVE-2020-35492 CAIRO_CONF_ENV = LIBS="$(CAIRO_LIBS)" @@ -22,7 +24,7 @@ ifeq ($(BR2_m68k_cf),y) CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" endif -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),) CAIRO_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -DCAIRO_NO_MUTEX=1" endif diff --git a/package/cairomm/Config.in b/package/cairomm/Config.in index dae52f01f73..174f3967abd 100644 --- a/package/cairomm/Config.in +++ b/package/cairomm/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_CAIROMM - bool "cairomm" + bool "cairomm (latest)" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 @@ -11,7 +11,7 @@ config BR2_PACKAGE_CAIROMM help The cairomm package is a set of C++ bindings for Cairo. - http://www.gtkmm.org/ + https://www.cairographics.org/cairomm/ comment "cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 7" depends on BR2_USE_MMU diff --git a/package/cairomm/cairomm.hash b/package/cairomm/cairomm.hash index d14a65c2d6f..254413af090 100644 --- a/package/cairomm/cairomm.hash +++ b/package/cairomm/cairomm.hash @@ -1,3 +1,6 @@ +# From https://www.cairographics.org/releases/cairomm-1.16.2.tar.xz.sha1 +sha1 c24339d5962e2bcbbea85b2fc66347e71fd3db8c cairomm-1.16.2.tar.xz + # Locally computed -sha256 bb86d855041bd46d31b03e43ea355d233de44034b39d4200725b1e0947e63e67 cairomm-1.16.1.tar.gz +sha256 6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f cairomm-1.16.2.tar.xz sha256 bfe4a52dc4645385f356a8e83cc54216a293e3b6f1cb4f79f5fc0277abf937fd COPYING diff --git a/package/cairomm/cairomm.mk b/package/cairomm/cairomm.mk index 856c9d67fc2..571512878e2 100644 --- a/package/cairomm/cairomm.mk +++ b/package/cairomm/cairomm.mk @@ -4,10 +4,11 @@ # ################################################################################ -CAIROMM_VERSION = 1.16.1 +CAIROMM_VERSION = 1.16.2 CAIROMM_LICENSE = LGPL-2.0+ CAIROMM_LICENSE_FILES = COPYING -CAIROMM_SITE = https://gitlab.freedesktop.org/cairo/cairomm/-/archive/$(CAIROMM_VERSION) +CAIROMM_SOURCE = cairomm-$(CAIROMM_VERSION).tar.xz +CAIROMM_SITE = https://cairographics.org/releases CAIROMM_INSTALL_STAGING = YES CAIROMM_DEPENDENCIES = cairo libglib2 libsigc host-pkgconf CAIROMM_CONF_OPTS = -Dbuild-examples=false -Dbuild-tests=false diff --git a/package/cairomm1_14/Config.in b/package/cairomm1_14/Config.in new file mode 100644 index 00000000000..e369aa6f4ad --- /dev/null +++ b/package/cairomm1_14/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_CAIROMM1_14 + bool "cairomm (1.14.x)" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_USE_MMU # libglib2 + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBSIGC2 + help + The cairomm package is a set of C++ bindings for Cairo. + + This is the last version before the API and ABI change + introduced in 1.16.0 which requires C++17. + + https://www.cairographics.org/cairomm/ + +comment "cairomm (1.14.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/cairomm1_14/cairomm1_14.hash b/package/cairomm1_14/cairomm1_14.hash new file mode 100644 index 00000000000..6d58de360ab --- /dev/null +++ b/package/cairomm1_14/cairomm1_14.hash @@ -0,0 +1,6 @@ +# From https://www.cairographics.org/releases/cairomm-1.14.4.tar.xz.sha1 +sha1 a58419bb9792a2c998631704ce5671c38e0c82a1 cairomm-1.14.4.tar.xz + +# Locally computed +sha256 4749d25a2b2ef67cc0c014caaf5c87fa46792fc4b3ede186fb0fc932d2055158 cairomm-1.14.4.tar.xz +sha256 bfe4a52dc4645385f356a8e83cc54216a293e3b6f1cb4f79f5fc0277abf937fd COPYING diff --git a/package/cairomm1_14/cairomm1_14.mk b/package/cairomm1_14/cairomm1_14.mk new file mode 100644 index 00000000000..6502d34c5a4 --- /dev/null +++ b/package/cairomm1_14/cairomm1_14.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# cairomm1_14 +# +################################################################################ + +CAIROMM1_14_VERSION = 1.14.4 +CAIROMM1_14_LICENSE = LGPL-2.0+ +CAIROMM1_14_LICENSE_FILES = COPYING +CAIROMM1_14_SOURCE = cairomm-$(CAIROMM1_14_VERSION).tar.xz +CAIROMM1_14_SITE = https://cairographics.org/releases +CAIROMM1_14_INSTALL_STAGING = YES +CAIROMM1_14_DEPENDENCIES = cairo libglib2 libsigc2 host-pkgconf +CAIROMM1_14_CONF_OPTS = -Dbuild-examples=false -Dbuild-tests=false + +$(eval $(meson-package)) diff --git a/package/can-utils/0001-Don-t-compile-programs-using-fork-on-MMU-less-system.patch b/package/can-utils/0001-Don-t-compile-programs-using-fork-on-MMU-less-system.patch new file mode 100644 index 00000000000..57f93b18e0b --- /dev/null +++ b/package/can-utils/0001-Don-t-compile-programs-using-fork-on-MMU-less-system.patch @@ -0,0 +1,257 @@ +From 5ed3b4ded6cf3e4de6fc8c8739b84231b0285b0e Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Fri, 5 May 2023 08:57:45 +0200 +Subject: [PATCH] Don't compile programs using fork() on MMU-less systems + +Systems that lack a MMU cannot use fork() to create the child process. +The patch does not compile the affected programs on MMU-less systems. + +Co-developed-by: Marc Kleine-Budde +Signed-off-by: Marc Kleine-Budde +Signed-off-by: Dario Binacchi +Upstream: https://github.com/linux-can/can-utils/commit/5ed3b4ded6cf3e4de6fc8c8739b84231b0285b0e +--- + CMakeLists.txt | 15 ++++++++++++--- + GNUmakefile.am | 10 +++++++--- + Makefile | 16 +++++++++++++--- + check_cc.sh | 16 ++++++++++++++++ + configure.ac | 2 ++ + fork_test.c | 27 +++++++++++++++++++++++++++ + 6 files changed, 77 insertions(+), 9 deletions(-) + create mode 100755 check_cc.sh + create mode 100644 fork_test.c + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09ccd805de66..aee8ff7fca02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.3) + + project(can-utils LANGUAGES C) + ++include (CheckFunctionExists) + include (CheckSymbolExists) + include (GNUInstallDirs) + +@@ -25,12 +26,13 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSCM_TXTIME=SO_TXTIME") + include_directories (.) + include_directories (./include) + ++check_function_exists(fork HAVE_FORK) ++ + set(PROGRAMS_CANLIB + asc2log + canbusload + candump + cangen +- canlogserver + canplayer + cansend + cansequence +@@ -39,6 +41,10 @@ set(PROGRAMS_CANLIB + slcanpty + ) + ++if(HAVE_FORK) ++ list(APPEND PROGRAMS_CANLIB canlogserver) ++endif() ++ + set(PROGRAMS_J1939 + j1939acd + j1939cat +@@ -49,7 +55,6 @@ set(PROGRAMS_J1939 + + set(PROGRAMS + ${PROGRAMS_CANLIB} +- bcmserver + canfdtest + cangw + cansniffer +@@ -57,13 +62,17 @@ set(PROGRAMS + isotpperf + isotprecv + isotpsend +- isotpserver + isotpsniffer + isotptun + slcan_attach + slcand + ) + ++if(HAVE_FORK) ++ list(APPEND PROGRAMS bcmserver) ++ list(APPEND PROGRAMS isotpserver) ++endif() ++ + add_executable(can-calc-bit-timing + calc-bit-timing/can-calc-bit-timing.c + ) +diff --git a/GNUmakefile.am b/GNUmakefile.am +index 5a7ad75f682e..e818754db3a4 100644 +--- a/GNUmakefile.am ++++ b/GNUmakefile.am +@@ -75,14 +75,12 @@ EXTRA_DIST += \ + + bin_PROGRAMS = \ + asc2log \ +- bcmserver \ + can-calc-bit-timing \ + canbusload \ + candump \ + canfdtest \ + cangen \ + cangw \ +- canlogserver \ + canplayer \ + cansend \ + cansequence \ +@@ -91,7 +89,6 @@ bin_PROGRAMS = \ + isotpperf \ + isotprecv \ + isotpsend \ +- isotpserver \ + isotpsniffer \ + isotptun \ + j1939acd \ +@@ -106,6 +103,13 @@ bin_PROGRAMS = \ + slcanpty \ + testj1939 + ++if HAVE_FORK ++bin_PROGRAMS += \ ++ bcmserver \ ++ canlogserver \ ++ isotpserver ++endif ++ + j1939acd_LDADD = libj1939.la + j1939cat_LDADD = libj1939.la + j1939spy_LDADD = libj1939.la +diff --git a/Makefile b/Makefile +index 29eef997b290..a26ff3d75e67 100644 +--- a/Makefile ++++ b/Makefile +@@ -45,6 +45,8 @@ MAKEFLAGS := -k + + CFLAGS := -O2 -Wall -Wno-parentheses + ++HAVE_FORK := $(shell ./check_cc.sh "$(CC)" fork_test.c) ++ + CPPFLAGS += \ + -I. \ + -Iinclude \ +@@ -66,10 +68,14 @@ PROGRAMS_ISOTP := \ + isotpperf \ + isotprecv \ + isotpsend \ +- isotpserver \ + isotpsniffer \ + isotptun + ++ifeq ($(HAVE_FORK),1) ++PROGRAMS_ISOTP += \ ++ isotpserver ++endif ++ + PROGRAMS_J1939 := \ + j1939acd \ + j1939cat \ +@@ -87,14 +93,12 @@ PROGRAMS := \ + $(PROGRAMS_J1939) \ + $(PROGRAMS_SLCAN) \ + asc2log \ +- bcmserver \ + can-calc-bit-timing \ + canbusload \ + candump \ + canfdtest \ + cangen \ + cansequence \ +- canlogserver \ + canplayer \ + cansend \ + cansniffer \ +@@ -103,6 +107,12 @@ PROGRAMS := \ + mcp251xfd-dump \ + slcanpty + ++ifeq ($(HAVE_FORK),1) ++PROGRAMS += \ ++ canlogserver \ ++ bcmserver ++endif ++ + all: $(PROGRAMS) + + clean: +diff --git a/check_cc.sh b/check_cc.sh +new file mode 100755 +index 000000000000..d85ad129da9d +--- /dev/null ++++ b/check_cc.sh +@@ -0,0 +1,16 @@ ++#!/bin/sh ++# SPDX-License-Identifier: GPL-2.0-only ++# check_cc.sh - Helper to test userspace compilation support ++# Copyright (c) 2015 Andrew Lutomirski ++ ++CC="$1" ++TESTPROG="$2" ++shift 2 ++ ++if [ -n "$CC" ] && $CC -o /dev/null "$TESTPROG" -O0 "$@"; then ++ echo 1 ++else ++ echo 0 ++fi ++ ++exit 0 +diff --git a/configure.ac b/configure.ac +index 5493c9c7ccdf..9bf62a5c6409 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,6 +76,8 @@ AC_CHECK_FUNCS([ \ + strtoul \ + ]) + ++AM_CONDITIONAL(HAVE_FORK, test "$ac_cv_func_fork_works" = "yes") ++ + # glibc versions before 2.17 needs to link with -lrt for clock_nanosleep + AC_SEARCH_LIBS([clock_nanosleep], [rt]) + +diff --git a/fork_test.c b/fork_test.c +new file mode 100644 +index 000000000000..036692392483 +--- /dev/null ++++ b/fork_test.c +@@ -0,0 +1,27 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++/* ++ * Copyright (C) 2023 Dario Binacchi ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the version 2 of the GNU General Public License ++ * as published by the Free Software Foundation ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#include ++#include ++#include ++ ++int main(int argc, char **argv) ++{ ++ fork(); ++ ++ return 0; ++} +-- +2.32.0 + diff --git a/package/can-utils/Config.in b/package/can-utils/Config.in index bdc84b461af..a33919a2086 100644 --- a/package/can-utils/Config.in +++ b/package/can-utils/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_CAN_UTILS bool "can-utils" - depends on BR2_USE_MMU # fork() help SocketCAN is a set of open source CAN drivers and a networking stack. diff --git a/package/can-utils/can-utils.hash b/package/can-utils/can-utils.hash index 4e47143f313..e539e05b456 100644 --- a/package/can-utils/can-utils.hash +++ b/package/can-utils/can-utils.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 c9b8f29515ad34af7f78450ec55c983abc5393e86b1f128a92ac0dfd141baaf7 can-utils-2021.08.0.tar.gz +sha256 2790dfb57fe3ec22b6fd512838c6480c39f7c9ae193e59f1ae01221216505a7e can-utils-2023.03.tar.gz sha256 c3dc748f5e725cf5ed89784fe78e4ff1b05d309bf1e7ade4c572e8fde1b8406c LICENSES/BSD-3-Clause sha256 995a31f60a9ddb4c609214cc7d17ca94cc3cbc7f37e1e64dba81e7f8ea9d4f91 LICENSES/GPL-2.0-only.txt diff --git a/package/can-utils/can-utils.mk b/package/can-utils/can-utils.mk index 5b8a2aeea3b..462e123c6d9 100644 --- a/package/can-utils/can-utils.mk +++ b/package/can-utils/can-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -CAN_UTILS_VERSION = 2021.08.0 +CAN_UTILS_VERSION = 2023.03 CAN_UTILS_SITE = $(call github,linux-can,can-utils,v$(CAN_UTILS_VERSION)) CAN_UTILS_LICENSE = BSD-3-Clause or GPL-2.0 CAN_UTILS_LICENSE_FILES = LICENSES/BSD-3-Clause LICENSES/GPL-2.0-only.txt diff --git a/package/cantarell/cantarell.hash b/package/cantarell/cantarell.hash index 49b46340634..18e0fc2cfaa 100644 --- a/package/cantarell/cantarell.hash +++ b/package/cantarell/cantarell.hash @@ -1,4 +1,4 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.25.sha256sum +# From https://download.gnome.org/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.25.sha256sum sha256 14a228aa0b516dfc367b434a850f955a00c57fc549cbb05348e2b150196a737f cantarell-fonts-0.0.25.tar.xz # locally computed sha256 79a9d6198c0d9192c1b0bf55bcbc404a39390bd0d8c650cf20d652c2eaa284d8 COPYING diff --git a/package/cantarell/cantarell.mk b/package/cantarell/cantarell.mk index 2769b35c1f6..59e65b25c1d 100644 --- a/package/cantarell/cantarell.mk +++ b/package/cantarell/cantarell.mk @@ -6,7 +6,7 @@ CANTARELL_VERSION_MAJOR = 0.0 CANTARELL_VERSION = $(CANTARELL_VERSION_MAJOR).25 -CANTARELL_SITE = http://ftp.gnome.org/pub/gnome/sources/cantarell-fonts/$(CANTARELL_VERSION_MAJOR) +CANTARELL_SITE = https://download.gnome.org/sources/cantarell-fonts/$(CANTARELL_VERSION_MAJOR) CANTARELL_SOURCE = cantarell-fonts-$(CANTARELL_VERSION).tar.xz CANTARELL_DEPENDENCIES = host-pkgconf CANTARELL_LICENSE = OFL-1.1 diff --git a/package/capnproto/capnproto.hash b/package/capnproto/capnproto.hash index c3233e7c8b3..aa722a42427 100644 --- a/package/capnproto/capnproto.hash +++ b/package/capnproto/capnproto.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4fe1ca8ab90859f33f08d2c4fcd7099e2983b0b946beecebd2fe051e3a64c67e capnproto-0.9.2.tar.gz +sha256 c6f25940688c87ddb24e0c4e475c3213d9b044aad2ba305439cc8c224f559da6 capnproto-0.10.4.tar.gz sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE diff --git a/package/capnproto/capnproto.mk b/package/capnproto/capnproto.mk index 23f128455a2..7424a1420f7 100644 --- a/package/capnproto/capnproto.mk +++ b/package/capnproto/capnproto.mk @@ -4,7 +4,7 @@ # ################################################################################ -CAPNPROTO_VERSION = 0.9.2 +CAPNPROTO_VERSION = 0.10.4 CAPNPROTO_SITE = $(call github,capnproto,capnproto,v$(CAPNPROTO_VERSION)) CAPNPROTO_LICENSE = MIT CAPNPROTO_LICENSE_FILES = LICENSE diff --git a/package/casync/0001-src-compressor.h-fix-build-with-gcc-13.patch b/package/casync/0001-src-compressor.h-fix-build-with-gcc-13.patch new file mode 100644 index 00000000000..32af9142a73 --- /dev/null +++ b/package/casync/0001-src-compressor.h-fix-build-with-gcc-13.patch @@ -0,0 +1,40 @@ +From 8db993c32f97188bdd6de4b2aa177fc513ee7e9f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 15 Oct 2023 21:22:58 +0200 +Subject: [PATCH] src/compressor.h: fix build with gcc >= 13 + +Fix the following build failure with gcc >= 13: + +In file included from ../src/compressor.c:3: +../src/compressor.h:59:59: error: unknown type name 'size_t' + 59 | int compressor_input(CompressorContext *c, const void *p, size_t sz); + | ^~~~~~ +../src/compressor.h:19:1: note: 'size_t' is defined in header ''; did you forget to '#include '? + 18 | #include "cacompression.h" + +++ |+#include + 19 | + +Fixes: + - http://autobuild.buildroot.org/results/ab08f3b90d253db45643dd058b80ae1dd5f49d0f + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/systemd/casync/pull/270 +--- + src/compressor.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/compressor.h b/src/compressor.h +index 2c9f93b..ae2eb30 100644 +--- a/src/compressor.h ++++ b/src/compressor.h +@@ -4,6 +4,7 @@ + #define foocompresshorhfoo + + #include ++#include + + #if HAVE_LIBLZMA + # include +-- +2.42.0 + diff --git a/package/catatonit/0001-configure.ac-call-AM_INIT_AUTOMAKE-only-once.patch b/package/catatonit/0001-configure.ac-call-AM_INIT_AUTOMAKE-only-once.patch deleted file mode 100644 index b978a827a1d..00000000000 --- a/package/catatonit/0001-configure.ac-call-AM_INIT_AUTOMAKE-only-once.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 99bb9048f532257f3a2c3856cfa19fe957ab6cec Mon Sep 17 00:00:00 2001 -From: Antonio Terceiro -Date: Thu, 4 Nov 2021 07:37:13 -0300 -Subject: [PATCH] configure.ac: call AM_INIT_AUTOMAKE only once - -That second call seems to be there since the beginning, and autoconf -2.69 was fine with it. autoconf 2.71 doesn't allow it anymore: - - $ ./autogen.sh - autoreconf: export WARNINGS= - autoreconf: Entering directory '.' - autoreconf: configure.ac: not using Gettext - autoreconf: running: aclocal --force - configure.ac:34: error: AM_INIT_AUTOMAKE expanded multiple times - /usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from... - configure.ac:19: the top level - /usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from... - configure.ac:34: the top level - autom4te: error: /usr/bin/m4 failed with exit status: 1 - aclocal: error: /usr/bin/autom4te failed with exit status: 1 - autoreconf: error: aclocal failed with exit status: 1 - -Signed-off-by: Antonio Terceiro -Upstream: https://github.com/openSUSE/catatonit/commit/99bb9048f532257f3a2c3856cfa19fe957ab6cec -Signed-off-by: Christian Stewart ---- - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 12c9186..94c5c84 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -31,4 +31,3 @@ AC_FUNC_FORK - - AC_CONFIG_FILES([Makefile config.h]) - AC_OUTPUT --AM_INIT_AUTOMAKE --- -2.37.2 - diff --git a/package/catatonit/0001-fix-build-with-kernel-5.9.patch b/package/catatonit/0001-fix-build-with-kernel-5.9.patch new file mode 100644 index 00000000000..37def8e546a --- /dev/null +++ b/package/catatonit/0001-fix-build-with-kernel-5.9.patch @@ -0,0 +1,49 @@ +From 65e1b96bd40cb14b3729ac56bb9f1fcb77254403 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 1 Nov 2022 14:16:01 +0100 +Subject: [PATCH] fix build with kernel < 5.9 + +linux/close_range.h is only available since kernel 5.9 and +https://github.com/torvalds/linux/commit/60997c3d45d9a67daf01c56d805ae4fec37e0bd8 +resulting in the following build failure: + +catatonit.c:39:11: fatal error: linux/close_range.h: No such file or directory + 39 | # include + | ^~~~~~~~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/ed9a847905083175c7fcb2f2df28f9ac5b9c3313 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/openSUSE/catatonit/commit/663ad1670689143f65af3a288f90cecb7feed54f +--- + catatonit.c | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/catatonit.c b/catatonit.c +index a33f4cd..b10d9b0 100644 +--- a/catatonit.c ++++ b/catatonit.c +@@ -36,7 +36,7 @@ + #include + #include + +-#ifdef HAVE_CLOSE_RANGE ++#ifdef HAVE_LINUX_CLOSE_RANGE_H + # include + #else + # include +diff --git a/configure.ac b/configure.ac +index 69e89f0..b37f146 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -24,7 +24,7 @@ LT_PREREQ([2.4.2]) + LT_INIT([disable-shared]) + + AC_CHECK_HEADERS([errno.h fcntl.h signal.h stdarg.h stdio.h stdlib.h unistd.h]) +-AC_CHECK_HEADERS([sys/prctl.h sys/signalfd.h sys/stat.h sys/types.h sys/wait.h]) ++AC_CHECK_HEADERS([linux/close_range.h sys/prctl.h sys/signalfd.h sys/stat.h sys/types.h sys/wait.h]) + + AC_CHECK_FUNCS([close_range]) + diff --git a/package/catatonit/0002-fix-build-with-kernel-5.9.patch b/package/catatonit/0002-fix-build-with-kernel-5.9.patch deleted file mode 100644 index a4c66389dbc..00000000000 --- a/package/catatonit/0002-fix-build-with-kernel-5.9.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 1fefcbffe4ade02d625bf058a7c07aeaf9fa7a2f Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 1 Nov 2022 14:16:01 +0100 -Subject: [PATCH] fix build with kernel < 5.9 - -linux/close_range.h is only available since kernel 5.9 and -https://github.com/torvalds/linux/commit/60997c3d45d9a67daf01c56d805ae4fec37e0bd8 -resulting in the following build failure: - -catatonit.c:39:11: fatal error: linux/close_range.h: No such file or directory - 39 | # include - | ^~~~~~~~~~~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/ed9a847905083175c7fcb2f2df28f9ac5b9c3313 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/openSUSE/catatonit/pull/24] ---- - catatonit.c | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/catatonit.c b/catatonit.c -index a38263a..474c525 100644 ---- a/catatonit.c -+++ b/catatonit.c -@@ -35,7 +35,7 @@ - #include - #include - --#ifdef HAVE_CLOSE_RANGE -+#ifdef HAVE_LINUX_CLOSE_RANGE_H - # include - #else - # include -diff --git a/configure.ac b/configure.ac -index 94c5c84..a746ea1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -22,7 +22,7 @@ LT_PREREQ([2.4.2]) - LT_INIT([disable-shared]) - - AC_CHECK_HEADERS([errno.h fcntl.h signal.h stdarg.h stdio.h stdlib.h unistd.h]) --AC_CHECK_HEADERS([sys/prctl.h sys/signalfd.h sys/stat.h sys/types.h sys/wait.h]) -+AC_CHECK_HEADERS([linux/close_range.h sys/prctl.h sys/signalfd.h sys/stat.h sys/types.h sys/wait.h]) - - AC_CHECK_FUNCS([close_range]) - --- -2.35.1 - diff --git a/package/catatonit/catatonit.hash b/package/catatonit/catatonit.hash index 9b7420cdb77..9940309c764 100644 --- a/package/catatonit/catatonit.hash +++ b/package/catatonit/catatonit.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e22bc72ebc23762dad8f5d2ed9d5ab1aaad567bdd54422f1d1da775277a93296 catatonit-0.1.7.tar.gz -sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING +sha256 d0cf1feffdc89c9fb52af20fc10127887a408bbd99e0424558d182b310a3dc92 catatonit-0.2.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/catatonit/catatonit.mk b/package/catatonit/catatonit.mk index 3dd58eff1d4..a308ea6471f 100644 --- a/package/catatonit/catatonit.mk +++ b/package/catatonit/catatonit.mk @@ -4,9 +4,9 @@ # ################################################################################ -CATATONIT_VERSION = 0.1.7 +CATATONIT_VERSION = 0.2.0 CATATONIT_SITE = $(call github,openSUSE,catatonit,v$(CATATONIT_VERSION)) -CATATONIT_LICENSE = GPL-3.0+ +CATATONIT_LICENSE = GPL-2.0+ CATATONIT_LICENSE_FILES = COPYING CATATONIT_AUTORECONF = YES diff --git a/package/catch2/Config.in b/package/catch2/Config.in new file mode 100644 index 00000000000..40d2d12434d --- /dev/null +++ b/package/catch2/Config.in @@ -0,0 +1,28 @@ +config BR2_PACKAGE_CATCH2 + bool "catch2" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 + depends on BR2_USE_MMU # fork() + help + Catch2 is mainly a unit testing framework for C++, but it + also provides basic micro-benchmarking features, and simple + BDD macros. + + Catch2's main advantage is that using it is both simple and + natural. Tests autoregister themselves and do not have to + be named with valid identifiers, assertions look like + normal C++ code, and sections provide a nice way to share + set-up and tear-down code in tests. + + This package allows running testsuites on the target which + might be advantageous in certain cases. + + https://github.com/catchorg/Catch2 + +comment "catch2 needs a toolchain w/ C++, wchar, threads, gcc >= 5" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/catch2/catch2.hash b/package/catch2/catch2.hash new file mode 100644 index 00000000000..ec3450836ab --- /dev/null +++ b/package/catch2/catch2.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 b7754b711242c167d8f60b890695347f90a1ebc95949a045385114165d606dbb catch2-3.5.4.tar.gz +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt diff --git a/package/catch2/catch2.mk b/package/catch2/catch2.mk new file mode 100644 index 00000000000..918f1b43199 --- /dev/null +++ b/package/catch2/catch2.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# catch2 +# +################################################################################ + +CATCH2_VERSION = 3.5.4 +CATCH2_SITE = $(call github,catchorg,Catch2,v$(CATCH2_VERSION)) +CATCH2_INSTALL_STAGING = YES +CATCH2_INSTALL_TARGET = NO +CATCH2_LICENSE = BSL-1.0 +CATCH2_LICENSE_FILES = LICENSE.txt +CATCH2_SUPPORTS_IN_SOURCE_BUILD = NO + +# We force building a static library only as building a dynamic +# library is not really supported officially: +# https://github.com/catchorg/Catch2/blob/devel/docs/faq.md#can-i-compile-catch2-into-a-dynamic-library +CATCH2_CONF_OPTS = \ + -DCATCH_INSTALL_DOCS=OFF \ + -DBUILD_SHARED_LIBS=OFF + +$(eval $(cmake-package)) diff --git a/package/ccache/0001-fix-Work-around-GCC-12.3-bug-109241.patch b/package/ccache/0001-fix-Work-around-GCC-12.3-bug-109241.patch new file mode 100644 index 00000000000..42872597cd6 --- /dev/null +++ b/package/ccache/0001-fix-Work-around-GCC-12.3-bug-109241.patch @@ -0,0 +1,29 @@ +From 689168c292f1ed26c5f4a3070aeb649dad7facb5 Mon Sep 17 00:00:00 2001 +From: Joel Rosdahl +Date: Tue, 1 Aug 2023 12:30:12 +0200 +Subject: [PATCH] fix: Work around GCC 12.3 bug 109241 + +See also #1289. + +Upstream: https://github.com/ccache/ccache/commit/689168c292f1ed26c5f4a3070aeb649dad7facb5 + +Signed-off-by: Bernd Kuhls +--- + src/storage/local/LocalStorage.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/storage/local/LocalStorage.cpp b/src/storage/local/LocalStorage.cpp +index 3e5abe5074..d0a904e553 100644 +--- a/src/storage/local/LocalStorage.cpp ++++ b/src/storage/local/LocalStorage.cpp +@@ -854,7 +854,9 @@ LocalStorage::recompress(const std::optional level, + auto l2_content_lock = get_level_2_content_lock(l1_index, l2_index); + l2_content_lock.make_long_lived(lock_manager); + if (!l2_content_lock.acquire()) { +- LOG("Failed to acquire content lock for {}/{}", l1_index, l2_index); ++ // LOG_RAW+fmt::format instead of LOG due to GCC 12.3 bug #109241 ++ LOG_RAW(fmt::format( ++ "Failed to acquire content lock for {}/{}", l1_index, l2_index)); + return; + } + diff --git a/package/ccache/ccache.hash b/package/ccache/ccache.hash index 16cfad602c9..736122e0abf 100644 --- a/package/ccache/ccache.hash +++ b/package/ccache/ccache.hash @@ -1,4 +1,4 @@ # sha256 computed locally -sha256 a02f4e8360dc6618bc494ca35b0ae21cea080f804a4898eab1ad3fcd108eb400 ccache-3.7.12.tar.xz -sha256 ec6b1a326ff93b2cc21df88a697ae470ff6927a55b8929e7e491b315e1563361 GPL-3.0.txt -sha256 4f63223bcdee822d55a6768cc8399ffe06401d7a03cfe79e1dc305f50dc22c59 LICENSE.adoc +sha256 3d3fb3f888a5b16c4fa7ee5214cca76348afd6130e8443de5f6f2424f2076a49 ccache-4.8.2.tar.xz +sha256 80b5112739a423dfac7bed1ca8a1df3cccda3d794425441997d4462b83db4dd5 GPL-3.0.txt +sha256 55ce274f2b898dad70d3695ab13f82656fd455bd8fb6d1c85d6f7c453bef0b2e LICENSE.adoc diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 97aa8b1c75d..5796079295f 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,27 +4,21 @@ # ################################################################################ -CCACHE_VERSION = 3.7.12 +CCACHE_VERSION = 4.8.2 CCACHE_SITE = https://github.com/ccache/ccache/releases/download/v$(CCACHE_VERSION) CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz CCACHE_LICENSE = GPL-3.0+, others CCACHE_LICENSE_FILES = LICENSE.adoc GPL-3.0.txt - -# Force ccache to use its internal zlib. The problem is that without -# this, ccache would link against the zlib of the build system, but we -# might build and install a different version of zlib in $(O)/host -# afterwards, which ccache will pick up. This might break if there is -# a version mismatch. A solution would be to add host-zlib has a -# dependency of ccache, but it would require tuning the zlib .mk file -# to use HOSTCC_NOCCACHE as the compiler. Instead, we take the easy -# path: tell ccache to use its internal copy of zlib, so that ccache -# has zero dependency besides the C library. -HOST_CCACHE_CONF_OPTS += --with-bundled-zlib +HOST_CCACHE_DEPENDENCIES = host-hiredis host-zstd # We are ccache, so we can't use ccache -HOST_CCACHE_CONF_ENV = \ - CC="$(HOSTCC_NOCCACHE)" \ - CXX="$(HOSTCXX_NOCCACHE)" +HOST_CCACHE_CONF_OPTS += \ + -UCMAKE_C_COMPILER_LAUNCHER \ + -UCMAKE_CXX_COMPILER_LAUNCHER \ + -DCCACHE_DEV_MODE=OFF \ + -DZSTD_FROM_INTERNET=OFF \ + -DHIREDIS_FROM_INTERNET=OFF \ + -DENABLE_TESTING=OFF # Patch host-ccache as follows: # - Use BR_CACHE_DIR instead of CCACHE_DIR, because CCACHE_DIR @@ -33,13 +27,17 @@ HOST_CCACHE_CONF_ENV = \ # BR2_CCACHE_DIR. # - Change hard-coded last-ditch default to match path in .config, to avoid # the need to specify BR_CACHE_DIR when invoking ccache directly. -# CCache replaces "%s" with the home directory of the current user, -# So rewrite BR_CACHE_DIR to take that into consideration for SDK purpose -HOST_CCACHE_DEFAULT_CCACHE_DIR = $(patsubst $(HOME)/%,\%s/%,$(BR_CACHE_DIR)) +# CCache replaces "home_dir" with the home directory of the current user, +# so rewrite BR_CACHE_DIR to take that into consideration for SDK purpose +HOST_CCACHE_DEFAULT_CCACHE_DIR = $(patsubst $(HOME)/%,%,$(BR_CACHE_DIR)) define HOST_CCACHE_PATCH_CONFIGURATION - sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/src/ccache.c - sed -i 's,"%s/.ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/src/conf.c + sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/src/Config.cpp + sed -i 's,".ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/src/Config.cpp + sed -i 's,"/.cache/ccache","/$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/src/Config.cpp + sed -i 's,"/.config/ccache","/$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/src/Config.cpp + sed -i 's,getenv("XDG_CACHE_HOME"),nullptr,' $(@D)/src/Config.cpp + sed -i 's,getenv("XDG_CONFIG_HOME"),nullptr,' $(@D)/src/Config.cpp endef HOST_CCACHE_POST_PATCH_HOOKS += HOST_CCACHE_PATCH_CONFIGURATION @@ -62,7 +60,7 @@ endef HOST_CCACHE_POST_INSTALL_HOOKS += HOST_CCACHE_DO_INITIAL_SETUP endif -$(eval $(host-autotools-package)) +$(eval $(host-cmake-package)) ifeq ($(BR2_CCACHE),y) ccache-stats: host-ccache diff --git a/package/ccid/ccid.hash b/package/ccid/ccid.hash index d42d0778f17..fcd8d10ed9e 100644 --- a/package/ccid/ccid.hash +++ b/package/ccid/ccid.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 81549b3422469d503996d03a3aed2ef1375b359167f10d66be9e3844e729322e ccid-1.5.0.tar.bz2 +sha256 13934487e6f8b48f699a16d367cc7a1af7a3ca874de721ac6e9633beb86e7219 ccid-1.5.2.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/package/ccid/ccid.mk b/package/ccid/ccid.mk index c05e28a5d27..0510b4c9ad2 100644 --- a/package/ccid/ccid.mk +++ b/package/ccid/ccid.mk @@ -4,7 +4,7 @@ # ################################################################################ -CCID_VERSION = 1.5.0 +CCID_VERSION = 1.5.2 CCID_SOURCE = ccid-$(CCID_VERSION).tar.bz2 CCID_SITE = https://ccid.apdu.fr/files CCID_LICENSE = LGPL-2.1+ diff --git a/package/cegui/0002-Fix-return-type-of-xmlGetLastError-for-libxml2-2-12.patch b/package/cegui/0002-Fix-return-type-of-xmlGetLastError-for-libxml2-2-12.patch new file mode 100644 index 00000000000..9091062e289 --- /dev/null +++ b/package/cegui/0002-Fix-return-type-of-xmlGetLastError-for-libxml2-2-12.patch @@ -0,0 +1,29 @@ +From 285ba5a2c0c435ed865c6e86afe314a822fd1e3f Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Sun, 18 Feb 2024 14:16:21 -0800 +Subject: [PATCH] Fix return type of xmlGetLastError for libxml2 2.12 + +https://gitlab.gnome.org/GNOME/libxml2/-/commit/45470611b047db78106dcb2fdbd4164163c15ab7 + +Upstream: https://github.com/cegui/cegui/commit/285ba5a2c0c435ed865c6e86afe314a822fd1e3f +Signed-off-by: Fabrice Fontaine +--- + cegui/src/XMLParserModules/Libxml2/XMLParser.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp b/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp +index 74a3dbddd..a408f9305 100644 +--- a/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp ++++ b/cegui/src/XMLParserModules/Libxml2/XMLParser.cpp +@@ -109,7 +109,11 @@ void LibxmlParser::parseXML(XMLHandler& handler, + + if (!doc) + { ++#if LIBXML_VERSION >= 21200 ++ const xmlError* err = xmlGetLastError(); ++#else + xmlError* err = xmlGetLastError(); ++#endif + + throw GenericException( + String("xmlParseMemory failed in file: '") + diff --git a/package/cgroupfs-mount/cgroupfs-mount.mk b/package/cgroupfs-mount/cgroupfs-mount.mk index acf7442056b..5af87629ea7 100644 --- a/package/cgroupfs-mount/cgroupfs-mount.mk +++ b/package/cgroupfs-mount/cgroupfs-mount.mk @@ -8,7 +8,7 @@ CGROUPFS_MOUNT_VERSION = 1.4 CGROUPFS_MOUNT_SITE = $(call github,tianon,cgroupfs-mount,$(CGROUPFS_MOUNT_VERSION)) CGROUPFS_MOUNT_LICENSE = GPL-3.0+ CGROUPFS_MOUNT_LICENSE_FILES = debian/copyright -CGROUPFS_MOUNT_CPE_ID_VENDOR = cgroupfs-mount_project +CGROUPFS_MOUNT_CPE_ID_VALID = YES define CGROUPFS_MOUNT_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/cgroupfs-mount $(TARGET_DIR)/usr/bin/cgroupfs-mount diff --git a/package/check/check.hash b/package/check/check.hash index 543e78f317e..a8cec60d16a 100644 --- a/package/check/check.hash +++ b/package/check/check.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a check-0.15.2.tar.gz +sha256 20e7360f5774844c09fde696e5bf71d061e9f53b3d763d886d3318d8893fdda4 check-11970a7e112dfe243a2e68773f014687df2900e8.tar.gz # License files, locally calculated sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LESSER diff --git a/package/check/check.mk b/package/check/check.mk index be825394698..95fe5c9d576 100644 --- a/package/check/check.mk +++ b/package/check/check.mk @@ -4,17 +4,14 @@ # ################################################################################ -CHECK_VERSION = 0.15.2 -CHECK_SITE = https://github.com/libcheck/check/releases/download/$(CHECK_VERSION) +# This is the same as tag 0.15.2, but we can't use it, as to avoid conflict +# with the released tarball that was incomplete +CHECK_VERSION = 11970a7e112dfe243a2e68773f014687df2900e8 +CHECK_SITE = $(call github,libcheck,check,$(CHECK_VERSION)) CHECK_INSTALL_STAGING = YES CHECK_DEPENDENCIES = host-pkgconf CHECK_LICENSE = LGPL-2.1+ CHECK_LICENSE_FILES = COPYING.LESSER +CHECK_CONF_OPTS = -DBUILD_TESTING=OFF -DINSTALL_CHECKMK=OFF -# Having checkmk in the target makes no sense -define CHECK_REMOVE_CHECKMK - rm -f $(TARGET_DIR)/usr/bin/checkmk -endef -CHECK_POST_INSTALL_TARGET_HOOKS += CHECK_REMOVE_CHECKMK - -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/checkpolicy/checkpolicy.hash b/package/checkpolicy/checkpolicy.hash index 35863890474..fcfd81c554d 100644 --- a/package/checkpolicy/checkpolicy.hash +++ b/package/checkpolicy/checkpolicy.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 25c84edfa3a10ab8cb073b97bc55cb66377532d54a2723da9accdabd05431485 checkpolicy-3.3.tar.gz +sha256 7aa48ab2222a0b9881111d6d7f70c3014d3d9338827d9e02df105a68c0df5dbc checkpolicy-3.5.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index af9a58cee89..024d306233a 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -4,10 +4,10 @@ # ################################################################################ -CHECKPOLICY_VERSION = 3.3 +CHECKPOLICY_VERSION = 3.5 CHECKPOLICY_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(CHECKPOLICY_VERSION) CHECKPOLICY_LICENSE = GPL-2.0 -CHECKPOLICY_LICENSE_FILES = COPYING +CHECKPOLICY_LICENSE_FILES = LICENSE CHECKPOLICY_DEPENDENCIES = libselinux flex host-flex host-bison @@ -20,11 +20,6 @@ define CHECKPOLICY_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) endef -define CHECKPOLICY_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install - -endef - define CHECKPOLICY_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(CHECKPOLICY_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install endef diff --git a/package/chocolate-doom/chocolate-doom.mk b/package/chocolate-doom/chocolate-doom.mk index 8318c123bd9..581b2c51c23 100644 --- a/package/chocolate-doom/chocolate-doom.mk +++ b/package/chocolate-doom/chocolate-doom.mk @@ -8,6 +8,8 @@ CHOCOLATE_DOOM_VERSION = 3.0.1 CHOCOLATE_DOOM_SITE = http://www.chocolate-doom.org/downloads/$(CHOCOLATE_DOOM_VERSION) CHOCOLATE_DOOM_LICENSE = GPL-2.0+ CHOCOLATE_DOOM_LICENSE_FILES = COPYING +CHOCOLATE_DOOM_CPE_ID_VENDOR = chocolate-doom +CHOCOLATE_DOOM_CPE_ID_PRODUCT = chocolate_doom CHOCOLATE_DOOM_DEPENDENCIES = host-pkgconf sdl2 sdl2_mixer sdl2_net # Avoid installing desktop entries, icons, etc. diff --git a/package/chrony/Config.in b/package/chrony/Config.in index 158dc205307..c22b756c113 100644 --- a/package/chrony/Config.in +++ b/package/chrony/Config.in @@ -1,16 +1,20 @@ config BR2_PACKAGE_CHRONY bool "chrony" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBCAP help Chrony is a pair of programs which are used to maintain the accuracy of the system clock. http://chrony.tuxfamily.org/ +if BR2_PACKAGE_CHRONY + config BR2_PACKAGE_CHRONY_DEBUG_LOGGING bool "enable debug logging support" - depends on BR2_PACKAGE_CHRONY help Enable support for debug logging output from Chrony when enabled at runtime. If disabled, code for debug logging will not be compiled in. + +endif diff --git a/package/chrony/chrony.hash b/package/chrony/chrony.hash index 9c0e11757ba..2cf6cca031b 100644 --- a/package/chrony/chrony.hash +++ b/package/chrony/chrony.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://download.tuxfamily.org/chrony/chrony-4.3-tar-gz-asc.txt -sha256 9d0da889a865f089a5a21610ffb6713e3c9438ce303a63b49c2fb6eaff5b8804 chrony-4.3.tar.gz +# https://download.tuxfamily.org/chrony/chrony-4.4-tar-gz-asc.txt +sha256 eafb07e6daf92b142200f478856dfed6efc9ea2d146eeded5edcb09b93127088 chrony-4.4.tar.gz # Locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk index 379e95a7789..e7e6931a2a8 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -4,26 +4,25 @@ # ################################################################################ -CHRONY_VERSION = 4.3 +CHRONY_VERSION = 4.4 CHRONY_SITE = http://download.tuxfamily.org/chrony CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING CHRONY_CPE_ID_VENDOR = tuxfamily CHRONY_SELINUX_MODULES = chronyd -CHRONY_DEPENDENCIES = host-pkgconf +CHRONY_DEPENDENCIES = host-pkgconf libcap CHRONY_CONF_OPTS = \ --host-system=Linux \ --host-machine=$(BR2_ARCH) \ --prefix=/usr \ --without-tomcrypt \ + --with-user=chrony \ $(if $(BR2_PACKAGE_CHRONY_DEBUG_LOGGING),--enable-debug,--disable-debug) -ifeq ($(BR2_PACKAGE_LIBCAP),y) -CHRONY_DEPENDENCIES += libcap -else -CHRONY_CONF_OPTS += --without-libcap -endif +define CHRONY_USERS + chrony -1 chrony -1 * /run/chrony - - Time daemon +endef ifeq ($(BR2_PACKAGE_LIBNSS),y) CHRONY_DEPENDENCIES += libnss diff --git a/package/civetweb/0001-resources-Makefile.in-lua-fix-build-with-Lua-5.1.patch b/package/civetweb/0001-resources-Makefile.in-lua-fix-build-with-Lua-5.1.patch new file mode 100644 index 00000000000..ac9655caf5d --- /dev/null +++ b/package/civetweb/0001-resources-Makefile.in-lua-fix-build-with-Lua-5.1.patch @@ -0,0 +1,44 @@ +From 3afcd237e509a6700c449056dcc5b9092af31e6a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 Nov 2023 21:38:02 +0100 +Subject: [PATCH] resources/Makefile.in-lua: fix build with Lua 5.1 + +Fix the following build failure with Lua 5.1 raised since version 1.16 +and +https://github.com/civetweb/civetweb/commit/82ba5a04c9a1ca980d8dfe00c18e086017e8ab25: + +/home/buildroot/autobuild/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sh4-buildroot-linux-gnu/13.2.0/../../../../sh4-buildroot-linux-gnu/bin/ld: out/src/third_party/lua_struct.o: in function `luaopen_struct': +lua_struct.c:(.text+0xce4): undefined reference to `luaL_newlib' + +Fixes: + - http://autobuild.buildroot.org/results/7459b504e52f473c5830c0f3c7bffd037f6e1770 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/civetweb/civetweb/pull/1211 +--- + resources/Makefile.in-lua | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/resources/Makefile.in-lua b/resources/Makefile.in-lua +index d3038f66..45f80181 100644 +--- a/resources/Makefile.in-lua ++++ b/resources/Makefile.in-lua +@@ -150,6 +150,7 @@ CFLAGS += -DUSE_LUA_FILE_SYSTEM + #SOURCE_DIRS = $(LFS_DIR) + + ++ifneq ($(WITH_LUA_VERSION), 501) + LXX_DIR = src/third_party + LXX_SOURCE_FILES = lua_struct.c + LXX_SOURCES = $(addprefix $(LXX_DIR)/, $(LXX_SOURCE_FILES)) +@@ -159,6 +160,7 @@ OBJECTS += $(LXX_OBJECTS) + CFLAGS += $(LXX_CFLAGS) + CFLAGS += -DUSE_LUA_STRUCT + #SOURCE_DIRS = $(LXX_DIR) ++endif + + + ifneq ($(WITH_LUA_VERSION), 501) +-- +2.42.0 + diff --git a/package/civetweb/civetweb.hash b/package/civetweb/civetweb.hash index bdf6d77427f..0daa6efee2b 100644 --- a/package/civetweb/civetweb.hash +++ b/package/civetweb/civetweb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 90a533422944ab327a4fbb9969f0845d0dba05354f9cacce3a5005fa59f593b9 civetweb-1.15.tar.gz -sha256 24d3d2aee56ae3cddcdf3392c1250877818108314233cf15f2bc9eb3ac298934 LICENSE.md +sha256 f0e471c1bf4e7804a6cfb41ea9d13e7d623b2bcc7bc1e2a4dd54951a24d60285 civetweb-1.16.tar.gz +sha256 bc24af9ffb777f4842f8556ac752efd5ea212c55d2eccfae58cc2c2a24ea1f03 LICENSE.md diff --git a/package/civetweb/civetweb.mk b/package/civetweb/civetweb.mk index a299de85e91..629c1b59b25 100644 --- a/package/civetweb/civetweb.mk +++ b/package/civetweb/civetweb.mk @@ -4,11 +4,11 @@ # ################################################################################ -CIVETWEB_VERSION = 1.15 +CIVETWEB_VERSION = 1.16 CIVETWEB_SITE = $(call github,civetweb,civetweb,v$(CIVETWEB_VERSION)) CIVETWEB_LICENSE = MIT CIVETWEB_LICENSE_FILES = LICENSE.md -CIVETWEB_CPE_ID_VENDOR = civetweb_project +CIVETWEB_CPE_ID_VALID = YES CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \ $(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1) diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index c39e884cdd9..e07ae0f7bfc 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5308fd4bd90cef7aa060558514de6a1a4a0819974a26e6ed13973c5f624c24b2 cjson-1.7.15.tar.gz +sha256 3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5 cjson-1.7.18.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index ad9d76a4bab..35304ec6189 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,12 +4,12 @@ # ################################################################################ -CJSON_VERSION = 1.7.15 +CJSON_VERSION = 1.7.18 CJSON_SITE = $(call github,DaveGamble,cjson,v$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT CJSON_LICENSE_FILES = LICENSE -CJSON_CPE_ID_VENDOR = cjson_project +CJSON_CPE_ID_VALID = YES # Set ENABLE_CUSTOM_COMPILER_FLAGS to OFF in particular to disable # -fstack-protector-strong which depends on BR2_TOOLCHAIN_HAS_SSP CJSON_CONF_OPTS += \ diff --git a/package/clamav/0001-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch b/package/clamav/0001-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch deleted file mode 100644 index d4be5c7b297..00000000000 --- a/package/clamav/0001-mbox-do-not-use-backtrace-if-using-uClibc-without-ba.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 053bac34b9f0f947c58fcdf80ac03d5a6b05aa12 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Mon, 7 May 2018 23:15:58 +0200 -Subject: [PATCH] mbox: do not use backtrace if using uClibc without backtrace - support - -Since uClibc can be configured without support for backtrace, disable -the backtrace if we are building with a uClibc that was built without -backtrace. - -This is a bit hacky, and would greatly benefit from a test in ./configure -instead, but does nicely as a quick fix for now. - -Signed-off-by: "Yann E. MORIN" -Signed-off-by: Bernd Kuhls -[Bernd: rebased for 0.103.0] ---- - libclamav/mbox.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libclamav/mbox.c b/libclamav/mbox.c -index 71f540c0a..4851297a9 100644 ---- a/libclamav/mbox.c -+++ b/libclamav/mbox.c -@@ -91,7 +91,7 @@ - #include - #endif - --#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 && !defined(__UCLIBC__) || defined(__UCLIBC_HAS_BACKTRACE__) - #define HAVE_BACKTRACE - #endif - #endif --- -2.14.3 - diff --git a/package/clamav/Config.in b/package/clamav/Config.in index 2857f9cbf43..ae5cad036ad 100644 --- a/package/clamav/Config.in +++ b/package/clamav/Config.in @@ -1,14 +1,20 @@ config BR2_PACKAGE_CLAMAV bool "clamav" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlopen depends on BR2_USE_WCHAR + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_HOST_RUSTC + select BR2_PACKAGE_JSON_C select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBMSPACK + select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PCRE2 select BR2_PACKAGE_ZLIB select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB help @@ -20,4 +26,5 @@ config BR2_PACKAGE_CLAMAV comment "clamav needs a toolchain w/ C++, dynamic library, threads, wchar" depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS depends on BR2_USE_MMU diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index 60439400eea..b2b7bfb9871 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,14 +1,14 @@ # Locally calculated -sha256 1e34c31f600cb3b5bd1bf76690590cdeebe9409b330959b1c0f77d421bb17e50 clamav-0.103.7.tar.gz -sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING -sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 -sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file -sha256 6dce638b76399e7521ad8e182d3e33e4496c85b3b69b6ff434b53017101e82ad COPYING.getopt -sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LGPL -sha256 e3a9b913515a42f8ff3ef1551c3a2cdba383c39ed959729e0e2911219496ad74 COPYING.llvm -sha256 d96d71b66aa32c4a2d1619b9ca3347dafa9460bcf0fb5ac2408916067ad31dfc COPYING.lzma -sha256 accdcf2455c07b99abea59016b3663eaef926a92092d103bfaa25fed27cf6b24 COPYING.pcre -sha256 e2c1395a3d9fea6d5d25847c9d783db6e2cc8b085b4025861f459139c5dfd90b COPYING.regex -sha256 1faccc6b5c7b958fb807a3f573d5be9bf7889fe898f7e0617c544b05a81bfd00 COPYING.unrar -sha256 a20d6317c5384e8d4c05f9c31097878675d9429ec46090656166039cc10bc957 COPYING.YARA -sha256 c2f77553f8d870c5635b0dace0519253233f172b33ce1fdf6578610706294eee COPYING.zlib +sha256 12dcd842b6c46e5a9fdf2f5c16304efafe53310ac4605990465651b0c42227b2 clamav-1.0.6.tar.gz +sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING.txt +sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING/COPYING.bzip2 +sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING/COPYING.file +sha256 6dce638b76399e7521ad8e182d3e33e4496c85b3b69b6ff434b53017101e82ad COPYING/COPYING.getopt +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING/COPYING.LGPL +sha256 e3a9b913515a42f8ff3ef1551c3a2cdba383c39ed959729e0e2911219496ad74 COPYING/COPYING.llvm +sha256 c7cbcf00b59dc61165b655b45bf6c21bb685d593861e7abbc78460c499167b42 COPYING/COPYING.lzma +sha256 accdcf2455c07b99abea59016b3663eaef926a92092d103bfaa25fed27cf6b24 COPYING/COPYING.pcre +sha256 e2c1395a3d9fea6d5d25847c9d783db6e2cc8b085b4025861f459139c5dfd90b COPYING/COPYING.regex +sha256 1faccc6b5c7b958fb807a3f573d5be9bf7889fe898f7e0617c544b05a81bfd00 COPYING/COPYING.unrar +sha256 a20d6317c5384e8d4c05f9c31097878675d9429ec46090656166039cc10bc957 COPYING/COPYING.YARA +sha256 c2f77553f8d870c5635b0dace0519253233f172b33ce1fdf6578610706294eee COPYING/COPYING.zlib diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index dfdc4166013..eb3abaa21c9 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,30 +4,38 @@ # ################################################################################ -CLAMAV_VERSION = 0.103.7 +CLAMAV_VERSION = 1.0.6 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 -CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ - COPYING.LGPL COPYING.llvm COPYING.lzma COPYING.pcre COPYING.regex \ - COPYING.unrar COPYING.zlib +CLAMAV_LICENSE_FILES = \ + COPYING.txt \ + COPYING/COPYING.bzip2 \ + COPYING/COPYING.file \ + COPYING/COPYING.getopt \ + COPYING/COPYING.LGPL \ + COPYING/COPYING.llvm \ + COPYING/COPYING.lzma \ + COPYING/COPYING.pcre \ + COPYING/COPYING.regex \ + COPYING/COPYING.unrar \ + COPYING/COPYING.zlib CLAMAV_CPE_ID_VENDOR = clamav CLAMAV_SELINUX_MODULES = clamav # affects only Cisco devices CLAMAV_IGNORE_CVES += CVE-2016-1405 CLAMAV_DEPENDENCIES = \ + bzip2 \ host-pkgconf \ + host-rustc \ + json-c \ libcurl \ libmspack \ + libxml2 \ openssl \ + pcre2 \ zlib \ $(TARGET_NLS_DEPENDENCIES) -# mmap cannot be detected when cross-compiling, needed for mempool support -CLAMAV_CONF_ENV = \ - ac_cv_c_mmap_private=yes \ - have_cv_ipv6=yes \ - OBJC=$(TARGET_CC) - ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) CLAMAV_LIBS += -latomic endif @@ -37,69 +45,29 @@ CLAMAV_DEPENDENCIES += musl-fts CLAMAV_LIBS += -lfts endif -CLAMAV_CONF_ENV += LIBS="$(CLAMAV_LIBS)" - CLAMAV_CONF_OPTS = \ - --with-dbdir=/var/lib/clamav \ - --with-libcurl=$(STAGING_DIR)/usr \ - --with-openssl=$(STAGING_DIR)/usr \ - --with-system-libmspack=$(STAGING_DIR)/usr \ - --with-zlib=$(STAGING_DIR)/usr \ - --disable-zlib-vcheck \ - --disable-rpath \ - --disable-clamav \ - --disable-milter \ - --disable-llvm \ - --disable-clamdtop \ - --enable-mempool - -ifeq ($(BR2_PACKAGE_BZIP2),y) -CLAMAV_DEPENDENCIES += bzip2 -# autodetection gets confused if host has bzip2, so force it -CLAMAV_CONF_ENV += \ - ac_cv_libbz2_libs=-lbz2 \ - ac_cv_libbz2_ltlibs=-lbz2 -else -CLAMAV_CONF_OPTS += --disable-bzip2 -endif - -ifeq ($(BR2_PACKAGE_JSON_C),y) -CLAMAV_CONF_OPTS += --with-libjson=$(STAGING_DIR)/usr -CLAMAV_DEPENDENCIES += json-c -else -CLAMAV_CONF_OPTS += --without-libjson -endif - -ifeq ($(BR2_PACKAGE_LIBXML2),y) -CLAMAV_CONF_ENV += ac_cv_path_xmlconfig=$(STAGING_DIR)/usr/bin/xml2-config -CLAMAV_CONF_OPTS += --with-xml=$(STAGING_DIR)/usr -CLAMAV_DEPENDENCIES += libxml2 -else -CLAMAV_CONF_OPTS += --disable-xml -endif - -ifeq ($(BR2_PACKAGE_LIBICONV),y) -CLAMAV_CONF_OPTS += --with-iconv -CLAMAV_DEPENDENCIES += libiconv -else -CLAMAV_CONF_OPTS += --without-iconv -endif - -ifeq ($(BR2_PACKAGE_PCRE2),y) -CLAMAV_CONF_OPTS += --with-pcre=$(STAGING_DIR)/usr -CLAMAV_DEPENDENCIES += pcre2 -else ifeq ($(BR2_PACKAGE_PCRE),y) -CLAMAV_CONF_OPTS += --with-pcre=$(STAGING_DIR)/usr -CLAMAV_DEPENDENCIES += pcre -else -CLAMAV_CONF_OPTS += --without-pcre -endif + -DCMAKE_EXE_LINKER_FLAGS="$(CLAMAV_LIBS)" \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DENABLE_JSON_SHARED=ON \ + -DENABLE_MAN_PAGES=OFF \ + -DENABLE_MILTER=OFF \ + -DENABLE_TESTS=OFF \ + -DHAVE_SYSTEM_LFS_FTS=ON \ + -DRUST_COMPILER_TARGET=$(RUSTC_TARGET_NAME) \ + -Dtest_run_result=ON \ + -Dtest_run_result__TRYRUN_OUTPUT=ON +ifeq ($(BR2_PACKAGE_NCURSES),y) +CLAMAV_CONF_OPTS += -DENABLE_APP=ON +CLAMAV_DEPENDENCIES += ncurses ifeq ($(BR2_INIT_SYSTEMD),y) -CLAMAV_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +CLAMAV_CONF_OPTS += -DENABLE_SYSTEMD=ON CLAMAV_DEPENDENCIES += systemd else -CLAMAV_CONF_OPTS += --with-systemdsystemunitdir=no +CLAMAV_CONF_OPTS += -DENABLE_SYSTEMD=OFF +endif +else +CLAMAV_CONF_OPTS += -DENABLE_APP=OFF -DENABLE_SYSTEMD=OFF endif -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/clang/Config.in b/package/clang/Config.in deleted file mode 100644 index e4d455781e4..00000000000 --- a/package/clang/Config.in +++ /dev/null @@ -1,27 +0,0 @@ -config BR2_PACKAGE_CLANG - bool "clang" - depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future - depends on !BR2_STATIC_LIBS - depends on BR2_USE_WCHAR # std::wstring - depends on BR2_HOST_GCC_AT_LEAST_5 - select BR2_PACKAGE_LLVM - help - Clang is a C/C++, Objective C/C++ and OpenCL C front-end - for the LLVM compiler. - - http://clang.llvm.org - -comment "clang needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5" - depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \ - || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || !BR2_HOST_GCC_AT_LEAST_5 - -comment "clang needs a toolchain not affected by GCC bug 64735" - depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/clang/clang.hash b/package/clang/clang.hash deleted file mode 100644 index 0136b806641..00000000000 --- a/package/clang/clang.hash +++ /dev/null @@ -1,3 +0,0 @@ -# locally calculated -sha256 0a8288f065d1f57cb6d96da4d2965cbea32edc572aa972e466e954d17148558b clang-11.1.0.src.tar.xz -sha256 ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47 LICENSE.TXT diff --git a/package/cli11/Config.in b/package/cli11/Config.in new file mode 100644 index 00000000000..87db9ac8f77 --- /dev/null +++ b/package/cli11/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_CLI11 + bool "cli11" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + CLI11 is a command line parser for C++11 and beyond that + provides a rich feature set with a simple and intuitive + interface. + + https://github.com/CLIUtils/CLI11 + +comment "cli11 needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/cli11/cli11.hash b/package/cli11/cli11.hash new file mode 100644 index 00000000000..42ab5d13113 --- /dev/null +++ b/package/cli11/cli11.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 aac0ab42108131ac5d3344a9db0fdf25c4db652296641955720a4fbe52334e22 cli11-2.3.2.tar.gz +sha256 4110754959bd99e0ebc34001ed0402ff5f371364e83f9db6d1e230d02368984f LICENSE diff --git a/package/cli11/cli11.mk b/package/cli11/cli11.mk new file mode 100644 index 00000000000..349c14fe605 --- /dev/null +++ b/package/cli11/cli11.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# cli11 +# +################################################################################ + +CLI11_VERSION = 2.3.2 +CLI11_SITE = $(call github,CLIUtils,CLI11,v$(CLI11_VERSION)) +CLI11_LICENSE = BSD-3-Clause +CLI11_LICENSE_FILES = LICENSE +CLI11_INSTALL_STAGING = YES +CLI11_INSTALL_TARGET = NO +CLI11_CONF_OPTS = -DCLI11_BUILD_DOCS=OFF -DCLI11_BUILD_EXAMPLES=OFF + +$(eval $(cmake-package)) diff --git a/package/cmake/0001-rename-cmake-rootfile.patch b/package/cmake/0001-rename-cmake-rootfile.patch index a8cd3ee8205..7e6e0a8cf77 100644 --- a/package/cmake/0001-rename-cmake-rootfile.patch +++ b/package/cmake/0001-rename-cmake-rootfile.patch @@ -12,10 +12,12 @@ This buildroot-specific patch makes sure ctest looks also for [Vincent: tweak patch for 3.6.3] [James: tweak patch for 3.15.4] +[Bernd: tweak patch for 3.27.0] Signed-off-by: Davide Viti Signed-off-by: Vicente Olivert Riera Signed-off-by: James Hilliard +Signed-off-by: Bernd Kuhls --- Source/cmake.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) @@ -24,8 +26,8 @@ diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 3772f09985..c317e4af38 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx -@@ -1009,7 +1009,12 @@ int cmake::AddCMakePaths() - "Path to cpack program executable.", cmStateEnums::INTERNAL); +@@ -1891,7 +1891,12 @@ int cmake::AddCMakePaths() + cmStateEnums::INTERNAL); #endif if (!cmSystemTools::FileExists( - (cmSystemTools::GetCMakeRoot() + "/Modules/CMake.cmake"))) { diff --git a/package/cmake/Config.in b/package/cmake/Config.in index 3c47fdcb497..00692fe78a9 100644 --- a/package/cmake/Config.in +++ b/package/cmake/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_CMAKE_ARCH_SUPPORTS BR2_mipsel || BR2_mips64el || BR2_powerpc || \ BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \ BR2_i386 || BR2_x86_64 || BR2_xtensa || \ - BR2_s390x + BR2_s390x || BR2_riscv config BR2_PACKAGE_CMAKE bool @@ -14,7 +14,7 @@ config BR2_PACKAGE_CMAKE config BR2_PACKAGE_CMAKE_CTEST bool "ctest" depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # from jsoncpp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # jsoncpp, libuv depends on BR2_USE_WCHAR # libarchive depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS @@ -40,10 +40,10 @@ config BR2_PACKAGE_CMAKE_CTEST http://www.cmake.org/ -comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.7, NPTL" +comment "ctest needs a toolchain w/ C++, wchar, dynamic library, gcc >= 4.9, NPTL" depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/cmake/Config.in.host b/package/cmake/Config.in.host index b2e210ee2cb..c38bb9daaa9 100644 --- a/package/cmake/Config.in.host +++ b/package/cmake/Config.in.host @@ -9,3 +9,60 @@ config BR2_PACKAGE_HOST_CMAKE the compiler environment of your choice. http://www.cmake.org/ + +# The minimum system cmake version we expect if 3.18 as provided by +# Debian bullseye, that we use in our reference build docker image. +config BR2_HOST_CMAKE_AT_LEAST_3_19 + bool + +config BR2_HOST_CMAKE_AT_LEAST_3_20 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_19 + +config BR2_HOST_CMAKE_AT_LEAST_3_21 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_20 + +config BR2_HOST_CMAKE_AT_LEAST_3_22 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_21 + +config BR2_HOST_CMAKE_AT_LEAST_3_23 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_22 + +config BR2_HOST_CMAKE_AT_LEAST_3_24 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_23 + +config BR2_HOST_CMAKE_AT_LEAST_3_25 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_24 + +config BR2_HOST_CMAKE_AT_LEAST_3_26 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_25 + +config BR2_HOST_CMAKE_AT_LEAST_3_27 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_26 + +config BR2_HOST_CMAKE_AT_LEAST_3_28 + bool + select BR2_HOST_CMAKE_AT_LEAST_3_27 + +# This order guarantees that the highest version is set, as kconfig +# stops affecting a value on the first matching default. +config BR2_HOST_CMAKE_AT_LEAST + string + default "3.28" if BR2_HOST_CMAKE_AT_LEAST_3_28 + default "3.27" if BR2_HOST_CMAKE_AT_LEAST_3_27 + default "3.26" if BR2_HOST_CMAKE_AT_LEAST_3_26 + default "3.25" if BR2_HOST_CMAKE_AT_LEAST_3_25 + default "3.24" if BR2_HOST_CMAKE_AT_LEAST_3_24 + default "3.23" if BR2_HOST_CMAKE_AT_LEAST_3_23 + default "3.22" if BR2_HOST_CMAKE_AT_LEAST_3_22 + default "3.21" if BR2_HOST_CMAKE_AT_LEAST_3_21 + default "3.20" if BR2_HOST_CMAKE_AT_LEAST_3_20 + default "3.19" if BR2_HOST_CMAKE_AT_LEAST_3_19 + default "3.18" diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash index 43b5efb0f05..74b4a0a3a80 100644 --- a/package/cmake/cmake.hash +++ b/package/cmake/cmake.hash @@ -1,5 +1,5 @@ -# From https://cmake.org/files/v3.22/cmake-3.22.3-SHA-256.txt -sha256 9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0 cmake-3.22.3.tar.gz +# From https://cmake.org/files/v3.28/cmake-3.28.3-SHA-256.txt +sha256 72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1 cmake-3.28.3.tar.gz # Locally calculated -sha256 f1a4326266aada65b307dac05161a9d02d3dba4fb08b50cb26e3c24cc8a86e97 Copyright.txt +sha256 4a01ccf2dc580ba570d02bc015bbe0ec92f1f318717aae9540ba841ba7946756 Copyright.txt diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index 053658fad60..49d1f9fea5a 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -4,12 +4,13 @@ # ################################################################################ -CMAKE_VERSION_MAJOR = 3.22 +# When updating the version, please also update BR2_HOST_CMAKE_AT_LEAST_X_Y +CMAKE_VERSION_MAJOR = 3.28 CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).3 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3-Clause CMAKE_LICENSE_FILES = Copyright.txt -CMAKE_CPE_ID_VENDOR = cmake_project +CMAKE_CPE_ID_VALID = YES # Tool download MITM attack warning if using npm package to install cmake CMAKE_IGNORE_CVES = CVE-2016-10642 @@ -32,6 +33,7 @@ CMAKE_CONF_OPTS = \ -DKWSYS_CHAR_IS_SIGNED=TRUE \ -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ -DCTEST_USE_XMLRPC=OFF \ + -DCMake_ENABLE_DEBUGGER=0 \ -DBUILD_CursesDialog=OFF # Get rid of -I* options from $(HOST_CPPFLAGS) to prevent that a @@ -40,9 +42,16 @@ CMAKE_CONF_OPTS = \ HOST_CMAKE_CFLAGS = $(shell echo $(HOST_CFLAGS) | sed -r "s%$(HOST_CPPFLAGS)%%") HOST_CMAKE_CXXFLAGS = $(shell echo $(HOST_CXXFLAGS) | sed -r "s%$(HOST_CPPFLAGS)%%") +# We may be a ccache dependency, so we can't use ccache +HOST_CMAKE_CONFIGURE_OPTS = \ + $(HOST_CONFIGURE_OPTS) \ + CC="$(HOSTCC_NOCCACHE)" \ + GCC="$(HOSTCC_NOCCACHE)" \ + CXX="$(HOSTCXX_NOCCACHE)" + define HOST_CMAKE_CONFIGURE_CMDS (cd $(@D); \ - $(HOST_CONFIGURE_OPTS) \ + $(HOST_CMAKE_CONFIGURE_OPTS) \ CFLAGS="$(HOST_CMAKE_CFLAGS)" \ ./bootstrap --prefix=$(HOST_DIR) \ --parallel=$(PARALLEL_JOBS) -- \ diff --git a/package/cmocka/Config.in b/package/cmocka/Config.in index cf49d0f6be0..80e29778d32 100644 --- a/package/cmocka/Config.in +++ b/package/cmocka/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_CMOCKA - bool cmocka + bool "cmocka" depends on !BR2_STATIC_LIBS help cmocka is an elegant unit testing framework for C with support diff --git a/package/cmocka/cmocka.mk b/package/cmocka/cmocka.mk index eafb4898e1e..297f95f4650 100644 --- a/package/cmocka/cmocka.mk +++ b/package/cmocka/cmocka.mk @@ -21,4 +21,9 @@ ifeq ($(BR2_SHARED_STATIC_LIBS),y) CMOCKA_CONF_OPTS += -DWITH_STATIC_LIB=ON endif +# gcc for ARM Thumb1 doesn't implement -fstack-clash-protection +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +CMOCKA_CONF_OPTS += -DWITH_STACK_CLASH_PROTECTION=OFF +endif + $(eval $(cmake-package)) diff --git a/package/cni-plugins/cni-plugins.hash b/package/cni-plugins/cni-plugins.hash index fc3b5a7ead6..90cb1846044 100644 --- a/package/cni-plugins/cni-plugins.hash +++ b/package/cni-plugins/cni-plugins.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c86c44877c47f69cd23611e22029ab26b613f620195b76b3ec20f589367a7962 cni-plugins-1.1.1.tar.gz +sha256 f9871b9f6ccb51d2b264532e96521e44f926928f91434b56ce135c95becf2901 cni-plugins-1.3.0.tar.gz sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/cni-plugins/cni-plugins.mk b/package/cni-plugins/cni-plugins.mk index b30937095a7..bccc1674aad 100644 --- a/package/cni-plugins/cni-plugins.mk +++ b/package/cni-plugins/cni-plugins.mk @@ -4,19 +4,23 @@ # ################################################################################ -CNI_PLUGINS_VERSION = 1.1.1 +CNI_PLUGINS_VERSION = 1.3.0 CNI_PLUGINS_SITE = $(call github,containernetworking,plugins,v$(CNI_PLUGINS_VERSION)) CNI_PLUGINS_LICENSE = Apache-2.0 CNI_PLUGINS_LICENSE_FILES = LICENSE CNI_PLUGINS_BUILD_TARGETS = \ plugins/ipam/dhcp \ + plugins/ipam/host-local \ + plugins/ipam/static \ plugins/main/bridge \ + plugins/main/dummy \ plugins/main/host-device \ plugins/main/ipvlan \ plugins/main/loopback \ plugins/main/macvlan \ plugins/main/ptp \ + plugins/main/tap \ plugins/main/vlan \ plugins/meta/bandwidth \ plugins/meta/firewall \ diff --git a/package/cog/cog.hash b/package/cog/cog.hash index aa128d73d8f..b59b5f4795a 100644 --- a/package/cog/cog.hash +++ b/package/cog/cog.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/cog-0.14.1.tar.xz.sums -md5 69d72ac046a0fc485ea7b61b96e7e7fc cog-0.14.1.tar.xz -sha1 6236972b0ae0bce38a0a017610f161b349723862 cog-0.14.1.tar.xz -sha256 fb91104e25e1dde27189c91c70acc356e387f47acebaa8997e01ce5879c3a600 cog-0.14.1.tar.xz +# From https://wpewebkit.org/releases/cog-0.18.4.tar.xz.sums +md5 0566ab6676b499ebcff372fbe39e24fc cog-0.18.4.tar.xz +sha1 2d6f88cfb07eaac1be2bf9954832f19f8a856631 cog-0.18.4.tar.xz +sha256 31d7079db2eeed790899d2f1f824dd6a54bf30d072d196d737be572f105d99b1 cog-0.18.4.tar.xz # Hashes for license files: sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING diff --git a/package/cog/cog.mk b/package/cog/cog.mk index 1f24bebee4c..7f680bb7005 100644 --- a/package/cog/cog.mk +++ b/package/cog/cog.mk @@ -4,7 +4,7 @@ # ################################################################################ -COG_VERSION = 0.14.1 +COG_VERSION = 0.18.4 COG_SITE = https://wpewebkit.org/releases COG_SOURCE = cog-$(COG_VERSION).tar.xz COG_INSTALL_STAGING = YES @@ -12,37 +12,40 @@ COG_DEPENDENCIES = dbus wpewebkit wpebackend-fdo wayland COG_LICENSE = MIT COG_LICENSE_FILES = COPYING COG_CONF_OPTS = \ - -DCOG_BUILD_PROGRAMS=ON \ - -DCOG_PLATFORM_HEADLESS=ON \ - -DINSTALL_MAN_PAGES=OFF \ - -DCOG_HOME_URI='$(call qstrip,$(BR2_PACKAGE_COG_PROGRAMS_HOME_URI))' \ - -DUSE_SOUP2=ON + -Ddocumentation=false \ + -Dmanpages=false \ + -Dprograms=true \ + -Dwpe_api=2.0 \ + -Dcog_home_uri='$(call qstrip,$(BR2_PACKAGE_COG_PROGRAMS_HOME_URI))' \ + -Dplatforms='$(subst $(space),$(comma),$(strip $(COG_PLATFORMS_LIST)))' + +COG_PLATFORMS_LIST = headless ifeq ($(BR2_PACKAGE_WESTON),y) -COG_CONF_OPTS += -DCOG_WESTON_DIRECT_DISPLAY=ON +COG_CONF_OPTS += -Dwayland_weston_direct_display=true COG_DEPENDENCIES += weston else -COG_CONF_OPTS += -DCOG_WESTON_DIRECT_DISPLAY=OFF +COG_CONF_OPTS += -Dwayland_weston_direct_display=false endif ifeq ($(BR2_PACKAGE_COG_PLATFORM_FDO),y) -COG_CONF_OPTS += -DCOG_PLATFORM_WL=ON +COG_PLATFORMS_LIST += wayland COG_DEPENDENCIES += libxkbcommon wayland-protocols -else -COG_CONF_OPTS += -DCOG_PLATFORM_WL=OFF endif ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y) -COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON +COG_PLATFORMS_LIST += drm COG_DEPENDENCIES += libdrm libinput libgbm libegl udev -else -COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF endif ifeq ($(BR2_PACKAGE_COG_USE_SYSTEM_DBUS),y) -COG_CONF_OPTS += -DCOG_DBUS_SYSTEM_BUS=ON +COG_CONF_OPTS += -Dcog_dbus_control=system else -COG_CONF_OPTS += -DCOG_DBUS_SYSTEM_BUS=OFF +COG_CONF_OPTS += -Dcog_dbus_control=user +endif + +ifeq ($(BR2_PACKAGE_LIBMANETTE),y) +COG_DEPENDENCIES += libmanette endif -$(eval $(cmake-package)) +$(eval $(meson-package)) diff --git a/package/collectd/0002-configure.ac-fix-grpc-build.patch b/package/collectd/0002-configure.ac-fix-grpc-build.patch new file mode 100644 index 00000000000..00de673e89f --- /dev/null +++ b/package/collectd/0002-configure.ac-fix-grpc-build.patch @@ -0,0 +1,96 @@ +From d355618813bb8180e460ba45a0ebd3ce5183e267 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 22 Jan 2024 22:15:21 +0100 +Subject: [PATCH] configure.ac: fix grpc build + +abseil and other google tools are now subject to +"Google's Foundational C++ Support Policy" [0][1]. This currently +mandates gcc 7.3.1 and C++14 as minimum versions. So replace -std=c++11 +by -std=c++14 to fix following build failure: + +checking whether /home/buildroot/autobuild/instance-0/output-1/host/bin/sparc64-linux-g++ accepts -std=c++11 +configure:25105: result: yes +configure:25127: checking grpc++/grpc++.h usability +configure:25127: /home/buildroot/autobuild/instance-0/output-1/host/bin/sparc64-linux-g++ -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O1 -g0 -D_FORTIFY_SOURCE=2 -std=c++11 -DNOMINMAX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.cpp >&5 +In file included from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/absl/base/config.h:86, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/absl/base/const_init.h:25, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/absl/synchronization/mutex.h:67, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/grpcpp/impl/codegen/sync.h:32, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/grpcpp/completion_queue.h:41, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/grpcpp/channel.h:25, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/grpcpp/grpcpp.h:52, + from /home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/grpc++/grpc++.h:26, + from conftest.cpp:167: +/home/buildroot/autobuild/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported." + 79 | #error "C++ versions less than C++14 are not supported." + | ^~~~~ + +[0] https://github.com/abseil/abseil-cpp/releases/tag/20230125.0 +[1] https://github.com/google/oss-policies-info/blob/b842c39db88e6569dfe2cf98be434b03507cb503/foundational-cxx-support-matrix.md + +Fixes: + - http://autobuild.buildroot.org/results/e2cf909ab3c356f1881fd18cfa039e87faa10d7d + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/collectd/collectd/commit/d355618813bb8180e460ba45a0ebd3ce5183e267 +--- + configure.ac | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c816d3dbbc..dad27f53b0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2853,20 +2853,20 @@ PKG_CHECK_MODULES([GRPCPP], [grpc++], + fi + + if test "x$withval" != "xno"; then +- AC_MSG_CHECKING([whether $CXX accepts -std=c++11]) +- if test_cxx_flags -std=c++11; then ++ AC_MSG_CHECKING([whether $CXX accepts -std=c++14]) ++ if test_cxx_flags -std=c++14; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +- with_libgrpcpp="no (requires C++11 support)" +- with_libprotobuf="no ( requires C++11 support)" ++ with_libgrpcpp="no (requires C++14 support)" ++ with_libprotobuf="no ( requires C++14 support)" + fi + fi + + if test "x$with_libgrpcpp" = "xyes"; then + AC_LANG_PUSH(C++) + SAVE_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-std=c++11 $with_libgrpcpp_cppflags $GRPCPP_CFLAGS $CPPFLAGS" ++ CPPFLAGS="-std=c++14 $with_libgrpcpp_cppflags $GRPCPP_CFLAGS $CPPFLAGS" + AC_CHECK_HEADERS([grpc++/grpc++.h], + [with_libgrpcpp="yes"], + [with_libgrpcpp="no ( not found)"] +@@ -2880,7 +2880,7 @@ if test "x$with_libgrpcpp" = "xyes"; then + SAVE_CPPFLAGS="$CPPFLAGS" + SAVE_LDFLAGS="$LDFLAGS" + SAVE_LIBS="$LIBS" +- CPPFLAGS="-std=c++11 $with_libgrpcpp_cppflags $GRPCPP_CFLAGS $CPPFLAGS" ++ CPPFLAGS="-std=c++14 $with_libgrpcpp_cppflags $GRPCPP_CFLAGS $CPPFLAGS" + LDFLAGS="$with_libgrpcpp_ldflags" + if test "x$GRPCPP_LIBS" = "x"; then + LIBS="-lgrpc++" +@@ -2908,7 +2908,7 @@ if test "x$with_libgrpcpp" = "xyes"; then + AC_LANG_POP(C++) + fi + +-BUILD_WITH_LIBGRPCPP_CPPFLAGS="-std=c++11 $with_libgrpcpp_cppflags $GRPCPP_CFLAGS" ++BUILD_WITH_LIBGRPCPP_CPPFLAGS="-std=c++14 $with_libgrpcpp_cppflags $GRPCPP_CFLAGS" + BUILD_WITH_LIBGRPCPP_LDFLAGS="$with_libgrpcpp_ldflags" + BUILD_WITH_LIBGRPCPP_LIBS="$GRPCPP_LIBS" + AC_SUBST([BUILD_WITH_LIBGRPCPP_CPPFLAGS]) +@@ -4852,7 +4852,7 @@ if test "x$withval" != "xno"; then + AC_CHECK_LIB([protobuf], [main], + [ + SAVE_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-std=c++11 $with_libprotobuf_cppflags $PROTOBUF_CFLAGS" ++ CPPFLAGS="-std=c++14 $with_libprotobuf_cppflags $PROTOBUF_CFLAGS" + if test "x$PROTOBUF_LIBS" = "x" + then + PROTOBUF_LIBS="-lprotobuf" diff --git a/package/collectd/Config.in b/package/collectd/Config.in index fb76a105dc6..e6d549f81f1 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -394,7 +394,7 @@ config BR2_PACKAGE_COLLECTD_MYSQL depends on BR2_INSTALL_LIBSTDCPP # mysql depends on BR2_USE_MMU # mysql depends on BR2_TOOLCHAIN_HAS_THREADS # mysql - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB help Connects to a MySQL database and issues a "show status" command. @@ -683,15 +683,15 @@ config BR2_PACKAGE_COLLECTD_GRPC depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # grpc -> libabseil-cpp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # grpc -> libabseil-cpp depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc select BR2_PACKAGE_GRPC help Send/receive values using the gRPC protocol. -comment "grpc needs a toolchain w/ C++, gcc >= 5" +comment "grpc needs a toolchain w/ C++, gcc >= 8" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc @@ -724,17 +724,31 @@ config BR2_PACKAGE_COLLECTD_RRDTOOL comment "rrdtool support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR +if BR2_PACKAGE_COLLECTD_RRDTOOL + +config BR2_PACKAGE_COLLECTD_RRDCACHED + bool "rrdcached" + help + Use the RRDtool caching daemon. + +endif + config BR2_PACKAGE_COLLECTD_RIEMANN bool "riemann" # riemann-c-client -> protobuf-c depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c select BR2_PACKAGE_RIEMANN_C_CLIENT select BR2_PACKAGE_LIBTOOL help Sends data to Riemann, a stream processing and monitoring system. +comment "riemann needs a toolchain w/ C++, host gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_7 + depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS + config BR2_PACKAGE_COLLECTD_UNIXSOCK bool "unixsock" help @@ -763,14 +777,15 @@ config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS bool "write_prometheus" depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_PROTOBUF_C help Publishes values using an embedded HTTP server, in a format compatible with Prometheus' collectd_exporter. -comment "write_prometheus needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "write_prometheus needs a toolchain w/ C++, host gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_7 depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS config BR2_PACKAGE_COLLECTD_WRITEREDIS diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk index 5510c265e8f..b47b2efaba8 100644 --- a/package/collectd/collectd.mk +++ b/package/collectd/collectd.mk @@ -14,6 +14,8 @@ COLLECTD_LICENSE = MIT (daemon, plugins), GPL-2.0 (plugins), LGPL-2.1 (plugins) COLLECTD_LICENSE_FILES = COPYING COLLECTD_CPE_ID_VENDOR = collectd COLLECTD_SELINUX_MODULES = apache collectd +# We're patching configure.ac +COLLECTD_AUTORECONF = YES # These require unmet dependencies, are fringe, pointless or deprecated COLLECTD_PLUGINS_DISABLE = \ @@ -21,7 +23,7 @@ COLLECTD_PLUGINS_DISABLE = \ gmond hddtemp intel_rdt java lpar \ madwifi mbmon mic multimeter netapp notify_desktop numa \ oracle perl pf pinba powerdns python routeros \ - rrdcached sigrok tape target_v5upgrade teamspeak2 ted \ + sigrok tape target_v5upgrade teamspeak2 ted \ tokyotyrant turbostat uuid varnish vserver write_kafka \ write_mongodb xencpu xmms zfs_arc zone @@ -134,6 +136,7 @@ COLLECTD_CONF_OPTS += \ $(if $(BR2_PACKAGE_COLLECTD_REGEX),--enable-match_regex,--disable-match-regex) \ $(if $(BR2_PACKAGE_COLLECTD_REPLACE),--enable-target_replace,--disable-target_replace) \ $(if $(BR2_PACKAGE_COLLECTD_RIEMANN),--enable-write_riemann,--disable-write_riemann) \ + $(if $(BR2_PACKAGE_COLLECTD_RRDCACHED),--enable-rrdcached,--disable-rrdcached) \ $(if $(BR2_PACKAGE_COLLECTD_RRDTOOL),--enable-rrdtool,--disable-rrdtool) \ $(if $(BR2_PACKAGE_COLLECTD_SCALE),--enable-target_scale,--disable-target_scale) \ $(if $(BR2_PACKAGE_COLLECTD_SENSORS),--enable-sensors,--disable-sensors) \ @@ -191,7 +194,7 @@ COLLECTD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_COLLECTD_MEMCACHEC),libmemcached) \ $(if $(BR2_PACKAGE_COLLECTD_MODBUS),libmodbus) \ $(if $(BR2_PACKAGE_COLLECTD_MQTT),mosquitto) \ - $(if $(BR2_PACKAGE_COLLECTD_MYSQL),mysql) \ + $(if $(BR2_PACKAGE_COLLECTD_MYSQL),mariadb) \ $(if $(BR2_PACKAGE_COLLECTD_NETLINK),libmnl) \ $(if $(BR2_PACKAGE_COLLECTD_NGINX),libcurl) \ $(if $(BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL),libesmtp) \ @@ -221,7 +224,7 @@ endif ifeq ($(BR2_PACKAGE_LUAJIT),y) COLLECTD_CONF_ENV += LIBLUA_PKG_CONFIG_NAME=luajit endif -ifeq ($(BR2_PACKAGE_MYSQL),y) +ifeq ($(BR2_PACKAGE_MARIADB),y) COLLECTD_CONF_OPTS += --with-libmysql=$(STAGING_DIR)/usr endif ifeq ($(BR2_PACKAGE_NETSNMP),y) diff --git a/package/compiler-rt/Config.in b/package/compiler-rt/Config.in deleted file mode 100644 index 02169b66c08..00000000000 --- a/package/compiler-rt/Config.in +++ /dev/null @@ -1,15 +0,0 @@ -config BR2_PACKAGE_COMPILER_RT - bool "compiler-rt" - depends on BR2_PACKAGE_LLVM - depends on BR2_TOOLCHAIN_USES_GLIBC # asan lib requires - depends on BR2_HOST_GCC_AT_LEAST_5 # host-clang - help - A collection of runtime libraries primarily used by clang and - llvm to provide builtins, sanitizer runtimes, and profiling - at runtime. - - https://compiler-rt.llvm.org/ - -comment "compiler-rt requires llvm to be enabled, a glibc toolchain, host gcc >= 5" - depends on !BR2_PACKAGE_LLVM - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_HOST_GCC_AT_LEAST_5 diff --git a/package/compiler-rt/compiler-rt.hash b/package/compiler-rt/compiler-rt.hash deleted file mode 100644 index 8ee010ac5ad..00000000000 --- a/package/compiler-rt/compiler-rt.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 def1fc00c764cd3abbba925c712ac38860a756a43b696b291f46fee09e453274 compiler-rt-11.1.0.src.tar.xz -sha256 1a8f1058753f1ba890de984e48f0242a3a5c29a6a8f2ed9fd813f36985387e8d LICENSE.TXT diff --git a/package/composer/Config.in.host b/package/composer/Config.in.host new file mode 100644 index 00000000000..ced73ceae95 --- /dev/null +++ b/package/composer/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_COMPOSER + bool "host composer" + help + Composer is a tool for dependency management in PHP. It + allows you to declare the libraries your project depends on + and it will manage (install/update) them for you. + + https://getcomposer.org/ diff --git a/package/composer/composer.hash b/package/composer/composer.hash new file mode 100644 index 00000000000..123d6de1bef --- /dev/null +++ b/package/composer/composer.hash @@ -0,0 +1,4 @@ +# Hash from https://getcomposer.org/download/ +sha256 f07934fad44f9048c0dc875a506cca31cc2794d6aebfc1867f3b1fbf48dce2c5 composer-2.5.8.phar +# Locally calculated +sha256 c8cce4b6b9729f264ffdf9296d505d63432497feeed1f586d1902b942197e024 LICENSE diff --git a/package/composer/composer.mk b/package/composer/composer.mk new file mode 100644 index 00000000000..9bfabc28af8 --- /dev/null +++ b/package/composer/composer.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# composer +# +################################################################################ + +COMPOSER_VERSION = 2.5.8 +COMPOSER_SOURCE = composer-$(COMPOSER_VERSION).phar +# Here, we pass a dummy URL parameter in order to control the name the file +# will have once downloaded. +# Otherwise, the names will clash ifever we update the version. +BASE_SITE = https://getcomposer.org/download/$(COMPOSER_VERSION)/composer.phar +COMPOSER_SITE = $(BASE_SITE)?n=f/$(COMPOSER_SOURCE) +COMPOSER_LICENSE = MIT +COMPOSER_LICENSE_FILES = LICENSE +COMPOSER_CPE_ID_VENDOR = getcomposer + +HOST_COMPOSER_DEPENDENCIES = host-php +HOST_COMPOSER_EXTRACT_DEPENDENCIES = host-php + +define HOST_COMPOSER_EXTRACT_CMDS + cp $(HOST_COMPOSER_DL_DIR)/$(COMPOSER_SOURCE) $(@D) + cd $(@D); $(HOST_DIR)/bin/php <<< 'extractTo(".", "LICENSE");' +endef + +define HOST_COMPOSER_INSTALL_CMDS + mv $(@D)/$(COMPOSER_SOURCE) $(HOST_DIR)/bin/composer + chmod +x $(HOST_DIR)/bin/composer +endef + +$(eval $(host-generic-package)) diff --git a/package/conmon/0001-src-seccomp_notify.c-fix-static-build.patch b/package/conmon/0001-src-seccomp_notify.c-fix-static-build.patch new file mode 100644 index 00000000000..afffa909c80 --- /dev/null +++ b/package/conmon/0001-src-seccomp_notify.c-fix-static-build.patch @@ -0,0 +1,44 @@ +From 6cfcea9a16017f2a49cd792d39ebd9c86395946a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 1 Nov 2023 16:45:21 +0100 +Subject: [PATCH] src/seccomp_notify.c: fix static build + +Fix the following static build failure raised even when seccomp is +disabled: + +src/seccomp_notify.c:10:10: fatal error: dlfcn.h: No such file or directory + 10 | #include + | ^~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/71b4f35b3150183c7b44bc3897f01b0019e10ebe + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/containers/conmon/issues/462 +--- + src/seccomp_notify.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/seccomp_notify.c b/src/seccomp_notify.c +index 8d34d9d..bf738ea 100644 +--- a/src/seccomp_notify.c ++++ b/src/seccomp_notify.c +@@ -7,7 +7,6 @@ + + #include + #include +-#include + #include + #include + #include +@@ -19,6 +18,7 @@ + + #ifdef USE_SECCOMP + ++#include + #include + #include + #include +-- +2.42.0 + diff --git a/package/conmon/Config.in b/package/conmon/Config.in new file mode 100644 index 00000000000..9ba9c215b7e --- /dev/null +++ b/package/conmon/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_CONMON + bool "conmon" + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + depends on BR2_USE_WCHAR # libglib2 + select BR2_PACKAGE_LIBGLIB2 + help + Conmon is an OCI container runtime monitor. + + https://github.com/containers/conmon + +comment "conmon needs a toolchain w/ threads, wchar" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU diff --git a/package/conmon/conmon.hash b/package/conmon/conmon.hash new file mode 100644 index 00000000000..f2e89b8a92e --- /dev/null +++ b/package/conmon/conmon.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 e72c090210a03ca3b43a0fad53f15bca90bbee65105c412468009cf3a5988325 conmon-2.1.8.tar.gz +sha256 9c9d771d4004725237a31ada889fe06c85a24fd0a29e41825181ab4cde54f016 LICENSE diff --git a/package/conmon/conmon.mk b/package/conmon/conmon.mk new file mode 100644 index 00000000000..1e577866862 --- /dev/null +++ b/package/conmon/conmon.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# conmon +# +################################################################################ + +CONMON_VERSION = 2.1.8 +CONMON_SITE = $(call github,containers,conmon,v$(CONMON_VERSION)) +CONMON_LICENSE = Apache-2.0 +CONMON_LICENSE_FILES = LICENSE + +CONMON_DEPENDENCIES = host-pkgconf libglib2 + +ifeq ($(BR2_PACKAGE_LIBSECCOMP)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0):$(BR2_STATIC_LIBS),yy:) +CONMON_DISABLE_SECCOMP = 0 +CONMON_DEPENDENCIES += libseccomp +else +CONMON_DISABLE_SECCOMP = 1 +endif + +define CONMON_CONFIGURE_CMDS + printf '#!/bin/bash\necho "$(CONMON_DISABLE_SECCOMP)"\n' > \ + $(@D)/hack/seccomp-notify.sh + chmod +x $(@D)/hack/seccomp-notify.sh +endef + +define CONMON_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -std=c99" \ + LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) bin/conmon +endef + +define CONMON_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/bin/conmon $(TARGET_DIR)/usr/bin/conmon +endef + +$(eval $(generic-package)) diff --git a/package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch b/package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch deleted file mode 100644 index d1a9d8f8fe2..00000000000 --- a/package/connman/0001-gweb-Fix-OOB-write-in-received_data.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001 -From: Nathan Crandall -Date: Tue, 12 Jul 2022 08:56:34 +0200 -Subject: gweb: Fix OOB write in received_data() - -There is a mismatch of handling binary vs. C-string data with memchr -and strlen, resulting in pos, count, and bytes_read to become out of -sync and result in a heap overflow. Instead, do not treat the buffer -as an ASCII C-string. We calculate the count based on the return value -of memchr, instead of strlen. - -Fixes: CVE-2022-32292 - -[Retrieved from: -https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd] -Signed-off-by: Fabrice Fontaine ---- - gweb/gweb.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gweb/gweb.c b/gweb/gweb.c -index 12fcb1d8..13c6c5f2 100644 ---- a/gweb/gweb.c -+++ b/gweb/gweb.c -@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond, - } - - *pos = '\0'; -- count = strlen((char *) ptr); -+ count = pos - ptr; - if (count > 0 && ptr[count - 1] == '\r') { - ptr[--count] = '\0'; - bytes_read--; --- -cgit - diff --git a/package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch b/package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch deleted file mode 100644 index c2cebdfdcc2..00000000000 --- a/package/connman/0002-wispr-Add-reference-counter-to-portal-context.patch +++ /dev/null @@ -1,142 +0,0 @@ -From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001 -From: Daniel Wagner -Date: Tue, 5 Jul 2022 08:32:12 +0200 -Subject: wispr: Add reference counter to portal context - -Track the connman_wispr_portal_context live time via a -refcounter. This only adds the infrastructure to do proper reference -counting. - -Fixes: CVE-2022-32293 - -[Retrieved from: -https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=72343929836de80727a27d6744c869dff045757c] -Signed-off-by: Fabrice Fontaine ---- - src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 42 insertions(+), 10 deletions(-) - -diff --git a/src/wispr.c b/src/wispr.c -index a07896ca..bde7e63b 100644 ---- a/src/wispr.c -+++ b/src/wispr.c -@@ -56,6 +56,7 @@ struct wispr_route { - }; - - struct connman_wispr_portal_context { -+ int refcount; - struct connman_service *service; - enum connman_ipconfig_type type; - struct connman_wispr_portal *wispr_portal; -@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL; - static char *online_check_ipv6_url = NULL; - static bool enable_online_to_ready_transition = false; - -+#define wispr_portal_context_ref(wp_context) \ -+ wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__) -+#define wispr_portal_context_unref(wp_context) \ -+ wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__) -+ - static void connman_wispr_message_init(struct connman_wispr_message *msg) - { - DBG(""); -@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context( - { - DBG("context %p", wp_context); - -- if (!wp_context) -- return; -- - if (wp_context->wispr_portal) { - if (wp_context->wispr_portal->ipv4_context == wp_context) - wp_context->wispr_portal->ipv4_context = NULL; -@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context( - g_free(wp_context); - } - -+static struct connman_wispr_portal_context * -+wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context, -+ const char *file, int line, const char *caller) -+{ -+ DBG("%p ref %d by %s:%d:%s()", wp_context, -+ wp_context->refcount + 1, file, line, caller); -+ -+ __sync_fetch_and_add(&wp_context->refcount, 1); -+ -+ return wp_context; -+} -+ -+static void wispr_portal_context_unref_debug( -+ struct connman_wispr_portal_context *wp_context, -+ const char *file, int line, const char *caller) -+{ -+ if (!wp_context) -+ return; -+ -+ DBG("%p ref %d by %s:%d:%s()", wp_context, -+ wp_context->refcount - 1, file, line, caller); -+ -+ if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1) -+ return; -+ -+ free_connman_wispr_portal_context(wp_context); -+} -+ - static struct connman_wispr_portal_context *create_wispr_portal_context(void) - { -- return g_try_new0(struct connman_wispr_portal_context, 1); -+ return wispr_portal_context_ref( -+ g_new0(struct connman_wispr_portal_context, 1)); - } - - static void free_connman_wispr_portal(gpointer data) -@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data) - if (!wispr_portal) - return; - -- free_connman_wispr_portal_context(wispr_portal->ipv4_context); -- free_connman_wispr_portal_context(wispr_portal->ipv6_context); -+ wispr_portal_context_unref(wispr_portal->ipv4_context); -+ wispr_portal_context_unref(wispr_portal->ipv6_context); - - g_free(wispr_portal); - } -@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result, - connman_info("Client-Timezone: %s", str); - - if (!enable_online_to_ready_transition) -- free_connman_wispr_portal_context(wp_context); -+ wispr_portal_context_unref(wp_context); - - __connman_service_ipconfig_indicate_state(service, - CONNMAN_SERVICE_STATE_ONLINE, type); -@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service, - return; - } - -- free_connman_wispr_portal_context(wp_context); -+ wispr_portal_context_unref(wp_context); - return; - } - -@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context) - - if (wp_context->token == 0) { - err = -EINVAL; -- free_connman_wispr_portal_context(wp_context); -+ wispr_portal_context_unref(wp_context); - } - } else if (wp_context->timeout == 0) { - wp_context->timeout = g_idle_add(no_proxy_callback, wp_context); -@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service, - - /* If there is already an existing context, we wipe it */ - if (wp_context) -- free_connman_wispr_portal_context(wp_context); -+ wispr_portal_context_unref(wp_context); - - wp_context = create_wispr_portal_context(); - if (!wp_context) --- -cgit - diff --git a/package/connman/0003-wispr-Update-portal-context-references.patch b/package/connman/0003-wispr-Update-portal-context-references.patch deleted file mode 100644 index 61c4e21f94e..00000000000 --- a/package/connman/0003-wispr-Update-portal-context-references.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001 -From: Daniel Wagner -Date: Tue, 5 Jul 2022 09:11:09 +0200 -Subject: wispr: Update portal context references - -Maintain proper portal context references to avoid UAF. - -Fixes: CVE-2022-32293 - -[Retrieved from: -https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a] -Signed-off-by: Fabrice Fontaine ---- - src/wispr.c | 34 ++++++++++++++++++++++------------ - 1 file changed, 22 insertions(+), 12 deletions(-) - -diff --git a/src/wispr.c b/src/wispr.c -index bde7e63b..84bed33f 100644 ---- a/src/wispr.c -+++ b/src/wispr.c -@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false; - - static void connman_wispr_message_init(struct connman_wispr_message *msg) - { -- DBG(""); -- - msg->has_error = false; - msg->current_element = NULL; - -@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context) - static void free_connman_wispr_portal_context( - struct connman_wispr_portal_context *wp_context) - { -- DBG("context %p", wp_context); -- - if (wp_context->wispr_portal) { - if (wp_context->wispr_portal->ipv4_context == wp_context) - wp_context->wispr_portal->ipv4_context = NULL; -@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result, - &str)) - connman_info("Client-Timezone: %s", str); - -- if (!enable_online_to_ready_transition) -- wispr_portal_context_unref(wp_context); -- - __connman_service_ipconfig_indicate_state(service, - CONNMAN_SERVICE_STATE_ONLINE, type); - -@@ -546,14 +539,17 @@ static void wispr_portal_request_portal( - { - DBG(""); - -+ wispr_portal_context_ref(wp_context); - wp_context->request_id = g_web_request_get(wp_context->web, - wp_context->status_url, - wispr_portal_web_result, - wispr_route_request, - wp_context); - -- if (wp_context->request_id == 0) -+ if (wp_context->request_id == 0) { - wispr_portal_error(wp_context); -+ wispr_portal_context_unref(wp_context); -+ } - } - - static bool wispr_input(const guint8 **data, gsize *length, -@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service, - return; - - if (!authentication_done) { -- wispr_portal_error(wp_context); - free_wispr_routes(wp_context); -+ wispr_portal_error(wp_context); -+ wispr_portal_context_unref(wp_context); - return; - } - - /* Restarting the test */ - __connman_service_wispr_start(service, wp_context->type); -+ wispr_portal_context_unref(wp_context); - } - - static void wispr_portal_request_wispr_login(struct connman_service *service, -@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result, - - wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN; - -+ wispr_portal_context_ref(wp_context); - if (__connman_agent_request_login_input(wp_context->service, - wispr_portal_request_wispr_login, -- wp_context) != -EINPROGRESS) -+ wp_context) != -EINPROGRESS) { - wispr_portal_error(wp_context); -- else -+ wispr_portal_context_unref(wp_context); -+ } else - return true; - - break; -@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - if (length > 0) { - g_web_parser_feed_data(wp_context->wispr_parser, - chunk, length); -+ wispr_portal_context_unref(wp_context); - return true; - } - -@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - - switch (status) { - case 000: -+ wispr_portal_context_ref(wp_context); - __connman_agent_request_browser(wp_context->service, - wispr_portal_browser_reply_cb, - wp_context->status_url, wp_context); -@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - if (g_web_result_get_header(result, "X-ConnMan-Status", - &str)) { - portal_manage_status(result, wp_context); -+ wispr_portal_context_unref(wp_context); - return false; -- } else -+ } else { -+ wispr_portal_context_ref(wp_context); - __connman_agent_request_browser(wp_context->service, - wispr_portal_browser_reply_cb, - wp_context->redirect_url, wp_context); -+ } - - break; - case 300: -@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - !g_web_result_get_header(result, "Location", - &redirect)) { - -+ wispr_portal_context_ref(wp_context); - __connman_agent_request_browser(wp_context->service, - wispr_portal_browser_reply_cb, - wp_context->status_url, wp_context); -@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - - wp_context->redirect_url = g_strdup(redirect); - -+ wispr_portal_context_ref(wp_context); - wp_context->request_id = g_web_request_get(wp_context->web, - redirect, wispr_portal_web_result, - wispr_route_request, wp_context); -@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - - break; - case 505: -+ wispr_portal_context_ref(wp_context); - __connman_agent_request_browser(wp_context->service, - wispr_portal_browser_reply_cb, - wp_context->status_url, wp_context); -@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data) - wp_context->request_id = 0; - done: - wp_context->wispr_msg.message_type = -1; -+ wispr_portal_context_unref(wp_context); - return false; - } - -@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data) - xml_wispr_parser_callback, wp_context); - - wispr_portal_request_portal(wp_context); -+ wispr_portal_context_unref(wp_context); - } - - static gboolean no_proxy_callback(gpointer user_data) --- -cgit - diff --git a/package/connman/connman.hash b/package/connman/connman.hash index 6fc5edf29a2..ea87f1ea17d 100644 --- a/package/connman/connman.hash +++ b/package/connman/connman.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc -sha256 79fb40f4fdd5530c45aa8e592fb16ba23d3674f3a98cf10b89a6576f198de589 connman-1.41.tar.xz +sha256 a3e6bae46fc081ef2e9dae3caa4f7649de892c3de622c20283ac0ca81423c2aa connman-1.42.tar.xz # Locally computed sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/connman/connman.mk b/package/connman/connman.mk index fbd7318e4eb..142a6583ad3 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONNMAN_VERSION = 1.41 +CONNMAN_VERSION = 1.42 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman CONNMAN_DEPENDENCIES = libglib2 dbus @@ -13,13 +13,6 @@ CONNMAN_LICENSE = GPL-2.0 CONNMAN_LICENSE_FILES = COPYING CONNMAN_CPE_ID_VENDOR = intel -# 0001-gweb-Fix-OOB-write-in-received_data.patch -CONNMAN_IGNORE_CVES += CVE-2022-32292 - -# 0002-wispr-Add-reference-counter-to-portal-context.patch -# 0003-wispr-Update-portal-context-references.patch -CONNMAN_IGNORE_CVES += CVE-2022-32293 - CONNMAN_CONF_OPTS = --with-dbusconfdir=/etc ifeq ($(BR2_INIT_SYSTEMD),y) diff --git a/package/containerd/Config.in b/package/containerd/Config.in index 0e3a55ef394..2dd04b109c7 100644 --- a/package/containerd/Config.in +++ b/package/containerd/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_CONTAINERD depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc depends on BR2_USE_MMU # util-linux - select BR2_PACKAGE_RUNC # runtime dependency + select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency select BR2_PACKAGE_UTIL_LINUX # runtime dependency select BR2_PACKAGE_UTIL_LINUX_BINARIES select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT @@ -20,12 +20,46 @@ if BR2_PACKAGE_CONTAINERD config BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS bool "btrfs snapshot driver" - depends on BR2_USE_MMU # btrfs-progs - depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs - select BR2_PACKAGE_BTRFS_PROGS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 help Build the btrfs snapshot driver for containerd. +comment "brtfs snapshot driver needs headers >= 4.12" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + +config BR2_PACKAGE_CONTAINERD_DRIVER_DEVMAPPER + bool "devmapper snapshot driver" + depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2 + depends on BR2_USE_MMU # lvm2 + depends on !BR2_STATIC_LIBS # lvm2 + select BR2_PACKAGE_LVM2 + help + Build the devmapper snapshot driver for containerd. + +comment "devmapper snapshot driver needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_CONTAINERD_DRIVER_ZFS + bool "zfs snapshot driver" + depends on BR2_LINUX_KERNEL # zfs + depends on BR2_PACKAGE_HAS_UDEV # zfs + depends on BR2_USE_MMU # zfs + depends on BR2_TOOLCHAIN_HAS_THREADS # zfs + select BR2_PACKAGE_ZFS + help + Build the zfs snapshot driver for containerd. + +comment "zfs snapshot driver needs a Linux kernel, udev, toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_LINUX_KERNEL || !BR2_PACKAGE_HAS_UDEV || \ + !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_CONTAINERD_CRI + bool "Kubernetes CRI support" + help + Build containerd with Kubernetes CRI support. + endif comment "containerd needs a glibc or musl toolchain w/ threads" diff --git a/package/containerd/containerd.hash b/package/containerd/containerd.hash index 04a29949d75..193003e5a34 100644 --- a/package/containerd/containerd.hash +++ b/package/containerd/containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 b86e5c42f58b8348422c972513ff49783c0d505ed84e498d0d0245c5992e4320 containerd-1.6.12.tar.gz +sha256 ae55b25fb04b45dfbbde8280b034783a48ae7c40350d17fd272be5cbf0284cf1 containerd-1.7.14.tar.gz sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/containerd/containerd.mk b/package/containerd/containerd.mk index 192175800c6..81875f763c0 100644 --- a/package/containerd/containerd.mk +++ b/package/containerd/containerd.mk @@ -4,12 +4,11 @@ # ################################################################################ -CONTAINERD_VERSION = 1.6.12 +CONTAINERD_VERSION = 1.7.14 CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION)) CONTAINERD_LICENSE = Apache-2.0 CONTAINERD_LICENSE_FILES = LICENSE CONTAINERD_CPE_ID_VENDOR = linuxfoundation -CONTAINERD_CPE_ID_PRODUCT = containerd CONTAINERD_GOMOD = github.com/containerd/containerd @@ -24,6 +23,7 @@ CONTAINERD_BUILD_TARGETS = \ cmd/ctr CONTAINERD_INSTALL_BINS = $(notdir $(CONTAINERD_BUILD_TARGETS)) +CONTAINERD_TAGS = no_aufs ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y) CONTAINERD_DEPENDENCIES += libapparmor @@ -35,10 +35,26 @@ CONTAINERD_DEPENDENCIES += libseccomp host-pkgconf CONTAINERD_TAGS += seccomp endif -ifeq ($(BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS),y) -CONTAINERD_DEPENDENCIES += btrfs-progs -else +ifneq ($(BR2_PACKAGE_CONTAINERD_DRIVER_BTRFS),y) CONTAINERD_TAGS += no_btrfs endif +ifneq ($(BR2_PACKAGE_CONTAINERD_DRIVER_DEVMAPPER),y) +CONTAINERD_TAGS += no_devmapper +endif + +ifneq ($(BR2_PACKAGE_CONTAINERD_DRIVER_ZFS),y) +CONTAINERD_TAGS += no_zfs +endif + +ifneq ($(BR2_PACKAGE_CONTAINERD_CRI),y) +CONTAINERD_TAGS += no_cri +endif + +define CONTAINERD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/containerd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/containerd.service + $(SED) 's,/usr/local/bin,/usr/bin,g' $(TARGET_DIR)/usr/lib/systemd/system/containerd.service +endef + $(eval $(golang-package)) diff --git a/package/coremark/coremark.mk b/package/coremark/coremark.mk index 418fd5c8d39..9ea8693e718 100644 --- a/package/coremark/coremark.mk +++ b/package/coremark/coremark.mk @@ -11,6 +11,7 @@ COREMARK_LICENSE_FILES = LICENSE.md define COREMARK_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" -C $(@D) \ + PORT_CFLAGS="$(TARGET_CFLAGS)" \ PORT_DIR=linux$(if $(BR2_ARCH_IS_64),64) EXE= link endef diff --git a/package/coreutils/coreutils.hash b/package/coreutils/coreutils.hash index eb9a5744c65..7df1048afac 100644 --- a/package/coreutils/coreutils.hash +++ b/package/coreutils/coreutils.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423 coreutils-9.1.tar.xz +sha256 adbcfcfe899235b71e8768dcf07cd532520b7f54f9a8064843f8d199a904bbaa coreutils-9.3.tar.xz # Locally computed sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 931859b0aca..846d4fa5672 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -COREUTILS_VERSION = 9.1 +COREUTILS_VERSION = 9.3 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz COREUTILS_LICENSE = GPL-3.0+ @@ -22,18 +22,13 @@ endif COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ ac_cv_func_chown_works=yes \ - ac_cv_func_euidaccess=no \ ac_cv_func_fstatat=yes \ ac_cv_func_getdelim=yes \ ac_cv_func_getgroups=yes \ ac_cv_func_getgroups_works=yes \ ac_cv_func_getloadavg=no \ - ac_cv_func_lstat_dereferences_slashed_symlink=yes \ - ac_cv_func_lstat_empty_string_bug=no \ ac_cv_func_strerror_r_char_p=no \ ac_cv_func_strnlen_working=yes \ - ac_cv_func_strtod=yes \ - ac_cv_func_working_mktime=yes \ ac_cv_have_decl_strerror_r=yes \ ac_cv_have_decl_strnlen=yes \ ac_cv_lib_getloadavg_getloadavg=no \ @@ -44,14 +39,13 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ fu_cv_sys_stat_statfs2_bsize=yes \ gl_cv_func_getcwd_null=yes \ gl_cv_func_getcwd_path_max=yes \ - gl_cv_func_gettimeofday_clobber=no \ gl_cv_func_link_follows_symlink=no \ + gl_cv_func_lstat_dereferences_slashed_symlink=yes \ gl_cv_func_re_compile_pattern_working=yes \ gl_cv_func_svid_putenv=yes \ - gl_cv_func_tzset_clobber=no \ gl_cv_func_working_mkstemp=yes \ gl_cv_func_working_utimes=yes \ - gl_getline_needs_run_time_check=no \ + gl_cv_macro_MB_CUR_MAX_good=yes \ gl_cv_have_proc_uptime=yes \ utils_cv_localtime_cache=no \ PERL=missing \ @@ -81,12 +75,6 @@ ifeq ($(BR2_PACKAGE_GETTEXT_PROVIDES_LIBINTL),y) COREUTILS_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr endif -ifeq ($(BR2_PACKAGE_GMP),y) -COREUTILS_DEPENDENCIES += gmp -else -COREUTILS_CONF_OPTS += --without-gmp -endif - ifeq ($(BR2_PACKAGE_LIBCAP),y) COREUTILS_DEPENDENCIES += libcap else diff --git a/package/cpio/0001-Minor-fix.patch b/package/cpio/0001-Minor-fix.patch deleted file mode 100644 index 429df7d5f82..00000000000 --- a/package/cpio/0001-Minor-fix.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 641d3f489cf6238bb916368d4ba0d9325a235afb Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff -Date: Mon, 20 Jan 2020 07:45:39 +0200 -Subject: Minor fix * src/global.c: Remove superfluous declaration of - program_name - -[Retrieved from: -https://git.savannah.gnu.org/cgit/cpio.git/commit/?id=641d3f489cf6238bb916368d4ba0d9325a235afb] -Signed-off-by: Fabrice Fontaine ---- - src/global.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/global.c b/src/global.c -index fb3abe9..acf92bc 100644 ---- a/src/global.c -+++ b/src/global.c -@@ -184,9 +184,6 @@ unsigned int warn_option = 0; - /* Extract to standard output? */ - bool to_stdout_option = false; - --/* The name this program was run with. */ --char *program_name; -- - /* A pointer to either lstat or stat, depending on whether - dereferencing of symlinks is done for input files. */ - int (*xstat) (); --- -cgit v1.2.1 - diff --git a/package/cpio/0002-Rewrite-dynamic-string-support.patch b/package/cpio/0002-Rewrite-dynamic-string-support.patch deleted file mode 100644 index 44282ae3f11..00000000000 --- a/package/cpio/0002-Rewrite-dynamic-string-support.patch +++ /dev/null @@ -1,461 +0,0 @@ -From dd96882877721703e19272fe25034560b794061b Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff -Date: Sat, 7 Aug 2021 12:52:21 +0300 -Subject: Rewrite dynamic string support. - -* src/dstring.c (ds_init): Take a single argument. -(ds_free): New function. -(ds_resize): Take a single argument. Use x2nrealloc to expand -the storage. -(ds_reset,ds_append,ds_concat,ds_endswith): New function. -(ds_fgetstr): Rewrite. In particular, this fixes integer overflow. -* src/dstring.h (dynamic_string): Keep both the allocated length -(ds_size) and index of the next free byte in the string (ds_idx). -(ds_init,ds_resize): Change signature. -(ds_len): New macro. -(ds_free,ds_reset,ds_append,ds_concat,ds_endswith): New protos. -* src/copyin.c: Use new ds_ functions. -* src/copyout.c: Likewise. -* src/copypass.c: Likewise. -* src/util.c: Likewise. - -[Retrieved from: -https://git.savannah.gnu.org/cgit/cpio.git/commit/?id=dd96882877721703e19272fe25034560b794061b] -Signed-off-by: Fabrice Fontaine ---- - src/copyin.c | 40 +++++++++++++------------- - src/copyout.c | 16 ++++------- - src/copypass.c | 34 +++++++++++------------ - src/dstring.c | 88 ++++++++++++++++++++++++++++++++++++++++++---------------- - src/dstring.h | 31 ++++++++++----------- - src/util.c | 6 ++-- - 6 files changed, 123 insertions(+), 92 deletions(-) - -diff --git a/src/copyin.c b/src/copyin.c -index a096048..4fb14af 100644 ---- a/src/copyin.c -+++ b/src/copyin.c -@@ -55,11 +55,12 @@ query_rename(struct cpio_file_stat* file_hdr, FILE *tty_in, FILE *tty_out, - char *str_res; /* Result for string function. */ - static dynamic_string new_name; /* New file name for rename option. */ - static int initialized_new_name = false; -+ - if (!initialized_new_name) -- { -- ds_init (&new_name, 128); -- initialized_new_name = true; -- } -+ { -+ ds_init (&new_name); -+ initialized_new_name = true; -+ } - - if (rename_flag) - { -@@ -780,37 +781,36 @@ long_format (struct cpio_file_stat *file_hdr, char const *link_name) - already in `save_patterns' (from the command line) are preserved. */ - - static void --read_pattern_file () -+read_pattern_file (void) - { -- int max_new_patterns; -- char **new_save_patterns; -- int new_num_patterns; -+ char **new_save_patterns = NULL; -+ size_t max_new_patterns; -+ size_t new_num_patterns; - int i; -- dynamic_string pattern_name; -+ dynamic_string pattern_name = DYNAMIC_STRING_INITIALIZER; - FILE *pattern_fp; - - if (num_patterns < 0) - num_patterns = 0; -- max_new_patterns = 1 + num_patterns; -- new_save_patterns = (char **) xmalloc (max_new_patterns * sizeof (char *)); - new_num_patterns = num_patterns; -- ds_init (&pattern_name, 128); -+ max_new_patterns = num_patterns; -+ new_save_patterns = xcalloc (max_new_patterns, sizeof (new_save_patterns[0])); - - pattern_fp = fopen (pattern_file_name, "r"); - if (pattern_fp == NULL) - open_fatal (pattern_file_name); - while (ds_fgetstr (pattern_fp, &pattern_name, '\n') != NULL) - { -- if (new_num_patterns >= max_new_patterns) -- { -- max_new_patterns += 1; -- new_save_patterns = (char **) -- xrealloc ((char *) new_save_patterns, -- max_new_patterns * sizeof (char *)); -- } -+ if (new_num_patterns == max_new_patterns) -+ new_save_patterns = x2nrealloc (new_save_patterns, -+ &max_new_patterns, -+ sizeof (new_save_patterns[0])); - new_save_patterns[new_num_patterns] = xstrdup (pattern_name.ds_string); - ++new_num_patterns; - } -+ -+ ds_free (&pattern_name); -+ - if (ferror (pattern_fp) || fclose (pattern_fp) == EOF) - close_error (pattern_file_name); - -@@ -1210,7 +1210,7 @@ swab_array (char *ptr, int count) - in the file system. */ - - void --process_copy_in () -+process_copy_in (void) - { - FILE *tty_in = NULL; /* Interactive file for rename option. */ - FILE *tty_out = NULL; /* Interactive file for rename option. */ -diff --git a/src/copyout.c b/src/copyout.c -index 5ca587f..ca6798c 100644 ---- a/src/copyout.c -+++ b/src/copyout.c -@@ -594,9 +594,10 @@ assign_string (char **pvar, char *value) - The format of the header depends on the compatibility (-c) flag. */ - - void --process_copy_out () -+process_copy_out (void) - { -- dynamic_string input_name; /* Name of file read from stdin. */ -+ dynamic_string input_name = DYNAMIC_STRING_INITIALIZER; -+ /* Name of file read from stdin. */ - struct stat file_stat; /* Stat record for file. */ - struct cpio_file_stat file_hdr = CPIO_FILE_STAT_INITIALIZER; - /* Output header information. */ -@@ -605,7 +606,6 @@ process_copy_out () - char *orig_file_name = NULL; - - /* Initialize the copy out. */ -- ds_init (&input_name, 128); - file_hdr.c_magic = 070707; - - /* Check whether the output file might be a tape. */ -@@ -657,14 +657,9 @@ process_copy_out () - { - if (file_hdr.c_mode & CP_IFDIR) - { -- int len = strlen (input_name.ds_string); - /* Make sure the name ends with a slash */ -- if (input_name.ds_string[len-1] != '/') -- { -- ds_resize (&input_name, len + 2); -- input_name.ds_string[len] = '/'; -- input_name.ds_string[len+1] = 0; -- } -+ if (!ds_endswith (&input_name, '/')) -+ ds_append (&input_name, '/'); - } - } - -@@ -875,6 +870,7 @@ process_copy_out () - (unsigned long) blocks), (unsigned long) blocks); - } - cpio_file_stat_free (&file_hdr); -+ ds_free (&input_name); - } - - -diff --git a/src/copypass.c b/src/copypass.c -index 5d5e939..23ee687 100644 ---- a/src/copypass.c -+++ b/src/copypass.c -@@ -48,10 +48,12 @@ set_copypass_perms (int fd, const char *name, struct stat *st) - If `link_flag', link instead of copying. */ - - void --process_copy_pass () -+process_copy_pass (void) - { -- dynamic_string input_name; /* Name of file from stdin. */ -- dynamic_string output_name; /* Name of new file. */ -+ dynamic_string input_name = DYNAMIC_STRING_INITIALIZER; -+ /* Name of file from stdin. */ -+ dynamic_string output_name = DYNAMIC_STRING_INITIALIZER; -+ /* Name of new file. */ - size_t dirname_len; /* Length of `directory_name'. */ - int res; /* Result of functions. */ - char *slash; /* For moving past slashes in input name. */ -@@ -65,25 +67,18 @@ process_copy_pass () - created files */ - - /* Initialize the copy pass. */ -- ds_init (&input_name, 128); - - dirname_len = strlen (directory_name); - if (change_directory_option && !ISSLASH (directory_name[0])) - { - char *pwd = xgetcwd (); -- -- dirname_len += strlen (pwd) + 1; -- ds_init (&output_name, dirname_len + 2); -- strcpy (output_name.ds_string, pwd); -- strcat (output_name.ds_string, "/"); -- strcat (output_name.ds_string, directory_name); -+ -+ ds_concat (&output_name, pwd); -+ ds_append (&output_name, '/'); - } -- else -- { -- ds_init (&output_name, dirname_len + 2); -- strcpy (output_name.ds_string, directory_name); -- } -- output_name.ds_string[dirname_len] = '/'; -+ ds_concat (&output_name, directory_name); -+ ds_append (&output_name, '/'); -+ dirname_len = ds_len (&output_name); - output_is_seekable = true; - - change_dir (); -@@ -116,8 +111,8 @@ process_copy_pass () - /* Make the name of the new file. */ - for (slash = input_name.ds_string; *slash == '/'; ++slash) - ; -- ds_resize (&output_name, dirname_len + strlen (slash) + 2); -- strcpy (output_name.ds_string + dirname_len + 1, slash); -+ ds_reset (&output_name, dirname_len); -+ ds_concat (&output_name, slash); - - existing_dir = false; - if (lstat (output_name.ds_string, &out_file_stat) == 0) -@@ -333,6 +328,9 @@ process_copy_pass () - (unsigned long) blocks), - (unsigned long) blocks); - } -+ -+ ds_free (&input_name); -+ ds_free (&output_name); - } - - /* Try and create a hard link from FILE_NAME to another file -diff --git a/src/dstring.c b/src/dstring.c -index b261d5a..692d3e7 100644 ---- a/src/dstring.c -+++ b/src/dstring.c -@@ -20,8 +20,8 @@ - #if defined(HAVE_CONFIG_H) - # include - #endif -- - #include -+#include - #if defined(HAVE_STRING_H) || defined(STDC_HEADERS) - #include - #else -@@ -33,24 +33,41 @@ - /* Initialiaze dynamic string STRING with space for SIZE characters. */ - - void --ds_init (dynamic_string *string, int size) -+ds_init (dynamic_string *string) -+{ -+ memset (string, 0, sizeof *string); -+} -+ -+/* Free the dynamic string storage. */ -+ -+void -+ds_free (dynamic_string *string) - { -- string->ds_length = size; -- string->ds_string = (char *) xmalloc (size); -+ free (string->ds_string); - } - --/* Expand dynamic string STRING, if necessary, to hold SIZE characters. */ -+/* Expand dynamic string STRING, if necessary. */ - - void --ds_resize (dynamic_string *string, int size) -+ds_resize (dynamic_string *string) - { -- if (size > string->ds_length) -+ if (string->ds_idx == string->ds_size) - { -- string->ds_length = size; -- string->ds_string = (char *) xrealloc ((char *) string->ds_string, size); -+ string->ds_string = x2nrealloc (string->ds_string, &string->ds_size, -+ 1); - } - } - -+/* Reset the index of the dynamic string S to LEN. */ -+ -+void -+ds_reset (dynamic_string *s, size_t len) -+{ -+ while (len > s->ds_size) -+ ds_resize (s); -+ s->ds_idx = len; -+} -+ - /* Dynamic string S gets a string terminated by the EOS character - (which is removed) from file F. S will increase - in size during the function if the string from F is longer than -@@ -61,34 +78,50 @@ ds_resize (dynamic_string *string, int size) - char * - ds_fgetstr (FILE *f, dynamic_string *s, char eos) - { -- int insize; /* Amount needed for line. */ -- int strsize; /* Amount allocated for S. */ - int next_ch; - - /* Initialize. */ -- insize = 0; -- strsize = s->ds_length; -+ s->ds_idx = 0; - - /* Read the input string. */ -- next_ch = getc (f); -- while (next_ch != eos && next_ch != EOF) -+ while ((next_ch = getc (f)) != eos && next_ch != EOF) - { -- if (insize >= strsize - 1) -- { -- ds_resize (s, strsize * 2 + 2); -- strsize = s->ds_length; -- } -- s->ds_string[insize++] = next_ch; -- next_ch = getc (f); -+ ds_resize (s); -+ s->ds_string[s->ds_idx++] = next_ch; - } -- s->ds_string[insize++] = '\0'; -+ ds_resize (s); -+ s->ds_string[s->ds_idx] = '\0'; - -- if (insize == 1 && next_ch == EOF) -+ if (s->ds_idx == 0 && next_ch == EOF) - return NULL; - else - return s->ds_string; - } - -+void -+ds_append (dynamic_string *s, int c) -+{ -+ ds_resize (s); -+ s->ds_string[s->ds_idx] = c; -+ if (c) -+ { -+ s->ds_idx++; -+ ds_resize (s); -+ s->ds_string[s->ds_idx] = 0; -+ } -+} -+ -+void -+ds_concat (dynamic_string *s, char const *str) -+{ -+ size_t len = strlen (str); -+ while (len + 1 > s->ds_size) -+ ds_resize (s); -+ memcpy (s->ds_string + s->ds_idx, str, len); -+ s->ds_idx += len; -+ s->ds_string[s->ds_idx] = 0; -+} -+ - char * - ds_fgets (FILE *f, dynamic_string *s) - { -@@ -100,3 +133,10 @@ ds_fgetname (FILE *f, dynamic_string *s) - { - return ds_fgetstr (f, s, '\0'); - } -+ -+/* Return true if the dynamic string S ends with character C. */ -+int -+ds_endswith (dynamic_string *s, int c) -+{ -+ return (s->ds_idx > 0 && s->ds_string[s->ds_idx - 1] == c); -+} -diff --git a/src/dstring.h b/src/dstring.h -index 5d24181..ca7a5f1 100644 ---- a/src/dstring.h -+++ b/src/dstring.h -@@ -17,10 +17,6 @@ - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301 USA. */ - --#ifndef NULL --#define NULL 0 --#endif -- - /* A dynamic string consists of record that records the size of an - allocated string and the pointer to that string. The actual string - is a normal zero byte terminated string that can be used with the -@@ -30,22 +26,25 @@ - - typedef struct - { -- int ds_length; /* Actual amount of storage allocated. */ -- char *ds_string; /* String. */ -+ size_t ds_size; /* Actual amount of storage allocated. */ -+ size_t ds_idx; /* Index of the next free byte in the string. */ -+ char *ds_string; /* String storage. */ - } dynamic_string; - -+#define DYNAMIC_STRING_INITIALIZER { 0, 0, NULL } - --/* Macros that look similar to the original string functions. -- WARNING: These macros work only on pointers to dynamic string records. -- If used with a real record, an "&" must be used to get the pointer. */ --#define ds_strlen(s) strlen ((s)->ds_string) --#define ds_strcmp(s1, s2) strcmp ((s1)->ds_string, (s2)->ds_string) --#define ds_strncmp(s1, s2, n) strncmp ((s1)->ds_string, (s2)->ds_string, n) --#define ds_index(s, c) index ((s)->ds_string, c) --#define ds_rindex(s, c) rindex ((s)->ds_string, c) -+void ds_init (dynamic_string *string); -+void ds_free (dynamic_string *string); -+void ds_reset (dynamic_string *s, size_t len); - --void ds_init (dynamic_string *string, int size); --void ds_resize (dynamic_string *string, int size); -+/* All functions below guarantee that s->ds_string[s->ds_idx] == '\0' */ - char *ds_fgetname (FILE *f, dynamic_string *s); - char *ds_fgets (FILE *f, dynamic_string *s); - char *ds_fgetstr (FILE *f, dynamic_string *s, char eos); -+void ds_append (dynamic_string *s, int c); -+void ds_concat (dynamic_string *s, char const *str); -+ -+#define ds_len(s) ((s)->ds_idx) -+ -+int ds_endswith (dynamic_string *s, int c); -+ -diff --git a/src/util.c b/src/util.c -index 996d4fa..ff2746d 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -846,11 +846,9 @@ get_next_reel (int tape_des) - FILE *tty_out; /* File for interacting with user. */ - int old_tape_des; - char *next_archive_name; -- dynamic_string new_name; -+ dynamic_string new_name = DYNAMIC_STRING_INITIALIZER; - char *str_res; - -- ds_init (&new_name, 128); -- - /* Open files for interactive communication. */ - tty_in = fopen (TTY_NAME, "r"); - if (tty_in == NULL) -@@ -925,7 +923,7 @@ get_next_reel (int tape_des) - error (PAXEXIT_FAILURE, 0, _("internal error: tape descriptor changed from %d to %d"), - old_tape_des, tape_des); - -- free (new_name.ds_string); -+ ds_free (&new_name); - fclose (tty_in); - fclose (tty_out); - } --- -cgit v1.2.1 - diff --git a/package/cpio/0003-Fix-previous-commit.patch b/package/cpio/0003-Fix-previous-commit.patch deleted file mode 100644 index e33a8523d86..00000000000 --- a/package/cpio/0003-Fix-previous-commit.patch +++ /dev/null @@ -1,40 +0,0 @@ -From dfc801c44a93bed7b3951905b188823d6a0432c8 Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff -Date: Wed, 11 Aug 2021 18:10:38 +0300 -Subject: Fix previous commit - -* src/dstring.c (ds_reset,ds_concat): Don't call ds_resize in a -loop. - -[Retrieved from: -https://git.savannah.gnu.org/cgit/cpio.git/commit/?id=dfc801c44a93bed7b3951905b188823d6a0432c8] -Signed-off-by: Fabrice Fontaine ---- - src/dstring.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/dstring.c b/src/dstring.c -index 692d3e7..b7e0bb5 100644 ---- a/src/dstring.c -+++ b/src/dstring.c -@@ -64,7 +64,7 @@ void - ds_reset (dynamic_string *s, size_t len) - { - while (len > s->ds_size) -- ds_resize (s); -+ s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1); - s->ds_idx = len; - } - -@@ -116,7 +116,7 @@ ds_concat (dynamic_string *s, char const *str) - { - size_t len = strlen (str); - while (len + 1 > s->ds_size) -- ds_resize (s); -+ s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1); - memcpy (s->ds_string + s->ds_idx, str, len); - s->ds_idx += len; - s->ds_string[s->ds_idx] = 0; --- -cgit v1.2.1 - diff --git a/package/cpio/cpio.hash b/package/cpio/cpio.hash index b03114635cc..e300a5f0843 100644 --- a/package/cpio/cpio.hash +++ b/package/cpio/cpio.hash @@ -1,7 +1,6 @@ -# From https://lists.gnu.org/archive/html/info-gnu/2019-11/msg00002.html -md5 f3438e672e3fa273a7dc26339dd1eed6 cpio-2.13.tar.bz2 -sha1 4dcefc0e1bc36b11506a354768d82b15e3fe6bb8 cpio-2.13.tar.bz2 +# From https://lists.gnu.org/archive/html/info-gnu/2024-01/msg00006.html +sha1 db5e3845eb5475ddcb7e8915c3a1458a0c13d787 cpio-2.15.tar.bz2 # Locally calculated after checking pgp signature -sha256 eab5bdc5ae1df285c59f2a4f140a98fc33678a0bf61bdba67d9436ae26b46f6d cpio-2.13.tar.bz2 +sha256 937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db cpio-2.15.tar.bz2 # Locally calculated sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/cpio/cpio.mk b/package/cpio/cpio.mk index e95ea742b33..452271c8f17 100644 --- a/package/cpio/cpio.mk +++ b/package/cpio/cpio.mk @@ -4,7 +4,7 @@ # ################################################################################ -CPIO_VERSION = 2.13 +CPIO_VERSION = 2.15 CPIO_SOURCE = cpio-$(CPIO_VERSION).tar.bz2 CPIO_SITE = $(BR2_GNU_MIRROR)/cpio CPIO_CONF_OPTS = --bindir=/bin @@ -12,10 +12,6 @@ CPIO_LICENSE = GPL-3.0+ CPIO_LICENSE_FILES = COPYING CPIO_CPE_ID_VENDOR = gnu -# 0002-Rewrite-dynamic-string-support.patch -# 0003-Fix-previous-commit.patch -CPIO_IGNORE_CVES += CVE-2021-38185 - # cpio uses argp.h which is not provided by uclibc or musl by default. # Use the argp-standalone package to provide this. ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) diff --git a/package/cppdb/Config.in b/package/cppdb/Config.in index ceff0ab76f7..1394c1efd8d 100644 --- a/package/cppdb/Config.in +++ b/package/cppdb/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_CPPDB depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # Can be built without them but it's useless - depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE + depends on BR2_PACKAGE_MARIADB || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE help CppDB is an SQL connectivity library that is designed to provide platform and Database independent connectivity API @@ -15,6 +15,6 @@ config BR2_PACKAGE_CPPDB http://cppcms.com/sql/cppdb/ comment "cppdb needs a toolchain w/ C++, threads, dynamic library" - depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE + depends on BR2_PACKAGE_MARIADB || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS diff --git a/package/cppdb/cppdb.mk b/package/cppdb/cppdb.mk index e73f04e1943..d2a901d28b2 100644 --- a/package/cppdb/cppdb.mk +++ b/package/cppdb/cppdb.mk @@ -12,8 +12,8 @@ CPPDB_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite) CPPDB_LICENSE = BSL-1.0 or MIT CPPDB_LICENSE_FILES = LICENSE_1_0.txt MIT.txt -ifeq ($(BR2_PACKAGE_MYSQL),y) -CPPDB_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_MARIADB),y) +CPPDB_DEPENDENCIES += mariadb else CPPDB_CONF_OPTS += -DDISABLE_MYSQL=ON endif diff --git a/package/cppzmq/cppzmq.hash b/package/cppzmq/cppzmq.hash index 3fbee7af28b..dd6e06494a3 100644 --- a/package/cppzmq/cppzmq.hash +++ b/package/cppzmq/cppzmq.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3fdf5b100206953f674c94d40599bdb3ea255244dcc42fab0d75855ee3645581 cppzmq-4.9.0.tar.gz +sha256 c81c81bba8a7644c84932225f018b5088743a22999c6d82a2b5f5cd1e6942b74 cppzmq-4.10.0.tar.gz sha256 7e6db90e2e805c72b3daa77849d1cb5f1f92da0e69750c8a4aa1d86d70704748 LICENSE diff --git a/package/cppzmq/cppzmq.mk b/package/cppzmq/cppzmq.mk index d702cc174e2..90213ec0f60 100644 --- a/package/cppzmq/cppzmq.mk +++ b/package/cppzmq/cppzmq.mk @@ -4,7 +4,7 @@ # ################################################################################ -CPPZMQ_VERSION = 4.9.0 +CPPZMQ_VERSION = 4.10.0 CPPZMQ_SITE = $(call github,zeromq,cppzmq,v$(CPPZMQ_VERSION)) CPPZMQ_INSTALL_STAGING = YES CPPZMQ_DEPENDENCIES = host-pkgconf zeromq diff --git a/package/cracklib/cracklib.hash b/package/cracklib/cracklib.hash index ff527d517a6..a97818cbddd 100644 --- a/package/cracklib/cracklib.hash +++ b/package/cracklib/cracklib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 1f9d34385ea3aa7cd7c07fa388dc25810aea9d3c33e260c713a3a5873d70e386 cracklib-2.9.8.tar.bz2 -sha256 ec25ac4a474588c58d901715512d8902b276542b27b8dd197e9c2ad373739ec4 cracklib-words-2.9.8.bz2 +sha256 2c83a91dd21d035eab98bded764eb4579b73fd837b683e1a447b11ef604ee130 cracklib-2.9.11.tar.xz +sha256 b3d1e0e0ae9bc7ffed65c0042d7c68bdb903368aa6b918f94572453c6ea874dc cracklib-words-2.9.11.xz sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/cracklib/cracklib.mk b/package/cracklib/cracklib.mk index bb7c18d5bed..c5226b33260 100644 --- a/package/cracklib/cracklib.mk +++ b/package/cracklib/cracklib.mk @@ -4,12 +4,12 @@ # ################################################################################ -CRACKLIB_VERSION = 2.9.8 -CRACKLIB_SOURCE = cracklib-$(CRACKLIB_VERSION).tar.bz2 +CRACKLIB_VERSION = 2.9.11 +CRACKLIB_SOURCE = cracklib-$(CRACKLIB_VERSION).tar.xz CRACKLIB_SITE = https://github.com/cracklib/cracklib/releases/download/v$(CRACKLIB_VERSION) CRACKLIB_LICENSE = LGPL-2.1 CRACKLIB_LICENSE_FILES = COPYING.LIB -CRACKLIB_CPE_ID_VENDOR = cracklib_project +CRACKLIB_CPE_ID_VALID = YES CRACKLIB_INSTALL_STAGING = YES CRACKLIB_DEPENDENCIES = host-cracklib $(TARGET_NLS_DEPENDENCIES) CRACKLIB_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) @@ -34,8 +34,8 @@ endif HOST_CRACKLIB_CONF_OPTS += --without-python --without-zlib ifeq ($(BR2_PACKAGE_CRACKLIB_FULL_DICT),y) -CRACKLIB_EXTRA_DOWNLOADS = cracklib-words-$(CRACKLIB_VERSION).bz2 -CRACKLIB_DICT_SOURCE = $(CRACKLIB_DL_DIR)/cracklib-words-$(CRACKLIB_VERSION).bz2 +CRACKLIB_EXTRA_DOWNLOADS = cracklib-words-$(CRACKLIB_VERSION).xz +CRACKLIB_DICT_SOURCE = $(CRACKLIB_DL_DIR)/cracklib-words-$(CRACKLIB_VERSION).xz else CRACKLIB_DICT_SOURCE = $(@D)/dicts/cracklib-small endif diff --git a/package/crda/crda.mk b/package/crda/crda.mk index a73c9aa26da..8043260cfcb 100644 --- a/package/crda/crda.mk +++ b/package/crda/crda.mk @@ -9,7 +9,6 @@ CRDA_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snap CRDA_DEPENDENCIES = host-pkgconf host-python-pycryptodomex libnl libgcrypt CRDA_LICENSE = ISC CRDA_LICENSE_FILES = LICENSE -CRDA_CPE_ID_VENDOR = kernel define CRDA_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) \ diff --git a/package/criu/Config.in b/package/criu/Config.in new file mode 100644 index 00000000000..30b131cd30a --- /dev/null +++ b/package/criu/Config.in @@ -0,0 +1,53 @@ +# criu only builds on certain architectures +config BR2_PACKAGE_CRIU_ARCH_SUPPORTS + bool + default y if BR2_ARM_CPU_ARMV6 + default y if BR2_ARM_CPU_ARMV7A + default y if BR2_ARM_CPU_ARMV7M + default y if BR2_ARM_CPU_ARMV8A && !BR2_aarch64_be + default y if BR2_aarch64 + default y if BR2_x86_64 + default y if BR2_powerpc64le # Only support powerpc64 with LE + # CRIU has "some" support for s390 but it is not included due to + # BE/LE endian issues. + depends on BR2_USE_MMU # libcap + depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + +config BR2_PACKAGE_CRIU + bool "criu" + depends on BR2_PACKAGE_CRIU_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # -march=armv7-a+fp + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 # rseq.h + depends on !BR2_TOOLCHAIN_USES_UCLIBC # no aio.h + depends on !BR2_STATIC_LIBS # protobuf, libbsd + depends on BR2_INSTALL_LIBSTDCPP # protobuf + depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf, libnl + depends on BR2_USE_WCHAR # libbsd + select BR2_PACKAGE_HOST_PYTHON3 + select BR2_PACKAGE_HOST_PYTHON3_SSL + select BR2_PACKAGE_PROTOBUF + select BR2_PACKAGE_PROTOBUF_C + select BR2_PACKAGE_LIBAIO + select BR2_PACKAGE_LIBBSD + select BR2_PACKAGE_LIBCAP + select BR2_PACKAGE_LIBNET + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_PYTHON3 + help + Checkpoint/Restore In Userspace (CRIU), is a software + tool for the Linux operating system to make it possible + to freeze a running application and checkpoint it to + persistent storage as a collection of files. + + https://criu.org/Main_Page + +comment "criu needs a glibc or musl toolchain w/ threads, host gcc >= 7, gcc >= 8, headers >= 4.18, C++, dynamic library, wchar" + depends on BR2_PACKAGE_CRIU_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 \ + || BR2_TOOLCHAIN_USES_UCLIBC || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ + || BR2_HOST_GCC_AT_LEAST_7 diff --git a/package/criu/criu.hash b/package/criu/criu.hash new file mode 100644 index 00000000000..c3fcdbc03fc --- /dev/null +++ b/package/criu/criu.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 990cdd147cb670a5d5d14216c2b5c2fc2b9a53ef19396569a6413807ba2a6aa2 criu-3.19.tar.gz +sha256 568a1fa9d90e18a1a1a61ea58ec2eece16b56a5042cc72c1b4f8d4455ae6fcb7 COPYING diff --git a/package/criu/criu.mk b/package/criu/criu.mk new file mode 100644 index 00000000000..3b72a1131ef --- /dev/null +++ b/package/criu/criu.mk @@ -0,0 +1,77 @@ +################################################################################ +# +# CRIU +# +################################################################################ + +CRIU_VERSION = 3.19 +CRIU_SITE = $(call github,checkpoint-restore,criu,v$(CRIU_VERSION)) + +CRIU_LICENSE = GPL-2.0, LGPL-2.1 (for lib/), MIT (for images/) +CRIU_LICENSE_FILES = COPYING images/LICENSE + +CRIU_DEPENDENCIES =\ + host-pkgconf \ + host-protobuf-c \ + host-python3 \ + host-python-pip \ + libaio \ + libbsd \ + libcap \ + libnet \ + libnl \ + protobuf \ + protobuf-c \ + python3 + +CRIU_MAKE_ENV =\ + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + WERROR=0 + +# Remap to match the used in criu. +ifeq ($(BR2_NORMALIZED_ARCH),"x86_64") +CRIU_MAKE_ENV += ARCH=x86 +else ifeq ($(BR2_NORMALIZED_ARCH),"powerpc") +CRIU_MAKE_ENV += ARCH=ppc64 +else ifeq ($(BR2_NORMALIZED_ARCH),"arm64") +CRIU_MAKE_ENV += ARCH=aarch64 +else +CRIU_MAKE_ENV += ARCH=$(BR2_NORMALIZED_ARCH) +endif + +ifeq ($(BR2_ARM_CPU_ARMV6),y) +CRIU_MAKE_ENV += SUBARCH=armv6 +else ifeq ($(BR2_ARM_CPU_ARMV7A),y) +CRIU_MAKE_ENV += SUBARCH=armv7 +else ifeq ($(BR2_ARM_CPU_ARMV7M),y) +CRIU_MAKE_ENV += SUBARCH=armv7 +else ifeq ($(BR2_ARM_CPU_ARMV8A),y) +CRIU_MAKE_ENV += SUBARCH=armv8 +endif + +# Criu needs Kernel Checkpoint/restore support which is not enabled +# by default. +define CRIU_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_CHECKPOINT_RESTORE) +endef + +define CRIU_BUILD_CMDS + rm -rf $(@D)/images/google/protobuf/descriptor.proto + cp -a $(STAGING_DIR)/usr/include/google/protobuf/descriptor.proto \ + $(@D)/images/google/protobuf/descriptor.proto + $(CRIU_MAKE_ENV) $(MAKE) -C $(@D) \ + PREFIX=/usr +endef + +define CRIU_INSTALL_TARGET_CMDS + $(CRIU_MAKE_ENV) $(MAKE) -C $(@D) \ + PREFIX=/usr \ + DESTDIR=$(TARGET_DIR) \ + install-criu \ + install-lib \ + install-compel +endef + +$(eval $(generic-package)) diff --git a/package/crucible/crucible.hash b/package/crucible/crucible.hash index d0a2a63fab2..3a9a7167323 100644 --- a/package/crucible/crucible.hash +++ b/package/crucible/crucible.hash @@ -1,2 +1,2 @@ -sha256 1229c7d1587a97e9f3d456392e06c7be288bacf6ffb68c940d497bf55edab20b crucible-2022.05.25.tar.gz -sha256 d88514630470aec9fa7abdc990a1e0a8751a752321bffa868188c49009d64d59 LICENSE +sha256 d21842f050163765269290d72fe79d3f95005038e865138d94e247cb455098da crucible-2023.11.02.tar.gz +sha256 a89c50d83be30fe7ec75be69a07f6c1b5dfaae0a6b94a678d2394fff34acb69c LICENSE diff --git a/package/crucible/crucible.mk b/package/crucible/crucible.mk index fdad709dded..5eedbca8eea 100644 --- a/package/crucible/crucible.mk +++ b/package/crucible/crucible.mk @@ -4,9 +4,9 @@ # ################################################################################ -CRUCIBLE_VERSION = 2022.05.25 +CRUCIBLE_VERSION = 2023.11.02 CRUCIBLE_SITE = $(call github,usbarmory,crucible,v$(CRUCIBLE_VERSION)) -CRUCIBLE_LICENSE = GPL-3.0 +CRUCIBLE_LICENSE = BSD-3-Clause CRUCIBLE_LICENSE_FILES = LICENSE CRUCIBLE_GOMOD = ./cmd/crucible diff --git a/package/crudini/0001-prefer-shlex-over-pipes.patch b/package/crudini/0001-prefer-shlex-over-pipes.patch new file mode 100644 index 00000000000..16296f619fa --- /dev/null +++ b/package/crudini/0001-prefer-shlex-over-pipes.patch @@ -0,0 +1,41 @@ +From d81b703f3e8e29c1547386135c7e9ca539c1f054 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?P=C3=A1draig=20Brady?= +Date: Tue, 2 Aug 2022 14:40:37 +0100 +Subject: [PATCH] prefer shlex over pipes + +pipes is deprecated since python 3.10 +and slated for removal in python 3.13 + +[Romain backport to 0.9.3] +Upstream: https://github.com/pixelb/crudini/commit/e1650941054822faad4cda788bff6fe364eb4ca3 +Signed-off-by: Romain Naour +--- + crudini | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/crudini b/crudini +index 669596b..a136241 100755 +--- a/crudini ++++ b/crudini +@@ -17,15 +17,17 @@ import getopt + import hashlib + import iniparse + import os +-import pipes ++import re + import shutil + import string + import tempfile + + if sys.version_info[0] >= 3: ++ import shlex as pipes + from io import StringIO + import configparser + else: ++ import pipes + from cStringIO import StringIO + import ConfigParser as configparser + +-- +2.34.3 + diff --git a/package/crudini/Config.in.host b/package/crudini/Config.in.host new file mode 100644 index 00000000000..4e770956272 --- /dev/null +++ b/package/crudini/Config.in.host @@ -0,0 +1,9 @@ +config BR2_PACKAGE_HOST_CRUDINI + bool "host crudini" + select BR2_PACKAGE_HOST_PYTHON3 + select BR2_PACKAGE_HOST_PYTHON_INIPARSE # runtime + help + A utility for handling ini files from the command line and + shell scripts + + https://pypi.python.org/pypi/crudini diff --git a/package/crudini/crudini.mk b/package/crudini/crudini.mk index 7141e2b2a0b..48e0ebde8ff 100644 --- a/package/crudini/crudini.mk +++ b/package/crudini/crudini.mk @@ -9,5 +9,9 @@ CRUDINI_SITE = $(call github,pixelb,crudini,$(CRUDINI_VERSION)) CRUDINI_SETUP_TYPE = setuptools CRUDINI_LICENSE = GPL-2.0 CRUDINI_LICENSE_FILES = COPYING +# This is a runtime dependency, but we don't have the concept of +# runtime dependencies for host packages. +HOST_CRUDINI_DEPENDENCIES = host-python-iniparse $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/crun/0001-libcrun-fix-compile-error-without-libseccomp-and-lib.patch b/package/crun/0001-libcrun-fix-compile-error-without-libseccomp-and-lib.patch new file mode 100644 index 00000000000..81b08d34b7e --- /dev/null +++ b/package/crun/0001-libcrun-fix-compile-error-without-libseccomp-and-lib.patch @@ -0,0 +1,59 @@ +From ea27b1363ef709ce4b169138017b67ef624b127b Mon Sep 17 00:00:00 2001 +From: Xiangyu Chen +Date: Tue, 12 Dec 2023 10:47:42 +0800 +Subject: [PATCH] libcrun: fix compile error without libseccomp and libcap + +Fixed compile error without libseccomp and libcap, running +clang-format to format the code style. + +Upstream: https://github.com/containers/crun/commit/ea27b1363ef709ce4b169138017b67ef624b127b +Signed-off-by: Xiangyu Chen +--- + src/libcrun/container.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/libcrun/container.c b/src/libcrun/container.c +index 34649f8..ffcdb24 100644 +--- a/src/libcrun/container.c ++++ b/src/libcrun/container.c +@@ -23,7 +23,9 @@ + #include "container.h" + #include "utils.h" + #include "seccomp.h" +-#include ++#ifdef HAVE_SECCOMP ++# include ++#endif + #include "scheduler.h" + #include "seccomp_notify.h" + #include "custom-handler.h" +@@ -47,7 +49,9 @@ + #include + #include + #include +-#include ++#ifdef HAVE_CAP ++# include ++#endif + #include + #include + #include +@@ -3829,6 +3833,7 @@ populate_array_field (char ***field, char *array[], size_t num_elements) + (*field)[i] = NULL; + } + ++#ifdef HAVE_CAP + static void + populate_capabilities (struct features_info_s *info, char ***capabilities, size_t *num_capabilities) + { +@@ -3876,6 +3881,7 @@ populate_capabilities (struct features_info_s *info, char ***capabilities, size_ + (*capabilities)[index] = NULL; // Terminate the array with NULL + populate_array_field (&(info->linux.capabilities), *capabilities, *num_capabilities); + } ++#endif + + static void + retrieve_mount_options (struct features_info_s **info) +-- +2.34.1 + diff --git a/package/crun/Config.in b/package/crun/Config.in index 5def7001c16..f6a1ec7c668 100644 --- a/package/crun/Config.in +++ b/package/crun/Config.in @@ -1,8 +1,15 @@ config BR2_PACKAGE_CRUN bool "crun" - select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h + select BR2_PACKAGE_ARGP_STANDALONE if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_YAJL # libocispec help crun is a fast and low-memory OCI Container Runtime in C. https://github.com/containers/crun + +comment "crun needs a glibc or musl toolchain, gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_USES_UCLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/crun/crun.hash b/package/crun/crun.hash index 2b21800f022..c461d78d97f 100644 --- a/package/crun/crun.hash +++ b/package/crun/crun.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 f669ecd3d1895dcaa8425eabb707c06eb3bdb5ae5201a50a423c3cace36c4a05 crun-1.7.2.tar.gz +sha256 a76982ac076a5c9bf9f85bd8d25b1dc6344e252399a7e9231504357fc019f7cc crun-1.12.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.libcrun diff --git a/package/crun/crun.mk b/package/crun/crun.mk index 8c9993993cf..005d5fb3973 100644 --- a/package/crun/crun.mk +++ b/package/crun/crun.mk @@ -4,13 +4,13 @@ # ################################################################################ -CRUN_VERSION = 1.7.2 +CRUN_VERSION = 1.12 CRUN_SITE = https://github.com/containers/crun/releases/download/$(CRUN_VERSION) CRUN_DEPENDENCIES = host-pkgconf yajl CRUN_LICENSE = GPL-2.0+ (crun binary), LGPL-2.1+ (libcrun) CRUN_LICENSE_FILES = COPYING COPYING.libcrun -CRUN_CPE_ID_VENDOR = crun_project +CRUN_CPE_ID_VALID = YES CRUN_AUTORECONF = YES CRUN_CONF_OPTS = --disable-embedded-yajl @@ -26,6 +26,10 @@ else CRUN_CONF_OPTS += --disable-caps endif +ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +CRUN_DEPENDENCIES += libgcrypt +endif + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) CRUN_DEPENDENCIES += libseccomp CRUN_CONF_OPTS += --enable-seccomp @@ -40,4 +44,11 @@ else CRUN_CONF_OPTS += --disable-systemd endif +ifeq ($(BR2_PACKAGE_RUNC),) +define CRUN_CREATE_SYMLINK + ln -sf crun $(TARGET_DIR)/usr/bin/runc +endef +CRUN_POST_INSTALL_TARGET_HOOKS += CRUN_CREATE_SYMLINK +endif + $(eval $(autotools-package)) diff --git a/package/cryptodev-linux/0001-zero-copy-Fix-build-for-Linux-6-4.patch b/package/cryptodev-linux/0001-zero-copy-Fix-build-for-Linux-6-4.patch new file mode 100644 index 00000000000..4bea55311c9 --- /dev/null +++ b/package/cryptodev-linux/0001-zero-copy-Fix-build-for-Linux-6-4.patch @@ -0,0 +1,37 @@ +From 592017c3a910a3905b1925aee88c4674e9a596b7 Mon Sep 17 00:00:00 2001 +From: Gaurav Jain +Date: Tue, 30 May 2023 17:09:42 +0530 +Subject: [PATCH] zero copy: Fix build for Linux 6.4 + +get_user_pages_remote api prototype is changed in kernel. +struct vm_area_struct **vmas argument is removed. +Migrate to the new API. + +Signed-off-by: Gaurav Jain + +Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/592017c3a910a3905b1925aee88c4674e9a596b7 +Signed-off-by: Fabrice Fontaine +--- + zc.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/zc.c b/zc.c +index fdf7da17..6637945a 100644 +--- a/zc.c ++++ b/zc.c +@@ -80,10 +80,14 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write, + ret = get_user_pages_remote(task, mm, + (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, + pg, NULL, NULL); +-#else ++#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)) + ret = get_user_pages_remote(mm, + (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, + pg, NULL, NULL); ++#else ++ ret = get_user_pages_remote(mm, ++ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, ++ pg, NULL); + #endif + #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)) + up_read(&mm->mmap_sem); diff --git a/package/cryptodev-linux/0002-cryptodev_verbosity-Fix-build-for-Linux-6-4.patch b/package/cryptodev-linux/0002-cryptodev_verbosity-Fix-build-for-Linux-6-4.patch new file mode 100644 index 00000000000..e6022c686fd --- /dev/null +++ b/package/cryptodev-linux/0002-cryptodev_verbosity-Fix-build-for-Linux-6-4.patch @@ -0,0 +1,44 @@ +From 99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9 Mon Sep 17 00:00:00 2001 +From: Gaurav Jain +Date: Wed, 28 Jun 2023 12:44:32 +0530 +Subject: [PATCH] cryptodev_verbosity: Fix build for Linux 6.4 + +register_sysctl_table api is removed in kernel. +migrate to the new api register_sysctl. + +child is also removed in linux 6.4 ctl_table struct. + +Signed-off-by: Gaurav Jain + +Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9 +Signed-off-by: Fabrice Fontaine +--- + ioctl.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/ioctl.c b/ioctl.c +index 8f241b86..4262bbd5 100644 +--- a/ioctl.c ++++ b/ioctl.c +@@ -1246,7 +1246,9 @@ static struct ctl_table verbosity_ctl_root[] = { + { + .procname = "ioctl", + .mode = 0555, ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)) + .child = verbosity_ctl_dir, ++#endif + }, + {}, + }; +@@ -1267,7 +1269,11 @@ static int __init init_cryptodev(void) + return rc; + } + ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)) + verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root); ++#else ++ verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir); ++#endif + + pr_info(PFX "driver %s loaded.\n", VERSION); + diff --git a/package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch b/package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch new file mode 100644 index 00000000000..4fdccaf6e0e --- /dev/null +++ b/package/cryptodev-linux/0003-Fix-build-for-Linux-6-7-rc1.patch @@ -0,0 +1,38 @@ +From 5e7121e45ff283d30097da381fd7e97c4bb61364 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= +Date: Sun, 10 Dec 2023 13:57:55 +0000 +Subject: [PATCH] Fix build for Linux 6.7-rc1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since Linux 6.7-rc1, no ahash algorithms set a nonzero alignmask, +and therefore `crypto_ahash_alignmask` has been removed. + +See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f8660c82b79af595b056f6b9f4f227edeb88574 + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c626910f3f1bbce6ad18bc613d895d2a089ed95e + +Signed-off-by: Joan Bruguera Micó + +Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/5e7121e45ff283d30097da381fd7e97c4bb61364 +Signed-off-by: Fabrice Fontaine +--- + cryptlib.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/cryptlib.c b/cryptlib.c +index 4d739e5..0e59d4c 100644 +--- a/cryptlib.c ++++ b/cryptlib.c +@@ -381,7 +381,11 @@ int cryptodev_hash_init(struct hash_data *hdata, const char *alg_name, + } + + hdata->digestsize = crypto_ahash_digestsize(hdata->async.s); ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0)) + hdata->alignmask = crypto_ahash_alignmask(hdata->async.s); ++#else ++ hdata->alignmask = 0; ++#endif + + init_completion(&hdata->async.result.completion); + diff --git a/package/cryptodev-linux/Config.in b/package/cryptodev-linux/Config.in new file mode 100644 index 00000000000..89964ab0587 --- /dev/null +++ b/package/cryptodev-linux/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_CRYPTODEV_LINUX + bool "cryptodev-linux" + depends on !BR2_microblaze + depends on BR2_LINUX_KERNEL + help + Cryptodev-linux is a device that allows access to Linux kernel + cryptographic drivers; thus allowing userspace applications + to take advantage of hardware accelerators. + + http://cryptodev-linux.org/index.html + +comment "cryptodev-linux needs a Linux kernel to be built" + depends on !BR2_microblaze + depends on !BR2_LINUX_KERNEL diff --git a/package/cryptodev-linux/cryptodev-linux.hash b/package/cryptodev-linux/cryptodev-linux.hash index d649e8934ae..300aa3bcd42 100644 --- a/package/cryptodev-linux/cryptodev-linux.hash +++ b/package/cryptodev-linux/cryptodev-linux.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f51c2254749233b1b1d7ec9445158bd709f124f88e1c650fe2faac83c3a81938 cryptodev-linux-1.12.tar.gz +sha256 33b7915c46eb39a37110e88c681423c0dd0df25d784b6e1475ac3196367f0db5 cryptodev-linux-1.13.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/cryptodev-linux/cryptodev-linux.mk b/package/cryptodev-linux/cryptodev-linux.mk index d0c3bc5218e..580ea89520f 100644 --- a/package/cryptodev-linux/cryptodev-linux.mk +++ b/package/cryptodev-linux/cryptodev-linux.mk @@ -4,15 +4,13 @@ # ################################################################################ -CRYPTODEV_LINUX_VERSION = 1.12 +CRYPTODEV_LINUX_VERSION = 1.13 CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,cryptodev-linux-$(CRYPTODEV_LINUX_VERSION)) CRYPTODEV_LINUX_INSTALL_STAGING = YES CRYPTODEV_LINUX_LICENSE = GPL-2.0+ CRYPTODEV_LINUX_LICENSE_FILES = COPYING CRYPTODEV_LINUX_CPE_ID_VENDOR = cryptodev-linux -CRYPTODEV_LINUX_PROVIDES = cryptodev - define CRYPTODEV_LINUX_MODULE_GEN_VERSION_H $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) version.h endef diff --git a/package/cryptodev/Config.in b/package/cryptodev/Config.in deleted file mode 100644 index d1e64498a84..00000000000 --- a/package/cryptodev/Config.in +++ /dev/null @@ -1,50 +0,0 @@ -comment "cryptodev needs a Linux kernel to be built" - depends on !BR2_LINUX_KERNEL - -config BR2_PACKAGE_CRYPTODEV - bool "cryptodev" - depends on BR2_LINUX_KERNEL - help - Select the desired cryptodev implementation. - -if BR2_PACKAGE_CRYPTODEV - -choice - prompt "cryptodev variant" - default BR2_PACKAGE_CRYPTODEV_LINUX if !BR2_microblaze - help - Select the cryptodev implementation. - -config BR2_PACKAGE_CRYPTODEV_LINUX - bool "cryptodev-linux" - depends on !BR2_microblaze - select BR2_PACKAGE_HAS_CRYPTODEV - help - Cryptodev-linux is a device that allows access to Linux kernel - cryptographic drivers; thus allowing userspace applications - to take advantage of hardware accelerators. - - http://cryptodev-linux.org/index.html - -config BR2_PACKAGE_OCF_LINUX - bool "ocf-linux" - select BR2_PACKAGE_HAS_CRYPTODEV - help - OCF-Linux is a Linux port of the OpenBSD/FreeBSD Cryptographic - Framework (OCF). This port aims to bring full asynchronous - HW/SW crypto acceleration to the Linux kernel and applications - running under Linux. - - http://ocf-linux.sourceforge.net/ - -endchoice - -config BR2_PACKAGE_HAS_CRYPTODEV - bool - -config BR2_PACKAGE_PROVIDES_CRYPTODEV - string - default "cryptodev-linux" if BR2_PACKAGE_CRYPTODEV_LINUX - default "ocf-linux" if BR2_PACKAGE_OCF_LINUX - -endif diff --git a/package/cryptodev/cryptodev.mk b/package/cryptodev/cryptodev.mk deleted file mode 100644 index 969d1bd17a9..00000000000 --- a/package/cryptodev/cryptodev.mk +++ /dev/null @@ -1,7 +0,0 @@ -################################################################################ -# -# cryptodev -# -################################################################################ - -$(eval $(virtual-package)) diff --git a/package/cryptopp/0001-GNUmakefile-add-missing-shared-library-symlink.patch b/package/cryptopp/0001-GNUmakefile-add-missing-shared-library-symlink.patch deleted file mode 100644 index 5f87414d533..00000000000 --- a/package/cryptopp/0001-GNUmakefile-add-missing-shared-library-symlink.patch +++ /dev/null @@ -1,62 +0,0 @@ -From e4c2e3bc8174f24cf63923619f5d06d85b84ae1d Mon Sep 17 00:00:00 2001 -From: Kamel Bouhara -Date: Fri, 7 Jan 2022 22:59:23 +0100 -Subject: [PATCH] GNUmakefile: add missing shared library symlink - -The GNUmakefile install-lib target currently installs the following -symlink: - - libcryptopp.so -> libcryptopp.so.8.6.0 - -However, it does not create the following symlink: - - libcryptopp.so.8 -> libcryptopp.so.8.6.0 - -This symlink is necessary at runtime because libcryptopp.so.8 is the -SONAME of the cryptopp library, and therefore this is what the dynamic -loader will search when starting a program that is linked against -cryptopp. - -For native compilation, the 'ldconfig' invocation that immediately -follows will create that symlink, so everything works. - -For cross-compilation however, ldconfig can't be used, and therefore -LDCONFIG is passed as /bin/true, and therefore it doesn't create the -symlink. So instead, create it directly inside the GNUmakefile, -without relying on ldconfig. - -Upstream: https://github.com/weidai11/cryptopp/pull/1101 -Signed-off-by: Kamel Bouhara -Signed-off-by: Thomas Petazzoni ---- - GNUmakefile | 1 + - GNUmakefile-cross | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/GNUmakefile b/GNUmakefile -index 23273edb..3b55e420 100644 ---- a/GNUmakefile -+++ b/GNUmakefile -@@ -1412,6 +1412,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),) - $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX) - ifeq ($(HAS_SOLIB_VERSION),1) - -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so -+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX) - $(LDCONF) $(DESTDIR)$(LIBDIR) - endif - endif -diff --git a/GNUmakefile-cross b/GNUmakefile-cross -index 9847f04b..a2b87e4a 100644 ---- a/GNUmakefile-cross -+++ b/GNUmakefile-cross -@@ -856,6 +856,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),) - $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX) - ifeq ($(HAS_SOLIB_VERSION),1) - -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so -+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX) - $(LDCONF) $(DESTDIR)$(LIBDIR) - endif - endif --- -2.33.1 - diff --git a/package/cryptopp/cryptopp.hash b/package/cryptopp/cryptopp.hash index 9a113b8f04f..a7bc578da44 100644 --- a/package/cryptopp/cryptopp.hash +++ b/package/cryptopp/cryptopp.hash @@ -1,5 +1,5 @@ -# Hash from: https://www.cryptopp.com/release860.html: -sha512 e7773f5e4a7dc7e8e735b1702524bee56ba38e5211544c9c9778bc51ed8dc7b376c17f2e406410043b636312336f26f76dc963f298872f8c13933e88c232fc03 cryptopp860.zip +# Hash from: https://www.cryptopp.com/release890.html: +sha512 903970c4c0312272e93bae0cc3477be66b273dd38c9329fda9f7157ec44e247a3bc16b9d2b4ad625f258af0eaf2dc2c4210d4d14829b455f180983859a5c4b41 cryptopp890.zip # Hash for license file: -sha256 e668af8c73a38a66a1e8951d14ec24e7582fee5254dd6c3dae488a416d105d5f License.txt +sha256 78e4010b682cb94187fe0b57e50116d0ba271ef81104d1ddb35c80c3d81e3169 License.txt diff --git a/package/cryptopp/cryptopp.mk b/package/cryptopp/cryptopp.mk index 87d6fba2374..a538f8c17dd 100644 --- a/package/cryptopp/cryptopp.mk +++ b/package/cryptopp/cryptopp.mk @@ -4,7 +4,7 @@ # ################################################################################ -CRYPTOPP_VERSION = 8.6.0 +CRYPTOPP_VERSION = 8.9.0 CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip CRYPTOPP_SITE = https://cryptopp.com CRYPTOPP_LICENSE = BSL-1.0, BSD-3-Clause (CRYPTOGAMS), Public domain (ChaCha SSE2 and AVX) diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index 149d1e71f17..531432aaaf2 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,4 +1,4 @@ -# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.6/sha256sums.asc -sha256 44397ba76e75a9cde5b02177bc63cd7af428a785788e3a7067733e7761842735 cryptsetup-2.6.0.tar.xz +# From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.7/sha256sums.asc +sha256 da5d1419e2a86e01aa32fd79582cd54d208857cb541bca2fd426a5ff1aaabbc3 cryptsetup-2.7.1.tar.xz sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index 659fdfa2a45..b15f4585763 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -4,8 +4,8 @@ # ################################################################################ -CRYPTSETUP_VERSION_MAJOR = 2.6 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).0 +CRYPTSETUP_VERSION_MAJOR = 2.7 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).1 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = \ @@ -15,7 +15,7 @@ CRYPTSETUP_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL -CRYPTSETUP_CPE_ID_VENDOR = cryptsetup_project +CRYPTSETUP_CPE_ID_VALID = YES CRYPTSETUP_INSTALL_STAGING = YES CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" diff --git a/package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch b/package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch new file mode 100644 index 00000000000..e527b20f916 --- /dev/null +++ b/package/cups-filters/0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch @@ -0,0 +1,208 @@ +From 93e60d3df358c0ae6f3dba79e1c9684657683d89 Mon Sep 17 00:00:00 2001 +From: Till Kamppeter +Date: Wed, 17 May 2023 11:11:29 +0200 +Subject: [PATCH] beh backend: Use execv() instead of system() - CVE-2023-24805 + +With execv() command line arguments are passed as separate strings and +not the full command line in a single string. This prevents arbitrary +command execution by escaping the quoting of the arguments in a job +with a forged job title. + +In addition, done the following fixes and improvements: + +- Do not allow '/' in the scheme of the URI (= backend executable + name), to assure that only backends inside /usr/lib/cups/backend/ + are used. + +- URI must have ':', to split off scheme, otherwise error out. + +- Check return value of snprintf() to create call path for backend, to + error out on truncation of a too long scheme or on complete failure + due to a completely odd scheme. + +- Use strncat() instead of strncpy() for getting scheme from URI, the latter + does not require setting terminating zero byte in case of truncation. + +- Also exclude "." or ".." as scheme, as directories are not valid CUPS + backends. + +- Do not use fprintf() in sigterm_handler(), to not interfere with a + fprintf() which could be running in the main process when + sigterm_handler() is triggered. + +- Use "static volatile int" for global variable job_canceled. + +Upstream: https://github.com/OpenPrinting/cups-filters/commit/93e60d3df358c0ae6f3dba79e1c9684657683d89 +Signed-off-by: Fabrice Fontaine +--- + backend/beh.c | 107 +++++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 84 insertions(+), 23 deletions(-) + +diff --git a/backend/beh.c b/backend/beh.c +index 225fd27d5..8d51235b1 100644 +--- a/backend/beh.c ++++ b/backend/beh.c +@@ -22,12 +22,13 @@ + #include "backend-private.h" + #include + #include ++#include + + /* + * Local globals... + */ + +-static int job_canceled = 0; /* Set to 1 on SIGTERM */ ++static volatile int job_canceled = 0; /* Set to 1 on SIGTERM */ + + /* + * Local functions... +@@ -213,21 +214,40 @@ call_backend(char *uri, /* I - URI of final destination */ + char **argv, /* I - Command-line arguments */ + char *filename) { /* I - File name of input data */ + const char *cups_serverbin; /* Location of programs */ ++ char *backend_argv[8]; /* Arguments for backend */ + char scheme[1024], /* Scheme from URI */ + *ptr, /* Pointer into scheme */ +- cmdline[65536]; /* Backend command line */ +- int retval; ++ backend_path[2048]; /* Backend path */ ++ int pid = 0, /* Process ID of backend */ ++ wait_pid, /* Process ID from wait() */ ++ wait_status, /* Status from child */ ++ retval = 0; ++ int bytes; + + /* + * Build the backend command line... + */ + +- strncpy(scheme, uri, sizeof(scheme) - 1); +- if (strlen(uri) > 1023) +- scheme[1023] = '\0'; ++ scheme[0] = '\0'; ++ strncat(scheme, uri, sizeof(scheme) - 1); + if ((ptr = strchr(scheme, ':')) != NULL) + *ptr = '\0'; +- ++ else { ++ fprintf(stderr, ++ "ERROR: beh: Invalid URI, no colon (':') to mark end of scheme part.\n"); ++ exit (CUPS_BACKEND_FAILED); ++ } ++ if (strchr(scheme, '/')) { ++ fprintf(stderr, ++ "ERROR: beh: Invalid URI, scheme contains a slash ('/').\n"); ++ exit (CUPS_BACKEND_FAILED); ++ } ++ if (!strcmp(scheme, ".") || !strcmp(scheme, "..")) { ++ fprintf(stderr, ++ "ERROR: beh: Invalid URI, scheme (\"%s\") is a directory.\n", ++ scheme); ++ exit (CUPS_BACKEND_FAILED); ++ } + if ((cups_serverbin = getenv("CUPS_SERVERBIN")) == NULL) + cups_serverbin = CUPS_SERVERBIN; + +@@ -235,16 +255,29 @@ call_backend(char *uri, /* I - URI of final destination */ + fprintf(stderr, + "ERROR: beh: Direct output into a file not supported.\n"); + exit (CUPS_BACKEND_FAILED); +- } else +- snprintf(cmdline, sizeof(cmdline), +- "%s/backend/%s '%s' '%s' '%s' '%s' '%s' %s", +- cups_serverbin, scheme, argv[1], argv[2], argv[3], +- /* Apply number of copies only if beh was called with a +- file name and not with the print data in stdin, as +- backends should handle copies only if they are called +- with a file name */ +- (argc == 6 ? "1" : argv[4]), +- argv[5], filename); ++ } ++ ++ backend_argv[0] = uri; ++ backend_argv[1] = argv[1]; ++ backend_argv[2] = argv[2]; ++ backend_argv[3] = argv[3]; ++ /* Apply number of copies only if beh was called with a file name ++ and not with the print data in stdin, as backends should handle ++ copies only if they are called with a file name */ ++ backend_argv[4] = (argc == 6 ? "1" : argv[4]); ++ backend_argv[5] = argv[5]; ++ backend_argv[6] = filename; ++ backend_argv[7] = NULL; ++ ++ bytes = snprintf(backend_path, sizeof(backend_path), ++ "%s/backend/%s", cups_serverbin, scheme); ++ if (bytes < 0 || bytes >= sizeof(backend_path)) ++ { ++ fprintf(stderr, ++ "ERROR: beh: Invalid scheme (\"%s\"), could not determing backend path.\n", ++ scheme); ++ return (CUPS_BACKEND_FAILED); ++ } + + /* + * Overwrite the device URI and run the actual backend... +@@ -253,18 +286,44 @@ call_backend(char *uri, /* I - URI of final destination */ + setenv("DEVICE_URI", uri, 1); + + fprintf(stderr, +- "DEBUG: beh: Executing backend command line \"%s\"...\n", +- cmdline); ++ "DEBUG: beh: Executing backend command line \"%s '%s' '%s' '%s' '%s' '%s' %s\"...\n", ++ backend_path, backend_argv[1], backend_argv[2], backend_argv[3], ++ backend_argv[4], backend_argv[5], backend_argv[6]); + fprintf(stderr, + "DEBUG: beh: Using device URI: %s\n", + uri); + +- retval = system(cmdline) >> 8; ++ if ((pid = fork()) == 0) { ++ /* ++ * Child comes here... ++ */ ++ ++ /* Run the backend */ ++ execv(backend_path, backend_argv); + +- if (retval == -1) + fprintf(stderr, "ERROR: Unable to execute backend command line: %s\n", + strerror(errno)); + ++ exit(1); ++ } else if (pid < 0) { ++ /* ++ * Unable to fork! ++ */ ++ ++ return (CUPS_BACKEND_FAILED); ++ } ++ ++ while ((wait_pid = wait(&wait_status)) < 0 && errno == EINTR); ++ ++ if (wait_pid >= 0 && wait_status) { ++ if (WIFEXITED(wait_status)) ++ retval = WEXITSTATUS(wait_status); ++ else if (WTERMSIG(wait_status) != SIGTERM) ++ retval = WTERMSIG(wait_status); ++ else ++ retval = 0; ++ } ++ + return (retval); + } + +@@ -277,8 +336,10 @@ static void + sigterm_handler(int sig) { /* I - Signal number (unused) */ + (void)sig; + +- fprintf(stderr, +- "DEBUG: beh: Job canceled.\n"); ++ const char * const msg = "DEBUG: beh: Job canceled.\n"; ++ /* The if() is to eliminate the return value and silence the warning ++ about an unused return value. */ ++ if (write(2, msg, strlen(msg))); + + if (job_canceled) + _exit(CUPS_BACKEND_OK); diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash index b910cdce134..7fb3badf46d 100644 --- a/package/cups-filters/cups-filters.hash +++ b/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0ca77bb820719a040ff003ecb478d0c2ceffc94e8bd1cd03ddb5a199444127ba cups-filters-1.28.16.tar.gz +sha256 01a2acbd6bb78f09638047e4e9ce305d7e5ef4cb9ed6949672b5d901b7321dd4 cups-filters-1.28.17.tar.gz sha256 38192ffdaca98b718f78b2d4abc38bb087f0bbcc9a16d212c98b903b985f900f COPYING diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk index 3250649e076..dcfb2e95009 100644 --- a/package/cups-filters/cups-filters.mk +++ b/package/cups-filters/cups-filters.mk @@ -4,12 +4,15 @@ # ################################################################################ -CUPS_FILTERS_VERSION = 1.28.16 -CUPS_FILTERS_SITE = http://openprinting.org/download/cups-filters +CUPS_FILTERS_VERSION = 1.28.17 +CUPS_FILTERS_SITE = https://github.com/OpenPrinting/cups-filters/releases/download/$(CUPS_FILTERS_VERSION) CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause CUPS_FILTERS_LICENSE_FILES = COPYING CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation +# 0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch +CUPS_FILTERS_IGNORE_CVES += CVE-2023-24805 + CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg CUPS_FILTERS_CONF_OPTS = \ diff --git a/package/cups-pk-helper/cups-pk-helper.mk b/package/cups-pk-helper/cups-pk-helper.mk index 2bd00c69126..2e057c2de0c 100644 --- a/package/cups-pk-helper/cups-pk-helper.mk +++ b/package/cups-pk-helper/cups-pk-helper.mk @@ -9,7 +9,7 @@ CUPS_PK_HELPER_SITE = https://www.freedesktop.org/software/cups-pk-helper/releas CUPS_PK_HELPER_SOURCE = cups-pk-helper-$(CUPS_PK_HELPER_VERSION).tar.xz CUPS_PK_HELPER_LICENSE = GPL-2.0+ CUPS_PK_HELPER_LICENSE_FILES = COPYING -CUPS_PK_HELPER_CPE_ID_VENDOR = cups-pk-helper_project +CUPS_PK_HELPER_CPE_ID_VALID = YES CUPS_PK_HELPER_DEPENDENCIES = cups libglib2 polkit $(eval $(meson-package)) diff --git a/package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch b/package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch new file mode 100644 index 00000000000..57c6b61437d --- /dev/null +++ b/package/cups/0005-cups-hash-c-Put-support-for-MacOS-Win-SSL-libs-back.patch @@ -0,0 +1,349 @@ +From c6cd5e9c10edc68caf6936a3d3274f758e9cd03d Mon Sep 17 00:00:00 2001 +From: Zdenek Dohnal +Date: Tue, 3 Oct 2023 13:59:40 +0200 +Subject: [PATCH] cups/hash.c: Put support for MacOS/Win SSL libs back + +- I mustn't remove their support in patch release - this should happen in +2.5 only. +- I have put back support for several hashes as well - they +should be removed in 2.5. +- restrict usage of second block hashing only if OpenSSL/LibreSSL/GnuTLS + is available + +Upstream: https://github.com/OpenPrinting/cups/commit/c6cd5e9c10edc68caf6936a3d3274f758e9cd03d +Signed-off-by: Fabrice Fontaine +--- + cups/hash.c | 271 +++++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 260 insertions(+), 11 deletions(-) + +diff --git a/cups/hash.c b/cups/hash.c +index 93ca552c8..c447bab4e 100644 +--- a/cups/hash.c ++++ b/cups/hash.c +@@ -12,8 +12,13 @@ + #include "md5-internal.h" + #ifdef HAVE_OPENSSL + # include +-#else // HAVE_GNUTLS ++#elif defined(HAVE_GNUTLS) + # include ++#elif __APPLE__ ++# include ++#elif _WIN32 ++# include ++# include + #endif // HAVE_OPENSSL + + +@@ -193,17 +198,18 @@ hash_data(const char *algorithm, // I - Algorithm + const void *b, // I - Second block or `NULL` for none + size_t blen) // I - Length of second block or `0` for none + { ++#if defined(HAVE_OPENSSL) || defined(HAVE_GNUTLS) + unsigned hashlen; // Length of hash + unsigned char hashtemp[64]; // Temporary hash buffer +-#ifdef HAVE_OPENSSL +- const EVP_MD *md = NULL; // Message digest implementation +- EVP_MD_CTX *ctx; // Context +-#else // HAVE_GNUTLS +- gnutls_digest_algorithm_t alg = GNUTLS_DIG_UNKNOWN; +- // Algorithm +- gnutls_hash_hd_t ctx; // Context +-#endif // HAVE_OPENSSL ++#else ++ if (strcmp(algorithm, "md5") && (b || blen != 0)) ++ { ++ // Second block hashing is not supported without OpenSSL or GnuTLS ++ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unsupported without GnuTLS or OpenSSL/LibreSSL."), 1); + ++ return (-1); ++ } ++#endif + + if (!strcmp(algorithm, "md5")) + { +@@ -223,6 +229,10 @@ hash_data(const char *algorithm, // I - Algorithm + } + + #ifdef HAVE_OPENSSL ++ const EVP_MD *md = NULL; // Message digest implementation ++ EVP_MD_CTX *ctx; // Context ++ ++ + if (!strcmp(algorithm, "sha")) + { + // SHA-1 +@@ -244,6 +254,14 @@ hash_data(const char *algorithm, // I - Algorithm + { + md = EVP_sha512(); + } ++ else if (!strcmp(algorithm, "sha2-512_224")) ++ { ++ md = EVP_sha512_224(); ++ } ++ else if (!strcmp(algorithm, "sha2-512_256")) ++ { ++ md = EVP_sha512_256(); ++ } + + if (md) + { +@@ -262,7 +280,13 @@ hash_data(const char *algorithm, // I - Algorithm + return ((ssize_t)hashlen); + } + +-#else // HAVE_GNUTLS ++#elif defined(HAVE_GNUTLS) ++ gnutls_digest_algorithm_t alg = GNUTLS_DIG_UNKNOWN; // Algorithm ++ gnutls_hash_hd_t ctx; // Context ++ unsigned char temp[64]; // Temporary hash buffer ++ size_t tempsize = 0; // Truncate to this size? ++ ++ + if (!strcmp(algorithm, "sha")) + { + // SHA-1 +@@ -284,9 +308,32 @@ hash_data(const char *algorithm, // I - Algorithm + { + alg = GNUTLS_DIG_SHA512; + } ++ else if (!strcmp(algorithm, "sha2-512_224")) ++ { ++ alg = GNUTLS_DIG_SHA512; ++ tempsize = 28; ++ } ++ else if (!strcmp(algorithm, "sha2-512_256")) ++ { ++ alg = GNUTLS_DIG_SHA512; ++ tempsize = 32; ++ } + + if (alg != GNUTLS_DIG_UNKNOWN) + { ++ if (tempsize > 0) ++ { ++ // Truncate result to tempsize bytes... ++ ++ if (hashsize < tempsize) ++ goto too_small; ++ ++ gnutls_hash_fast(alg, a, alen, temp); ++ memcpy(hash, temp, tempsize); ++ ++ return ((ssize_t)tempsize); ++ } ++ + hashlen = gnutls_hash_get_len(alg); + + if (hashlen > hashsize) +@@ -302,7 +349,209 @@ hash_data(const char *algorithm, // I - Algorithm + + return ((ssize_t)hashlen); + } +-#endif // HAVE_OPENSSL ++ ++#elif __APPLE__ ++ if (!strcmp(algorithm, "sha")) ++ { ++ // SHA-1... ++ ++ CC_SHA1_CTX ctx; // SHA-1 context ++ ++ if (hashsize < CC_SHA1_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA1_Init(&ctx); ++ CC_SHA1_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA1_Final(hash, &ctx); ++ ++ return (CC_SHA1_DIGEST_LENGTH); ++ } ++# ifdef CC_SHA224_DIGEST_LENGTH ++ else if (!strcmp(algorithm, "sha2-224")) ++ { ++ CC_SHA256_CTX ctx; // SHA-224 context ++ ++ if (hashsize < CC_SHA224_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA224_Init(&ctx); ++ CC_SHA224_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA224_Final(hash, &ctx); ++ ++ return (CC_SHA224_DIGEST_LENGTH); ++ } ++# endif /* CC_SHA224_DIGEST_LENGTH */ ++ else if (!strcmp(algorithm, "sha2-256")) ++ { ++ CC_SHA256_CTX ctx; // SHA-256 context ++ ++ if (hashsize < CC_SHA256_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA256_Init(&ctx); ++ CC_SHA256_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA256_Final(hash, &ctx); ++ ++ return (CC_SHA256_DIGEST_LENGTH); ++ } ++ else if (!strcmp(algorithm, "sha2-384")) ++ { ++ CC_SHA512_CTX ctx; // SHA-384 context ++ ++ if (hashsize < CC_SHA384_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA384_Init(&ctx); ++ CC_SHA384_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA384_Final(hash, &ctx); ++ ++ return (CC_SHA384_DIGEST_LENGTH); ++ } ++ else if (!strcmp(algorithm, "sha2-512")) ++ { ++ CC_SHA512_CTX ctx; // SHA-512 context ++ ++ if (hashsize < CC_SHA512_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA512_Init(&ctx); ++ CC_SHA512_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA512_Final(hash, &ctx); ++ ++ return (CC_SHA512_DIGEST_LENGTH); ++ } ++# ifdef CC_SHA224_DIGEST_LENGTH ++ else if (!strcmp(algorithm, "sha2-512_224")) ++ { ++ CC_SHA512_CTX ctx; // SHA-512 context ++ unsigned char temp[CC_SHA512_DIGEST_LENGTH]; ++ // SHA-512 hash ++ ++ // SHA2-512 truncated to 224 bits (28 bytes)... ++ ++ if (hashsize < CC_SHA224_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA512_Init(&ctx); ++ CC_SHA512_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA512_Final(temp, &ctx); ++ ++ memcpy(hash, temp, CC_SHA224_DIGEST_LENGTH); ++ ++ return (CC_SHA224_DIGEST_LENGTH); ++ } ++# endif // CC_SHA224_DIGEST_LENGTH ++ else if (!strcmp(algorithm, "sha2-512_256")) ++ { ++ CC_SHA512_CTX ctx; // SHA-512 context ++ unsigned char temp[CC_SHA512_DIGEST_LENGTH]; ++ // SHA-512 hash ++ ++ // SHA2-512 truncated to 256 bits (32 bytes)... ++ ++ if (hashsize < CC_SHA256_DIGEST_LENGTH) ++ goto too_small; ++ ++ CC_SHA512_Init(&ctx); ++ CC_SHA512_Update(&ctx, a, (CC_LONG)alen); ++ CC_SHA512_Final(temp, &ctx); ++ ++ memcpy(hash, temp, CC_SHA256_DIGEST_LENGTH); ++ ++ return (CC_SHA256_DIGEST_LENGTH); ++ } ++ ++#elif _WIN32 ++ // Use Windows CNG APIs to perform hashing... ++ BCRYPT_ALG_HANDLE alg; // Algorithm handle ++ LPCWSTR algid = NULL; // Algorithm ID ++ ssize_t hashlen; // Hash length ++ NTSTATUS status; // Status of hash ++ unsigned char temp[64]; // Temporary hash buffer ++ size_t tempsize = 0; // Truncate to this size? ++ ++ ++ if (!strcmp(algorithm, "sha")) ++ { ++ algid = BCRYPT_SHA1_ALGORITHM; ++ hashlen = 20; ++ } ++ else if (!strcmp(algorithm, "sha2-256")) ++ { ++ algid = BCRYPT_SHA256_ALGORITHM; ++ hashlen = 32; ++ } ++ else if (!strcmp(algorithm, "sha2-384")) ++ { ++ algid = BCRYPT_SHA384_ALGORITHM; ++ hashlen = 48; ++ } ++ else if (!strcmp(algorithm, "sha2-512")) ++ { ++ algid = BCRYPT_SHA512_ALGORITHM; ++ hashlen = 64; ++ } ++ else if (!strcmp(algorithm, "sha2-512_224")) ++ { ++ algid = BCRYPT_SHA512_ALGORITHM; ++ hashlen = tempsize = 28; ++ } ++ else if (!strcmp(algorithm, "sha2-512_256")) ++ { ++ algid = BCRYPT_SHA512_ALGORITHM; ++ hashlen = tempsize = 32; ++ } ++ ++ if (algid) ++ { ++ if (hashsize < (size_t)hashlen) ++ goto too_small; ++ ++ if ((status = BCryptOpenAlgorithmProvider(&alg, algid, NULL, 0)) < 0) ++ { ++ DEBUG_printf(("2cupsHashData: BCryptOpenAlgorithmProvider returned %d.", status)); ++ ++ if (status == STATUS_INVALID_PARAMETER) ++ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad algorithm parameter."), 1); ++ else ++ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unable to access cryptographic provider."), 1); ++ ++ return (-1); ++ } ++ ++ if (tempsize > 0) ++ { ++ // Do a truncated SHA2-512 hash... ++ status = BCryptHash(alg, NULL, 0, (PUCHAR)a, (ULONG)alen, temp, sizeof(temp)); ++ memcpy(hash, temp, hashlen); ++ } ++ else ++ { ++ // Hash directly to buffer... ++ status = BCryptHash(alg, NULL, 0, (PUCHAR)a, (ULONG)alen, hash, (ULONG)hashlen); ++ } ++ ++ BCryptCloseAlgorithmProvider(alg, 0); ++ ++ if (status < 0) ++ { ++ DEBUG_printf(("2cupsHashData: BCryptHash returned %d.", status)); ++ ++ if (status == STATUS_INVALID_PARAMETER) ++ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad hashing parameter."), 1); ++ else ++ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Hashing failed."), 1); ++ ++ return (-1); ++ } ++ ++ return (hashlen); ++ } ++ ++#else ++ if (hashsize < 64) ++ goto too_small; ++#endif // __APPLE__ + + // Unknown hash algorithm... + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unknown hash algorithm."), 1); diff --git a/package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch b/package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch new file mode 100644 index 00000000000..be4c6b469de --- /dev/null +++ b/package/cups/0006-cups-hash-c-LibreSSL-version-does-not-support-several-hashes.patch @@ -0,0 +1,30 @@ +From 0dd97fcaeeb16ed836e8542d75e2396fb1d129d9 Mon Sep 17 00:00:00 2001 +From: Zdenek Dohnal +Date: Tue, 3 Oct 2023 14:39:33 +0200 +Subject: [PATCH] cups/hash.c: LibreSSL version does not support several hashes + +Upstream: https://github.com/OpenPrinting/cups/commit/0dd97fcaeeb16ed836e8542d75e2396fb1d129d9 +Signed-off-by: Fabrice Fontaine +--- + cups/hash.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/cups/hash.c b/cups/hash.c +index c447bab4e..5eefa1010 100644 +--- a/cups/hash.c ++++ b/cups/hash.c +@@ -254,14 +254,6 @@ hash_data(const char *algorithm, // I - Algorithm + { + md = EVP_sha512(); + } +- else if (!strcmp(algorithm, "sha2-512_224")) +- { +- md = EVP_sha512_224(); +- } +- else if (!strcmp(algorithm, "sha2-512_256")) +- { +- md = EVP_sha512_256(); +- } + + if (md) + { diff --git a/package/cups/cups.hash b/package/cups/cups.hash index ba220e903e1..2d7bbf1aa97 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,4 +1,4 @@ # Locally calculated: -sha256 f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908 cups-2.4.2-source.tar.gz +sha256 dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c cups-2.4.7-source.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE -sha256 7a7bd639e3a8457ae40b0dcfb74ea3cc6a8132b06c726142e993625d33eb6de5 NOTICE +sha256 5320b6e3c252423e4153eb2dd63e57e3b630afb21139f44e43b02d85fe33e279 NOTICE diff --git a/package/cups/cups.mk b/package/cups/cups.mk index fed2aa809f1..a5098b50e9f 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.4.2 +CUPS_VERSION = 2.4.7 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz CUPS_SITE = https://github.com/OpenPrinting/cups/releases/download/v$(CUPS_VERSION) CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception @@ -37,10 +37,8 @@ CUPS_DEPENDENCIES = \ ifeq ($(BR2_PACKAGE_SYSTEMD),y) CUPS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system \ - --enable-systemd + --with-ondemand=systemd CUPS_DEPENDENCIES += systemd -else -CUPS_CONF_OPTS += --disable-systemd endif ifeq ($(BR2_PACKAGE_DBUS),y) @@ -51,8 +49,11 @@ CUPS_CONF_OPTS += --disable-dbus endif ifeq ($(BR2_PACKAGE_GNUTLS),y) -CUPS_CONF_OPTS += --with-tls=yes +CUPS_CONF_OPTS += --with-tls=gnutls CUPS_DEPENDENCIES += gnutls +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +CUPS_CONF_OPTS += --with-tls=openssl +CUPS_DEPENDENCIES += openssl else CUPS_CONF_OPTS += --with-tls=no endif @@ -64,11 +65,11 @@ else CUPS_CONF_OPTS += --disable-libusb endif -ifeq ($(BR2_PACKAGE_AVAHI),y) +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) CUPS_DEPENDENCIES += avahi -CUPS_CONF_OPTS += --enable-avahi +CUPS_CONF_OPTS += --with-dnssd=avahi else -CUPS_CONF_OPTS += --disable-avahi +CUPS_CONF_OPTS += --with-dnssd=no endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) diff --git a/package/cutekeyboard/Config.in b/package/cutekeyboard/Config.in new file mode 100644 index 00000000000..bd661b0cd42 --- /dev/null +++ b/package/cutekeyboard/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_CUTEKEYBOARD + bool "cutekeyboard" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5QUICKCONTROLS2 + help + CuteKeyboard is a Qt virtual keyboard plugin for + embedded applications. + + https://amarula.github.io/cutekeyboard/ + +if BR2_PACKAGE_CUTEKEYBOARD + +config BR2_PACKAGE_CUTEKEYBOARD_EXAMPLES + bool "cutekeyboard examples" + help + Compile also application example + +endif diff --git a/package/cutekeyboard/cutekeyboard.hash b/package/cutekeyboard/cutekeyboard.hash new file mode 100644 index 00000000000..3d3ec2f8588 --- /dev/null +++ b/package/cutekeyboard/cutekeyboard.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 8cbaddc5fbf479d5e20fc88228e9af5928fa5e588052ee496c2f2efbe2afc510 cutekeyboard-afacc3210b75d7e0de27dcc4c0f2bed0212cc4c7.tar.gz +sha256 bdde6ec2ae2686623c0bb414bfb8bd731b314beff2264c602116ea60dd65964d LICENSE diff --git a/package/cutekeyboard/cutekeyboard.mk b/package/cutekeyboard/cutekeyboard.mk new file mode 100644 index 00000000000..a7b3ba7a1d0 --- /dev/null +++ b/package/cutekeyboard/cutekeyboard.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# cutekeyboard +# +################################################################################ + +CUTEKEYBOARD_VERSION = afacc3210b75d7e0de27dcc4c0f2bed0212cc4c7 +CUTEKEYBOARD_SITE = $(call github,amarula,cutekeyboard,$(CUTEKEYBOARD_VERSION)) +CUTEKEYBOARD_DEPENDENCIES = qt5declarative qt5quickcontrols2 +CUTEKEYBOARD_INSTALL_STAGING = YES +CUTEKEYBOARD_LICENSE = MIT +CUTEKEYBOARD_LICENSE_FILES = LICENSE + +ifeq ($(BR2_PACKAGE_CUTEKEYBOARD_EXAMPLES),y) +CUTEKEYBOARD_CONF_OPTS += CONFIG+=BUILD_EXAMPLES +endif + +$(eval $(qmake-package)) diff --git a/package/cvs/cvs.mk b/package/cvs/cvs.mk index bd1e04eee00..64c15f16fee 100644 --- a/package/cvs/cvs.mk +++ b/package/cvs/cvs.mk @@ -18,18 +18,18 @@ CVS_CONF_ENV = \ ac_cv_func_working_mktime=yes \ cvs_cv_func_printf_ptr=yes -CVS_CONFIGURE_ARGS = --disable-old-info-format-support +CVS_CONF_OPTS = \ + --disable-old-info-format-support \ + --with-editor=/bin/vi ifeq ($(BR2_PACKAGE_CVS_SERVER),y) -CVS_CONFIGURE_ARGS += --enable-server +CVS_CONF_OPTS += --enable-server else -CVS_CONFIGURE_ARGS += --disable-server +CVS_CONF_OPTS += --disable-server endif ifeq ($(BR2_PACKAGE_ZLIB),y) -CVS_CONFIGURE_ARGS += --with-external-zlib +CVS_CONF_OPTS += --with-external-zlib endif -CVS_CONF_OPTS = $(CVS_CONFIGURE_ARGS) - define CVS_BZIP_UNPACK $(BZCAT) $(@D)/cvs-$(CVS_VERSION).tar.bz2 | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - rm -f $(@D)/cvs-$(CVS_VERSION).tar.bz2 diff --git a/package/daemon/0001-daemon-fix-build-with-musl-libc-again.patch b/package/daemon/0001-daemon-fix-build-with-musl-libc-again.patch deleted file mode 100644 index 48d95f122fe..00000000000 --- a/package/daemon/0001-daemon-fix-build-with-musl-libc-again.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b879e6886498fdd147287bffdf5867378c7f3299 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 24 Jun 2021 14:28:10 +0300 -Subject: [PATCH] daemon: fix build with musl libc (again) - -Commit 6b28c54dd95b3 added HAVE_SYS_TTYDEFAULTS_H to guard -sys/ttydefaults.h include. This breaks musl libc build because -HAVE_SYS_TTYDEFAULTS_H is not defined until config.h is included. - -Move sys/ttydefaults.h include below config.h - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/raforg/daemon/pull/4 - - daemon.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/daemon.c b/daemon.c -index 5c5ef2cb86df..f88a0d49bf84 100644 ---- a/daemon.c -+++ b/daemon.c -@@ -1011,9 +1011,6 @@ I - #ifdef _RESTORE_POSIX_SOURCE - #define _POSIX_SOURCE - #endif --#ifdef HAVE_SYS_TTYDEFAULTS_H /* For CEOF in musl libc (Linux only) */ --#include --#endif - #include - #include - #include -@@ -1037,6 +1034,10 @@ I - #include - #endif - -+#ifdef HAVE_SYS_TTYDEFAULTS_H /* For CEOF in musl libc (Linux only) */ -+#include -+#endif -+ - /* Configuration file entries */ - - typedef struct Config Config; --- -2.30.2 - diff --git a/package/daemon/0002-Fix-build-with-NDEBUG-defined.patch b/package/daemon/0002-Fix-build-with-NDEBUG-defined.patch deleted file mode 100644 index e99e9d8ed73..00000000000 --- a/package/daemon/0002-Fix-build-with-NDEBUG-defined.patch +++ /dev/null @@ -1,46 +0,0 @@ -From fc84d8d572ffcecb533fd6d6d025abea12ce027e Mon Sep 17 00:00:00 2001 -Message-Id: -From: Baruch Siach -Date: Thu, 3 Jun 2021 15:01:10 +0300 -Subject: [PATCH] Fix build with NDEBUG defined - -Build with NDEBUG fails because the debug() macro becomes empty. This -creates invalid syntax with the debug() call is the only statement in -the body of a 'for' loop. - -This fixes build failures like: - -daemon.c: In function 'show': -daemon.c:3607:2: error: expected expression before '}' token - } - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/raforg/daemon/pull/3 - - libslack/err.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libslack/err.h b/libslack/err.h -index 106bdb01e074..7acfbe46d60a 100644 ---- a/libslack/err.h -+++ b/libslack/err.h -@@ -40,10 +40,10 @@ - #undef check - - #ifdef NDEBUG --#define debug(args) --#define vdebug(args) --#define debugsys(args) --#define vdebugsys(args) -+#define debug(args) do {} while (0); -+#define vdebug(args) do {} while (0); -+#define debugsys(args) do {} while (0); -+#define vdebugsys(args) do {} while (0); - #define check(cond, mesg) (void_cast(0)) - #else - #define debug(args) debugf args; --- -2.30.2 - diff --git a/package/daemon/daemon.hash b/package/daemon/daemon.hash index c490f715487..f1346d269b8 100644 --- a/package/daemon/daemon.hash +++ b/package/daemon/daemon.hash @@ -1,5 +1,9 @@ # From http://www.libslack.org/daemon/ -sha256 74f12e6d4b3c85632489bd08431d3d997bc17264bf57b7202384f2e809cff596 daemon-0.8.tar.gz +sha256 fa28859ad341cb0a0b012c11c271814f870482013b49f710600321d379887cd1 daemon-0.8.4.tar.gz # Locally calculated -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE -sha256 91329bb9be4ae0b7800081fa054e9bb760c60005b26958c1fb8461bc66bcd998 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE +sha256 34c8c7085e4d3920bfb8143b910d4f99194b9fc3e1cc3442c9b1b46db4382891 COPYING +sha256 8587dc1ea896f33b657d9e57bd3bf03f0c11ce07d041f09e687f87e7a0087b38 LICENSES/LicenseRef-BSD-3-Clause-Almost.txt +sha256 aaf135472f81c5b4a0dca9367e5bb5e9750032b5bebe5442b36e4c0a47430df3 LICENSES/GPL-2.0-or-later.txt +sha256 61778e80a2fd85955b626b29aa2bcf06144c714277bded65633e4a81479d9fb3 LICENSES/LGPL-2.0-or-later.txt +sha256 1aa57d2704f6783460f2750a9f3217d083ed5161eb95438ca43a5674213a7128 LICENSES/LicenseRef-Tatu-Ylonen-Permissive.txt diff --git a/package/daemon/daemon.mk b/package/daemon/daemon.mk index 96a163e597e..d7709e03eff 100644 --- a/package/daemon/daemon.mk +++ b/package/daemon/daemon.mk @@ -4,10 +4,14 @@ # ################################################################################ -DAEMON_VERSION = 0.8 +DAEMON_VERSION = 0.8.4 DAEMON_SITE = http://libslack.org/daemon/download -DAEMON_LICENSE = GPL-2.0+ -DAEMON_LICENSE_FILES = LICENSE COPYING +DAEMON_LICENSE = GPL-2.0+, LGPL-2.0+, BSD-3-Clause, Tatu Ylonen permissive license +DAEMON_LICENSE_FILES = LICENSE COPYING \ + LICENSES/LicenseRef-BSD-3-Clause-Almost.txt \ + LICENSES/GPL-2.0-or-later.txt \ + LICENSES/LGPL-2.0-or-later.txt \ + LICENSES/LicenseRef-Tatu-Ylonen-Permissive.txt define DAEMON_CONFIGURE_CMDS (cd $(@D); ./configure) diff --git a/package/dahdi-linux/0001-drivers-dahdi-Kbuild-fix-HOTPLUG_FIRMWARE-definition.patch b/package/dahdi-linux/0001-drivers-dahdi-Kbuild-fix-HOTPLUG_FIRMWARE-definition.patch deleted file mode 100644 index 82fd9bdc593..00000000000 --- a/package/dahdi-linux/0001-drivers-dahdi-Kbuild-fix-HOTPLUG_FIRMWARE-definition.patch +++ /dev/null @@ -1,64 +0,0 @@ -From dc0a646a460e6da10ddbe7bf02794051d76f8751 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 4 Nov 2021 17:30:06 +0100 -Subject: [PATCH] drivers/dahdi/Kbuild: fix HOTPLUG_FIRMWARE definition - -HOTPLUG_FIRMWARE is used before being defined resulting in the following -build failure since version 2.7.0 and -https://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=e2f492595c9191ba6d556ccac1bde4c1bb892938: - - MODPOST /home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/Module.symvers -ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcaxx.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcaxx.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_128_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_064_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_128_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_064_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte43x.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_start" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte13xp.ko] undefined! -ERROR: modpost: "_binary_dahdi_fw_oct6114_032_bin_size" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/wcte13xp.ko] undefined! - -Signed-off-by: Fabrice Fontaine -[Upstream status: sent to "Shaun Ruffell "] ---- - drivers/dahdi/Kbuild | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/drivers/dahdi/Kbuild b/drivers/dahdi/Kbuild -index 855e5bf..b1a8481 100644 ---- a/drivers/dahdi/Kbuild -+++ b/drivers/dahdi/Kbuild -@@ -13,6 +13,15 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/ - obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/ - obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE13XP) += wcte13xp.o - -+ifndef HOTPLUG_FIRMWARE -+ifneq (,$(filter y m,$(CONFIG_FW_LOADER))) -+HOTPLUG_FIRMWARE := yes -+else -+HOTPLUG_FIRMWARE := no -+endif -+export HOTPLUG_FIRMWARE -+endif -+ - wcte13xp-objs := wcte13xp-base.o wcxb_spi.o wcxb.o wcxb_flash.o - CFLAGS_wcte13xp-base.o += -I$(src)/oct612x -I$(src)/oct612x/include -I$(src)/oct612x/octdeviceapi -I$(src)/oct612x/octdeviceapi/oct6100api - ifeq ($(HOTPLUG_FIRMWARE),yes) -@@ -61,15 +70,6 @@ endif - - CFLAGS_MODULE += -I$(DAHDI_INCLUDE) -I$(src) -Wno-format-truncation - --ifndef HOTPLUG_FIRMWARE --ifneq (,$(filter y m,$(CONFIG_FW_LOADER))) --HOTPLUG_FIRMWARE := yes --else --HOTPLUG_FIRMWARE := no --endif --export HOTPLUG_FIRMWARE --endif -- - # fix typo present in CentOS and RHEL 2.6.9 kernels - BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2 - BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp) --- -2.33.0 - diff --git a/package/dahdi-linux/0001-fix-build-with-32-bits-kernel.patch b/package/dahdi-linux/0001-fix-build-with-32-bits-kernel.patch new file mode 100644 index 00000000000..df091496798 --- /dev/null +++ b/package/dahdi-linux/0001-fix-build-with-32-bits-kernel.patch @@ -0,0 +1,145 @@ +From aa74fa2fb5acf54bd46ad4c1b10e0a23a2cb3d25 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 4 Nov 2021 18:45:11 +0100 +Subject: [PATCH] fix build with 32-bits kernel + +Use div_s64 or div_s64_rem to fix the following build failure on 32-bits +kernels: + +ERROR: modpost: "__divdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp_usb.ko] undefined! +ERROR: modpost: "__udivdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp_usb.ko] undefined! +ERROR: modpost: "__moddi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp.ko] undefined! +ERROR: modpost: "__divdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp.ko] undefined! + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/asterisk/dahdi-linux/pull/32 +--- + drivers/dahdi/xpp/xbus-core.c | 9 ++++++--- + drivers/dahdi/xpp/xbus-pcm.c | 4 ++-- + drivers/dahdi/xpp/xbus-sysfs.c | 2 +- + drivers/dahdi/xpp/xframe_queue.c | 15 ++++++++++----- + drivers/dahdi/xpp/xpp_usb.c | 2 +- + 5 files changed, 20 insertions(+), 12 deletions(-) + +diff --git a/drivers/dahdi/xpp/xbus-core.c b/drivers/dahdi/xpp/xbus-core.c +index fc4ce7b..b1d1fd7 100644 +--- a/drivers/dahdi/xpp/xbus-core.c ++++ b/drivers/dahdi/xpp/xbus-core.c +@@ -1754,11 +1754,14 @@ out: + + static void xbus_fill_proc_queue(struct seq_file *sfile, struct xframe_queue *q) + { ++ s64 msec = 0; ++ s32 rem = 0; ++ ++ msec = div_s64_rem(q->worst_lag_usec, 1000, &rem); + seq_printf(sfile, +- "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", ++ "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%d ms\n", + q->name, q->steady_state_count, q->count, q->max_count, +- q->worst_count, q->overflows, q->worst_lag_usec / 1000, +- q->worst_lag_usec % 1000); ++ q->worst_count, q->overflows, msec, rem); + xframe_queue_clearstats(q); + } + +diff --git a/drivers/dahdi/xpp/xbus-pcm.c b/drivers/dahdi/xpp/xbus-pcm.c +index 8bb2fe7..e690ce7 100644 +--- a/drivers/dahdi/xpp/xbus-pcm.c ++++ b/drivers/dahdi/xpp/xbus-pcm.c +@@ -129,7 +129,7 @@ static int xpp_ticker_step(struct xpp_ticker *ticker, const ktime_t t) + usec = ktime_us_delta(ticker->last_sample, + ticker->first_sample); + ticker->first_sample = ticker->last_sample; +- ticker->tick_period = usec / ticker->cycle; ++ ticker->tick_period = div_s64(usec, ticker->cycle); + cycled = 1; + } + ticker->count++; +@@ -497,7 +497,7 @@ static void send_drift(xbus_t *xbus, int drift) + XBUS_DBG(SYNC, xbus, + "%sDRIFT adjust %s (%d) (last update %lld seconds ago)\n", + (disable_pll_sync) ? "Fake " : "", msg, drift, +- msec_delta / MSEC_PER_SEC); ++ div_s64(msec_delta, MSEC_PER_SEC)); + if (!disable_pll_sync) + CALL_PROTO(GLOBAL, SYNC_SOURCE, xbus, NULL, SYNC_MODE_PLL, + drift); +diff --git a/drivers/dahdi/xpp/xbus-sysfs.c b/drivers/dahdi/xpp/xbus-sysfs.c +index d8c11dc..35180d9 100644 +--- a/drivers/dahdi/xpp/xbus-sysfs.c ++++ b/drivers/dahdi/xpp/xbus-sysfs.c +@@ -249,7 +249,7 @@ static DEVICE_ATTR_READER(driftinfo_show, dev, buf) + /* + * Calculate lost ticks time + */ +- seconds = ktime_ms_delta(now, di->last_lost_tick) / 1000; ++ seconds = div_s64(ktime_ms_delta(now, di->last_lost_tick), 1000); + minutes = seconds / 60; + seconds = seconds % 60; + hours = minutes / 60; +diff --git a/drivers/dahdi/xpp/xframe_queue.c b/drivers/dahdi/xpp/xframe_queue.c +index e986083..8e5e508 100644 +--- a/drivers/dahdi/xpp/xframe_queue.c ++++ b/drivers/dahdi/xpp/xframe_queue.c +@@ -35,15 +35,18 @@ static void __xframe_dump_queue(struct xframe_queue *q) + int i = 0; + char prefix[30]; + ktime_t now = ktime_get(); ++ s64 msec = 0; ++ s32 rem = 0; + + printk(KERN_DEBUG "%s: dump queue '%s' (first packet in each frame)\n", + THIS_MODULE->name, q->name); + list_for_each_entry_reverse(xframe, &q->head, frame_list) { + xpacket_t *pack = (xpacket_t *)&xframe->packets[0]; + s64 usec = ktime_us_delta(now, xframe->kt_queued); ++ msec = div_s64_rem(usec, 1000, &rem); + +- snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03lld msec", +- i++, usec / 1000, usec % 1000); ++ snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03d msec", ++ i++, msec, rem); + dump_packet(prefix, pack, 1); + } + } +@@ -52,6 +55,8 @@ static bool __xframe_enqueue(struct xframe_queue *q, xframe_t *xframe) + { + int ret = 1; + static int overflow_cnt; ++ s64 msec = 0; ++ s32 rem = 0; + + if (unlikely(q->disabled)) { + ret = 0; +@@ -60,11 +65,11 @@ static bool __xframe_enqueue(struct xframe_queue *q, xframe_t *xframe) + if (q->count >= q->max_count) { + q->overflows++; + if ((overflow_cnt++ % 1000) < 5) { +- NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", ++ msec = div_s64_rem(q->worst_lag_usec, 1000, &rem); ++ NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%d ms\n", + q->name, q->steady_state_count, q->count, + q->max_count, q->worst_count, q->overflows, +- q->worst_lag_usec / 1000, +- q->worst_lag_usec % 1000); ++ msec, rem); + __xframe_dump_queue(q); + } + ret = 0; +diff --git a/drivers/dahdi/xpp/xpp_usb.c b/drivers/dahdi/xpp/xpp_usb.c +index 1a591b1..3741457 100644 +--- a/drivers/dahdi/xpp/xpp_usb.c ++++ b/drivers/dahdi/xpp/xpp_usb.c +@@ -882,7 +882,7 @@ static void xpp_send_callback(struct urb *urb) + usec = 0; /* System clock jumped */ + if (usec > xusb->max_tx_delay) + xusb->max_tx_delay = usec; +- i = usec / USEC_BUCKET; ++ i = div_s64(usec, USEC_BUCKET); + if (i >= NUM_BUCKETS) + i = NUM_BUCKETS - 1; + xusb->usb_tx_delay[i]++; +-- +2.33.0 + diff --git a/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch b/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch deleted file mode 100644 index ddaf6b4e7a4..00000000000 --- a/package/dahdi-linux/0002-fix-build-with-32-bits-kernel.patch +++ /dev/null @@ -1,144 +0,0 @@ -From aa74fa2fb5acf54bd46ad4c1b10e0a23a2cb3d25 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 4 Nov 2021 18:45:11 +0100 -Subject: [PATCH] fix build with 32-bits kernel - -Use div_s64 or div_s64_rem to fix the following build failure on 32-bits -kernels: - -ERROR: modpost: "__divdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp_usb.ko] undefined! -ERROR: modpost: "__udivdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp_usb.ko] undefined! -ERROR: modpost: "__moddi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp.ko] undefined! -ERROR: modpost: "__divdi3" [/home/fabrice/buildroot/output/build/dahdi-linux-5c840cf43838e0690873e73409491c392333b3b8/drivers/dahdi/xpp/xpp.ko] undefined! - -Signed-off-by: Fabrice Fontaine ---- - drivers/dahdi/xpp/xbus-core.c | 9 ++++++--- - drivers/dahdi/xpp/xbus-pcm.c | 4 ++-- - drivers/dahdi/xpp/xbus-sysfs.c | 2 +- - drivers/dahdi/xpp/xframe_queue.c | 15 ++++++++++----- - drivers/dahdi/xpp/xpp_usb.c | 2 +- - 5 files changed, 20 insertions(+), 12 deletions(-) - -diff --git a/drivers/dahdi/xpp/xbus-core.c b/drivers/dahdi/xpp/xbus-core.c -index fc4ce7b..b1d1fd7 100644 ---- a/drivers/dahdi/xpp/xbus-core.c -+++ b/drivers/dahdi/xpp/xbus-core.c -@@ -1754,11 +1754,14 @@ out: - - static void xbus_fill_proc_queue(struct seq_file *sfile, struct xframe_queue *q) - { -+ s64 msec = 0; -+ s32 rem = 0; -+ -+ msec = div_s64_rem(q->worst_lag_usec, 1000, &rem); - seq_printf(sfile, -- "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", -+ "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%d ms\n", - q->name, q->steady_state_count, q->count, q->max_count, -- q->worst_count, q->overflows, q->worst_lag_usec / 1000, -- q->worst_lag_usec % 1000); -+ q->worst_count, q->overflows, msec, rem); - xframe_queue_clearstats(q); - } - -diff --git a/drivers/dahdi/xpp/xbus-pcm.c b/drivers/dahdi/xpp/xbus-pcm.c -index 8bb2fe7..e690ce7 100644 ---- a/drivers/dahdi/xpp/xbus-pcm.c -+++ b/drivers/dahdi/xpp/xbus-pcm.c -@@ -129,7 +129,7 @@ static int xpp_ticker_step(struct xpp_ticker *ticker, const ktime_t t) - usec = ktime_us_delta(ticker->last_sample, - ticker->first_sample); - ticker->first_sample = ticker->last_sample; -- ticker->tick_period = usec / ticker->cycle; -+ ticker->tick_period = div_s64(usec, ticker->cycle); - cycled = 1; - } - ticker->count++; -@@ -497,7 +497,7 @@ static void send_drift(xbus_t *xbus, int drift) - XBUS_DBG(SYNC, xbus, - "%sDRIFT adjust %s (%d) (last update %lld seconds ago)\n", - (disable_pll_sync) ? "Fake " : "", msg, drift, -- msec_delta / MSEC_PER_SEC); -+ div_s64(msec_delta, MSEC_PER_SEC)); - if (!disable_pll_sync) - CALL_PROTO(GLOBAL, SYNC_SOURCE, xbus, NULL, SYNC_MODE_PLL, - drift); -diff --git a/drivers/dahdi/xpp/xbus-sysfs.c b/drivers/dahdi/xpp/xbus-sysfs.c -index d8c11dc..35180d9 100644 ---- a/drivers/dahdi/xpp/xbus-sysfs.c -+++ b/drivers/dahdi/xpp/xbus-sysfs.c -@@ -249,7 +249,7 @@ static DEVICE_ATTR_READER(driftinfo_show, dev, buf) - /* - * Calculate lost ticks time - */ -- seconds = ktime_ms_delta(now, di->last_lost_tick) / 1000; -+ seconds = div_s64(ktime_ms_delta(now, di->last_lost_tick), 1000); - minutes = seconds / 60; - seconds = seconds % 60; - hours = minutes / 60; -diff --git a/drivers/dahdi/xpp/xframe_queue.c b/drivers/dahdi/xpp/xframe_queue.c -index e986083..8e5e508 100644 ---- a/drivers/dahdi/xpp/xframe_queue.c -+++ b/drivers/dahdi/xpp/xframe_queue.c -@@ -35,15 +35,18 @@ static void __xframe_dump_queue(struct xframe_queue *q) - int i = 0; - char prefix[30]; - ktime_t now = ktime_get(); -+ s64 msec = 0; -+ s32 rem = 0; - - printk(KERN_DEBUG "%s: dump queue '%s' (first packet in each frame)\n", - THIS_MODULE->name, q->name); - list_for_each_entry_reverse(xframe, &q->head, frame_list) { - xpacket_t *pack = (xpacket_t *)&xframe->packets[0]; - s64 usec = ktime_us_delta(now, xframe->kt_queued); -+ msec = div_s64_rem(usec, 1000, &rem); - -- snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03lld msec", -- i++, usec / 1000, usec % 1000); -+ snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03d msec", -+ i++, msec, rem); - dump_packet(prefix, pack, 1); - } - } -@@ -52,6 +55,8 @@ static bool __xframe_enqueue(struct xframe_queue *q, xframe_t *xframe) - { - int ret = 1; - static int overflow_cnt; -+ s64 msec = 0; -+ s32 rem = 0; - - if (unlikely(q->disabled)) { - ret = 0; -@@ -60,11 +65,11 @@ static bool __xframe_enqueue(struct xframe_queue *q, xframe_t *xframe) - if (q->count >= q->max_count) { - q->overflows++; - if ((overflow_cnt++ % 1000) < 5) { -- NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", -+ msec = div_s64_rem(q->worst_lag_usec, 1000, &rem); -+ NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%d ms\n", - q->name, q->steady_state_count, q->count, - q->max_count, q->worst_count, q->overflows, -- q->worst_lag_usec / 1000, -- q->worst_lag_usec % 1000); -+ msec, rem); - __xframe_dump_queue(q); - } - ret = 0; -diff --git a/drivers/dahdi/xpp/xpp_usb.c b/drivers/dahdi/xpp/xpp_usb.c -index 1a591b1..3741457 100644 ---- a/drivers/dahdi/xpp/xpp_usb.c -+++ b/drivers/dahdi/xpp/xpp_usb.c -@@ -882,7 +882,7 @@ static void xpp_send_callback(struct urb *urb) - usec = 0; /* System clock jumped */ - if (usec > xusb->max_tx_delay) - xusb->max_tx_delay = usec; -- i = usec / USEC_BUCKET; -+ i = div_s64(usec, USEC_BUCKET); - if (i >= NUM_BUCKETS) - i = NUM_BUCKETS - 1; - xusb->usb_tx_delay[i]++; --- -2.33.0 - diff --git a/package/dahdi-linux/0003-Fixed-compilation-issues-on-linux-kernel-5-18-0.patch b/package/dahdi-linux/0003-Fixed-compilation-issues-on-linux-kernel-5-18-0.patch deleted file mode 100644 index a896def3759..00000000000 --- a/package/dahdi-linux/0003-Fixed-compilation-issues-on-linux-kernel-5-18-0.patch +++ /dev/null @@ -1,58 +0,0 @@ -From dbb43101c2a9205b67223b006bf75c29ebadced9 Mon Sep 17 00:00:00 2001 -From: Pushkar Singh -Date: Tue, 2 Aug 2022 19:40:00 +0530 -Subject: [PATCH] Fixed compilation issues on linux kernel >= 5.18.0 - -With kernel 5.18 and higher -PCI: Remove the deprecated "pci-dma-compat.h" API - -The commit will make sure to impplement pci dma related api's -[Retrieved from: -https://github.com/asterisk/dahdi-linux/commit/dbb43101c2a9205b67223b006bf75c29ebadced9] -Signed-off-by: Fabrice Fontaine ---- - include/dahdi/kernel.h | 31 +++++++++++++++++++++++++++++++ - 1 file changed, 31 insertions(+) - -diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h -index ed81e9e3..35e93bc4 100644 ---- a/include/dahdi/kernel.h -+++ b/include/dahdi/kernel.h -@@ -58,6 +58,37 @@ - - #include - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) -+#include -+#include -+ -+static inline void *pci_alloc_consistent(struct pci_dev *hwdev, size_t size, dma_addr_t *dma_handle) -+{ -+ return dma_alloc_coherent(hwdev == NULL ? NULL : &hwdev->dev, size, dma_handle, GFP_ATOMIC); -+} -+ -+static inline void pci_free_consistent(struct pci_dev *hwdev, size_t size, void *vaddr, dma_addr_t dma_handle) -+{ -+ dma_free_coherent(hwdev == NULL ? NULL : &hwdev->dev, size, vaddr, dma_handle); -+} -+ -+static inline dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction) -+{ -+ return dma_map_single(&hwdev->dev, ptr, size, (enum dma_data_direction)direction); -+} -+ -+static inline void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, size_t size, int direction) -+{ -+ dma_unmap_single(&hwdev->dev, dma_addr, size, (enum dma_data_direction)direction); -+} -+ -+static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) -+{ -+ return dma_set_mask(&dev->dev, mask); -+} -+ -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) - #define HAVE_NET_DEVICE_OPS - #endif diff --git a/package/dahdi-linux/Config.in b/package/dahdi-linux/Config.in index 7b6ce794227..b6086fdc6c9 100644 --- a/package/dahdi-linux/Config.in +++ b/package/dahdi-linux/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_DAHDI_LINUX DAHDI Linux is the open source device driver framework used to interface Asterisk with telephony hardware. - http://www.asterisk.org/downloads/dahdi + https://github.com/asterisk/dahdi-linux comment "dahdi-linux needs a Linux kernel to be built" depends on !BR2_LINUX_KERNEL diff --git a/package/dahdi-linux/dahdi-linux.hash b/package/dahdi-linux/dahdi-linux.hash index 2d3f3367776..e2508506304 100644 --- a/package/dahdi-linux/dahdi-linux.hash +++ b/package/dahdi-linux/dahdi-linux.hash @@ -1,5 +1,5 @@ -# From http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-3.2.0.sha256 -sha256 e2ef9b3f6769f60f432cfa09c39c9a0d7ab5bddff59229f385056915c65f9f13 dahdi-linux-3.2.0.tar.gz +# From http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-3.3.0.sha256 +sha256 f9528a82b5e88c1d92d737efd65bd571bef2cd1b1b44d43b857a76e38e01a7c0 dahdi-linux-3.3.0.tar.gz # Firmware files have no upstream hash, so sha56 locally computed sha256 3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1 dahdi-fwload-vpmadt032-1.25.0.tar.gz diff --git a/package/dahdi-linux/dahdi-linux.mk b/package/dahdi-linux/dahdi-linux.mk index 88519b51069..c688d3877ca 100644 --- a/package/dahdi-linux/dahdi-linux.mk +++ b/package/dahdi-linux/dahdi-linux.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_LINUX_VERSION = 3.2.0 +DAHDI_LINUX_VERSION = 3.3.0 DAHDI_LINUX_SITE = \ http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases diff --git a/package/dahdi-tools/dahdi-tools.hash b/package/dahdi-tools/dahdi-tools.hash index c119ff4ee1e..1251617286e 100644 --- a/package/dahdi-tools/dahdi-tools.hash +++ b/package/dahdi-tools/dahdi-tools.hash @@ -1,5 +1,5 @@ -# From http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-3.2.0.sha256 -sha256 2bc269887fcd42d2486572611934d713e603734cc658b3b517fc9f3bdea7262f dahdi-tools-3.2.0.tar.gz +# From http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-3.3.0.sha256 +sha256 5706b37df5840ecdc524d4c86df2ad34a31f83db552a8519b4ccf61bac75d2e4 dahdi-tools-3.3.0.tar.gz # License files, locally computed sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 LICENSE diff --git a/package/dahdi-tools/dahdi-tools.mk b/package/dahdi-tools/dahdi-tools.mk index 7d4de645a26..056b29156df 100644 --- a/package/dahdi-tools/dahdi-tools.mk +++ b/package/dahdi-tools/dahdi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -DAHDI_TOOLS_VERSION = 3.2.0 +DAHDI_TOOLS_VERSION = 3.3.0 DAHDI_TOOLS_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases DAHDI_TOOLS_LICENSE = GPLv2, LGPLv2.1 diff --git a/package/darkhttpd/darkhttpd.hash b/package/darkhttpd/darkhttpd.hash index 188afff767a..84a787eebae 100644 --- a/package/darkhttpd/darkhttpd.hash +++ b/package/darkhttpd/darkhttpd.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 e063de9efa5635260c8def00a4d41ec6145226a492d53fa1dac436967670d195 darkhttpd-1.14.tar.gz -sha256 f002944c9a8516e3346002d39c3e13681306833358c0f3c7781dff1fdb639710 darkhttpd.c +sha256 ea48cedafbf43186f4a8d1afc99b33b671adee99519658446022e6f63bd9eda9 darkhttpd-1.15.tar.gz +sha256 1ecf63e8f84fd60ac7215e04195b9a61dcb47176ea65df26547582027f6c1dee COPYING diff --git a/package/darkhttpd/darkhttpd.mk b/package/darkhttpd/darkhttpd.mk index bda08899b85..956ef4042cf 100644 --- a/package/darkhttpd/darkhttpd.mk +++ b/package/darkhttpd/darkhttpd.mk @@ -4,11 +4,11 @@ # ################################################################################ -DARKHTTPD_VERSION = 1.14 +DARKHTTPD_VERSION = 1.15 DARKHTTPD_SITE = $(call github,emikulic,darkhttpd,v$(DARKHTTPD_VERSION)) -DARKHTTPD_LICENSE = MIT -DARKHTTPD_LICENSE_FILES = darkhttpd.c -DARKHTTPD_CPE_ID_VENDOR = darkhttpd_project +DARKHTTPD_LICENSE = ISC +DARKHTTPD_LICENSE_FILES = COPYING +DARKHTTPD_CPE_ID_VALID = YES define DARKHTTPD_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) diff --git a/package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch b/package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch new file mode 100644 index 00000000000..eaa5d6cc608 --- /dev/null +++ b/package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch @@ -0,0 +1,45 @@ +From 7d07f683b83ef9fbdf258ce61b022b32f06f253a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 16 Feb 2024 17:26:28 +0100 +Subject: [PATCH] configure.ac: drop -Wl,--fatal-warnings + +Drop -Wl,--fatal-warnings with --enable-static to avoid the following +static build failure: + +configure:4778: checking for strtod +configure:4778: /home/autobuild/autobuild/instance-8/output-1/host/bin/powerpc-buildroot-linux-uclibcspe-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mabi=spe -mfloat-gprs=single -Wa,-me500 -Os -g0 -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -Wl,--fatal-warnings conftest.c >&5 +/home/autobuild/autobuild/instance-8/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibcspe/8.4.0/../../../../powerpc-buildroot-linux-uclibcspe/bin/ld: warning: conftest has a LOAD segment with RWX permissions +collect2: error: ld returned 1 exit status + +[...] + +In file included from arith_yylex.c:44: +system.h:74:22: error: static declaration of 'strtod' follows non-static declaration + static inline double strtod(const char *nptr, char **endptr) + ^~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/a54fdc7d1b94beb47203373ae35b08d9cea8d42c + +Signed-off-by: Fabrice Fontaine +Upstream: https://lore.kernel.org/dash/20240216163319.860768-1-fontaine.fabrice@gmail.com +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5524650..6993364 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -34,7 +34,7 @@ fi + AC_ARG_ENABLE(static, AS_HELP_STRING(--enable-static, \ + [Build statical linked program])) + if test "$enable_static" = "yes"; then +- export LDFLAGS="-static -Wl,--fatal-warnings" ++ export LDFLAGS="-static" + fi + + AC_ARG_ENABLE(fnmatch, AS_HELP_STRING(--disable-fnmatch, \ +-- +2.43.0 + diff --git a/package/dash/dash.mk b/package/dash/dash.mk index 6efc71e5684..aebfd28be81 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -8,6 +8,8 @@ DASH_VERSION = 0.5.11.5 DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c) DASH_LICENSE_FILES = COPYING +# We're patching configure.ac +DASH_AUTORECONF = YES # dash does not build in parallel DASH_MAKE = $(MAKE1) diff --git a/package/dav1d/dav1d.hash b/package/dav1d/dav1d.hash index 35d753fc27e..0b2c53ec212 100644 --- a/package/dav1d/dav1d.hash +++ b/package/dav1d/dav1d.hash @@ -1,4 +1,4 @@ -# From http://download.videolan.org/pub/videolan/dav1d/1.0.0/dav1d-1.0.0.tar.xz.sha256 -sha256 51737db7e4897e599684f873a4725176dd3c779e639411d7c4fce134bb5ebb82 dav1d-1.0.0.tar.xz +# From https://download.videolan.org/pub/videolan/dav1d/1.3.0/dav1d-1.3.0.tar.xz.sha256 +sha256 6d8be2741c505c47f8f1ced3c9cc427759243436553d01d1acce201f87b39e71 dav1d-1.3.0.tar.xz # Locally computed sha256 b327887de263238deaa80c34cdd2ff3e0ba1d35db585ce14a37ce3e74ee389e9 COPYING diff --git a/package/dav1d/dav1d.mk b/package/dav1d/dav1d.mk index 2d42cdcb677..3650f28730e 100644 --- a/package/dav1d/dav1d.mk +++ b/package/dav1d/dav1d.mk @@ -4,11 +4,12 @@ # ################################################################################ -DAV1D_VERSION = 1.0.0 +DAV1D_VERSION = 1.3.0 DAV1D_SOURCE = dav1d-$(DAV1D_VERSION).tar.xz -DAV1D_SITE = http://download.videolan.org/pub/videolan/dav1d/$(DAV1D_VERSION) +DAV1D_SITE = https://download.videolan.org/pub/videolan/dav1d/$(DAV1D_VERSION) DAV1D_LICENSE = BSD-2-Clause DAV1D_LICENSE_FILES = COPYING +DAV1D_CPE_ID_VENDOR = videolan DAV1D_INSTALL_STAGING = YES DAV1D_CONF_OPTS = \ -Denable_tests=false \ diff --git a/package/davfs2/Config.in b/package/davfs2/Config.in index 162753be3e4..31a680563c5 100644 --- a/package/davfs2/Config.in +++ b/package/davfs2/Config.in @@ -1,10 +1,10 @@ -comment "davfs2 needs a glibc or uClibc toolchain" +comment "davfs2 needs a glibc toolchain" depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_USES_GLIBC config BR2_PACKAGE_DAVFS2 bool "davfs2" - depends on !BR2_TOOLCHAIN_USES_MUSL # error.h + depends on BR2_TOOLCHAIN_USES_GLIBC # fstab.h depends on BR2_USE_MMU # fork() select BR2_PACKAGE_NEON select BR2_PACKAGE_NEON_XML diff --git a/package/davinci-bootcount/Config.in b/package/davinci-bootcount/Config.in deleted file mode 100644 index e34adde570a..00000000000 --- a/package/davinci-bootcount/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_DAVINCI_BOOTCOUNT - bool "davinci-bootcount" - depends on BR2_arm # only relevant for TI am335x - help - U-Boot implements a boot count scheme that can be used to - detect multiple failed attempts to boot Linux. On Davinci - platform (TI AM 335x) the `bootcount' is stored in the RTC - SCRATCH2 register. This tool allows to read and write this - register from userspace. - - https://github.com/VoltServer/uboot-davinci-bootcount diff --git a/package/davinci-bootcount/davinci-bootcount.hash b/package/davinci-bootcount/davinci-bootcount.hash deleted file mode 100644 index ef4bca2b7df..00000000000 --- a/package/davinci-bootcount/davinci-bootcount.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 de7843cf1245a739b6d18d4db478893e50c2de0ee19bbce96dc323065d28c3e4 davinci-bootcount-0973689c7556a953d2b468e4d8d46758c6d467b4.tar.gz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/davinci-bootcount/davinci-bootcount.mk b/package/davinci-bootcount/davinci-bootcount.mk deleted file mode 100644 index 385d96d5a2c..00000000000 --- a/package/davinci-bootcount/davinci-bootcount.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# davinci-bootcount -# -################################################################################ - -DAVINCI_BOOTCOUNT_VERSION = 0973689c7556a953d2b468e4d8d46758c6d467b4 -DAVINCI_BOOTCOUNT_SITE = $(call github,VoltServer,uboot-davinci-bootcount,$(DAVINCI_BOOTCOUNT_VERSION)) -DAVINCI_BOOTCOUNT_LICENSE = GPL-3.0 -DAVINCI_BOOTCOUNT_LICENSE_FILES = COPYING - -# sources fetched from github, no configure script -DAVINCI_BOOTCOUNT_AUTORECONF = YES - -$(eval $(autotools-package)) diff --git a/package/dbus-broker/dbus-broker.hash b/package/dbus-broker/dbus-broker.hash index f6c2cbe1602..06c8f229b79 100644 --- a/package/dbus-broker/dbus-broker.hash +++ b/package/dbus-broker/dbus-broker.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 bea7f653e7251063c5f427e9e3f93562d38a0d8667ae6d49fb56f113605985de dbus-broker-32.tar.xz +sha256 23713f25624749fdb274907e429080fa2d8f4dbe76acd87bb6d21a3c818c7841 dbus-broker-33.tar.xz sha256 3cda3630283eda0eab825abe5ac84d191248c6b3fe1c232a118124959b96c6a4 LICENSE sha256 20ea1f96abc15553695c6725bb3dcabff4b43b85b7ca7d675a2b8860e3b01f87 subprojects/libcdvar-1/AUTHORS sha256 8153c478102dc209b30dd4627cf5bb3596263f99692bf3eec174b1e17bbf8a3b subprojects/libcdvar-1/README.md @@ -11,7 +11,7 @@ sha256 23f24eeaaded5fedd6e7840b6f7b73838f9a4e2112ad6a12fe1ef958f73d0214 subpro sha256 05113a24aca4c537819dd0d91b95b13edb85bea4b6a77a6d9269becb397ed374 subprojects/libcrbtree-3/README.md sha256 6d63b1fb794d4c02622595ad30357c90398aa883864e5a275479139c8f03208f subprojects/libcshquote-1/AUTHORS sha256 cad109dd33062518a437ebee145ba863fe0e047d4e3db9c28b0bf3c6148f10c2 subprojects/libcshquote-1/README.md -sha256 32913ba08dc041f3f4ca361fc0d68014120e1c612772aabbcc901556df499ce5 subprojects/libcstdaux-1/AUTHORS -sha256 7c4b6c325b0bc02150089112f65132ee999b0f44500b73d1fc06d96c93161037 subprojects/libcstdaux-1/README.md +sha256 e796182869fe0892347d069f3f423774124987d6c45d016854fc51530633c177 subprojects/libcstdaux-1/AUTHORS +sha256 92006886d7f28894fef08bf97e35ef52147067bd3c4d4d6381da7c59f9901dae subprojects/libcstdaux-1/README.md sha256 7e660796fea0400a1a9a539226c345b3c656a745a334e323e33258de7864e985 subprojects/libcutf8-1/AUTHORS sha256 106099cc1c488cbf8911f56da7977a955f6b27a7bb5b815985e59d9fae0e6fe7 subprojects/libcutf8-1/README.md diff --git a/package/dbus-broker/dbus-broker.mk b/package/dbus-broker/dbus-broker.mk index e82b79220da..4266441ac9b 100644 --- a/package/dbus-broker/dbus-broker.mk +++ b/package/dbus-broker/dbus-broker.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_BROKER_VERSION = 32 +DBUS_BROKER_VERSION = 33 DBUS_BROKER_SOURCE = dbus-broker-$(DBUS_BROKER_VERSION).tar.xz DBUS_BROKER_SITE = https://github.com/bus1/dbus-broker/releases/download/v$(DBUS_BROKER_VERSION) @@ -23,7 +23,7 @@ DBUS_BROKER_LICENSE_FILES = \ subprojects/libcstdaux-1/AUTHORS subprojects/libcstdaux-1/README.md \ subprojects/libcutf8-1/AUTHORS subprojects/libcutf8-1/README.md -DBUS_BROKER_CPE_ID_VENDOR = dbus-broker_project +DBUS_BROKER_CPE_ID_VALID = YES DBUS_BROKER_DEPENDENCIES = expat systemd DBUS_BROKER_CONF_OPTS = -Dlauncher=true diff --git a/package/dbus-broker/session.conf b/package/dbus-broker/session.conf index e4758fa2186..8e9488b1db5 100644 --- a/package/dbus-broker/session.conf +++ b/package/dbus-broker/session.conf @@ -12,6 +12,18 @@ the behavior of child processes. --> + unix:tmpdir=/tmp + + + EXTERNAL + @@ -23,6 +35,9 @@ + + /etc/dbus-1/session.conf + session.d diff --git a/package/dbus-broker/system.conf b/package/dbus-broker/system.conf index 4b17fbd90ec..272f92361e4 100644 --- a/package/dbus-broker/system.conf +++ b/package/dbus-broker/system.conf @@ -14,18 +14,33 @@ system - - - dbus + + + + + /usr/libexec/dbus-daemon-launch-helper + + + /run/messagebus.pid + + + EXTERNAL + + + unix:path=/run/dbus/system_bus_socket + @@ -54,6 +69,8 @@ send_interface="org.freedesktop.DBus.Introspectable"/> + + + /etc/dbus-1/system.conf - -This indirect include causes on MUSL redefinition of struct sysinfo when -included both and some of UAPI headers: - -In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5, - from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5, - from ../include/tst_netlink.h:14, - from tst_crypto.c:13: -x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of ‘struct sysinfo’ - struct sysinfo { - ^~~~~~~ -In file included from ../include/tst_safe_macros.h:15, - from ../include/tst_test.h:93, - from tst_crypto.c:11: -x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here - -Signed-off-by: Petr Vorel - -[ upstream status: -https://patchwork.ozlabs.org/project/ltp/patch/20201001231256.6930-1-petr.vorel@gmail.com/, -rebased for 20220527 ] - -But this patch is not going to get upstreamed because it got fixed in Linux kernel: -a85cbe6159ff "uapi: move constants from to " - -This patch was also backported to stable and LTS versions, -which we use since buildroot 54584d233b "{linux, linux-headers}: bump -5.{4, 10}.x 4.{4, 9, 14, 19} series". -We just wait for all musl based toolchains to be rebuilt. ] - -Signed-off-by: Petr Vorel ---- - include/lapi/sysinfo.h | 22 +++++++++++++++++++ - include/tst_safe_macros.h | 2 +- - lib/safe_macros.c | 2 +- - lib/tst_memutils.c | 2 +- - testcases/kernel/mem/mtest01/mtest01.c | 2 +- - testcases/kernel/syscalls/madvise/madvise06.c | 2 +- - testcases/kernel/syscalls/sysinfo/sysinfo01.c | 2 +- - testcases/kernel/syscalls/sysinfo/sysinfo02.c | 2 +- - testcases/kernel/syscalls/sysinfo/sysinfo03.c | 2 +- - .../interfaces/pthread_cond_broadcast/1-2.c | 2 +- - 10 files changed, 31 insertions(+), 9 deletions(-) - create mode 100644 include/lapi/sysinfo.h - -diff --git a/include/lapi/sysinfo.h b/include/lapi/sysinfo.h -new file mode 100644 -index 000000000..d0e0e93d7 ---- /dev/null -+++ b/include/lapi/sysinfo.h -@@ -0,0 +1,22 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * Copyright (c) 2020 Petr Vorel -+ */ -+ -+#ifndef SYSINFO_H__ -+ -+/* -+ * Don't use as it breaks build MUSL toolchain. -+ * Use instead. -+ * -+ * Some kernel UAPI headers do indirect include: -+ * or others -> -> -+ * -+ * This indirect include causes on MUSL redefinition of struct sysinfo when -+ * included both and some of UAPI headers: -+ */ -+#include -+ -+#define SYSINFO_H__ -+ -+#endif /* SYSINFO_H__ */ -diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h -index 81c4b0844..a8c02d7df 100644 ---- a/include/tst_safe_macros.h -+++ b/include/tst_safe_macros.h -@@ -12,7 +12,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include -diff --git a/lib/safe_macros.c b/lib/safe_macros.c -index a5b6bc504..87d922a92 100644 ---- a/lib/safe_macros.c -+++ b/lib/safe_macros.c -@@ -11,7 +11,7 @@ - #include - #include - #include --#include -+#include "lapi/sysinfo.h" - #include - #include - #include -diff --git a/lib/tst_memutils.c b/lib/tst_memutils.c -index 0d20bb17c..21a3a5ba0 100644 ---- a/lib/tst_memutils.c -+++ b/lib/tst_memutils.c -@@ -6,7 +6,7 @@ - #include - #include - #include --#include -+#include "lapi/sysinfo.h" - #include - - #define TST_NO_DEFAULT_MAIN -diff --git a/testcases/kernel/mem/mtest01/mtest01.c b/testcases/kernel/mem/mtest01/mtest01.c -index fb991ce8b..0fccd5405 100644 ---- a/testcases/kernel/mem/mtest01/mtest01.c -+++ b/testcases/kernel/mem/mtest01/mtest01.c -@@ -20,7 +20,6 @@ - */ - - #include --#include - #include - #include - #include -@@ -29,6 +28,7 @@ - #include - - #include "lapi/abisize.h" -+#include "lapi/sysinfo.h" - #include "tst_test.h" - - #define FIVE_HUNDRED_MB (500ULL*1024*1024) -diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c -index 6d218801c..8af11a030 100644 ---- a/testcases/kernel/syscalls/madvise/madvise06.c -+++ b/testcases/kernel/syscalls/madvise/madvise06.c -@@ -46,7 +46,7 @@ - #include - #include - #include --#include -+#include "lapi/sysinfo.h" - #include "tst_test.h" - - #define CHUNK_SZ (400*1024*1024L) -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo01.c b/testcases/kernel/syscalls/sysinfo/sysinfo01.c -index 2ea44a2be..a237345ef 100644 ---- a/testcases/kernel/syscalls/sysinfo/sysinfo01.c -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo01.c -@@ -69,7 +69,7 @@ - #include - #include - #include --#include -+#include "lapi/sysinfo.h" - - #include "test.h" - -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo02.c b/testcases/kernel/syscalls/sysinfo/sysinfo02.c -index 7ad0e8bdc..61fa1ab75 100644 ---- a/testcases/kernel/syscalls/sysinfo/sysinfo02.c -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo02.c -@@ -65,7 +65,7 @@ - #include - #include - #include --#include -+#include "lapi/sysinfo.h" - #include - - #include "test.h" -diff --git a/testcases/kernel/syscalls/sysinfo/sysinfo03.c b/testcases/kernel/syscalls/sysinfo/sysinfo03.c -index af7cb6421..dc5ae65e3 100644 ---- a/testcases/kernel/syscalls/sysinfo/sysinfo03.c -+++ b/testcases/kernel/syscalls/sysinfo/sysinfo03.c -@@ -13,7 +13,7 @@ - - */ - --#include -+#include "lapi/sysinfo.h" - #include "lapi/namespaces_constants.h" - #include "lapi/posix_clocks.h" - #include "tst_test.h" -diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c -index 22e7c3638..572701f9f 100644 ---- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c -+++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_cond_broadcast/1-2.c -@@ -43,7 +43,7 @@ - #include - #include - #ifdef __linux__ --#include -+#include "lapi/sysinfo.h" - #endif - - #include "../testfrmw/testfrmw.h" --- -2.36.1 - diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in index 272c2ede374..b42082e2cc5 100644 --- a/package/ltp-testsuite/Config.in +++ b/package/ltp-testsuite/Config.in @@ -12,6 +12,7 @@ config BR2_PACKAGE_LTP_TESTSUITE bool "ltp-testsuite" depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11 depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash index 8b411a8ffe5..1562f346b43 100644 --- a/package/ltp-testsuite/ltp-testsuite.hash +++ b/package/ltp-testsuite/ltp-testsuite.hash @@ -1,5 +1,4 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20220527/ltp-full-20220527.tar.bz2.sha1 -sha1 c8d658cd3ab1f5a5c7b5bf56398d3a9525012c6b ltp-full-20220930.tar.xz +# From: https://github.com/linux-test-project/ltp/releases/download/20240129/ltp-full-20240129.tar.xz.sha256 +sha256 c302f6b2ca09cbb7835f549777bdb9233fe31f7086d7ad8e65472a0804e3e025 ltp-full-20240129.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 533ab63915b916640667ecce17ee4998006d80d394d4b1f1d105a7aa1df50d38 ltp-full-20220930.tar.xz diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index 34412d562fa..0996b77e586 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20220930 +LTP_TESTSUITE_VERSION = 20240129 LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION) @@ -47,10 +47,7 @@ else LTP_TESTSUITE_CONF_ENV += have_numa_headers=no endif -# ltp-testsuite uses , which isn't compatible with largefile -# support. -LTP_TESTSUITE_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS)) -LTP_TESTSUITE_CPPFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS)) +LTP_TESTSUITE_CFLAGS = $(TARGET_CFLAGS) LTP_TESTSUITE_LIBS = ifeq ($(BR2_PACKAGE_LIBTIRPC),y) @@ -66,7 +63,6 @@ endif LTP_TESTSUITE_CONF_ENV += \ CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \ - CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \ LIBS="$(LTP_TESTSUITE_LIBS)" \ SYSROOT="$(STAGING_DIR)" diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in index ce5a85edcf9..21d381db705 100644 --- a/package/ltrace/Config.in +++ b/package/ltrace/Config.in @@ -15,7 +15,6 @@ config BR2_PACKAGE_LTRACE depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS select BR2_PACKAGE_ELFUTILS help @@ -26,8 +25,7 @@ config BR2_PACKAGE_LTRACE http://ltrace.org -comment "ltrace needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads" +comment "ltrace needs a toolchain w/ wchar, dynamic library, threads" depends on BR2_PACKAGE_LTRACE_ARCH_SUPPORTS depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_HAS_THREADS \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ltris/0001-fix-build-with-gcc-4.8.patch b/package/ltris/0001-fix-build-with-gcc-4.8.patch deleted file mode 100644 index d6bbf6a946b..00000000000 --- a/package/ltris/0001-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix build with gcc 4.8 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://sourceforge.net/p/lgames/patches/28] -Index: ltris/src/bowl.c -=================================================================== ---- ltris/src/bowl.c (révision 421) -+++ ltris/src/bowl.c (copie de travail) -@@ -828,9 +828,10 @@ - */ - void bowl_init_block_masks() - { -+ int i; - int masksize = sizeof(block_masks[0].mask); // same for all - -- for (int i = 0; i < 7; i++) { -+ for (i = 0; i < 7; i++) { - block_masks[i].rx = 2; - block_masks[i].ry = 2; - memset(block_masks[i].mask, 0, masksize ); diff --git a/package/ltris/ltris.hash b/package/ltris/ltris.hash index f696e3af172..abe6853d9b5 100644 --- a/package/ltris/ltris.hash +++ b/package/ltris/ltris.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 a7bc6c5fc6539b88505077a1b4580edc9b179ce0a6b829c58fbd9416cf456195 ltris-1.2.tar.gz +sha256 1291c6a642d06b9ee153ac0a2e7855a2c983e839c618f1a294df04d829525cb0 ltris-1.2.7.tar.gz sha256 67f82e045cf7acfef853ea0f426575a8359161a0a325e19f02b529a87c4b6c34 COPYING diff --git a/package/ltris/ltris.mk b/package/ltris/ltris.mk index 9b59613417a..b34ac142ce1 100644 --- a/package/ltris/ltris.mk +++ b/package/ltris/ltris.mk @@ -5,7 +5,7 @@ ################################################################################ LTRIS_SITE = http://downloads.sourceforge.net/lgames/ltris -LTRIS_VERSION = 1.2 +LTRIS_VERSION = 1.2.7 LTRIS_LICENSE = GPL-2.0+ LTRIS_LICENSE_FILES = COPYING @@ -18,12 +18,9 @@ LTRIS_CONF_ENV = \ ifeq ($(BR2_PACKAGE_LTRIS_AUDIO),y) LTRIS_DEPENDENCIES += sdl_mixer host-pkgconf -LTRIS_CONF_OPTS += --enable-sound # configure script does NOT use pkg-config to figure out how to link # with sdl_mixer, breaking static linking as sdl_mixer can use libmad LTRIS_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs SDL_mixer` -else -LTRIS_CONF_OPTS += --disable-sound endif $(eval $(autotools-package)) diff --git a/package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch b/package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch new file mode 100644 index 00000000000..896c67470fb --- /dev/null +++ b/package/lttng-babeltrace/0002-configure.ac-fix-popt-static-build.patch @@ -0,0 +1,48 @@ +From 35076fd4592ca23136ff5eacdf8eaebc926e0224 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 23 Feb 2023 13:04:08 +0100 +Subject: [PATCH] configure.ac: fix popt static build + +Fix the following popt static build failure: + +configure:18149: checking for poptGetContext in -lpopt +configure:18172: /home/buildroot/autobuild/instance-2/output-1/host/bin/m68k-buildroot-linux-uclibc-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -I/home/buildroot/autobuild/instance-2/output-1/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/include/uuid -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static conftest.c -lpopt -L/home/buildroot/autobuild/instance-2/output-1/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/lib -luuid >&5 +/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/m68k-buildroot-linux-uclibc/10.4.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: /home/buildroot/autobuild/instance-2/output-1/host/bin/../m68k-buildroot-linux-uclibc/sysroot/usr/lib/libpopt.a(poptint.o): in function `POPT_fprintf': +poptint.c:(.text+0x28a): undefined reference to `libiconv_open' + +[...] + +checking for poptGetContext in -lpopt... no +configure: error: Cannot find popt. + +Fixes: + - http://autobuild.buildroot.org/results/4f465fe15664b1f9df3f26c331dc550852972f2f + +Signed-off-by: Fabrice Fontaine +[Upstream status: not upstreamable as popt has been removed with +https://github.com/efficios/babeltrace/commit/916d0d910ad5407bc7826505aa05b277f5739a34] +--- + configure.ac | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a17c23c3..8f700d3e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -223,8 +223,11 @@ AC_CHECK_LIB([c], [faccessat], + ] + ) + +-AC_CHECK_LIB([popt], [poptGetContext], [], +- [AC_MSG_ERROR([Cannot find popt.])] ++PKG_CHECK_MODULES([POPT], [popt], [LIBS="${POPT_LIBS} ${LIBS}"], ++[ ++ AC_CHECK_LIB([popt], [poptGetContext], [], ++ [AC_MSG_ERROR([Cannot find popt.])]) ++] + ) + + # For Python +-- +2.39.1 + diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in index 8472cab7bbe..88e1164f97d 100644 --- a/package/lttng-libust/Config.in +++ b/package/lttng-libust/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_LTTNG_LIBUST depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP # liburcu select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -16,6 +17,7 @@ config BR2_PACKAGE_LTTNG_LIBUST http://lttng.org -comment "lttng-libust needs a toolchain w/ dynamic library, wchar, threads" +comment "lttng-libust needs a toolchain w/ dynamic library, wchar, threads, C++" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/lttng-modules/lttng-modules.hash b/package/lttng-modules/lttng-modules.hash index e685cc33679..b14b488837c 100644 --- a/package/lttng-modules/lttng-modules.hash +++ b/package/lttng-modules/lttng-modules.hash @@ -1,5 +1,5 @@ -# From https://lttng.org/files/lttng-modules/lttng-modules-2.13.7.tar.bz2.sha256 -sha256 5a99679df7903160cbde3918fee5af90ffafc90fc96ccdefaa57cf230492b234 lttng-modules-2.13.7.tar.bz2 +# From https://lttng.org/files/lttng-modules/lttng-modules-2.13.10.tar.bz2.sha256 +sha256 13abfb1ac870711f0d0adfa88e53b17deb2e3052173715a260a6ef14aa45b0a7 lttng-modules-2.13.10.tar.bz2 # Hash for license files sha256 d72921266bc8452a8789f8a04a82755373990d00b7e0b0f1a8edb8f854e94d1c LICENSES/LGPL-2.1 diff --git a/package/lttng-modules/lttng-modules.mk b/package/lttng-modules/lttng-modules.mk index 416833f4ef5..d6f1e4114d0 100644 --- a/package/lttng-modules/lttng-modules.mk +++ b/package/lttng-modules/lttng-modules.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTTNG_MODULES_VERSION = 2.13.7 +LTTNG_MODULES_VERSION = 2.13.10 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 LTTNG_MODULES_LICENSE = LGPL-2.1/GPL-2.0 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*) diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in index 9c86cc26464..5750c5c4e0d 100644 --- a/package/lttng-tools/Config.in +++ b/package/lttng-tools/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LTTNG_TOOLS depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # uses dlfcn + depends on BR2_INSTALL_LIBSTDCPP # liburcu select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_POPT @@ -27,6 +28,7 @@ config BR2_PACKAGE_LTTNG_TOOLS http://lttng.org -comment "lttng-tools needs a toolchain w/ threads, dynamic library" +comment "lttng-tools needs a toolchain w/ threads, dynamic library, C++" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_INSTALL_LIBSTDCPP diff --git a/package/lua-ansicolors/Config.in b/package/lua-ansicolors/Config.in new file mode 100644 index 00000000000..33ffdde7230 --- /dev/null +++ b/package/lua-ansicolors/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_ANSICOLORS + bool "lua-ansicolors" + help + Library for color Manipulation. + + https://github.com/kikito/ansicolors.lua diff --git a/package/lua-ansicolors/lua-ansicolors.hash b/package/lua-ansicolors/lua-ansicolors.hash new file mode 100644 index 00000000000..53208afaed3 --- /dev/null +++ b/package/lua-ansicolors/lua-ansicolors.hash @@ -0,0 +1,3 @@ +# computed by luarocks/buildroot +sha256 df6126501af3b9b944019164a08aed91377d82e6845c24432769140f12c815d6 ansicolors-1.0.2-3.src.rock +sha256 cf2980c520ea89935bbe8a5415c5e0ff2606ffc7a89d6854796d856fa066c48e ansicolors.lua-1.0.2/COPYING diff --git a/package/lua-ansicolors/lua-ansicolors.mk b/package/lua-ansicolors/lua-ansicolors.mk new file mode 100644 index 00000000000..5879b66e63f --- /dev/null +++ b/package/lua-ansicolors/lua-ansicolors.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-ansicolors +# +################################################################################ + +LUA_ANSICOLORS_VERSION_UPSTREAM = 1.0.2 +LUA_ANSICOLORS_VERSION = $(LUA_ANSICOLORS_VERSION_UPSTREAM)-3 +LUA_ANSICOLORS_NAME_UPSTREAM = ansicolors +LUA_ANSICOLORS_SUBDIR = ansicolors.lua-$(LUA_ANSICOLORS_VERSION_UPSTREAM) +LUA_ANSICOLORS_LICENSE = MIT +LUA_ANSICOLORS_LICENSE_FILES = $(LUA_ANSICOLORS_SUBDIR)/COPYING + +$(eval $(luarocks-package)) diff --git a/package/lua-argparse/Config.in b/package/lua-argparse/Config.in new file mode 100644 index 00000000000..503a001c99d --- /dev/null +++ b/package/lua-argparse/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_ARGPARSE + bool "lua-argparse" + help + A feature-rich command-line argument parser. + + https://github.com/luarocks/argparse diff --git a/package/lua-argparse/lua-argparse.hash b/package/lua-argparse/lua-argparse.hash new file mode 100644 index 00000000000..c573ba57962 --- /dev/null +++ b/package/lua-argparse/lua-argparse.hash @@ -0,0 +1,3 @@ +# computed by luarocks/buildroot +sha256 ea30d0643586a20aeb6349ca8cb7db63aefc21d9aa007c7b7168a7c564817879 argparse-0.7.1-1.src.rock +sha256 9a918f21485b2a4529c901491d9101392f03586d65ad5b024a4445ebc1dc37b4 argparse-0.7.1/LICENSE diff --git a/package/lua-argparse/lua-argparse.mk b/package/lua-argparse/lua-argparse.mk new file mode 100644 index 00000000000..77f6550fac9 --- /dev/null +++ b/package/lua-argparse/lua-argparse.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# lua-argparse +# +################################################################################ + +LUA_ARGPARSE_VERSION = 0.7.1-1 +LUA_ARGPARSE_NAME_UPSTREAM = argparse +LUA_ARGPARSE_LICENSE = MIT +LUA_ARGPARSE_LICENSE_FILES = $(LUA_ARGPARSE_SUBDIR)/LICENSE + +$(eval $(luarocks-package)) diff --git a/package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch b/package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch new file mode 100644 index 00000000000..35d023df44a --- /dev/null +++ b/package/lua-cffi/0001-src-platform.hh-fix-or1k-build.patch @@ -0,0 +1,39 @@ +From 2294e61b057215bf089b1d1c482a5dcbcad6b414 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 23 May 2024 17:50:18 +0200 +Subject: [PATCH] src/platform.hh: fix or1k build + +Fix the following or1k build failure raised since version 0.2.2 and +https://github.com/q66/cffi-lua/commit/27755f61e4c625dff951302bade4ad07e3609ca5: + +In file included from /home/buildroot/autobuild/run/instance-0/output-1/host/or1k-buildroot-linux-uclibc/sysroot/usr/include/lua.hpp:6, + from ../src/lua.hh:23, + from ../src/parser.hh:4, + from ../src/ffilib.cc:7: +../src/ffilib.cc: In static member function 'static void ffi_module::setup(lua_State*)': +../src/ffilib.cc:1616:28: error: expected ')' before 'FFI_ARCH_NAME' + 1616 | lua_pushliteral(L, FFI_ARCH_NAME); + | ^~~~~~~~~~~~~ + +Fixes: 27755f61e4c625dff951302bade4ad07e3609ca5 + - http://autobuild.buildroot.org/results/4e14753732c5b6fe8ba9ecc4050ffb35f471c428 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/q66/cffi-lua/commit/2294e61b057215bf089b1d1c482a5dcbcad6b414 +--- + src/platform.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/platform.hh b/src/platform.hh +index 84e0a89..dab1e76 100644 +--- a/src/platform.hh ++++ b/src/platform.hh +@@ -192,7 +192,7 @@ + # endif + #elif defined(__OR1K__) + # define FFI_ARCH FFI_ARCH_OR1K +-# define FFO_ARCH_NAME "or1k" ++# define FFI_ARCH_NAME "or1k" + #elif defined(__riscv) || defined(__riscv__) + # if __riscv_xlen == 32 + # define FFI_ARCH FFI_ARCH_RV32 diff --git a/package/lua-cffi/lua-cffi.hash b/package/lua-cffi/lua-cffi.hash index e7101999363..318f60fefe5 100644 --- a/package/lua-cffi/lua-cffi.hash +++ b/package/lua-cffi/lua-cffi.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 34fb4eea7a0abec2095f08596f604ac01c81b979bead7d2f5cb084b3e2b46cbc lua-cffi-0.2.2.tar.gz +sha256 1d2577a62a843e5e6db35af1b58300d279b4df58eccef5e823441501f960d388 lua-cffi-0.2.3.tar.gz sha256 f5653a4d5864a3920ea1e07dacfd646067314be647598f0acaaf685beaa2e396 COPYING.md diff --git a/package/lua-cffi/lua-cffi.mk b/package/lua-cffi/lua-cffi.mk index ac351f7f988..30427ac34c0 100644 --- a/package/lua-cffi/lua-cffi.mk +++ b/package/lua-cffi/lua-cffi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_CFFI_VERSION = 0.2.2 +LUA_CFFI_VERSION = 0.2.3 LUA_CFFI_SITE = $(call github,q66,cffi-lua,v$(LUA_CFFI_VERSION)) LUA_CFFI_LICENSE = MIT LUA_CFFI_LICENSE_FILES = COPYING.md diff --git a/package/lua-cjson/Config.in b/package/lua-cjson/Config.in index 9474b3176c3..1c153fa46ae 100644 --- a/package/lua-cjson/Config.in +++ b/package/lua-cjson/Config.in @@ -12,4 +12,4 @@ config BR2_PACKAGE_LUA_CJSON (C-module) - http://www.kyne.com.au/~mark/software/lua-cjson.php + https://www.kyne.com.au/~mark/software/lua-cjson.php diff --git a/package/lua-cjson/lua-cjson.hash b/package/lua-cjson/lua-cjson.hash index b052c5199c3..5ddc07bcc63 100644 --- a/package/lua-cjson/lua-cjson.hash +++ b/package/lua-cjson/lua-cjson.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 455fa7d07d8ac9d61f68f538958f8e28972256f38b0a1c2740873daf809d1837 lua-cjson-2.1.0.6-1.src.rock +sha256 02dea368d07753647c75bd9e6660dd4d06ff7d09956d90d5afc4c3f5b78ed187 lua-cjson-2.1.0.10-1.src.rock sha256 9576e82ef5013fbe80b3bd446a7d9ddd47328baa2186c31d3d885e2a9a8cd31e lua-cjson/LICENSE diff --git a/package/lua-cjson/lua-cjson.mk b/package/lua-cjson/lua-cjson.mk index e029dab5cb4..e08d230060b 100644 --- a/package/lua-cjson/lua-cjson.mk +++ b/package/lua-cjson/lua-cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_CJSON_VERSION = 2.1.0.6-1 +LUA_CJSON_VERSION = 2.1.0.10-1 LUA_CJSON_SUBDIR = lua-cjson LUA_CJSON_LICENSE = MIT LUA_CJSON_LICENSE_FILES = $(LUA_CJSON_SUBDIR)/LICENSE diff --git a/package/lua-compat53/Config.in b/package/lua-compat53/Config.in index de468fcf66e..695c1392800 100644 --- a/package/lua-compat53/Config.in +++ b/package/lua-compat53/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_LUA_COMPAT53 Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1. - https://github.com/keplerproject/lua-compat-5.3 + https://github.com/lunarmodules/lua-compat-5.3 diff --git a/package/lua-compat53/lua-compat53.hash b/package/lua-compat53/lua-compat53.hash index ccd9a712050..1930063fdcf 100644 --- a/package/lua-compat53/lua-compat53.hash +++ b/package/lua-compat53/lua-compat53.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 e513e75ba0ef4923a1ec0d4f0beb5972a11cc9bd7ac1b0953b5e4f037b259c92 compat53-0.8-1.src.rock -sha256 1b24f475812c979684fb3469f6faccbdc7c33c9d39421728aa0d78deda5a89a5 lua-compat-5.3-0.8/LICENSE +sha256 bff8e597384776de7c139bee7d6a6f2c05c3eb7315d08733473fa986720cec60 compat53-0.12-1.src.rock +sha256 870cdff7e4db4c2e84a335b2b9e242b9f963830550026e2057a5885e945982e5 lua-compat-5.3-0.12/LICENSE diff --git a/package/lua-compat53/lua-compat53.mk b/package/lua-compat53/lua-compat53.mk index 0e8f1c36001..12ac5c011bd 100644 --- a/package/lua-compat53/lua-compat53.mk +++ b/package/lua-compat53/lua-compat53.mk @@ -4,11 +4,19 @@ # ################################################################################ -LUA_COMPAT53_VERSION_UPSTREAM = 0.8 +LUA_COMPAT53_VERSION_UPSTREAM = 0.12 LUA_COMPAT53_VERSION = $(LUA_COMPAT53_VERSION_UPSTREAM)-1 LUA_COMPAT53_NAME_UPSTREAM = compat53 LUA_COMPAT53_SUBDIR = lua-compat-5.3-$(LUA_COMPAT53_VERSION_UPSTREAM) LUA_COMPAT53_LICENSE = MIT LUA_COMPAT53_LICENSE_FILES = $(LUA_COMPAT53_SUBDIR)/LICENSE +LUA_COMPAT53_INSTALL_STAGING = YES + +define LUA_COMPAT53_INSTALL_STAGING_CMDS + $(INSTALL) -D -m 0644 $(@D)/$(LUA_COMPAT53_SUBDIR)/c-api/compat-5.3.c \ + $(STAGING_DIR)/usr/include/compat-5.3.c + $(INSTALL) -D -m 0644 $(@D)/$(LUA_COMPAT53_SUBDIR)/c-api/compat-5.3.h \ + $(STAGING_DIR)/usr/include/compat-5.3.h +endef $(eval $(luarocks-package)) diff --git a/package/lua-conciseserialization/Config.in b/package/lua-conciseserialization/Config.in new file mode 100644 index 00000000000..b6601470084 --- /dev/null +++ b/package/lua-conciseserialization/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LUA_CONCISESERIALIZATION + bool "lua-conciseserialization" + help + a pure Lua implementation of CBOR / RFC8949. + + https://fperrad.frama.io/lua-ConciseSerialization/ diff --git a/package/lua-conciseserialization/lua-conciseserialization.hash b/package/lua-conciseserialization/lua-conciseserialization.hash new file mode 100644 index 00000000000..30ae4536f6c --- /dev/null +++ b/package/lua-conciseserialization/lua-conciseserialization.hash @@ -0,0 +1,4 @@ +# computed by luarocks/buildroot +sha256 1dd7a5bd17349ad78e93b36f05739e4323a8fda8cd66dee423bdd5a21a0c4453 lua-conciseserialization-0.2.4-1.src.rock +sha256 7988a3ab9ea3d8c536387c4e7931b1703fa02f7011771569ed56641fa1a0c78c lua-conciseserialization-lua53-0.2.4-1.src.rock +sha256 23ddf0d4a4dbc0667eeb919ceb7cc0a5b527af6cb51b286b78fa42f350de2130 lua-ConciseSerialization-0.2.4/COPYRIGHT diff --git a/package/lua-conciseserialization/lua-conciseserialization.mk b/package/lua-conciseserialization/lua-conciseserialization.mk new file mode 100644 index 00000000000..a777a4baeaa --- /dev/null +++ b/package/lua-conciseserialization/lua-conciseserialization.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# lua-conciseserialization +# +################################################################################ + +LUA_CONCISESERIALIZATION_VERSION_UPSTREAM = 0.2.4 +LUA_CONCISESERIALIZATION_VERSION = $(LUA_CONCISESERIALIZATION_VERSION_UPSTREAM)-1 +ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y) +LUA_CONCISESERIALIZATION_NAME_UPSTREAM = lua-ConciseSerialization-lua53 +else +LUA_CONCISESERIALIZATION_NAME_UPSTREAM = lua-ConciseSerialization +endif +LUA_CONCISESERIALIZATION_SUBDIR = lua-ConciseSerialization-$(LUA_CONCISESERIALIZATION_VERSION_UPSTREAM) +LUA_CONCISESERIALIZATION_LICENSE = MIT +LUA_CONCISESERIALIZATION_LICENSE_FILES = $(LUA_CONCISESERIALIZATION_SUBDIR)/COPYRIGHT + +$(eval $(luarocks-package)) diff --git a/package/lua-cqueues/Config.in b/package/lua-cqueues/Config.in index 60f022848bc..a8c38950cf4 100644 --- a/package/lua-cqueues/Config.in +++ b/package/lua-cqueues/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_LUA_CQUEUES bool "lua-cqueues" depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua on Unix. diff --git a/package/lua-datafile/lua-datafile.hash b/package/lua-datafile/lua-datafile.hash index 07a13e7e8af..2e993bc8874 100644 --- a/package/lua-datafile/lua-datafile.hash +++ b/package/lua-datafile/lua-datafile.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 4f7d58c50267b5ebd2145e52aaa5fb63fbf63a74ae765f08e2d0dddd570b6b6a datafile-0.6-1.src.rock +sha256 13cb4816f459e71c525f256dbf197a516deb0f6b9ad98a9a0dc0aafe0d415194 datafile-0.10-1.src.rock sha256 0443ddabab14f69d4c5e2641860343784a0ccbe5ae7a3743f20de9a13991da66 datafile/LICENSE diff --git a/package/lua-datafile/lua-datafile.mk b/package/lua-datafile/lua-datafile.mk index 5d30fdcf97c..943ed9b8bca 100644 --- a/package/lua-datafile/lua-datafile.mk +++ b/package/lua-datafile/lua-datafile.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_DATAFILE_VERSION = 0.6-1 +LUA_DATAFILE_VERSION = 0.10-1 LUA_DATAFILE_NAME_UPSTREAM = datafile LUA_DATAFILE_SUBDIR = datafile LUA_DATAFILE_LICENSE = MIT diff --git a/package/lua-dkjson/Config.in b/package/lua-dkjson/Config.in new file mode 100644 index 00000000000..9c5dff19281 --- /dev/null +++ b/package/lua-dkjson/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LUA_DKJSON + bool "lua-dkjson" + help + David Kolf's JSON module for Lua. + + dkjson is written in Lua without any dependencies, but + when LPeg is available dkjson can use it to speed up decoding. + + http://dkolf.de/src/dkjson-lua.fsl/ diff --git a/package/lua-dkjson/lua-dkjson.hash b/package/lua-dkjson/lua-dkjson.hash new file mode 100644 index 00000000000..8f1a6f6a2f5 --- /dev/null +++ b/package/lua-dkjson/lua-dkjson.hash @@ -0,0 +1,5 @@ +# computed by luarocks/buildroot +sha256 e4ba15f2a85f84ffc7f628157a4ad16b2b04ba05eb44a2e5956fa46bd104125e dkjson-2.6-1.src.rock + +# locally computed +sha256 7fd6585e9776c1cf2930e8ce660b3116c8a9b4b676929d45078870a42f16aa65 dkjson-2.6/readme.txt diff --git a/package/lua-dkjson/lua-dkjson.mk b/package/lua-dkjson/lua-dkjson.mk new file mode 100644 index 00000000000..718c47f50e9 --- /dev/null +++ b/package/lua-dkjson/lua-dkjson.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# lua-dkjson +# +################################################################################ + +LUA_DKJSON_VERSION = 2.6-1 +LUA_DKJSON_NAME_UPSTREAM = dkjson +LUA_DKJSON_LICENSE = MIT +LUA_DKJSON_LICENSE_FILES = $(LUA_DKJSON_SUBDIR)/readme.txt + +$(eval $(luarocks-package)) diff --git a/package/lua-ev/lua-ev.hash b/package/lua-ev/lua-ev.hash index eb4f4cf74c2..278f5f8f7f1 100644 --- a/package/lua-ev/lua-ev.hash +++ b/package/lua-ev/lua-ev.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4e26e05830955fdd882a1b48b535be94356582eea310327f839f830cd9250d3a lua-ev-339426fbe528f11cb3cd1af69a88f06bba367981.tar.gz -sha256 c224cc31feec52e33b621ccdbc245e21316a20a134a4cd8706438a3b3382e8ac README +sha256 26ac116722a241bf59daf5315ce0ffe751c1babea9a146ffc0a389f1af3facca lua-ev-1.5.tar.gz +sha256 3b6f8a25e3443c8be61fc7a91e1d27b5514d489bb3ea5986eace6fe1531aabcc README diff --git a/package/lua-ev/lua-ev.mk b/package/lua-ev/lua-ev.mk index 39394875b8d..eec078944bb 100644 --- a/package/lua-ev/lua-ev.mk +++ b/package/lua-ev/lua-ev.mk @@ -4,8 +4,8 @@ # ################################################################################ -LUA_EV_VERSION = 339426fbe528f11cb3cd1af69a88f06bba367981 -LUA_EV_SITE = $(call github,brimworks,lua-ev,$(LUA_EV_VERSION)) +LUA_EV_VERSION = 1.5 +LUA_EV_SITE = $(call github,brimworks,lua-ev,v$(LUA_EV_VERSION)) LUA_EV_DEPENDENCIES = luainterpreter libev LUA_EV_LICENSE = MIT LUA_EV_LICENSE_FILES = README diff --git a/package/lua-http/0001-http-h1_stream-handle-EOF-when-body_read_type-length.patch b/package/lua-http/0001-http-h1_stream-handle-EOF-when-body_read_type-length.patch new file mode 100644 index 00000000000..fdbf5243f55 --- /dev/null +++ b/package/lua-http/0001-http-h1_stream-handle-EOF-when-body_read_type-length.patch @@ -0,0 +1,71 @@ +From ddab2835c583d45dec62680ca8d3cbde55e0bae6 Mon Sep 17 00:00:00 2001 +From: daurnimator +Date: Tue, 22 Aug 2023 23:30:20 +1000 +Subject: [PATCH] http/h1_stream: handle EOF when `body_read_type==length` + +If a client closes the connection before sending the expected number of bytes +then return `EPIPE`. +This fixes a potential infinite draining loop when trying to trying to +`:shutdown()` a stream. + +Upstream: https://github.com/daurnimator/lua-http/commit/ddab2835c583d45dec62680ca8d3cbde55e0bae6 +Signed-off-by: Francois Perrad +--- + http/h1_stream.lua | 2 ++ + spec/h1_stream_spec.lua | 27 +++++++++++++++++++++++++++ + 2 files changed, 29 insertions(+) + +diff --git a/lua-http-0.4/http/h1_stream.lua b/lua-http-0.4/http/h1_stream.lua +index b2469a1..b0ca821 100644 +--- a/lua-http-0.4/http/h1_stream.lua ++++ b/lua-http-0.4/http/h1_stream.lua +@@ -861,6 +861,8 @@ function stream_methods:read_next_chunk(timeout) + if chunk ~= nil then + self.body_read_left = length_n - #chunk + end_stream = (self.body_read_left == 0) ++ elseif err == nil then ++ return nil, ce.strerror(ce.EPIPE), ce.EPIPE + end + elseif length_n == 0 then + chunk = "" +diff --git a/lua-http-0.4/spec/h1_stream_spec.lua b/lua-http-0.4/spec/h1_stream_spec.lua +index f9cfea9..1303f94 100644 +--- a/lua-http-0.4/spec/h1_stream_spec.lua ++++ b/lua-http-0.4/spec/h1_stream_spec.lua +@@ -295,6 +295,33 @@ describe("http1 stream", function() + server:close() + client:close() + end) ++ it("Doesn't hang when a content-length delimited stream is closed", function() ++ local server, client = new_pair(1.1) ++ local cq = cqueues.new() ++ cq:wrap(function() ++ local stream = client:new_stream() ++ local headers = new_headers() ++ headers:append(":method", "GET") ++ headers:append(":scheme", "http") ++ headers:append(":authority", "myauthority") ++ headers:append(":path", "/a") ++ assert(stream:write_headers(headers, true)) ++ end) ++ cq:wrap(function() ++ local stream = server:get_next_incoming_stream() ++ assert(stream:get_headers()) ++ local res_headers = new_headers() ++ res_headers:append(":status", "200") ++ res_headers:append("content-length", "100") ++ assert(stream:write_headers(res_headers, false)) ++ assert(stream:write_chunk("foo", false)) ++ assert(stream:shutdown()) ++ end) ++ assert_loop(cq, TEST_TIMEOUT) ++ assert.truthy(cq:empty()) ++ server:close() ++ client:close() ++ end) + it("allows pipelining", function() + local server, client = new_pair(1.1) + local cq = cqueues.new() +-- +2.40.1 + diff --git a/package/lua-http/lua-http.mk b/package/lua-http/lua-http.mk index 7fbb09038ed..34387c12e5b 100644 --- a/package/lua-http/lua-http.mk +++ b/package/lua-http/lua-http.mk @@ -10,5 +10,10 @@ LUA_HTTP_NAME_UPSTREAM = http LUA_HTTP_SUBDIR = lua-http-$(LUA_HTTP_VERSION_UPSTREAM) LUA_HTTP_LICENSE = MIT LUA_HTTP_LICENSE_FILES = $(LUA_HTTP_SUBDIR)/LICENSE.md +LUA_HTTP_CPE_ID_VERSION = $(LUA_HTTP_VERSION_UPSTREAM) +LUA_HTTP_CPE_ID_VENDOR = daurnimator + +# 0001-http-h1_stream-handle-EOF-when-body_read_type-length.patch +LUA_HTTP_IGNORE_CVES += CVE-2023-4540 $(eval $(luarocks-package)) diff --git a/package/lua-livr-extra/lua-livr-extra.hash b/package/lua-livr-extra/lua-livr-extra.hash index 747004cfa60..7f8f66f0561 100644 --- a/package/lua-livr-extra/lua-livr-extra.hash +++ b/package/lua-livr-extra/lua-livr-extra.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 42fef357db3e05e32112ddebcd4296f040a825dfac77ff2fa03aedbdcdaac729 lua-livr-extra-0.1.1-1.src.rock -sha256 96751dc604608ecf2357d1599bc2d2e9f56382793a6c218dc98d460759adbf07 lua-LIVR-extra-0.1.1/COPYRIGHT +sha256 363e571d001b2e56eeafe2379c20aca65d67b5197199c957f9bb2a0c169aab5a lua-livr-extra-0.2.0-1.src.rock +sha256 ded97ea3e541833b9c2c9bf9b266f037a83b57e2e2847fecdfbb9397818f5623 lua-LIVR-extra-0.2.0/COPYRIGHT diff --git a/package/lua-livr-extra/lua-livr-extra.mk b/package/lua-livr-extra/lua-livr-extra.mk index 0a6378dbf5e..ce783f519fb 100644 --- a/package/lua-livr-extra/lua-livr-extra.mk +++ b/package/lua-livr-extra/lua-livr-extra.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_LIVR_EXTRA_VERSION = 0.1.1-1 +LUA_LIVR_EXTRA_VERSION = 0.2.0-1 LUA_LIVR_EXTRA_NAME_UPSTREAM = lua-LIVR-extra LUA_LIVR_EXTRA_LICENSE = MIT LUA_LIVR_EXTRA_LICENSE_FILES = $(LUA_LIVR_EXTRA_SUBDIR)/COPYRIGHT diff --git a/package/lua-livr/lua-livr.hash b/package/lua-livr/lua-livr.hash index fe9876909d1..314f1d2bf8a 100644 --- a/package/lua-livr/lua-livr.hash +++ b/package/lua-livr/lua-livr.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 e2f39316b8a1e66420c56e8ddc9ce4c0118c1a240582f2ba52d7627da6dfb76d lua-livr-0.2.2-1.src.rock -sha256 69fd426251454ea43a8068e58ac25d882922372de6b22e249bb56e00ea2cd834 lua-LIVR-0.2.2/COPYRIGHT +sha256 531c4d56e2ef7906a6075e61fafee9ea265dc1a62698b966f5fc2f3abda23084 lua-livr-0.3.0-1.src.rock +sha256 c6c2ca8e29b8e3b0558b046ffcbd4a5c31800bdca4520002ed4af76985f82d7d lua-LIVR-0.3.0/COPYRIGHT diff --git a/package/lua-livr/lua-livr.mk b/package/lua-livr/lua-livr.mk index 3f114c725ef..fb835a1f901 100644 --- a/package/lua-livr/lua-livr.mk +++ b/package/lua-livr/lua-livr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_LIVR_VERSION = 0.2.2-1 +LUA_LIVR_VERSION = 0.3.0-1 LUA_LIVR_NAME_UPSTREAM = lua-LIVR LUA_LIVR_LICENSE = MIT LUA_LIVR_LICENSE_FILES = $(LUA_LIVR_SUBDIR)/COPYRIGHT diff --git a/package/lua-messagepack/lua-messagepack.hash b/package/lua-messagepack/lua-messagepack.hash index 5c8dd593662..f61a3513833 100644 --- a/package/lua-messagepack/lua-messagepack.hash +++ b/package/lua-messagepack/lua-messagepack.hash @@ -1,4 +1,4 @@ # computed by luarocks/buildroot -sha256 cbb1b7b12834b7f49fd20621446ec4d76eff67d324b8182b7988324b10830a43 lua-messagepack-0.5.2-1.src.rock -sha256 b3b3d8c3d28a4d4f26404cdb7d7d9329e2e831ea2dd2c6b119d958ed113579b2 lua-messagepack-lua53-0.5.2-1.src.rock -sha256 709fd93a7dd6f8e941e7f0cb9e3eeba1f4de375302f1b19e14bb51aff23c5970 lua-MessagePack-0.5.2/COPYRIGHT +sha256 86e5aedc94342f1447b3cac26dfacc69f05b0827221cd5e44d3b623087b16f37 lua-messagepack-0.5.4-1.src.rock +sha256 3ed7ac22e50b06e63f91a16ad6457381af7317f1bccd778f104a4513c1cc118b lua-messagepack-lua53-0.5.4-1.src.rock +sha256 1dbe8e7da2d71088d4759da33a42eda89f5be90d1a9c0b823360a270d6628ed8 lua-MessagePack-0.5.4/COPYRIGHT diff --git a/package/lua-messagepack/lua-messagepack.mk b/package/lua-messagepack/lua-messagepack.mk index 33d460b4fc7..7e5ab006c9a 100644 --- a/package/lua-messagepack/lua-messagepack.mk +++ b/package/lua-messagepack/lua-messagepack.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.5.2 +LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.5.4 LUA_MESSAGEPACK_VERSION = $(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1 ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y) LUA_MESSAGEPACK_NAME_UPSTREAM = lua-MessagePack-lua53 diff --git a/package/lua-mqtt/lua-mqtt.hash b/package/lua-mqtt/lua-mqtt.hash index 3636e9e6af5..fecd4dbbdd2 100644 --- a/package/lua-mqtt/lua-mqtt.hash +++ b/package/lua-mqtt/lua-mqtt.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 986ec63dd9f0761f9c5231f6e19529138602c289e13da5c71dc1449f5f247152 lua-mqtt-0.1.0-1.src.rock -sha256 e86d7c8adfabcb7c6515cc6e524bf0a76f7b3a86560a7ac47d7cabae5f8391a2 lua-mqtt-0.1.0/COPYRIGHT +sha256 0444119ab5a1230e38e35f3948db19e8dc6310991b419ca75e6660588f2d95f7 lua-mqtt-0.3.1-1.src.rock +sha256 c8d12c868b979f5b9592eec503fc3de54e9feb92163f3cfc50a141ee2bcccc25 lua-mqtt-0.3.1/COPYRIGHT diff --git a/package/lua-mqtt/lua-mqtt.mk b/package/lua-mqtt/lua-mqtt.mk index a2f17d2b2ea..a000ffdb16b 100644 --- a/package/lua-mqtt/lua-mqtt.mk +++ b/package/lua-mqtt/lua-mqtt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_MQTT_VERSION = 0.1.0-1 +LUA_MQTT_VERSION = 0.3.1-1 LUA_MQTT_LICENSE = MIT LUA_MQTT_LICENSE_FILES = $(LUA_MQTT_SUBDIR)/COPYRIGHT diff --git a/package/lua-rotas/lua-rotas.hash b/package/lua-rotas/lua-rotas.hash index 037844e9f74..eccff442691 100644 --- a/package/lua-rotas/lua-rotas.hash +++ b/package/lua-rotas/lua-rotas.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 a947026be3552cbf676a0cef36a618111712257d306cbd9d340ed8895a4cbd2b lua-rotas-0.2.1-1.src.rock -sha256 ac8bb87b7b5e803ae27510b9c6fd284f1b00e741258bc59fc78d3bc107d96fbb lua-Rotas-0.2.1/COPYRIGHT +sha256 90ed9305b68f49f2293a3a547b7ec7c290be5bcc1afbae87e2e860eb3b04f18b lua-rotas-0.3.1-1.src.rock +sha256 1112307622ef36ed8ee3e8ddb15ed294e699a9db45f6251d89343534388ec3dd lua-Rotas-0.3.1/COPYRIGHT diff --git a/package/lua-rotas/lua-rotas.mk b/package/lua-rotas/lua-rotas.mk index 84d6c9a582b..1f99dbaf088 100644 --- a/package/lua-rotas/lua-rotas.mk +++ b/package/lua-rotas/lua-rotas.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_ROTAS_VERSION = 0.2.1-1 +LUA_ROTAS_VERSION = 0.3.1-1 LUA_ROTAS_NAME_UPSTREAM = lua-Rotas LUA_ROTAS_LICENSE = MIT LUA_ROTAS_LICENSE_FILES = $(LUA_ROTAS_SUBDIR)/COPYRIGHT diff --git a/package/lua-silva/lua-silva.hash b/package/lua-silva/lua-silva.hash index 418c3e9e430..3ceab6572bf 100644 --- a/package/lua-silva/lua-silva.hash +++ b/package/lua-silva/lua-silva.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 0e656c42c71b64285d4a375fa7b8b1a910b05c4ab6d30f5b427b078fff204e1f lua-silva-0.1.8-1.src.rock -sha256 5b59ffbfc12d9d1cb907dd65b0f16d3453e1a43cc018c6128a00b00e08f6c485 lua-Silva-0.1.8/COPYRIGHT +sha256 fa838ed10b2e2c16f76fff9e47d52cde1f250efd73994865090d85218c2e5368 lua-silva-0.2.0-1.src.rock +sha256 638206532ac117ec92a04791045e274e6aa55c3d7f408cd2be993a00424c2f96 lua-Silva-0.2.0/COPYRIGHT diff --git a/package/lua-silva/lua-silva.mk b/package/lua-silva/lua-silva.mk index 91b1b774767..809ac3dd2d7 100644 --- a/package/lua-silva/lua-silva.mk +++ b/package/lua-silva/lua-silva.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_SILVA_VERSION = 0.1.8-1 +LUA_SILVA_VERSION = 0.2.0-1 LUA_SILVA_NAME_UPSTREAM = lua-Silva LUA_SILVA_LICENSE = MIT LUA_SILVA_LICENSE_FILES = $(LUA_SILVA_SUBDIR)/COPYRIGHT diff --git a/package/lua-testmore/lua-testmore.hash b/package/lua-testmore/lua-testmore.hash index 1f435709f45..634b95c6e60 100644 --- a/package/lua-testmore/lua-testmore.hash +++ b/package/lua-testmore/lua-testmore.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 b3e57955888aba3974d6f5a21219214e2803a38e4623671f7d9d9e0f1851e608 lua-testmore-0.3.6-1.src.rock -sha256 37a3afb014325b98f0ad919cb40bc9d5a948120e5260e75b9d00c198d350da6d lua-TestMore-0.3.6/COPYRIGHT +sha256 acef148e10e312f262d9390c3cdbb9fdd3d5541f0dbeb4c35b8c37fbf95cb52f lua-testmore-0.3.7-1.src.rock +sha256 7cb577fd111373b813a9ec47e43c30cb318b771290e0b60e780b6a710116888d lua-TestMore-0.3.7/COPYRIGHT diff --git a/package/lua-testmore/lua-testmore.mk b/package/lua-testmore/lua-testmore.mk index e3cc7b7bdbd..aaf2c13069a 100644 --- a/package/lua-testmore/lua-testmore.mk +++ b/package/lua-testmore/lua-testmore.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_TESTMORE_VERSION = 0.3.6-1 +LUA_TESTMORE_VERSION = 0.3.7-1 LUA_TESTMORE_NAME_UPSTREAM = lua-TestMore LUA_TESTMORE_LICENSE = MIT LUA_TESTMORE_LICENSE_FILES = $(LUA_TESTMORE_SUBDIR)/COPYRIGHT diff --git a/package/lua-ubjson/Config.in b/package/lua-ubjson/Config.in new file mode 100644 index 00000000000..88ed2c7c79b --- /dev/null +++ b/package/lua-ubjson/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LUA_UBJSON + bool "lua-ubjson" + select BR2_PACKAGE_LUA_COMPAT53 if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 # runtime + help + a pure Lua implementation of UBJSON. + + https://fperrad.frama.io/lua-ubjson/ diff --git a/package/lua-ubjson/lua-ubjson.hash b/package/lua-ubjson/lua-ubjson.hash new file mode 100644 index 00000000000..6db046ec2f9 --- /dev/null +++ b/package/lua-ubjson/lua-ubjson.hash @@ -0,0 +1,3 @@ +# computed by luarocks/buildroot +sha256 6605a6a0ca5f6cb8ec1aac14840adcdc6b359f5d8666fb3d224510e8d73c43b9 lua-ubjson-0.1.0-1.src.rock +sha256 c85f6b3d47bcde28fd15bc7e361cdc5ec6b580819f4a891e29cf89513abbadd2 lua-ubjson-0.1.0/COPYRIGHT diff --git a/package/lua-ubjson/lua-ubjson.mk b/package/lua-ubjson/lua-ubjson.mk new file mode 100644 index 00000000000..93e6631962f --- /dev/null +++ b/package/lua-ubjson/lua-ubjson.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# lua-ubjson +# +################################################################################ + +LUA_UBJSON_VERSION = 0.1.0-1 +LUA_UBJSON_LICENSE = MIT +LUA_UBJSON_LICENSE_FILES = $(LUA_UBJSON_SUBDIR)/COPYRIGHT + +$(eval $(luarocks-package)) diff --git a/package/lua-utf8/Config.in b/package/lua-utf8/Config.in index 313fa4e45d1..5815936df58 100644 --- a/package/lua-utf8/Config.in +++ b/package/lua-utf8/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LUA_UTF8 This module adds UTF-8 support to Lua. It's compatible with Lua "string" module. - http://github.com/starwing/luautf8 + https://github.com/starwing/luautf8 diff --git a/package/lua-utf8/lua-utf8.hash b/package/lua-utf8/lua-utf8.hash index b6720b36033..b4d455ceb7f 100644 --- a/package/lua-utf8/lua-utf8.hash +++ b/package/lua-utf8/lua-utf8.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 88c456bc0f00d28201b33551d83fa6e5c3ae6025aebec790c37afb317290e4fa luautf8-0.1.3-1.src.rock -sha256 74506285923bcc3e58aaca1b774db26461021783d02b2dc26bafcaa02ef7a00b luautf8-0.1.3/LICENSE +sha256 68bd8e3c3e20f98fceb9e20d5a7a50168202c22eb45b87eff3247a0608f465ae luautf8-0.1.5-2.src.rock +sha256 74506285923bcc3e58aaca1b774db26461021783d02b2dc26bafcaa02ef7a00b luautf8-0.1.5/LICENSE diff --git a/package/lua-utf8/lua-utf8.mk b/package/lua-utf8/lua-utf8.mk index 52aaf5c71e1..33c34a4eb27 100644 --- a/package/lua-utf8/lua-utf8.mk +++ b/package/lua-utf8/lua-utf8.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_UTF8_VERSION = 0.1.3-1 +LUA_UTF8_VERSION = 0.1.5-2 LUA_UTF8_NAME_UPSTREAM = luautf8 LUA_UTF8_LICENSE = MIT LUA_UTF8_LICENSE_FILES = $(LUA_UTF8_SUBDIR)/LICENSE diff --git a/package/lua/5.4.4/lua.hash b/package/lua/5.4.4/lua.hash deleted file mode 100644 index b55b17f2586..00000000000 --- a/package/lua/5.4.4/lua.hash +++ /dev/null @@ -1,6 +0,0 @@ -# Hashes from: https://www.lua.org/ftp/ -md5 bd8ce7069ff99a400efd14cf339a727b lua-5.4.4.tar.gz -sha1 03c27684b9d5d9783fb79a7c836ba1cdc5f309cd lua-5.4.4.tar.gz - -# Locally computed -sha256 2556ac7198243f9f83130b9c81016e1904f7b30351481f1c28e02475dbd237fb doc/readme.html diff --git a/package/lua/5.4.4/0001-root-path.patch b/package/lua/5.4.6/0001-root-path.patch similarity index 95% rename from package/lua/5.4.4/0001-root-path.patch rename to package/lua/5.4.6/0001-root-path.patch index c4f6e312eb0..5e3037b7865 100644 --- a/package/lua/5.4.4/0001-root-path.patch +++ b/package/lua/5.4.6/0001-root-path.patch @@ -6,7 +6,7 @@ Index: b/src/luaconf.h =================================================================== --- a/src/luaconf.h +++ b/src/luaconf.h -@@ -217,7 +217,7 @@ +@@ -223,7 +223,7 @@ #else /* }{ */ diff --git a/package/lua/5.4.4/0002-shared-libs-for-lua.patch b/package/lua/5.4.6/0002-shared-libs-for-lua.patch similarity index 96% rename from package/lua/5.4.4/0002-shared-libs-for-lua.patch rename to package/lua/5.4.6/0002-shared-libs-for-lua.patch index 4ff20442982..388aa9966a8 100644 --- a/package/lua/5.4.4/0002-shared-libs-for-lua.patch +++ b/package/lua/5.4.6/0002-shared-libs-for-lua.patch @@ -31,7 +31,7 @@ Index: b/src/Makefile --- a/src/Makefile +++ b/src/Makefile @@ -33,6 +33,7 @@ - PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris + PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris LUA_A= liblua.a +LUA_SO= liblua.so diff --git a/package/lua/5.4.4/0011-linenoise.patch b/package/lua/5.4.6/0011-linenoise.patch similarity index 97% rename from package/lua/5.4.4/0011-linenoise.patch rename to package/lua/5.4.6/0011-linenoise.patch index 68316e108f5..5054ae19e24 100644 --- a/package/lua/5.4.4/0011-linenoise.patch +++ b/package/lua/5.4.6/0011-linenoise.patch @@ -8,7 +8,7 @@ Index: b/src/lua.c =================================================================== --- a/src/lua.c +++ b/src/lua.c -@@ -428,6 +428,14 @@ +@@ -438,6 +438,14 @@ #define lua_saveline(L,line) ((void)L, add_history(line)) #define lua_freeline(L,b) ((void)L, free(b)) diff --git a/package/lua/5.4.6/lua.hash b/package/lua/5.4.6/lua.hash new file mode 100644 index 00000000000..0b03fd563c6 --- /dev/null +++ b/package/lua/5.4.6/lua.hash @@ -0,0 +1,5 @@ +# Hashes from: https://www.lua.org/ftp/ +sha256 7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88 lua-5.4.6.tar.gz + +# Locally computed +sha256 8f1bff27c5b0585ab679dbe4e37e75a1014af0f79732f42a79f86728321a0c6d doc/readme.html diff --git a/package/lua/Config.in b/package/lua/Config.in index 309dd6eec2f..888c34b21d9 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -14,6 +14,7 @@ config BR2_PACKAGE_PROVIDES_LUAINTERPRETER choice prompt "Lua Version" + default BR2_PACKAGE_LUA_5_3 if BR2_PACKAGE_LUA_5_2 # legacy default BR2_PACKAGE_LUA_5_4 help Select the version of Lua API/ABI you wish to use. @@ -21,6 +22,8 @@ choice config BR2_PACKAGE_LUA_5_1 bool "Lua 5.1.x" select BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 + select BR2_PACKAGE_LUA_CVT_N2S + select BR2_PACKAGE_LUA_CVT_S2N config BR2_PACKAGE_LUA_5_3 bool "Lua 5.3.x" @@ -43,6 +46,20 @@ config BR2_PACKAGE_LUA_32BITS endif +config BR2_PACKAGE_LUA_CVT_N2S + bool "automatic coercion from number to string" + default y # legacy + help + If unsure, say y, this is the default behavior of the Lua + interpreter. See LUA_NOCVTN2S in luaconf.h + +config BR2_PACKAGE_LUA_CVT_S2N + bool "automatic coercion from string to number" + default y # legacy + help + If unsure, say y, this is the default behavior of the Lua + interpreter. See LUA_NOCVTN2S in luaconf.h + choice prompt "Lua command-line editing" default BR2_PACKAGE_LUA_EDITING_NONE diff --git a/package/lua/lua.mk b/package/lua/lua.mk index 01b554eb6b3..93d4803812a 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -5,7 +5,7 @@ ################################################################################ ifeq ($(BR2_PACKAGE_LUA_5_4),y) -LUA_VERSION = 5.4.4 +LUA_VERSION = 5.4.6 else ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_VERSION = 5.3.6 else @@ -31,6 +31,14 @@ else ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_CFLAGS += -DLUA_COMPAT_5_2 endif +ifeq ($(BR2_PACKAGE_LUA_CVT_N2S),) +LUA_CFLAGS += -DLUA_NOCVTN2S +endif + +ifeq ($(BR2_PACKAGE_LUA_CVT_S2N),) +LUA_CFLAGS += -DLUA_NOCVTS2N +endif + ifeq ($(BR2_STATIC_LIBS),y) LUA_BUILDMODE = static else diff --git a/package/luaexpat/luaexpat.hash b/package/luaexpat/luaexpat.hash index be67e9be6fb..621293a0b96 100644 --- a/package/luaexpat/luaexpat.hash +++ b/package/luaexpat/luaexpat.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 536a5eda09bb070d2de8ecdd15566d3a55e2afa5ded2ef183cd453bac8c41e98 luaexpat-1.5.0-1.src.rock +sha256 eb7abc4cc39dd50eecb30896686bac84e66fd3c0774d0749b391e7ac5d222f45 luaexpat-1.5.1-1.src.rock sha256 7e6a727e5b57cca713a2f2633f05d7e0cc1e261cc6a7613bbe266e625b2f14da luaexpat/LICENSE diff --git a/package/luaexpat/luaexpat.mk b/package/luaexpat/luaexpat.mk index f56bf604b32..73675a8ee65 100644 --- a/package/luaexpat/luaexpat.mk +++ b/package/luaexpat/luaexpat.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAEXPAT_VERSION = 1.5.0-1 +LUAEXPAT_VERSION = 1.5.1-1 LUAEXPAT_SUBDIR = luaexpat LUAEXPAT_LICENSE = MIT LUAEXPAT_LICENSE_FILES = $(LUAEXPAT_SUBDIR)/LICENSE diff --git a/package/luajit/0001-no-bin-symlink.patch b/package/luajit/0001-no-bin-symlink.patch index dc36fa58d60..ea0e5bf8d00 100644 --- a/package/luajit/0001-no-bin-symlink.patch +++ b/package/luajit/0001-no-bin-symlink.patch @@ -6,7 +6,7 @@ Index: b/Makefile =================================================================== --- a/Makefile +++ b/Makefile -@@ -45,8 +45,7 @@ +@@ -50,8 +50,7 @@ INSTALL_MAN= $(INSTALL_SHARE)/man/man1 INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig @@ -16,7 +16,7 @@ Index: b/Makefile INSTALL_ANAME= libluajit-$(ABIVER).a INSTALL_SOSHORT1= libluajit-$(ABIVER).so INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER) -@@ -61,7 +60,6 @@ +@@ -66,7 +65,6 @@ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT1) INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT2) INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) diff --git a/package/luajit/0002-install-inc.patch b/package/luajit/0002-install-inc.patch index 8de777dce21..163a5d36fc7 100644 --- a/package/luajit/0002-install-inc.patch +++ b/package/luajit/0002-install-inc.patch @@ -6,12 +6,12 @@ Index: b/Makefile =================================================================== --- a/Makefile +++ b/Makefile -@@ -33,7 +33,7 @@ +@@ -38,7 +38,7 @@ INSTALL_BIN= $(DPREFIX)/bin INSTALL_LIB= $(DPREFIX)/$(MULTILIB) INSTALL_SHARE= $(DPREFIX)/share --INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER) +-INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MMVERSION) +INSTALL_DEFINC= $(DPREFIX)/include INSTALL_INC= $(INSTALL_DEFINC) - INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION) + INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(MMVERSION) diff --git a/package/luajit/luajit.hash b/package/luajit/luajit.hash index d00cea4ee09..578bb7a3e2c 100644 --- a/package/luajit/luajit.hash +++ b/package/luajit/luajit.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 19a911fdd77af69e48fa50749606a9009696f543cc88e898b4480d8d3c8828f5 luajit-6c4826f12c4d33b8b978004bc681eb1eef2be977.tar.gz +sha256 b518721280390e4cec1af30f6819d86756ce4234d82410a55a4e121855f64e08 luajit-41fb94defa8f830ce69a8122b03f6ac3216d392a.tar.gz # Locally calculated -sha256 52fc5b15ac968ed81aabb4c1e23ab3bce50f57a5764e9cdca86b463a11072921 COPYRIGHT +sha256 1130331ac861a4b4520e9c8ad0814efdc6f1e79ea55ea9c460c73733d13ccb5f COPYRIGHT diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk index c79f18bf622..693e22630b6 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAJIT_VERSION = 6c4826f12c4d33b8b978004bc681eb1eef2be977 +LUAJIT_VERSION = 41fb94defa8f830ce69a8122b03f6ac3216d392a LUAJIT_SITE = $(call github,LuaJIT,LuaJIT,$(LUAJIT_VERSION)) LUAJIT_LICENSE = MIT LUAJIT_LICENSE_FILES = COPYRIGHT diff --git a/package/lualdap/lualdap.hash b/package/lualdap/lualdap.hash index 15ca840f1fa..62d8d20abfe 100644 --- a/package/lualdap/lualdap.hash +++ b/package/lualdap/lualdap.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 49c253f540187c61850c856b8e70e45dca904b81720a760f6a94e4eb474958ad lualdap-1.3.0-1.src.rock +sha256 865b915a3ff16b9663b76a77e89ec54a5028ccfe95e85ad704efbaa144a608f8 lualdap-1.4.0-1.src.rock sha256 b9b75da18d1e1147ec47bff508ffdce831da07dc371891b9057cf1c422660af4 lualdap/docs/license.md diff --git a/package/lualdap/lualdap.mk b/package/lualdap/lualdap.mk index 5dfba8b7a41..a6fc612b791 100644 --- a/package/lualdap/lualdap.mk +++ b/package/lualdap/lualdap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUALDAP_VERSION = 1.3.0-1 +LUALDAP_VERSION = 1.4.0-1 LUALDAP_SUBDIR = lualdap LUALDAP_LICENSE = MIT LUALDAP_LICENSE_FILES = $(LUALDAP_SUBDIR)/docs/license.md diff --git a/package/lualogging/lualogging.hash b/package/lualogging/lualogging.hash index a9eadab4d12..af1ee1055d3 100644 --- a/package/lualogging/lualogging.hash +++ b/package/lualogging/lualogging.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 d4a8791e9b24840c4a4c0366399f55b6deb060fc3947f3a9aae9ced0334160c1 lualogging-1.7.0-1.src.rock -sha256 d900082cb26f8cf4a491ca51c00241f2c2e9cd9ae3531c62234017a360706adb lualogging/COPYRIGHT +sha256 7bc2dcd13dbe85e48de50f05000b391e467a54d537b44ed856c1f7ad29c3549a lualogging-1.8.2-1.src.rock +sha256 9740a719a5e4ee280e65f42e3624354c3c4464e61d94de33efca9d7072d31092 lualogging/COPYRIGHT diff --git a/package/lualogging/lualogging.mk b/package/lualogging/lualogging.mk index 78197f6be62..c7969fb7b37 100644 --- a/package/lualogging/lualogging.mk +++ b/package/lualogging/lualogging.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUALOGGING_VERSION = 1.7.0-1 +LUALOGGING_VERSION = 1.8.2-1 LUALOGGING_SUBDIR = lualogging LUALOGGING_LICENSE = MIT LUALOGGING_LICENSE_FILES = $(LUALOGGING_SUBDIR)/COPYRIGHT diff --git a/package/luaposix/luaposix.hash b/package/luaposix/luaposix.hash index ee76ea103d7..d54395c29b4 100644 --- a/package/luaposix/luaposix.hash +++ b/package/luaposix/luaposix.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1b5c48d2abd59de0738d1fc1e6204e44979ad2a1a26e8e22a2d6215dd502c797 luaposix-35.1.tar.gz -sha256 f50bc0f3197523b1709f31707425f2de95f8a45534b081a6b564179ab059e850 LICENSE +sha256 44e5087cd3c47058f9934b90c0017e4cf870b71619f99707dd433074622debb1 luaposix-36.2.1.tar.gz +sha256 ea0fdaae50b0d31a81c2c99f4354264783c71043fd40522feaa40eecc069599b LICENSE diff --git a/package/luaposix/luaposix.mk b/package/luaposix/luaposix.mk index fa267091543..d09a1bcd1df 100644 --- a/package/luaposix/luaposix.mk +++ b/package/luaposix/luaposix.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAPOSIX_VERSION = 35.1 +LUAPOSIX_VERSION = 36.2.1 LUAPOSIX_SITE = $(call github,luaposix,luaposix,v$(LUAPOSIX_VERSION)) LUAPOSIX_LICENSE = MIT LUAPOSIX_LICENSE_FILES = LICENSE diff --git a/package/luasec/luasec.hash b/package/luasec/luasec.hash index 3c2b7d803b4..0fb9996d399 100644 --- a/package/luasec/luasec.hash +++ b/package/luasec/luasec.hash @@ -1,3 +1,3 @@ # computed by luarocks/buildroot -sha256 82d9ea7d11688a2b11fc1c4549a2e7b0aca00790b49e67a41dac0c81f2890f1c luasec-1.2.0-1.src.rock -sha256 bbf73e23eae7df57a4c4ff33bc23c41a2dc4f8707ba33235c2026d20b41405a7 luasec/LICENSE +sha256 f93bf9927bd34a5d4f897f4488b285a12bee89c0e7d54b3b36dfcbf43a7ad4e5 luasec-1.3.2-1.src.rock +sha256 a3eab8badfcce959ae0c50be4ce460b547785dba61e6dcc6a1dbb8f800a18563 luasec/LICENSE diff --git a/package/luasec/luasec.mk b/package/luasec/luasec.mk index c7f3a94d9a5..6e338a7be3c 100644 --- a/package/luasec/luasec.mk +++ b/package/luasec/luasec.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUASEC_VERSION = 1.2.0-1 +LUASEC_VERSION = 1.3.2-1 LUASEC_SUBDIR = luasec LUASEC_LICENSE = MIT LUASEC_LICENSE_FILES = $(LUASEC_SUBDIR)/LICENSE diff --git a/package/luv/Config.in b/package/luv/Config.in index 434cb3b459a..d6aff8b6f7c 100644 --- a/package/luv/Config.in +++ b/package/luv/Config.in @@ -4,13 +4,15 @@ config BR2_PACKAGE_LUV depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_LIBUV help libuv bindings for LuaJIT and Lua. https://github.com/luvit/luv -comment "luv needs a toolchain w/ NPTL, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "luv needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/luvi/Config.in b/package/luvi/Config.in index 6e96f85f32c..3a724acebb7 100644 --- a/package/luvi/Config.in +++ b/package/luvi/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_LUVI depends on !BR2_STATIC_LIBS # libuv depends on BR2_PACKAGE_LUAJIT depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LUV select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL @@ -25,8 +26,9 @@ config BR2_PACKAGE_LUVI https://github.com/luvit/luvi -comment "luvi needs a toolchain w/ NPTL, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "luvi needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/luvi/luvi.hash b/package/luvi/luvi.hash index 9621ef4d03a..3518a2dc856 100644 --- a/package/luvi/luvi.hash +++ b/package/luvi/luvi.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 da25c74a30a3fe2fc75e9797a6fa0717ebb05ceb7e6ccb61301f80c7dd436b73 luvi-src-v2.13.0.tar.gz +sha256 4be4468d01657100967a9c696f503aa3c30de6f23af39050c1aae909fbf0aaf2 luvi-src-v2.14.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/luvi/luvi.mk b/package/luvi/luvi.mk index 5266281ffc8..ebd1066c5c2 100644 --- a/package/luvi/luvi.mk +++ b/package/luvi/luvi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUVI_VERSION = 2.13.0 +LUVI_VERSION = 2.14.0 LUVI_SOURCE = luvi-src-v$(LUVI_VERSION).tar.gz LUVI_SITE = https://github.com/luvit/luvi/releases/download/v$(LUVI_VERSION) LUVI_LICENSE = Apache-2.0 @@ -22,6 +22,8 @@ else ifeq ($(BR2_arm)$(BR2_armeb),y) LUVI_TARGET_ARCH = arm else ifeq ($(BR2_aarch64),y) LUVI_TARGET_ARCH = arm64 +else ifeq ($(BR2_aarch64_be),y) +LUVI_TARGET_ARCH = arm64be else ifeq ($(BR2_mips),y) LUVI_TARGET_ARCH = mips else ifeq ($(BR2_mipsel),y) @@ -32,14 +34,15 @@ endif # LUAJIT_VERSION and the luajit installation path may not use the # same value. Use the value from luajit.pc file. -LUVI_LUAJIT_VERSION = `$(PKG_CONFIG_HOST_BINARY) --variable=version luajit` +LUVI_LUAJIT_MAJVER = `$(PKG_CONFIG_HOST_BINARY) --variable=majver luajit` +LUVI_LUAJIT_MINVER = `$(PKG_CONFIG_HOST_BINARY) --variable=minver luajit` # Bundled lua bindings have to be linked statically into the luvi executable LUVI_CONF_OPTS = \ -DBUILD_SHARED_LIBS=OFF \ -DWithSharedLibluv=ON \ -DTARGET_ARCH=$(LUVI_TARGET_ARCH) \ - -DLUA_PATH=$(HOST_DIR)/share/luajit-$(LUVI_LUAJIT_VERSION)/?.lua + -DLUA_PATH=$(HOST_DIR)/share/luajit-$(LUVI_LUAJIT_MAJVER).$(LUVI_LUAJIT_MINVER)/?.lua # Add "rex" module (PCRE via bundled lrexlib) ifeq ($(BR2_PACKAGE_PCRE),y) diff --git a/package/lvm2/0001-clang-possible-better-compilation-with-musl-c.patch b/package/lvm2/0001-clang-possible-better-compilation-with-musl-c.patch new file mode 100644 index 00000000000..f537331a2c3 --- /dev/null +++ b/package/lvm2/0001-clang-possible-better-compilation-with-musl-c.patch @@ -0,0 +1,30 @@ +From bac596b3685520acaa404dc3ebd2131e6de96d47 Mon Sep 17 00:00:00 2001 +From: Zdenek Kabelac +Date: Wed, 16 Feb 2022 00:48:49 +0100 +Subject: [PATCH] clang: possible better compilation with musl c + +Try to help resolving reported compilation problem with +clang & musl C. +https://github.com/lvmteam/lvm2/issues/61 + +Backported from: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=4fd76de4b69f8e5e6d5afa03d54cb4b8986c4bcc +Signed-off-by: Simon Rowe +--- + libdaemon/server/daemon-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c +index 88905a7dd..96cfc392e 100644 +--- a/libdaemon/server/daemon-server.c ++++ b/libdaemon/server/daemon-server.c +@@ -18,6 +18,7 @@ + + #include + #include ++#include /* help musl C */ + #include + #include + #include +-- +2.22.3 + diff --git a/package/lvm2/0002-mm-preallocate-memory-only-with-glibc.patch b/package/lvm2/0002-mm-preallocate-memory-only-with-glibc.patch new file mode 100644 index 00000000000..db16d60acea --- /dev/null +++ b/package/lvm2/0002-mm-preallocate-memory-only-with-glibc.patch @@ -0,0 +1,34 @@ +From b668022f9b8aecf52109c9e0b7e5847054231361 Mon Sep 17 00:00:00 2001 +From: Zdenek Kabelac +Date: Fri, 19 Aug 2022 16:15:17 +0200 +Subject: [PATCH] mm: preallocate memory only with glibc + +Use mallinfo() only with glibc. + +Backported from: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=8370d117d7ef8a472c95315a3cd085696c90b3be +Signed-off-by: Simon Rowe +--- + lib/mm/memlock.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c +index 3d1a3927c..efcc6d91f 100644 +--- a/lib/mm/memlock.c ++++ b/lib/mm/memlock.c +@@ -160,7 +160,12 @@ static void _touch_memory(void *mem, size_t size) + + static void _allocate_memory(void) + { +-#ifndef VALGRIND_POOL ++#if defined(__GLIBC__) && !defined(VALGRIND_POOL) ++ /* Memory allocation is currently only tested with glibc ++ * for different C libraries, some other mechanisms might be needed ++ * meanwhile let users use lvm2 code without memory preallocation. ++ * Compilation for VALGRIND tracing also goes without preallocation. ++ */ + void *stack_mem; + struct rlimit limit; + int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks; +-- +2.22.3 + diff --git a/package/lvm2/0003-cmdline-use-freopen-to-reopen-standard-streams.patch b/package/lvm2/0003-cmdline-use-freopen-to-reopen-standard-streams.patch new file mode 100644 index 00000000000..8d0be40320c --- /dev/null +++ b/package/lvm2/0003-cmdline-use-freopen-to-reopen-standard-streams.patch @@ -0,0 +1,68 @@ +From 7c74ad9c349e381decc84c218112ea8e7bcc0b9c Mon Sep 17 00:00:00 2001 +From: Simon Rowe +Date: Thu, 23 Mar 2023 09:57:59 +0000 +Subject: [PATCH] cmdline: use freopen() to reopen standard streams + +In glibc stdin, stdout & stderr are variables that can be assigned to +(https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html) +however this not necessarily true of other C libraries. + +The gentoo musl porting notes +(https://wiki.gentoo.org/wiki/Musl_porting_notes) +recommend the substitution of + + stdX = fopen(...) + +with + + freopen(..., stdX) + +Taken from: https://github.com/gentoo/gentoo/blob/master/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch +Signed-off-by: Simon Rowe +--- + tools/lvmcmdline.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c +index 1e12bedca..534368575 100644 +--- a/tools/lvmcmdline.c ++++ b/tools/lvmcmdline.c +@@ -3384,7 +3384,11 @@ static int _check_standard_fds(void) + int err = is_valid_fd(STDERR_FILENO); + + if (!is_valid_fd(STDIN_FILENO) && ++#ifdef __GLIBC__ + !(stdin = fopen(_PATH_DEVNULL, "r"))) { ++#else ++ !freopen(_PATH_DEVNULL, "r", stdin)) { ++#endif + if (err) + perror("stdin stream open"); + else +@@ -3394,7 +3398,11 @@ static int _check_standard_fds(void) + } + + if (!is_valid_fd(STDOUT_FILENO) && ++#ifdef __GLIBC__ + !(stdout = fopen(_PATH_DEVNULL, "w"))) { ++#else ++ !freopen(_PATH_DEVNULL, "w", stdout)) { ++#endif + if (err) + perror("stdout stream open"); + /* else no stdout */ +@@ -3402,7 +3410,11 @@ static int _check_standard_fds(void) + } + + if (!is_valid_fd(STDERR_FILENO) && ++#ifdef __GLIBC__ + !(stderr = fopen(_PATH_DEVNULL, "w"))) { ++#else ++ !freopen(_PATH_DEVNULL, "w", stderr)) { ++#endif + printf("stderr stream open: %s\n", + strerror(errno)); + return 0; +-- +2.22.3 + diff --git a/package/lvm2/0004-log-use-freopen-to-reopen-standard-streams.patch b/package/lvm2/0004-log-use-freopen-to-reopen-standard-streams.patch new file mode 100644 index 00000000000..0b57fb6fd22 --- /dev/null +++ b/package/lvm2/0004-log-use-freopen-to-reopen-standard-streams.patch @@ -0,0 +1,44 @@ +From 6d6b953cf7d2b8d06e7b0363b1b06cb2e902aa0f Mon Sep 17 00:00:00 2001 +From: Simon Rowe +Date: Thu, 23 Mar 2023 10:07:02 +0000 +Subject: [PATCH] log: use freopen() to reopen standard streams + +In glibc stdin, stdout & stderr are variables that can be assigned to +(https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html) +however this not necessarily true of other C libraries. + +The gentoo musl porting notes +(https://wiki.gentoo.org/wiki/Musl_porting_notes) +recommend the substitution of + + stdX = fopen(...) + +with + + freopen(..., stdX) + +Taken from: https://github.com/gentoo/gentoo/blob/master/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch +Signed-off-by: Simon Rowe +--- + lib/log/log.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/log/log.c b/lib/log/log.c +index 7b4d537b3..5f62c048c 100644 +--- a/lib/log/log.c ++++ b/lib/log/log.c +@@ -208,7 +208,11 @@ int reopen_standard_stream(FILE **stream, const char *mode) + + _check_and_replace_standard_log_streams(old_stream, new_stream); + ++#ifdef __GLIBC__ + *stream = new_stream; ++#else ++ freopen(NULL, mode, *stream); ++#endif + return 1; + } + +-- +2.22.3 + diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in index cc740dd40c6..ddb398d160e 100644 --- a/package/lvm2/Config.in +++ b/package/lvm2/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_LVM2 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # needs fork() depends on !BR2_STATIC_LIBS # It fails to build statically - select BR2_PACKAGE_LIBAIO help This is LVM2, the rewrite of The Linux Logical Volume Manager. LVM supports enterprise level volume management of disk and @@ -27,15 +26,11 @@ if BR2_PACKAGE_LVM2 config BR2_PACKAGE_LVM2_STANDARD_INSTALL bool "standard install instead of only dmsetup" default y - # http://lists.busybox.net/pipermail/buildroot/2016-August/170592.html - depends on !BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_LIBAIO help Install the standard suite of lvm2 programs. When this option is not set, only dmsetup is installed. -comment "lvm2 standard install needs a glibc or uClibc toolchain" - depends on BR2_TOOLCHAIN_USES_MUSL - endif comment "lvm2 needs a toolchain w/ threads, dynamic library" diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index 9caf99eb9b9..05b7388cf63 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -10,7 +10,7 @@ LVM2_SITE = https://sourceware.org/ftp/lvm2 LVM2_INSTALL_STAGING = YES LVM2_LICENSE = GPL-2.0, LGPL-2.1 LVM2_LICENSE_FILES = COPYING COPYING.LIB -LVM2_CPE_ID_PRODUCT = redhat +LVM2_CPE_ID_VENDOR = redhat # parallel build issues LVM2_MAKE = $(MAKE1) @@ -25,7 +25,7 @@ LVM2_CONF_OPTS += \ --disable-nls \ --with-symvers=no -LVM2_DEPENDENCIES += host-pkgconf libaio +LVM2_DEPENDENCIES += host-pkgconf # LVM2 uses autoconf, but not automake, and the build system does not # take into account the toolchain passed at configure time. @@ -49,6 +49,7 @@ LVM2_CONF_OPTS += --disable-selinux endif ifeq ($(BR2_PACKAGE_LVM2_STANDARD_INSTALL),y) +LVM2_DEPENDENCIES += libaio LVM2_INSTALL_STAGING_OPTS += install LVM2_INSTALL_TARGET_OPTS += install ifeq ($(BR2_INIT_SYSTEMD),y) @@ -75,5 +76,10 @@ HOST_LVM2_CONF_OPTS = \ --disable-selinux \ --with-confdir=$(HOST_DIR)/etc +define LVM2_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_MD) + $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_DM) +endef + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/lxc/0001-build-detect-where-struct-mount_attr-is-declared.patch b/package/lxc/0001-build-detect-where-struct-mount_attr-is-declared.patch deleted file mode 100644 index 8de7adcc562..00000000000 --- a/package/lxc/0001-build-detect-where-struct-mount_attr-is-declared.patch +++ /dev/null @@ -1,186 +0,0 @@ -From c1115e1503bf955c97f4cf3b925a6a9f619764c3 Mon Sep 17 00:00:00 2001 -From: Christian Brauner -Date: Tue, 9 Aug 2022 16:14:25 +0200 -Subject: [PATCH] build: detect where struct mount_attr is declared - -Fixes: #4176 -Signed-off-by: Christian Brauner (Microsoft) -[Retrieved from: -https://github.com/lxc/lxc/commit/c1115e1503bf955c97f4cf3b925a6a9f619764c3] -Signed-off-by: Fabrice Fontaine ---- - meson.build | 30 ++++++++++++++++++++++++++++-- - src/lxc/conf.c | 6 +++--- - src/lxc/conf.h | 2 +- - src/lxc/mount_utils.c | 6 +++--- - src/lxc/syscall_wrappers.h | 12 ++++++++++-- - 5 files changed, 45 insertions(+), 11 deletions(-) - -diff --git a/meson.build b/meson.build -index a145faf069..f679aabbc8 100644 ---- a/meson.build -+++ b/meson.build -@@ -590,7 +590,6 @@ decl_headers = ''' - foreach decl: [ - '__aligned_u64', - 'struct clone_args', -- 'struct mount_attr', - 'struct open_how', - 'struct rtnl_link_stats64', - ] -@@ -610,7 +609,6 @@ foreach tuple: [ - ['struct seccomp_notif_sizes'], - ['struct clone_args'], - ['__aligned_u64'], -- ['struct mount_attr'], - ['struct open_how'], - ['struct rtnl_link_stats64'], - ] -@@ -630,6 +628,34 @@ foreach tuple: [ - endif - endforeach - -+## Types. -+decl_headers = ''' -+#include -+''' -+ -+# We get -1 if the size cannot be determined -+if cc.sizeof('struct mount_attr', prefix: decl_headers, args: '-D_GNU_SOURCE') > 0 -+ srcconf.set10('HAVE_' + 'struct mount_attr'.underscorify().to_upper(), true) -+ found_types += 'struct mount_attr (sys/mount.h)' -+else -+ srcconf.set10('HAVE_' + 'struct mount_attr'.underscorify().to_upper(), false) -+ missing_types += 'struct mount_attr (sys/mount.h)' -+endif -+ -+## Types. -+decl_headers = ''' -+#include -+''' -+ -+# We get -1 if the size cannot be determined -+if cc.sizeof('struct mount_attr', prefix: decl_headers, args: '-D_GNU_SOURCE') > 0 -+ srcconf.set10('HAVE_UAPI_' + 'struct mount_attr'.underscorify().to_upper(), true) -+ found_types += 'struct mount_attr (linux/mount.h)' -+else -+ srcconf.set10('HAVE_UAPI_' + 'struct mount_attr'.underscorify().to_upper(), false) -+ missing_types += 'struct mount_attr (linux/mount.h)' -+endif -+ - ## Headers. - foreach ident: [ - ['bpf', '''#include -diff --git a/src/lxc/conf.c b/src/lxc/conf.c -index ffbe74c2f6..4193cd07f5 100644 ---- a/src/lxc/conf.c -+++ b/src/lxc/conf.c -@@ -2885,7 +2885,7 @@ static int __lxc_idmapped_mounts_child(struct lxc_handler *handler, FILE *f) - struct lxc_mount_options opts = {}; - int dfd_from; - const char *source_relative, *target_relative; -- struct lxc_mount_attr attr = {}; -+ struct mount_attr attr = {}; - - ret = parse_lxc_mount_attrs(&opts, mntent.mnt_opts); - if (ret < 0) -@@ -3005,7 +3005,7 @@ static int __lxc_idmapped_mounts_child(struct lxc_handler *handler, FILE *f) - - /* Set propagation mount options. */ - if (opts.attr.propagation) { -- attr = (struct lxc_mount_attr) { -+ attr = (struct mount_attr) { - .propagation = opts.attr.propagation, - }; - -@@ -4109,7 +4109,7 @@ int lxc_idmapped_mounts_parent(struct lxc_handler *handler) - - for (;;) { - __do_close int fd_from = -EBADF, fd_userns = -EBADF; -- struct lxc_mount_attr attr = {}; -+ struct mount_attr attr = {}; - struct lxc_mount_options opts = {}; - ssize_t ret; - -diff --git a/src/lxc/conf.h b/src/lxc/conf.h -index 7dc2f15b60..772479f9e1 100644 ---- a/src/lxc/conf.h -+++ b/src/lxc/conf.h -@@ -223,7 +223,7 @@ struct lxc_mount_options { - unsigned long mnt_flags; - unsigned long prop_flags; - char *data; -- struct lxc_mount_attr attr; -+ struct mount_attr attr; - char *raw_options; - }; - -diff --git a/src/lxc/mount_utils.c b/src/lxc/mount_utils.c -index bba75f933c..88dd73ee36 100644 ---- a/src/lxc/mount_utils.c -+++ b/src/lxc/mount_utils.c -@@ -31,7 +31,7 @@ lxc_log_define(mount_utils, lxc); - * setting in @attr_set, but must also specify MOUNT_ATTR__ATIME in the - * @attr_clr field. - */ --static inline void set_atime(struct lxc_mount_attr *attr) -+static inline void set_atime(struct mount_attr *attr) - { - switch (attr->attr_set & MOUNT_ATTR__ATIME) { - case MOUNT_ATTR_RELATIME: -@@ -272,7 +272,7 @@ int create_detached_idmapped_mount(const char *path, int userns_fd, - { - __do_close int fd_tree_from = -EBADF; - unsigned int open_tree_flags = OPEN_TREE_CLONE | OPEN_TREE_CLOEXEC; -- struct lxc_mount_attr attr = { -+ struct mount_attr attr = { - .attr_set = MOUNT_ATTR_IDMAP | attr_set, - .attr_clr = attr_clr, - .userns_fd = userns_fd, -@@ -335,7 +335,7 @@ int __fd_bind_mount(int dfd_from, const char *path_from, __u64 o_flags_from, - __u64 attr_clr, __u64 propagation, int userns_fd, - bool recursive) - { -- struct lxc_mount_attr attr = { -+ struct mount_attr attr = { - .attr_set = attr_set, - .attr_clr = attr_clr, - .propagation = propagation, -diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h -index a5e98b565c..c8a7d0c7b7 100644 ---- a/src/lxc/syscall_wrappers.h -+++ b/src/lxc/syscall_wrappers.h -@@ -18,6 +18,12 @@ - #include "macro.h" - #include "syscall_numbers.h" - -+#if HAVE_STRUCT_MOUNT_ATTR -+#include -+#elif HAVE_UAPI_STRUCT_MOUNT_ATTR -+#include -+#endif -+ - #ifdef HAVE_LINUX_MEMFD_H - #include - #endif -@@ -210,16 +216,18 @@ extern int fsmount(int fs_fd, unsigned int flags, unsigned int attr_flags); - /* - * mount_setattr() - */ --struct lxc_mount_attr { -+#if !HAVE_STRUCT_MOUNT_ATTR && !HAVE_UAPI_STRUCT_MOUNT_ATTR -+struct mount_attr { - __u64 attr_set; - __u64 attr_clr; - __u64 propagation; - __u64 userns_fd; - }; -+#endif - - #if !HAVE_MOUNT_SETATTR - static inline int mount_setattr(int dfd, const char *path, unsigned int flags, -- struct lxc_mount_attr *attr, size_t size) -+ struct mount_attr *attr, size_t size) - { - return syscall(__NR_mount_setattr, dfd, path, flags, attr, size); - } diff --git a/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch b/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch new file mode 100644 index 00000000000..4a944e35b12 --- /dev/null +++ b/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch @@ -0,0 +1,133 @@ +From 82fe01821cd5cb8548598d7d93b07d6ef3f6b604 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 30 Mar 2024 16:50:46 +0100 +Subject: [PATCH] src/lxc/syscall_numbers.h: drop define -1 + +Drop "#define -1" to avoid the following m68k build failure with gcc 12: + +In file included from ../src/lxc/syscall_wrappers.h:19, + from ../src/lxc/mount_utils.h:15, + from ../src/lxc/conf.h:24, + from ../src/lxc/log.h:19, + from ../src/lxc/storage/btrfs.c:20: +../src/lxc/syscall_numbers.h:423:25: error: macro names must be identifiers + 423 | #define -1 + | ^ + +Fixes: + - http://autobuild.buildroot.org/results/f40a517eba86838b11b4b1d6a8a05b8233a3394d + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/lxc/lxc/commit/82fe01821cd5cb8548598d7d93b07d6ef3f6b604 +--- + src/lxc/syscall_numbers.h | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/src/lxc/syscall_numbers.h b/src/lxc/syscall_numbers.h +index 58840a5981..5e659d1b81 100644 +--- a/src/lxc/syscall_numbers.h ++++ b/src/lxc/syscall_numbers.h +@@ -53,7 +53,6 @@ + #elif defined __loongarch64 + #define __NR_keyctl 219 + #else +- #define -1 + #warning "__NR_keyctl not defined for your architecture" + #endif + #endif +@@ -92,7 +91,6 @@ + #elif defined __loongarch64 + #define __NR_memfd_create 279 + #else +- #define -1 + #warning "__NR_memfd_create not defined for your architecture" + #endif + #endif +@@ -129,7 +127,6 @@ + #elif defined __loongarch64 + #define __NR_pivot_root 41 + #else +- #define -1 + #warning "__NR_pivot_root not defined for your architecture" + #endif + #endif +@@ -166,7 +163,6 @@ + #elif defined __loongarch64 + #define __NR_setns 268 + #else +- #define -1 + #warning "__NR_setns not defined for your architecture" + #endif + #endif +@@ -203,7 +199,6 @@ + #elif defined __loongarch64 + #define __NR_sethostname 161 + #else +- #define -1 + #warning "__NR_sethostname not defined for your architecture" + #endif + #endif +@@ -272,7 +267,6 @@ + #elif defined __loongarch64 + #define __NR_signalfd4 74 + #else +- #define -1 + #warning "__NR_signalfd4 not defined for your architecture" + #endif + #endif +@@ -309,7 +303,6 @@ + #elif defined __loongarch64 + #define __NR_unshare 97 + #else +- #define -1 + #warning "__NR_unshare not defined for your architecture" + #endif + #endif +@@ -346,7 +339,6 @@ + #elif defined __loongarch64 + #define __NR_bpf 280 + #else +- #define -1 + #warning "__NR_bpf not defined for your architecture" + #endif + #endif +@@ -383,7 +375,6 @@ + #elif defined __loongarch64 + #define __NR_faccessat 48 + #else +- #define -1 + #warning "__NR_faccessat not defined for your architecture" + #endif + #endif +@@ -440,7 +431,6 @@ + #elif defined __loongarch64 + #define __NR_seccomp 277 + #else +- #define -1 + #warning "__NR_seccomp not defined for your architecture" + #endif + #endif +@@ -477,7 +467,6 @@ + #elif defined __loongarch64 + #define __NR_gettid 178 + #else +- #define -1 + #warning "__NR_gettid not defined for your architecture" + #endif + #endif +@@ -518,7 +507,6 @@ + #elif defined __loongarch64 + #define __NR_execveat 281 + #else +- #define -1 + #warning "__NR_execveat not defined for your architecture" + #endif + #endif +@@ -759,7 +747,6 @@ + #elif defined __loongarch64 + #define __NR_personality 92 + #else +- #define -1 + #warning "__NR_personality not defined for your architecture" + #endif + #endif diff --git a/package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch b/package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch deleted file mode 100644 index 22013cb3634..00000000000 --- a/package/lxc/0002-use-sd_bus_call_method_async-to-replace-the-asyncv-one.patch +++ /dev/null @@ -1,47 +0,0 @@ -From b0abedf60b40adf0f2fb3cf9dfee4bc601f7b39f Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Thu, 25 Aug 2022 05:45:53 -0700 -Subject: [PATCH] use sd_bus_call_method_async to replace the asyncv one - -The sd_bus_call_method_asyncv's 10th parameter is of type -va_list and supplying NULL when invoking it causes compilation -error. Just replace it with the async one. - -Signed-off-by: Chen Qi -[Retrieved from: -https://github.com/lxc/lxc/commit/b0abedf60b40adf0f2fb3cf9dfee4bc601f7b39f] -Signed-off-by: Fabrice Fontaine ---- - meson.build | 4 ++-- - src/lxc/cgroups/cgfsng.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/meson.build b/meson.build -index 21955a0504..f8bdcf4e83 100644 ---- a/meson.build -+++ b/meson.build -@@ -295,9 +295,9 @@ if not want_sd_bus.disabled() - has_sd_bus = false - endif - -- if not cc.has_function('sd_bus_call_method_asyncv', prefix: '#include ', dependencies: libsystemd) -+ if not cc.has_function('sd_bus_call_method_async', prefix: '#include ', dependencies: libsystemd) - if not sd_bus_optional -- error('libsystemd misses required sd_bus_call_method_asyncv function') -+ error('libsystemd misses required sd_bus_call_method_async function') - endif - - has_sd_bus = false -diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c -index 8a3615893f..d90e5385e1 100644 ---- a/src/lxc/cgroups/cgfsng.c -+++ b/src/lxc/cgroups/cgfsng.c -@@ -1232,7 +1232,7 @@ static int unpriv_systemd_create_scope(struct cgroup_ops *ops, struct lxc_conf * - if (r < 0) - return log_error(SYSTEMD_SCOPE_FAILED, "Failed to connect to user bus: %s", strerror(-r)); - -- r = sd_bus_call_method_asyncv(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL, NULL); -+ r = sd_bus_call_method_async(bus, NULL, DESTINATION, PATH, INTERFACE, "Subscribe", NULL, NULL, NULL); - if (r < 0) - return log_error(SYSTEMD_SCOPE_FAILED, "Failed to subscribe to signals: %s", strerror(-r)); - diff --git a/package/lxc/0003-build-detect-sys-pidfd.h-availability.patch b/package/lxc/0003-build-detect-sys-pidfd.h-availability.patch deleted file mode 100644 index 3aa598407f6..00000000000 --- a/package/lxc/0003-build-detect-sys-pidfd.h-availability.patch +++ /dev/null @@ -1,55 +0,0 @@ -From ef1e0607b82e27350c2d677d649c6a0a9693fd40 Mon Sep 17 00:00:00 2001 -From: Christian Brauner -Date: Tue, 9 Aug 2022 16:27:40 +0200 -Subject: [PATCH] build: detect sys/pidfd.h availability - -Fixes: #4176 -Signed-off-by: Christian Brauner (Microsoft) - -[Retrieved from: -https://github.com/lxc/lxc/commit/ef1e0607b82e27350c2d677d649c6a0a9693fd40] -Signed-off-by: Fabrice Fontaine ---- - meson.build | 1 + - src/lxc/process_utils.h | 6 ++++++ - 2 files changed, 7 insertions(+) - -diff --git a/meson.build b/meson.build -index f679aabbc8..e999542336 100644 ---- a/meson.build -+++ b/meson.build -@@ -735,6 +735,7 @@ foreach tuple: [ - ['sys/resource.h'], - ['sys/memfd.h'], - ['sys/personality.h'], -+ ['sys/pidfd.h'], - ['sys/signalfd.h'], - ['sys/timerfd.h'], - ['pty.h'], -diff --git a/src/lxc/process_utils.h b/src/lxc/process_utils.h -index 9c15b15741..ed84741d0e 100644 ---- a/src/lxc/process_utils.h -+++ b/src/lxc/process_utils.h -@@ -15,6 +15,10 @@ - #include - #include - -+#if HAVE_SYS_PIDFD_H -+#include -+#endif -+ - #include "compiler.h" - #include "syscall_numbers.h" - -@@ -136,9 +140,11 @@ - #endif - - /* waitid */ -+#if !HAVE_SYS_PIDFD_H - #ifndef P_PIDFD - #define P_PIDFD 3 - #endif -+#endif - - #ifndef CLONE_ARGS_SIZE_VER0 - #define CLONE_ARGS_SIZE_VER0 64 /* sizeof first published struct */ diff --git a/package/lxc/lxc.hash b/package/lxc/lxc.hash index c18e062cc1f..8b3365ddfc8 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 d8195423bb1e206f8521d24b6cde4789f043960c7cf065990a9cf741dcfd4222 lxc-5.0.1.tar.gz +sha256 2693a4c654dcfdafb3aa95c262051d8122afa1b6f5cef1920221ebbdee934d07 lxc-5.0.3.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 diff --git a/package/lxc/lxc.mk b/package/lxc/lxc.mk index e1639c5f157..b2afb978e67 100644 --- a/package/lxc/lxc.mk +++ b/package/lxc/lxc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LXC_VERSION = 5.0.1 +LXC_VERSION = 5.0.3 LXC_SITE = https://linuxcontainers.org/downloads/lxc LXC_LICENSE = GPL-2.0 (some tools), LGPL-2.1+ LXC_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 diff --git a/package/lynx/lynx.mk b/package/lynx/lynx.mk index 3f62f4f5b76..83173292624 100644 --- a/package/lynx/lynx.mk +++ b/package/lynx/lynx.mk @@ -6,14 +6,14 @@ LYNX_VERSION = 2.8.9rel.1 LYNX_SOURCE = lynx$(LYNX_VERSION).tar.bz2 -LYNX_SITE = ftp://ftp.invisible-island.net/lynx/tarballs +LYNX_SITE = https://invisible-mirror.net/archives/lynx/tarballs LYNX_PATCH = \ https://salsa.debian.org/lynx-team/lynx/-/raw/debian/2.9.0dev.6-3_deb11u1/debian/patches/90_CVE-2021-38165.patch # 90_CVE-2021-38165.patch LYNX_IGNORE_CVES += CVE-2021-38165 LYNX_LICENSE = GPL-2.0 LYNX_LICENSE_FILES = COPYING -LYNX_CPE_ID_VENDOR = lynx_project +LYNX_CPE_ID_VALID = YES LYNX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) @@ -53,6 +53,8 @@ LYNX_DEPENDENCIES += libidn LYNX_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libidn` endif -LYNX_CONF_ENV = LIBS="$(LYNX_LIBS)" CFLAGS="$(TARGET_CFLAGS) $(LYNX_CFLAGS)" +LYNX_CONF_ENV = \ + LDFLAGS="$(TARGET_LDFLAGS) $(LYNX_LIBS)" \ + CFLAGS="$(TARGET_CFLAGS) $(LYNX_CFLAGS)" $(eval $(autotools-package)) diff --git a/package/lz4/lz4.mk b/package/lz4/lz4.mk index 5da1ae27034..202dc172f7a 100644 --- a/package/lz4/lz4.mk +++ b/package/lz4/lz4.mk @@ -9,7 +9,7 @@ LZ4_SITE = $(call github,lz4,lz4,v$(LZ4_VERSION)) LZ4_INSTALL_STAGING = YES LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs) LZ4_LICENSE_FILES = lib/LICENSE programs/COPYING -LZ4_CPE_ID_VENDOR = lz4_project +LZ4_CPE_ID_VALID = YES ifeq ($(BR2_STATIC_LIBS),y) LZ4_MAKE_OPTS += BUILD_SHARED=no diff --git a/package/lzo/lzo.mk b/package/lzo/lzo.mk index 0682d8d0ff4..76c00615d51 100644 --- a/package/lzo/lzo.mk +++ b/package/lzo/lzo.mk @@ -8,7 +8,7 @@ LZO_VERSION = 2.10 LZO_SITE = http://www.oberhumer.com/opensource/lzo/download LZO_LICENSE = GPL-2.0+ LZO_LICENSE_FILES = COPYING -LZO_CPE_ID_VENDOR = lzo_project +LZO_CPE_ID_VALID = YES LZO_INSTALL_STAGING = YES LZO_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/lzop/0001-allow-overriding-modification-time.patch b/package/lzop/0001-allow-overriding-modification-time.patch new file mode 100644 index 00000000000..5ffc64cd30e --- /dev/null +++ b/package/lzop/0001-allow-overriding-modification-time.patch @@ -0,0 +1,42 @@ +From: =?UTF-8?q?Florian=20B=C3=A4uerle?= +Date: Thu, 25 Oct 2018 17:26:30 +0200 +Subject: [PATCH] allow overriding modification time + +This patch allows to set the mtime of the lzop archive to +$SOURCE_DATE_EPOCH, required for reproducible build. It was submitted to +pengutronix by florian Bäuerle in october 2018. + +https://git.pengutronix.de/cgit/ptxdist/tree/patches/lzop-1.04/0002-allow-overriding-modification-time.patch + +Signed-off-by: Casey Reeves +--- + src/lzop.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/lzop.c b/src/lzop.c +index a540ad9c4d33..c2f877d16f92 100644 +--- a/src/lzop.c ++++ b/src/lzop.c +@@ -712,6 +712,7 @@ void init_compress_header(header_t *h, const file_t *fip, const file_t *fop) + assert(opt_method > 0); + assert(opt_level > 0); + assert(fip->st.st_mode == 0 || S_ISREG(fip->st.st_mode)); ++ const char *source_date_epoch = getenv("SOURCE_DATE_EPOCH"); + + memset(h,0,sizeof(header_t)); + +@@ -748,7 +749,13 @@ void init_compress_header(header_t *h, const file_t *fip, const file_t *fop) + + h->mode = fix_mode_for_header(fip->st.st_mode); + +- if (fip->st.st_mtime > 0) ++ if (source_date_epoch) ++ { ++ time_t mtime = strtoul(source_date_epoch, NULL, 0); ++ h->mtime_low = (lzo_uint32) (mtime); ++ h->mtime_high = (lzo_uint32) ((mtime >> 16) >> 16); ++ } ++ else if (fip->st.st_mtime > 0) + { + h->mtime_low = (lzo_uint32) (fip->st.st_mtime); + h->mtime_high = (lzo_uint32) ((fip->st.st_mtime >> 16) >> 16); diff --git a/package/lzop/0001-build-with-gcc6.patch b/package/lzop/0001-build-with-gcc6.patch deleted file mode 100644 index 03bd887d516..00000000000 --- a/package/lzop/0001-build-with-gcc6.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Jaap Crezee -Date: Sat, 25 june 2016 13:13:00 +0200 -Subject: [PATCH] fix compilation host-lzop with gcc-6 - -This patch allows host-lzop to be compiled with host systems containing gcc-6 - -Upstream patch found here: -https://build.opensuse.org/package/view_file/Archiving/lzop/lzop-1.03-gcc6.patch?expand=1 - -Signed-off-by: Jaap Crezee - ---- a/src/miniacc.h.orig 2016-02-10 16:09:23.247315866 +0100 -+++ b/src/miniacc.h 2016-02-10 16:12:14.973297054 +0100 -@@ -4469,12 +4469,12 @@ - #if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150) - #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC) - #else -- ACCCHK_ASSERT((1 << (8*SIZEOF_INT-1)) < 0) -+ ACCCHK_ASSERT((int)(1u << (8*SIZEOF_INT-1)) < 0) - #endif - ACCCHK_ASSERT((1u << (8*SIZEOF_INT-1)) > 0) - #if 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC) - #else -- ACCCHK_ASSERT((1l << (8*SIZEOF_LONG-1)) < 0) -+ ACCCHK_ASSERT((long)(1ul << (8*SIZEOF_LONG-1)) < 0) - #endif - ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0) - #if defined(acc_int16e_t) -@@ -4703,7 +4703,7 @@ - #elif 1 && (ACC_CC_LCC || ACC_CC_LCCWIN32) && !defined(ACCCHK_CFG_PEDANTIC) - #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC) - #elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1) -- ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0) -+ ACCCHK_ASSERT( (int)((unsigned int)((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0) - #endif - #if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560)) - # pragma option pop diff --git a/package/lzop/0002-use-static-inlines-as-the-external-inline-definition.patch b/package/lzop/0002-use-static-inlines-as-the-external-inline-definition.patch deleted file mode 100644 index f6d076a9f7c..00000000000 --- a/package/lzop/0002-use-static-inlines-as-the-external-inline-definition.patch +++ /dev/null @@ -1,102 +0,0 @@ -From ecccbcf66da53779d88e38e2af7f82eff8dde7f8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 16 Aug 2015 10:35:47 -0700 -Subject: [PATCH] use static inlines as the external inline definition has - changed with gcc5 - -[Patch from https://raw.githubusercontent.com/openembedded/openembedded-core/master/meta/recipes-support/lzop/lzop/0001-use-static-inlines-as-the-external-inline-definition.patch] -Signed-off-by: Khem Raj -Signed-off-by: Peter Korsgaard ---- -Upstream-Status: Pending - - src/miniacc.h | 24 ++++++++---------------- - 1 file changed, 8 insertions(+), 16 deletions(-) - -diff --git a/src/miniacc.h b/src/miniacc.h -index 09e6f0c..cae98d1 100644 ---- a/src/miniacc.h -+++ b/src/miniacc.h -@@ -2880,8 +2880,7 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t); - #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline) - #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC) - #if !defined(ACC_UA_GET_LE16) --extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp); --extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) { -+static __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) { - __acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp; - unsigned long v; - __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p)); -@@ -2890,8 +2889,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const - #define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p) - #endif - #if !defined(ACC_UA_SET_LE16) --extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v); --extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) { -+static __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) { - __acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp; - __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v)); - } -@@ -2916,8 +2914,7 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsi - #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline) - #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC) - #if !defined(ACC_UA_GET_LE32) --extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp); --extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) { -+static __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) { - __acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp; - unsigned long v; - __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p)); -@@ -2926,8 +2923,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const - #define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p) - #endif - #if !defined(ACC_UA_SET_LE32) --extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v); --extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) { -+static __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) { - __acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp; - __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v)); - } -@@ -3307,8 +3303,7 @@ typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t); - #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline) - #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC) - #if !defined(ACC_UA_GET_LE16) --extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp); --extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) { -+static __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) { - __acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp; - unsigned long v; - __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p)); -@@ -3317,8 +3312,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const - #define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p) - #endif - #if !defined(ACC_UA_SET_LE16) --extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v); --extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) { -+static __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) { - __acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp; - __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v)); - } -@@ -3343,8 +3337,7 @@ extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsi - #if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline) - #if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC) - #if !defined(ACC_UA_GET_LE32) --extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp); --extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) { -+static __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) { - __acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp; - unsigned long v; - __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p)); -@@ -3353,8 +3346,7 @@ extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const - #define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p) - #endif - #if !defined(ACC_UA_SET_LE32) --extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v); --extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) { -+static __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) { - __acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp; - __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v)); - } --- -2.5.0 - diff --git a/package/lzop/lzop.hash b/package/lzop/lzop.hash index adc20648b66..8cf31d16100 100644 --- a/package/lzop/lzop.hash +++ b/package/lzop/lzop.hash @@ -1,3 +1,4 @@ +# From http://www.lzop.org +sha256 7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f305a2f41 lzop-1.04.tar.gz # Locally calculated -sha256 c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9 lzop-1.03.tar.gz -sha256 70439f6e2b47057a408d2390ed6663b9875f5a08066a06a060a357ef1df89a8c COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/lzop/lzop.mk b/package/lzop/lzop.mk index 55157c4d488..d32d2d1d3bf 100644 --- a/package/lzop/lzop.mk +++ b/package/lzop/lzop.mk @@ -4,13 +4,26 @@ # ################################################################################ -LZOP_VERSION = 1.03 +LZOP_VERSION = 1.04 LZOP_SITE = http://www.lzop.org/download LZOP_LICENSE = GPL-2.0+ LZOP_LICENSE_FILES = COPYING LZOP_DEPENDENCIES = lzo HOST_LZOP_DEPENDENCIES = host-lzo +# lzop uses libtool 2.4.2.418, which is right between 2.4.2 and +# 2.4.4. While our patch for 2.4 is also supposed to work up to and +# including 2.4.2.x, it does not work for libtool 2.4.2.418, which +# requires the patch for 2.4.4. So we disable the libtool patching +# from autotools-package and do our own. +LZOP_LIBTOOL_PATCH = NO + +define LZOP_LIBTOOL_FIXUP + patch -i support/libtool/buildroot-libtool-v2.4.4.patch $(@D)/autoconf/ltmain.sh +endef +LZOP_POST_PATCH_HOOKS += LZOP_LIBTOOL_FIXUP +HOST_LZOP_POST_PATCH_HOOKS += LZOP_LIBTOOL_FIXUP + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/madplay/madplay.mk b/package/madplay/madplay.mk index e1a78bd7d7a..91ee44ab5f4 100644 --- a/package/madplay/madplay.mk +++ b/package/madplay/madplay.mk @@ -15,6 +15,14 @@ MADPLAY_DEPENDENCIES = host-pkgconf libmad libid3tag $(TARGET_NLS_DEPENDENCIES) # Also 0003-configure-ac-use-pkg-config-to-find-id3tag.patch MADPLAY_AUTORECONF = YES +# madplay uses libmad which has some assembly function that is not present in +# Thumb mode: +# Error: selected processor does not support `smull r8,r9,r2,r4' in Thumb mode +# so, we desactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +MADPLAY_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + # Check if ALSA is built, then we should configure after alsa-lib so # ./configure can find alsa-lib. ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y) diff --git a/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch b/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch deleted file mode 100644 index 62e67f850a2..00000000000 --- a/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 48c8a116a914a325a0497721f5d8b58d5bba34d4 Mon Sep 17 00:00:00 2001 -From: Paul Smith -Date: Sun, 19 Nov 2017 15:09:16 -0500 -Subject: [PATCH] * configure.ac: Support GLIBC glob interface version 2 - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 48c8a116a914a3 - - configure.ac | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 8c72568cf276..4710832ae568 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -404,10 +404,9 @@ AC_CACHE_CHECK([if system libc has GNU glob], [make_cv_sys_gnu_glob], - #include - #include - --#define GLOB_INTERFACE_VERSION 1 - #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 - # include --# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION -+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 - gnu glob - # endif - #endif], --- -2.16.2 - diff --git a/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch b/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch deleted file mode 100644 index 33ded3c501d..00000000000 --- a/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Sun, 24 Sep 2017 09:12:58 -0400 -Subject: [PATCH] glob: Do not assume glibc glob internals. - -It has been proposed that glibc glob start using gl_lstat, -which the API allows it to do. GNU 'make' should not get in -the way of this. See: -https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html - -* dir.c (local_lstat): New function, like local_stat. -(dir_setup_glob): Use it to initialize gl_lstat too, as the API -requires. - -Signed-off-by: Samuel Mendoza-Jonas -(from upstream commit 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4) ---- - dir.c | 29 +++++++++++++++++++++++++++-- - 1 file changed, 27 insertions(+), 2 deletions(-) - -diff --git a/dir.c b/dir.c -index adbb8a9..c343e4c 100644 ---- a/dir.c -+++ b/dir.c -@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf) - } - #endif - -+/* Similarly for lstat. */ -+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) -+# ifndef VMS -+# ifndef HAVE_SYS_STAT_H -+int lstat (const char *path, struct stat *sbuf); -+# endif -+# else -+ /* We are done with the fake lstat. Go back to the real lstat */ -+# ifdef lstat -+# undef lstat -+# endif -+# endif -+# define local_lstat lstat -+#elif defined(WINDOWS32) -+/* Windows doesn't support lstat(). */ -+# define local_lstat local_stat -+#else -+static int -+local_lstat (const char *path, struct stat *buf) -+{ -+ int e; -+ EINTRLOOP (e, lstat (path, buf)); -+ return e; -+} -+#endif -+ - void - dir_setup_glob (glob_t *gl) - { - gl->gl_opendir = open_dirstream; - gl->gl_readdir = read_dirstream; - gl->gl_closedir = free; -+ gl->gl_lstat = local_lstat; - gl->gl_stat = local_stat; -- /* We don't bother setting gl_lstat, since glob never calls it. -- The slot is only there for compatibility with 4.4 BSD. */ - } - - void --- -2.21.0 - diff --git a/package/make/make.hash b/package/make/make.hash index 0bd0e5546f4..07d91e7baab 100644 --- a/package/make/make.hash +++ b/package/make/make.hash @@ -1,6 +1,6 @@ -# From http://lists.gnu.org/archive/html/info-gnu/2016-06/msg00005.html -md5 15b012617e7c44c0ed482721629577ac make-4.2.1.tar.bz2 +# From https://lists.gnu.org/archive/html/info-gnu/2023-02/msg00011.html +md5 c8b13b7477e812d4213a9b88ff0ff1d6 make-4.4.1.tar.lz # Locally calculated after checking signature -sha256 d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 make-4.2.1.tar.bz2 +sha256 8814ba072182b605d156d7589c19a43b89fc58ea479b9355146160946f8cf6e9 make-4.4.1.tar.lz # Locally computed -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/make/make.mk b/package/make/make.mk index f289c5c3d92..e194e15873b 100644 --- a/package/make/make.mk +++ b/package/make/make.mk @@ -4,17 +4,14 @@ # ################################################################################ -MAKE_VERSION = 4.2.1 -MAKE_SOURCE = make-$(MAKE_VERSION).tar.bz2 +MAKE_VERSION = 4.4.1 +MAKE_SOURCE = make-$(MAKE_VERSION).tar.lz MAKE_SITE = $(BR2_GNU_MIRROR)/make MAKE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-pkgconf MAKE_LICENSE = GPL-3.0+ MAKE_LICENSE_FILES = COPYING MAKE_CPE_ID_VENDOR = gnu -# Patching configure.ac -MAKE_AUTORECONF = YES - MAKE_CONF_OPTS = --without-guile # Disable the 'load' operation for static builds since it needs dlopen diff --git a/package/makedevs/README b/package/makedevs/README deleted file mode 100644 index 70844bf802c..00000000000 --- a/package/makedevs/README +++ /dev/null @@ -1,35 +0,0 @@ -When building a target filesystem, it is desirable to not have to -become root and then run 'mknod' a thousand times. Using a device -table you can create device nodes and directories "on the fly". - -You can do all sorts of interesting things with a device table file. -For example, if you want to adjust the permissions on a particular -file you can just add an entry like: - - /sbin/foobar f 2755 0 0 - - - - - - -and (assuming the file /sbin/foobar exists) it will be made setuid -root (regardless of what its permissions are on the host filesystem. - -Furthermore, you can use a single table entry to create a many device -minors. For example, if I wanted to create /dev/hda and -/dev/hda[0-15] I could just use the following two table entries: - - /dev/hda b 640 0 0 3 0 0 0 - - /dev/hda b 640 0 0 3 1 1 1 15 - -Device table entries take the form of: - - - -where name is the file name, type can be one of: - - f: A regular file - d: Directory - c: Character special device file - b: Block special device file - p: Fifo (named pipe) - -uid is the user id for the target file, gid is the group id for the -target file. The rest of the entries (major, minor, etc) apply only -to device special files. diff --git a/package/makedevs/README.adoc b/package/makedevs/README.adoc new file mode 120000 index 00000000000..d62887a7471 --- /dev/null +++ b/package/makedevs/README.adoc @@ -0,0 +1 @@ +../../docs/manual/makedev-syntax.adoc \ No newline at end of file diff --git a/package/makedumpfile/makedumpfile.hash b/package/makedumpfile/makedumpfile.hash index f38d93c04aa..fdb30de88d8 100644 --- a/package/makedumpfile/makedumpfile.hash +++ b/package/makedumpfile/makedumpfile.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 748583ea4c0b32346008aa53b313e9708f60a8481959c25c76e5c94740032d9b makedumpfile-1.7.2.tar.gz +sha256 0554f5de516c51f5756e437dbfc353722b16b20e875241275554b474e89298db makedumpfile-1.7.4.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/makedumpfile/makedumpfile.mk b/package/makedumpfile/makedumpfile.mk index 8dc60b043e2..410752682da 100644 --- a/package/makedumpfile/makedumpfile.mk +++ b/package/makedumpfile/makedumpfile.mk @@ -4,7 +4,7 @@ # ################################################################################ -MAKEDUMPFILE_VERSION = 1.7.2 +MAKEDUMPFILE_VERSION = 1.7.4 MAKEDUMPFILE_SITE = https://github.com/makedumpfile/makedumpfile/releases/download/$(MAKEDUMPFILE_VERSION) MAKEDUMPFILE_DEPENDENCIES = bzip2 elfutils xz zlib MAKEDUMPFILE_LICENSE = GPL-2.0 diff --git a/package/mali-driver/mali-driver.hash b/package/mali-driver/mali-driver.hash index 5d32c1af8a5..ddde56b55c1 100644 --- a/package/mali-driver/mali-driver.hash +++ b/package/mali-driver/mali-driver.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 761e3f000b4c546cbd35baf34f5a0d1090f048dd44ee543773674192fd95f6b3 mali-driver-87c13e6994b20b5068e3a5e4f4c1b64db666a4c8.tar.gz +sha256 3111757a411ba216a4b8e3d88c29eb3be3182a7f0d5f8b9cfe10f85ec6693bc9 mali-driver-d40c57d81c9cf4bc6fefeaf47153fde8eed19ef2.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/mali-driver/mali-driver.mk b/package/mali-driver/mali-driver.mk index bdc9fedeb4e..fa5a8d94d96 100644 --- a/package/mali-driver/mali-driver.mk +++ b/package/mali-driver/mali-driver.mk @@ -4,7 +4,7 @@ # ################################################################################ -MALI_DRIVER_VERSION = 87c13e6994b20b5068e3a5e4f4c1b64db666a4c8 +MALI_DRIVER_VERSION = d40c57d81c9cf4bc6fefeaf47153fde8eed19ef2 MALI_DRIVER_SITE = $(call github,bootlin,mali-driver,$(MALI_DRIVER_VERSION)) MALI_DRIVER_DEPENDENCIES = linux MALI_DRIVER_LICENSE = GPL-2.0 diff --git a/package/mariadb/Config.in b/package/mariadb/Config.in new file mode 100644 index 00000000000..acedd1da9d8 --- /dev/null +++ b/package/mariadb/Config.in @@ -0,0 +1,41 @@ +config BR2_PACKAGE_MARIADB + bool "mariadb" + depends on BR2_INSTALL_LIBSTDCPP # fmt + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 + depends on BR2_USE_WCHAR # fmt + select BR2_PACKAGE_LIBAIO + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_FMT + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_PCRE2 + help + MariaDB is one of the most popular database servers in the + world. It's made by the original developers of MySQL and + guaranteed to stay open source. + + http://www.mariadb.org/ + +comment "mariadb needs a toolchain w/ dynamic library, C++, threads, wchar" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 + +if BR2_PACKAGE_MARIADB + +config BR2_PACKAGE_MARIADB_SERVER + bool "mariadb server" + help + Install the mariadb server on the target. + +config BR2_PACKAGE_MARIADB_SERVER_EMBEDDED + bool "mariadb embedded server" + depends on BR2_PACKAGE_MARIADB_SERVER + help + Install the mariadb embedded server on the target. + +endif diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index c4064cff66f..fd73cca4f3b 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,6 +1,6 @@ -# From https://downloads.mariadb.org/mariadb/10.3.36 -sha512 321b4c48fcea4413eb239c4904c806306de660f2844edfa1d2a2a15213db287070d0f923db976588dfe329559d565bd98bddef3aaf8f14502f8c3db2ee27757a mariadb-10.3.36.tar.gz +# From https://downloads.mariadb.org/mariadb/10.11.6 +sha512 3d77f7be4a26d5a36af56150a5f8ed5e21adeed9bc8ea1bd694e47a25a571bd73468eada7c96e0dfe5a6c81bef625abf71a56d228cf43a738e555e3c0d824a6a mariadb-10.11.6.tar.gz # Hash for license files -sha256 084aa0007efac6dda6aafffb3f3ef8b66b105862dad7ee23f6a4b52813f84464 README.md +sha256 2b278a3a2f20696113a7c57c4f3e6a5cdb9a25f2a827e72e0c089a2f805ff91a README.md sha256 240a15a1d0f34d3abca462cdb7e5fb89470967563f16b0e71169e51c1e74cf2b COPYING diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index 5fb88762787..1dcf6568da7 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,7 +4,7 @@ # ################################################################################ -MARIADB_VERSION = 10.3.36 +MARIADB_VERSION = 10.11.6 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text @@ -13,17 +13,22 @@ MARIADB_LICENSE_FILES = README.md COPYING MARIADB_CPE_ID_VENDOR = mariadb MARIADB_SELINUX_MODULES = mysql MARIADB_INSTALL_STAGING = YES -MARIADB_PROVIDES = mysql MARIADB_CONFIG_SCRIPTS = mysql_config MARIADB_DEPENDENCIES = \ host-mariadb \ + fmt \ ncurses \ openssl \ + pcre2 \ zlib \ libaio \ libxml2 +MARIADB_CONF_OPTS += \ + -DWITH_LIBFMT=system \ + -DWITH_PCRE=system + # use bundled GPL-2.0+ licensed readline as package/readline is GPL-3.0+ MARIADB_CONF_OPTS += -DWITH_READLINE=ON @@ -66,6 +71,13 @@ MARIADB_CONF_OPTS += \ -DLIBRESSL_RESULT__TRYRUN_OUTPUT="LibreSSL $(LIBRESSL_VERSION)" endif +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +MARIADB_DEPENDENCIES += systemd +MARIADB_CONF_OPTS += -DWITH_SYSTEMD=yes +else +MARIADB_CONF_OPTS += -DWITH_SYSTEMD=no +endif + ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y) ifeq ($(BR2_PACKAGE_MARIADB_SERVER_EMBEDDED),y) MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=ON diff --git a/package/mariadb/mysqld.service b/package/mariadb/mysqld.service index 537430e9a21..9433e14630f 100644 --- a/package/mariadb/mysqld.service +++ b/package/mariadb/mysqld.service @@ -9,6 +9,8 @@ Restart=always User=mysql RuntimeDirectory=mysql RuntimeDirectoryMode=0755 +Type=notify +NotifyAccess=all [Install] WantedBy=multi-user.target diff --git a/package/matio/matio.hash b/package/matio/matio.hash index 94e0e48f690..976e9f03e83 100644 --- a/package/matio/matio.hash +++ b/package/matio/matio.hash @@ -1,4 +1,4 @@ -# From https://sourceforge.net/projects/matio/files/matio/1.5.23/ -sha512 e125278dcb25695affb7c576d0e2a86c0eff4225aa866b81536c9e4d7b2aea2c554f5389e96d534a8b559f5554b6cbecff4b44fe8915173cd64b2da6d1dc2629 matio-1.5.23.tar.gz +# From https://sourceforge.net/projects/matio/files/matio/1.5.26/ +sha512 725f5287a1bb9367828ede5071da82892327fb8edd51f5a21d1370614d9ea81034c3bb4d16c87e80dc9e800086800ce14e3c4ad636255ea45b7741453e6cbb4c matio-1.5.26.tar.xz # Locally computed -sha256 3ed9a50d754fcc92d4accb8448e397eafeab686796b2a7445557ce782806e239 COPYING +sha256 b3da766592f242fd5cdd4dfd15ac5e6119e88fd6844c3c0e7acb8ad3178280a3 COPYING diff --git a/package/matio/matio.mk b/package/matio/matio.mk index 5e09f4e6cee..dc9be2ac183 100644 --- a/package/matio/matio.mk +++ b/package/matio/matio.mk @@ -4,17 +4,27 @@ # ################################################################################ -MATIO_VERSION = 1.5.23 -MATIO_SITE = http://downloads.sourceforge.net/project/matio/matio/$(MATIO_VERSION) +MATIO_VERSION = 1.5.26 +MATIO_SOURCE = matio-$(MATIO_VERSION).tar.xz +MATIO_SITE = \ + https://downloads.sourceforge.net/project/matio/matio/$(MATIO_VERSION) MATIO_LICENSE = BSD-2-Clause MATIO_LICENSE_FILES = COPYING -MATIO_CPE_ID_VENDOR = matio_project +MATIO_CPE_ID_VALID = YES MATIO_DEPENDENCIES = zlib MATIO_INSTALL_STAGING = YES # va_copy() MATIO_CONF_ENV = ac_cv_va_copy=yes +MATIO_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_99410),y) +MATIO_CFLAGS += -O0 +endif + +MATIO_CONF_ENV += CFLAGS="$(MATIO_CFLAGS)" + # mat73 require hdf5 (not available), extented-sparse take 2KB MATIO_CONF_OPTS = --disable-mat73 --enable-extended-sparse diff --git a/package/mawk/mawk.hash b/package/mawk/mawk.hash index 69761f77df5..31a74cab606 100644 --- a/package/mawk/mawk.hash +++ b/package/mawk/mawk.hash @@ -1,2 +1,2 @@ -sha256 7fd4cd1e1fae9290fe089171181bbc6291dfd9bca939ca804f0ddb851c8b8237 mawk-1.3.4-20200120.tgz +sha256 a8e319a83744b1f1fb6988dfa189d61887f866e9140cc9a49eb003b2b0655e88 mawk-1.3.4-20240123.tgz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/mawk/mawk.mk b/package/mawk/mawk.mk index c4a486215d5..9aadf6d9727 100644 --- a/package/mawk/mawk.mk +++ b/package/mawk/mawk.mk @@ -4,7 +4,7 @@ # ################################################################################ -MAWK_VERSION = 1.3.4-20200120 +MAWK_VERSION = 1.3.4-20240123 MAWK_SITE = https://invisible-mirror.net/archives/mawk MAWK_SOURCE = mawk-$(MAWK_VERSION).tgz MAWK_LICENSE = GPL-2.0 diff --git a/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch deleted file mode 100644 index 60bf53f6e43..00000000000 --- a/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch +++ /dev/null @@ -1,74 +0,0 @@ -From a0ae2ba37ca479c6edddec8634b25686be965e0d Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 27 Aug 2018 22:50:57 +0200 -Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes #1910 - -With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline -assembly fails to build with GCC < 5 in PIC mode with the following error: - -include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ - -This is because older GCC versions treated the x86 ebx register (which is -used for the GOT) as a fixed reserved register when building as PIC. - -This is fixed by an improved register allocator in GCC 5+. From the release -notes: - -Register allocation improvements: Reuse of the PIC hard register, instead of -using a fixed register, was implemented on x86/x86-64 targets. This -improves generated PIC code performance as more hard registers can be used. - -https://www.gnu.org/software/gcc/gcc-5/changes.html - -As a workaround, detect this situation and disable the inline assembly, -similar to the MULADDC_CANNOT_USE_R7 logic. - -Signed-off-by: Peter Korsgaard -Upstream: https://github.com/ARMmbed/mbedtls/pull/1986 ---- - include/mbedtls/bn_mul.h | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h -index b587317d9..74a2d29be 100644 ---- a/include/mbedtls/bn_mul.h -+++ b/include/mbedtls/bn_mul.h -@@ -50,13 +50,29 @@ - #if defined(__GNUC__) && \ - ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) - -+/* -+ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a -+ * fixed reserved register when building as PIC, leading to errors -+ * like: bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ -+ * -+ * This is fixed by an improved register allocator in GCC 5+. From the -+ * release notes: -+ * Register allocation improvements: Reuse of the PIC hard register, -+ * instead of using a fixed register, was implemented on x86/x86-64 -+ * targets. This improves generated PIC code performance as more hard -+ * registers can be used. -+ */ -+#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) -+#define MULADDC_CANNOT_USE_EBX -+#endif -+ - /* - * Disable use of the i386 assembly code below if option -O0, to disable all - * compiler optimisations, is passed, detected with __OPTIMIZE__ - * This is done as the number of registers used in the assembly code doesn't - * work with the -O0 option. - */ --#if defined(__i386__) && defined(__OPTIMIZE__) -+#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) - - #define MULADDC_INIT \ - asm( \ --- -2.11.0 - diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 38182fe1198..5466b0e7de4 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,4 +1,4 @@ -# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.1: -sha256 6797a7b6483ef589deeab8d33d401ed235d7be25eeecda1be8ddfed406d40ff4 mbedtls-2.28.1.tar.gz +# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.8: +sha256 241c68402cef653e586be3ce28d57da24598eb0df13fcdea9d99bfce58717132 mbedtls-2.28.8.tar.bz2 # Locally calculated -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE +sha256 9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b LICENSE diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index 49ea7886f62..9757b8b0804 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -4,15 +4,16 @@ # ################################################################################ -MBEDTLS_VERSION = 2.28.1 -MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION)) +MBEDTLS_VERSION = 2.28.8 +MBEDTLS_SITE = https://github.com/Mbed-TLS/mbedtls/releases/download/v$(MBEDTLS_VERSION) +MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION).tar.bz2 MBEDTLS_CONF_OPTS = \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ -DENABLE_TESTING=OFF \ -DMBEDTLS_FATAL_WARNINGS=OFF MBEDTLS_INSTALL_STAGING = YES -MBEDTLS_LICENSE = Apache-2.0 +MBEDTLS_LICENSE = Apache-2.0 or GPL-2.0+ MBEDTLS_LICENSE_FILES = LICENSE MBEDTLS_CPE_ID_VENDOR = arm MBEDTLS_CPE_ID_PRODUCT = mbed_tls diff --git a/package/mbpfan/mbpfan.hash b/package/mbpfan/mbpfan.hash index 9195692d520..5b67744a000 100644 --- a/package/mbpfan/mbpfan.hash +++ b/package/mbpfan/mbpfan.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f690e9302da4cf97e582606614d91e1ee4ac495a4939aec7c0b3468c8988eb67 mbpfan-2.3.0.tar.gz +sha256 e1cdcffaba52be215ae40a8568949190866d500d6ae2a1e96b71ab5372f3580b mbpfan-2.4.0.tar.gz sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 COPYING diff --git a/package/mbpfan/mbpfan.mk b/package/mbpfan/mbpfan.mk index 52d823cbdc6..0ac161b327e 100644 --- a/package/mbpfan/mbpfan.mk +++ b/package/mbpfan/mbpfan.mk @@ -4,7 +4,7 @@ # ################################################################################ -MBPFAN_VERSION = 2.3.0 +MBPFAN_VERSION = 2.4.0 MBPFAN_SITE = $(call github,linux-on-mac,mbpfan,v$(MBPFAN_VERSION)) MBPFAN_LICENSE = GPL-3.0+ MBPFAN_LICENSE_FILES = COPYING diff --git a/package/mbpoll/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch b/package/mbpoll/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch new file mode 100644 index 00000000000..8c9d1a5680a --- /dev/null +++ b/package/mbpoll/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch @@ -0,0 +1,30 @@ +From 97a2c39fea591509ac1f8a31598b7555b63b8d55 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 30 Jul 2023 08:45:58 +0200 +Subject: [PATCH] CMakeLists.txt: Add LANGUAGES option to project variable + +Fixes build with toolchains without c++. + +Upstream: https://github.com/epsilonrt/mbpoll/pull/71 + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6daa039..11dcd05 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,7 +3,7 @@ + cmake_minimum_required(VERSION 2.9) + + # Workspace name +-project(mbpoll) ++project(mbpoll LANGUAGES C) + + # This setting is useful for providing JSON file used by CodeLite for code completion + set(CMAKE_EXPORT_COMPILE_COMMANDS 1) +-- +2.39.2 + diff --git a/package/mbpoll/Config.in b/package/mbpoll/Config.in new file mode 100644 index 00000000000..3617e9fa882 --- /dev/null +++ b/package/mbpoll/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_MBPOLL + bool "mbpoll" + select BR2_PACKAGE_LIBMODBUS + help + mbpoll is a command line utility to communicate with ModBus + slave (RTU or TCP). + + https://github.com/epsilonrt/mbpoll diff --git a/package/mbpoll/mbpoll.hash b/package/mbpoll/mbpoll.hash new file mode 100644 index 00000000000..ad96d5ef48c --- /dev/null +++ b/package/mbpoll/mbpoll.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7d960cd4459b5f7c2412abc51aba93a20b6114fd75d1de412b1e540cfb63bfec mbpoll-1.5.2.tar.gz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/mbpoll/mbpoll.mk b/package/mbpoll/mbpoll.mk new file mode 100644 index 00000000000..e35fbbe5f15 --- /dev/null +++ b/package/mbpoll/mbpoll.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# mbpoll +# +################################################################################ + +MBPOLL_VERSION = 1.5.2 +MBPOLL_SITE = $(call github,epsilonrt,mbpoll,v$(MBPOLL_VERSION)) +MBPOLL_DEPENDENCIES = host-pkgconf libmodbus +MBPOLL_LICENSE = GPL-3.0+ +MBPOLL_LICENSE_FILES = COPYING +MBPOLL_CONF_OPTS = -DGIT_EXECUTABLE=/bin/false + +$(eval $(cmake-package)) diff --git a/package/mbw/0001-CMakeLists.txt-fix-build-without-C.patch b/package/mbw/0001-CMakeLists.txt-fix-build-without-C.patch deleted file mode 100644 index 2c2585ebe25..00000000000 --- a/package/mbw/0001-CMakeLists.txt-fix-build-without-C.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 059f67459912bba6d7f605b7c43519ff547f3a80 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 7 Aug 2022 11:34:19 +0200 -Subject: [PATCH] CMakeLists.txt: fix build without C++ - -Fix the following build failure without C++: - -CMake Error at CMakeLists.txt:3 (project): - No CMAKE_CXX_COMPILER could be found. - - Tell CMake where to find the compiler by setting either the environment - variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path - to the compiler, or to the compiler name if it is in the PATH. - -Fixes: - - http://autobuild.buildroot.org/results/17e2d6e6d6ddf7845a37a8bbf733faf40d9faa61 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/raas/mbw/pull/14] ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d3d4fcd..3b2cb3e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 3.10) - --project(mbw VERSION 1.5) -+project(mbw VERSION 1.5 LANGUAGES C) - - add_executable(mbw mbw.c) - install(TARGETS mbw DESTINATION bin) --- -2.35.1 - diff --git a/package/mbw/mbw.hash b/package/mbw/mbw.hash index 74e38992de0..d58d7a5d44d 100644 --- a/package/mbw/mbw.hash +++ b/package/mbw/mbw.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3c396ce09bb78c895e4d45e99b1ae07f80e3ea5eee59d78ed2048a7f2ae591ae mbw-1.5.tar.gz -sha256 1afb2b8258506742238b9ceb8a865d7030c5889c56ba2911a0c0c042aa1335d1 mbw.spec +sha256 557f670e13ff663086fe239e4184d8ca6154b004bd5fde2b0a748e5aa543c87f mbw-2.0.tar.gz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE diff --git a/package/mbw/mbw.mk b/package/mbw/mbw.mk index 755a9f52933..04d6ea34940 100644 --- a/package/mbw/mbw.mk +++ b/package/mbw/mbw.mk @@ -4,9 +4,9 @@ # ################################################################################ -MBW_VERSION = 1.5 +MBW_VERSION = 2.0 MBW_SITE = $(call github,raas,mbw,v$(MBW_VERSION)) -MBW_LICENSE = LGPL-2.1 -MBW_LICENSE_FILES = mbw.spec +MBW_LICENSE = GPL-3.0+ +MBW_LICENSE_FILES = LICENSE $(eval $(cmake-package)) diff --git a/package/mc/mc.hash b/package/mc/mc.hash index b0381474ffd..93462afa60e 100644 --- a/package/mc/mc.hash +++ b/package/mc/mc.hash @@ -1,4 +1,4 @@ -# Hash from http://ftp.midnight-commander.org/mc-4.8.28.sha256 -sha256 e994d9be9a7172e9ac4a4ad62107921f6aa312e668b056dfe5b8bcebbaf53803 mc-4.8.28.tar.xz +# Hash from http://ftp.midnight-commander.org/mc-4.8.30.sha256 +sha256 5ebc3cb2144b970c5149fda556c4ad50b78780494696cdf2d14a53204c95c7df mc-4.8.30.tar.xz # sha256 locally computed: sha256 5576bbec76296e1c8e081f7037ebd01bdada388635f58d844a2f20d37bbe4284 COPYING diff --git a/package/mc/mc.mk b/package/mc/mc.mk index 3858d628867..2b4279c308c 100644 --- a/package/mc/mc.mk +++ b/package/mc/mc.mk @@ -4,7 +4,7 @@ # ################################################################################ -MC_VERSION = 4.8.28 +MC_VERSION = 4.8.30 MC_SOURCE = mc-$(MC_VERSION).tar.xz MC_SITE = http://ftp.midnight-commander.org MC_LICENSE = GPL-3.0+ diff --git a/package/mcelog/mcelog.hash b/package/mcelog/mcelog.hash index e0350b085dd..a82d6f2ed27 100644 --- a/package/mcelog/mcelog.hash +++ b/package/mcelog/mcelog.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 30364d134ff416f3f9469720add84bdccea226268d334f06022110f484550cd9 mcelog-189.tar.gz +sha256 52ad2771a8dc8e30b44a52864620cf1be1fce81f9ae83c4652a9e2d010b1a533 mcelog-194.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/mcelog/mcelog.mk b/package/mcelog/mcelog.mk index 8b5876d32ec..5cd00cc354a 100644 --- a/package/mcelog/mcelog.mk +++ b/package/mcelog/mcelog.mk @@ -4,13 +4,14 @@ # ################################################################################ -MCELOG_VERSION = 189 +MCELOG_VERSION = 194 MCELOG_SITE = $(call github,andikleen,mcelog,v$(MCELOG_VERSION)) MCELOG_LICENSE = GPL-2.0 MCELOG_LICENSE_FILES = LICENSE MCELOG_SELINUX_MODULES = mcelog define MCELOG_BUILD_CMDS + echo "$(MCELOG_VERSION)" > $(@D)/.os_version $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all endef diff --git a/package/mdadm/mdadm.mk b/package/mdadm/mdadm.mk index 0a2eb4e5bd3..b54e34b2304 100644 --- a/package/mdadm/mdadm.mk +++ b/package/mdadm/mdadm.mk @@ -9,6 +9,7 @@ MDADM_SOURCE = mdadm-$(MDADM_VERSION).tar.xz MDADM_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/raid/mdadm MDADM_LICENSE = GPL-2.0+ MDADM_LICENSE_FILES = COPYING +MDADM_CPE_ID_VALID = YES MDADM_CXFLAGS = $(TARGET_CFLAGS) @@ -21,12 +22,15 @@ MDADM_BUILD_OPTS = \ CPPFLAGS="$(TARGET_CPPFLAGS) -DBINDIR=\\\"/sbin\\\"" \ CHECK_RUN_DIR=0 +MDADM_INSTALL_TARGET_OPTS = install-bin + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) MDADM_BUILD_OPTS += USE_PTHREADS= endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) MDADM_DEPENDENCIES += udev +MDADM_INSTALL_TARGET_OPTS += install-udev else MDADM_CXFLAGS += -DNO_LIBUDEV endif @@ -36,7 +40,7 @@ define MDADM_BUILD_CMDS endef define MDADM_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install-bin + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) $(MDADM_INSTALL_TARGET_OPTS) endef $(eval $(generic-package)) diff --git a/package/mdio-tools/Config.in b/package/mdio-tools/Config.in index 237f4454cc1..790c9c534a8 100644 --- a/package/mdio-tools/Config.in +++ b/package/mdio-tools/Config.in @@ -14,4 +14,6 @@ config BR2_PACKAGE_MDIO_TOOLS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 select BR2_PACKAGE_LIBMNL help - Low-level debug tools for MDIO devices + Low-level debug tools for MDIO devices. + + https://github.com/wkz/mdio-tools diff --git a/package/mdio-tools/mdio-tools.hash b/package/mdio-tools/mdio-tools.hash index 0111165f273..19172e2cd61 100644 --- a/package/mdio-tools/mdio-tools.hash +++ b/package/mdio-tools/mdio-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c5e17431c62392f6c1da1ba4fb0a6f5918521509a377af74485851f93ff2a106 mdio-tools-1.2.0.tar.gz +sha256 652353ba153fdd8b1d58ded4b90d0639536d705aa5923018e27ea0b78aa8e4fb mdio-tools-1.3.1.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/mdio-tools/mdio-tools.mk b/package/mdio-tools/mdio-tools.mk index c4be54142e5..16eba747344 100644 --- a/package/mdio-tools/mdio-tools.mk +++ b/package/mdio-tools/mdio-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MDIO_TOOLS_VERSION = 1.2.0 +MDIO_TOOLS_VERSION = 1.3.1 MDIO_TOOLS_SITE = https://github.com/wkz/mdio-tools/releases/download/$(MDIO_TOOLS_VERSION) MDIO_TOOLS_LICENSE = GPL-2.0 MDIO_TOOLS_LICENSE_FILES = COPYING diff --git a/package/mdnsd/Config.in b/package/mdnsd/Config.in new file mode 100644 index 00000000000..c83c0905951 --- /dev/null +++ b/package/mdnsd/Config.in @@ -0,0 +1,49 @@ +config BR2_PACKAGE_MDNSD + bool "mdnsd" + depends on BR2_USE_MMU # fork() + help + Small mDNS-SD daemon for advertising services and device + discovery, similar to Avahi and Bonjour. + + By default, mdnsd runs on all interfaces that support + multicast. It reads services to announce from + /etc/mdns.d/*.service, a few common services are included + below. To override the defaults, e.g., path to services, + TTL of multicast frames, or the default interface, set + MDNSD_ARGS in /etc/default/mdnsd + + Note: currently no NSS integration with GLIBC. + + https://github.com/troglobit/mdnsd + +if BR2_PACKAGE_MDNSD + +config BR2_PACKAGE_MDNSD_MQUERY + bool "mquery" + help + Scan a LAN for mDNS capable devices, or query specific + records, similar to the mdns-scan tool. Useful for + verifying multicast connectivity or locating neighbors with + link-local address. + +comment "Services to advertise" + +config BR2_PACKAGE_MDNSD_FTP_SERVICE + bool "FTP service" + +config BR2_PACKAGE_MDNSD_HTTP_SERVICE + bool "HTTP service" + +config BR2_PACKAGE_MDNSD_IPP_SERVICE + bool "IPP service" + +config BR2_PACKAGE_MDNSD_PRINTER_SERVICE + bool "Printer service" + +config BR2_PACKAGE_MDNSD_SSH_SERVICE + bool "SSH service" + default y if BR2_PACKAGE_DROPBEAR + default y if BR2_PACKAGE_OPENSSH + default y if BR2_PACKAGE_LIBSSH_SERVER + +endif diff --git a/package/mdnsd/S50mdnsd b/package/mdnsd/S50mdnsd new file mode 100644 index 00000000000..1c2b71802c7 --- /dev/null +++ b/package/mdnsd/S50mdnsd @@ -0,0 +1,51 @@ +#!/bin/sh + +DAEMON=mdnsd +MDNSD=/usr/sbin/$DAEMON +PIDFILE=/var/run/$DAEMON.pid +CFGFILE=/etc/default/$DAEMON + +MDNSD_ARGS="" + +# Read configuration variable file if it is present +# shellcheck source=/dev/null +[ -r "$CFGFILE" ] && . "$CFGFILE" + +# shellcheck disable=SC2086 +start() { + [ -n "$1" ] || printf 'Starting %s: ' "$DAEMON" + start-stop-daemon -S -q -p "$PIDFILE" -x "$MDNSD" -- $MDNSD_ARGS +} + +stop() { + [ -n "$1" ] || printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" -x "$MDNSD" +} + +restart() { + printf 'Restarting %s: ' "$DAEMON" + stop silent + start silent +} + +# SIGHUP reloads /etc/mdns.d/*.service +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" -x "$MDNSD" +} + +case "$1" in + start|stop|restart|reload) + if "$1"; then + echo "OK" + else + echo "FAIL" + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 + ;; +esac + +exit $? diff --git a/package/mdnsd/ftp.service b/package/mdnsd/ftp.service new file mode 100644 index 00000000000..200a379efdc --- /dev/null +++ b/package/mdnsd/ftp.service @@ -0,0 +1,2 @@ +type _ftp._tcp +port 21 diff --git a/package/mdnsd/http.service b/package/mdnsd/http.service new file mode 100644 index 00000000000..7a40d2405f2 --- /dev/null +++ b/package/mdnsd/http.service @@ -0,0 +1,2 @@ +type _http._tcp +port 80 diff --git a/package/mdnsd/ipp.service b/package/mdnsd/ipp.service new file mode 100644 index 00000000000..0d43e780d1d --- /dev/null +++ b/package/mdnsd/ipp.service @@ -0,0 +1,2 @@ +type _ipp._tcp +port 631 diff --git a/package/mdnsd/mdnsd.hash b/package/mdnsd/mdnsd.hash new file mode 100644 index 00000000000..6ab0676702f --- /dev/null +++ b/package/mdnsd/mdnsd.hash @@ -0,0 +1,5 @@ +# Upstream sha256 from GitHub +sha256 1af8742ab82a0af88d99d0b15508358ad4305879ab039631bea889138f5c87e8 mdnsd-0.12.tar.gz + +# Locally computed +sha256 2969546227b58ce1b431cc4c36c9a9b45d604e6b94fb8b787ea5d3696f3eee3b LICENSE diff --git a/package/mdnsd/mdnsd.mk b/package/mdnsd/mdnsd.mk new file mode 100644 index 00000000000..f5a5fb93fbd --- /dev/null +++ b/package/mdnsd/mdnsd.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# mdnsd +# +################################################################################ + +MDNSD_VERSION = 0.12 +MDNSD_SITE = https://github.com/troglobit/mdnsd/releases/download/v$(MDNSD_VERSION) +MDNSD_LICENSE = BSD-3-Clause +MDNSD_LICENSE_FILES = LICENSE +MDNSD_DEPENDENCIES = host-pkgconf + +ifeq ($(BR2_PACKAGE_MDNSD_MQUERY),y) +MDNSD_CONF_OPTS += --with-mquery +else +MDNSD_CONF_OPTS += --without-mquery +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +MDNSD_DEPENDENCIES += systemd +MDNSD_CONF_OPTS += --with-systemd +else +MDNSD_CONF_OPTS += --without-systemd +endif + +MDNSD_SERVICES_$(BR2_PACKAGE_MDNSD_FTP_SERVICE) += ftp +MDNSD_SERVICES_$(BR2_PACKAGE_MDNSD_HTTP_SERVICE) += http +MDNSD_SERVICES_$(BR2_PACKAGE_MDNSD_IPP_SERVICE) += ipp +MDNSD_SERVICES_$(BR2_PACKAGE_MDNSD_PRINTER_SERVICE) += printer +MDNSD_SERVICES_$(BR2_PACKAGE_MDNSD_SSH_SERVICE) += ssh + +define MDNSD_INSTALL_SERVICES + $(foreach service,$(MDNSD_SERVICES_y),\ + $(INSTALL) -D -m 0644 package/mdnsd/$(service).service \ + $(TARGET_DIR)/etc/mdns.d/$(service).service + ) +endef +MDNSD_POST_INSTALL_TARGET_HOOKS += MDNSD_INSTALL_SERVICES + +define MDNSD_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/mdnsd/S50mdnsd \ + $(TARGET_DIR)/etc/init.d/S50mdnsd +endef + +define MDNSD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(@D)/mdnsd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mdnsd.service +endef + +$(eval $(autotools-package)) diff --git a/package/mdnsd/printer.service b/package/mdnsd/printer.service new file mode 100644 index 00000000000..cd322954710 --- /dev/null +++ b/package/mdnsd/printer.service @@ -0,0 +1,2 @@ +type _printer._tcp +port 515 diff --git a/package/mdnsd/ssh.service b/package/mdnsd/ssh.service new file mode 100644 index 00000000000..596d20ba17e --- /dev/null +++ b/package/mdnsd/ssh.service @@ -0,0 +1,2 @@ +type _ssh._tcp +port 22 diff --git a/package/memcached/0001-logger.c-initialize-rport.patch b/package/memcached/0001-logger.c-initialize-rport.patch index 5fb13d5eee4..002a6896018 100644 --- a/package/memcached/0001-logger.c-initialize-rport.patch +++ b/package/memcached/0001-logger.c-initialize-rport.patch @@ -23,7 +23,7 @@ Fixes: - http://autobuild.buildroot.org/results/7a46ac38d10b1859034017e0294961daa8f48dd2 Signed-off-by: Fabrice Fontaine -[Upstream status: not sent yet] +Upstream: https://github.com/memcached/memcached/pull/1077 --- logger.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/memcached/0002-check-for-sys-auxv.h.patch b/package/memcached/0002-check-for-sys-auxv.h.patch deleted file mode 100644 index 8c41bb4f01e..00000000000 --- a/package/memcached/0002-check-for-sys-auxv.h.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 58b6de2135c10b64918f25c48f69f144d08a9c0d Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 3 Jun 2022 19:10:15 +0200 -Subject: [PATCH] check for sys/auxv.h - -Check for sys/auxv.h to avoid the following uclibc build failure on -aarch64: - -crc32c.c:277:10: fatal error: sys/auxv.h: No such file or directory - 277 | #include - | ^~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/08591fbf9677ff126492c50c15170c641bcab56a - -Signed-off-by: Fabrice Fontaine -[Upstream status: not sent yet] ---- - configure.ac | 1 + - crc32c.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0985f07..3337fe7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -516,6 +516,7 @@ AH_BOTTOM([#ifdef HAVE_INTTYPES_H - #include - #endif - ]) -+AC_CHECK_HEADERS([sys/auxv.h]) - - dnl ********************************************************************** - dnl Figure out if this system has the stupid sasl_callback_ft -diff --git a/crc32c.c b/crc32c.c -index 26df879..05e61ff 100644 ---- a/crc32c.c -+++ b/crc32c.c -@@ -273,7 +273,7 @@ void crc32c_init(void) { - } - } - --#elif defined(__aarch64__) && defined(__linux__) -+#elif defined(__aarch64__) && defined(__linux__) && defined(HAVE_SYS_AUX_H) - #include - - #if defined(HWCAP_CRC32) --- -2.35.1 - diff --git a/package/memcached/0002-fix-build-on-uclibc-ng.patch b/package/memcached/0002-fix-build-on-uclibc-ng.patch new file mode 100644 index 00000000000..a5af7a2adbd --- /dev/null +++ b/package/memcached/0002-fix-build-on-uclibc-ng.patch @@ -0,0 +1,64 @@ +From c84e5e55e0e9e793849f721d30979242ed6a6ee3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 1 Oct 2023 14:12:38 +0200 +Subject: [PATCH] fix build on uclibc-ng + +Fix the following build failure with uclibc-ng raised since version +1.6.18 and +https://github.com/memcached/memcached/commit/875371a75cbf1f92350de2d1fa0fae4a35ed572b: + +/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arc-buildroot-linux-uclibc/10.2.0/../../../../arc-buildroot-linux-uclibc/bin/ld: memcached-thread.o: in function `thread_setname': +thread.c:(.text+0xea2): undefined reference to `pthread_setname_np' + +Fixes: + - http://autobuild.buildroot.org/results/e856d381f5ec7d2727f21c8bd46dacb456984416 + +Signed-off-by: Fabrice Fontaine +Upstream: unsent yet (waiting feedback on first patch) +--- + configure.ac | 1 + + extstore.c | 2 +- + thread.c | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d94f6fb..5ec5088 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -686,6 +686,7 @@ AC_CHECK_FUNCS(clock_gettime) + AC_CHECK_FUNCS(preadv) + AC_CHECK_FUNCS(pread) + AC_CHECK_FUNCS(eventfd) ++AC_CHECK_FUNCS([pthread_setname_np],[AC_DEFINE(HAVE_PTHREAD_SETNAME_NP, 1, [Define to 1 if support pthread_setname_np])]) + AC_CHECK_FUNCS([accept4], [AC_DEFINE(HAVE_ACCEPT4, 1, [Define to 1 if support accept4])]) + AC_CHECK_FUNCS([getopt_long], [AC_DEFINE(HAVE_GETOPT_LONG, 1, [Define to 1 if support getopt_long])]) + +diff --git a/extstore.c b/extstore.c +index b079465..f6a6180 100644 +--- a/extstore.c ++++ b/extstore.c +@@ -119,7 +119,7 @@ struct store_engine { + #define THR_NAME_MAXLEN 16 + static void thread_setname(pthread_t thread, const char *name) { + assert(strlen(name) < THR_NAME_MAXLEN); +-#if defined(__linux__) ++#if defined(__linux__) && defined(HAVE_PTHREAD_SETNAME_NP) + pthread_setname_np(thread, name); + #endif + } +diff --git a/thread.c b/thread.c +index ee120fa..76651c2 100644 +--- a/thread.c ++++ b/thread.c +@@ -635,7 +635,7 @@ static void thread_libevent_process(evutil_socket_t fd, short which, void *arg) + #define THR_NAME_MAXLEN 16 + void thread_setname(pthread_t thread, const char *name) { + assert(strlen(name) < THR_NAME_MAXLEN); +-#if defined(__linux__) ++#if defined(__linux__) && defined(HAVE_PTHREAD_SETNAME_NP) + pthread_setname_np(thread, name); + #endif + } +-- +2.40.1 + diff --git a/package/memcached/0003-configure.ac-add-disable-werror.patch b/package/memcached/0003-configure.ac-add-disable-werror.patch deleted file mode 100644 index dab9b8835dc..00000000000 --- a/package/memcached/0003-configure.ac-add-disable-werror.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 8497f7ed38146378a988bc22800b3a5eba38b0fd Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 13 Jun 2022 16:29:38 +0200 -Subject: [PATCH] configure.ac: add --disable-werror - -Allow the user to disable -Werror to avoid the following build failure: - -In file included from hash.c:7: -xxhash.h:2667:5: error: #warning is a GCC extension [-Werror] - 2667 | # warning "XXH3 is highly inefficient without ARM or Thumb-2." - | ^~~~~~~ -xxhash.h:2667:5: error: #warning "XXH3 is highly inefficient without ARM or Thumb-2." [-Werror=cpp] - -Fixes: - - http://autobuild.buildroot.org/results/3124bae73c207f1a118e57e41e222ef464ccb297 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/memcached/memcached/pull/926] ---- - configure.ac | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 3337fe7..7683b8f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -114,6 +114,9 @@ AC_ARG_ENABLE(static, - AC_ARG_ENABLE(unix_socket, - [AS_HELP_STRING([--disable-unix-socket], [Disable unix domain socket])]) - -+AC_ARG_ENABLE(werror, -+ [AS_HELP_STRING([--disable-werror], [Disable -Werror])]) -+ - dnl ********************************************************************** - dnl DETECT_SASL_CB_GETCONF - dnl -@@ -783,6 +786,10 @@ AM_CONDITIONAL([BUILD_SPECIFICATIONS], - [test "x$enable_docs" != "xno" -a "x$XML2RFC" != "xno" -a "x$XSLTPROC" != "xno"]) - - -+if test "x$enable_werror" != "xno"; then -+ CFLAGS="$CFLAGS -Werror" -+fi -+ - dnl Let the compiler be a bit more picky. Please note that you cannot - dnl specify these flags to the compiler before AC_CHECK_FUNCS, because - dnl the test program will generate a compilation warning and hence fail -@@ -790,12 +797,12 @@ dnl to detect the function ;-) - if test "$ICC" = "yes" - then - dnl ICC trying to be gcc. -- CFLAGS="$CFLAGS -diag-disable 187 -Wall -Werror" -+ CFLAGS="$CFLAGS -diag-disable 187 -Wall" - AC_DEFINE([_GNU_SOURCE],[1],[make sure IOV_MAX is defined]) - elif test "$GCC" = "yes" - then - GCC_VERSION=`$CC -dumpversion` -- CFLAGS="$CFLAGS -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls" -+ CFLAGS="$CFLAGS -Wall -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls" - if test "x$enable_asan" = "xyes"; then - CFLAGS="$CFLAGS -fsanitize=address" - fi --- -2.35.1 - diff --git a/package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch b/package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch deleted file mode 100644 index 402fa03b3b5..00000000000 --- a/package/memcached/0004-configure-ac-use-pkg-config-to-retrieve-openssl.patch +++ /dev/null @@ -1,181 +0,0 @@ -From 656dedad48c81541060448d008b90290196263c5 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 6 Sep 2020 23:38:19 +0200 -Subject: [PATCH] configure.ac: use pkg-config to retrieve openssl - -Use pkg-config to retrieve openssl dependencies such as -latomic or -lz - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/memcached/memcached/commit/656dedad48c81541060448d008b90290196263c5] ---- - README.md | 2 +- - configure.ac | 133 ++++++++++++++++++++++++++------------------------- - 2 files changed, 69 insertions(+), 66 deletions(-) - -diff --git a/README.md b/README.md -index 3ce1bc2156..8fe067b767 100644 ---- a/README.md -+++ b/README.md -@@ -21,7 +21,7 @@ list to ask questions, github issues aren't seen by everyone! - * libseccomp (optional, experimental, linux) - enables process restrictions for - better security. Tested only on x86-64 architectures. - * openssl (optional) - enables TLS support. need relatively up to date -- version. -+ version. pkg-config is needed to find openssl dependencies (such as -lz). - - ## Environment - -diff --git a/configure.ac b/configure.ac -index a0851f2131..2959a86c89 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -437,80 +437,83 @@ AC_ARG_WITH(libssl, - dnl ---------------------------------------------------------------------------- - dnl libssl detection. swiped from libevent. modified for openssl detection. - -+PKG_PROG_PKG_CONFIG - OPENSSL_URL=https://www.openssl.org/ - if test "x$enable_tls" = "xyes"; then -- AC_CACHE_CHECK([for libssl directory], ac_cv_libssl_dir, [ -- saved_LIBS="$LIBS" -- saved_LDFLAGS="$LDFLAGS" -- saved_CPPFLAGS="$CPPFLAGS" -- le_found=no -- for ledir in $trylibssldir "" $prefix /usr/local ; do -+ PKG_CHECK_MODULES(OPENSSL, openssl, [LIBS="$LIBS $OPENSSL_LIBS" CFLAGS="$CFLAGS $OPENSSL_CFLAGS"], [ -+ AC_CACHE_CHECK([for libssl directory], ac_cv_libssl_dir, [ -+ saved_LIBS="$LIBS" -+ saved_LDFLAGS="$LDFLAGS" -+ saved_CPPFLAGS="$CPPFLAGS" -+ le_found=no -+ for ledir in $trylibssldir "" $prefix /usr/local ; do -+ LDFLAGS="$saved_LDFLAGS" -+ LIBS="-lssl -lcrypto $saved_LIBS" -+ -+ # Skip the directory if it isn't there. -+ if test ! -z "$ledir" -a ! -d "$ledir" ; then -+ continue; -+ fi -+ if test ! -z "$ledir" ; then -+ if test -d "$ledir/lib" ; then -+ LDFLAGS="-L$ledir/lib $LDFLAGS" -+ else -+ LDFLAGS="-L$ledir $LDFLAGS" -+ fi -+ if test -d "$ledir/include" ; then -+ CPPFLAGS="-I$ledir/include $CPPFLAGS" -+ else -+ CPPFLAGS="-I$ledir $CPPFLAGS" -+ fi -+ fi -+ # Can I compile and link it? -+ AC_TRY_LINK([#include -+ #include -+ #include -+ #include ], [ SSL_CTX* ssl_ctx = SSL_CTX_new(TLS_server_method()); -+ assert(OPENSSL_VERSION_NUMBER >= 0x10100000L);], -+ [ libssl_linked=yes ], [ libssl_linked=no ]) -+ if test $libssl_linked = yes; then -+ if test ! -z "$ledir" ; then -+ ac_cv_libssl_dir=$ledir -+ _myos=`echo $target_os | cut -f 1 -d .` -+ AS_IF(test "$SUNCC" = "yes" -o "x$_myos" = "xsolaris2", -+ [saved_LDFLAGS="$saved_LDFLAGS -Wl,-R$ledir/lib"], -+ [AS_IF(test "$GCC" = "yes", -+ [saved_LDFLAGS="$saved_LDFLAGS -Wl,-rpath,$ledir/lib"])]) -+ else -+ ac_cv_libssl_dir="(system)" -+ fi -+ le_found=yes -+ break -+ fi -+ done -+ LIBS="$saved_LIBS" - LDFLAGS="$saved_LDFLAGS" -- LIBS="-lssl -lcrypto $saved_LIBS" -+ CPPFLAGS="$saved_CPPFLAGS" -+ if test $le_found = no ; then -+ AC_MSG_ERROR([libssl (at least version 1.1.0) is required. You can get it from $OPENSSL_URL - -- # Skip the directory if it isn't there. -- if test ! -z "$ledir" -a ! -d "$ledir" ; then -- continue; -+ If it's already installed, specify its path using --with-libssl=/dir/ -+ ]) - fi -- if test ! -z "$ledir" ; then -- if test -d "$ledir/lib" ; then -- LDFLAGS="-L$ledir/lib $LDFLAGS" -- else -- LDFLAGS="-L$ledir $LDFLAGS" -- fi -- if test -d "$ledir/include" ; then -- CPPFLAGS="-I$ledir/include $CPPFLAGS" -- else -- CPPFLAGS="-I$ledir $CPPFLAGS" -- fi -+ ]) -+ LIBS="-lssl -lcrypto $LIBS" -+ if test $ac_cv_libssl_dir != "(system)"; then -+ if test -d "$ac_cv_libssl_dir/lib" ; then -+ LDFLAGS="-L$ac_cv_libssl_dir/lib $LDFLAGS" -+ le_libdir="$ac_cv_libssl_dir/lib" -+ else -+ LDFLAGS="-L$ac_cv_libssl_dir $LDFLAGS" -+ le_libdir="$ac_cv_libssl_dir" - fi -- # Can I compile and link it? -- AC_TRY_LINK([#include -- #include -- #include -- #include ], [ SSL_CTX* ssl_ctx = SSL_CTX_new(TLS_server_method()); -- assert(OPENSSL_VERSION_NUMBER >= 0x10100000L);], -- [ libssl_linked=yes ], [ libssl_linked=no ]) -- if test $libssl_linked = yes; then -- if test ! -z "$ledir" ; then -- ac_cv_libssl_dir=$ledir -- _myos=`echo $target_os | cut -f 1 -d .` -- AS_IF(test "$SUNCC" = "yes" -o "x$_myos" = "xsolaris2", -- [saved_LDFLAGS="$saved_LDFLAGS -Wl,-R$ledir/lib"], -- [AS_IF(test "$GCC" = "yes", -- [saved_LDFLAGS="$saved_LDFLAGS -Wl,-rpath,$ledir/lib"])]) -- else -- ac_cv_libssl_dir="(system)" -- fi -- le_found=yes -- break -+ if test -d "$ac_cv_libssl_dir/include" ; then -+ CPPFLAGS="-I$ac_cv_libssl_dir/include $CPPFLAGS" -+ else -+ CPPFLAGS="-I$ac_cv_libssl_dir $CPPFLAGS" - fi -- done -- LIBS="$saved_LIBS" -- LDFLAGS="$saved_LDFLAGS" -- CPPFLAGS="$saved_CPPFLAGS" -- if test $le_found = no ; then -- AC_MSG_ERROR([libssl (at least version 1.1.0) is required. You can get it from $OPENSSL_URL -- -- If it's already installed, specify its path using --with-libssl=/dir/ -- ]) - fi - ]) -- LIBS="-lssl -lcrypto $LIBS" -- if test $ac_cv_libssl_dir != "(system)"; then -- if test -d "$ac_cv_libssl_dir/lib" ; then -- LDFLAGS="-L$ac_cv_libssl_dir/lib $LDFLAGS" -- le_libdir="$ac_cv_libssl_dir/lib" -- else -- LDFLAGS="-L$ac_cv_libssl_dir $LDFLAGS" -- le_libdir="$ac_cv_libssl_dir" -- fi -- if test -d "$ac_cv_libssl_dir/include" ; then -- CPPFLAGS="-I$ac_cv_libssl_dir/include $CPPFLAGS" -- else -- CPPFLAGS="-I$ac_cv_libssl_dir $CPPFLAGS" -- fi -- fi - fi - - if test "x$enable_static" = "xyes"; then diff --git a/package/memcached/memcached.hash b/package/memcached/memcached.hash index 3bdd1e5e339..bd2072df0b8 100644 --- a/package/memcached/memcached.hash +++ b/package/memcached/memcached.hash @@ -1,6 +1,6 @@ -# From http://www.memcached.org/files/memcached-1.6.16.tar.gz.sha1 -sha1 724f31c3462fb6b07264d72d0043fd65545fd84a memcached-1.6.16.tar.gz +# From http://www.memcached.org/files/memcached-1.6.22.tar.gz.sha1 +sha1 7a691f390d59616dbebfc9e2e4942d499c39a338 memcached-1.6.22.tar.gz # Locally computed -sha256 3051a93bf1dd0c3af2d0e589ff6ef6511f876385a35b18e9ff8741e4a1ab34da memcached-1.6.16.tar.gz +sha256 34783a90a4ccf74c4107085fd92b688749d23b276cfdad9f04e4f725a05d1ca7 memcached-1.6.22.tar.gz sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index 7b4069e820f..05ae69eb329 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.6.16 +MEMCACHED_VERSION = 1.6.22 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/package/memtest86/Config.in b/package/memtest86/Config.in index 79c0161020f..c9a8cf749f3 100644 --- a/package/memtest86/Config.in +++ b/package/memtest86/Config.in @@ -14,14 +14,33 @@ config BR2_PACKAGE_MEMTEST86 back again and verifies whether the result of the read is the same as what was written to memory. - Memtest86+ will only work on 32-bit or 64-bit x86 targets. - It boots as an i486 program and autodetects hardware. It can - be added to the grub2 boot menu by adding the following - lines to the bottom of /boot/grub/grub.cfg - note the use of - linux16. - - menuentry "Memtest86+" { - linux16 /boot/memtest86+.bin + Memtest86+ will only work on 32-bit or 64-bit x86 targets. It + boots and autodetects hardware. Refer README.md for boot + options. + + It can be loaded and run either directly by a PC BIOS (legacy + or UEFI) or via an intermediate bootloader that supports the + Linux 16-bit, 32-bit, 64-bit, or EFI handover boot protocol. + + It can be added to the grub2 boot menu by adding the following + lines to the bottom of grub.cfg + + Example for legacy BIOS using the Linux 16-bit boot protocol, + with built-in support for USB keyboards or running on a serial + line: + + menuentry "Start Memtest86+ (USB keyboards)" { + linux16 /boot/memtest.bin keyboard=both + } + menuentry "Start Memtest86+ (serial line)" { + linux16 /boot/memtest.bin console=ttyS0,115200 + } + + Or for UEFI BIOS using the Linux 32-bit or 64-bit boot + protocols, using USB keyboard: + + menuentry "Start Memtest86+ (USB keyboards)" { + linux /EFI/BOOT/memtest.efi keyboard=both } Other boot loaders will have similar requirements. diff --git a/package/memtest86/memtest86.hash b/package/memtest86/memtest86.hash index 559ae0ac6cb..695e6a234b2 100644 --- a/package/memtest86/memtest86.hash +++ b/package/memtest86/memtest86.hash @@ -1,3 +1,3 @@ # locally computed using sha256sum -sha256 142127b7953fbd829b1057fb64a78d3340c2b771484230a7347e94530a0d9039 memtest86+-5.01.tar.gz -sha256 2e15e2174b86640d7fbfcb62b51d9182062d9db71d66a46e5b01d736c68150ea README +sha256 463b2db66128e45c96be76136272e2ee940f1319804b1b88cc2ef04edccd01d8 memtest86-6.20.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/memtest86/memtest86.mk b/package/memtest86/memtest86.mk index eb071cc29d1..c0f85755fe1 100644 --- a/package/memtest86/memtest86.mk +++ b/package/memtest86/memtest86.mk @@ -4,15 +4,30 @@ # ################################################################################ -MEMTEST86_VERSION = 5.01 -MEMTEST86_SOURCE = memtest86+-$(MEMTEST86_VERSION).tar.gz -MEMTEST86_SITE = http://www.memtest.org/download/$(MEMTEST86_VERSION) +MEMTEST86_VERSION = 6.20 +MEMTEST86_SITE = $(call github,memtest86plus,memtest86plus,v$(MEMTEST86_VERSION)) MEMTEST86_LICENSE = GPL-2.0 -MEMTEST86_LICENSE_FILES = README +MEMTEST86_LICENSE_FILES = LICENSE +MEMTEST86_INSTALL_IMAGES = YES +MEMTEST86_INSTALL_TARGET = NO -# memtest86+ is sensitive to toolchain changes, use the shipped binary version -define MEMTEST86_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/precomp.bin $(TARGET_DIR)/boot/memtest86+.bin +ifeq ($(BR2_i386),y) +MEMTEST86_BUILD_DIR = build32 +else +ifeq ($(BR2_x86_64),y) +MEMTEST86_BUILD_DIR = build64 +endif +endif + +define MEMTEST86_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(MEMTEST86_BUILD_DIR) +endef + +define MEMTEST86_INSTALL_IMAGES_CMDS + $(foreach ext, bin efi, \ + $(INSTALL) -m 0755 -D $(@D)/$(MEMTEST86_BUILD_DIR)/memtest.$(ext) \ + $(BINARIES_DIR)/memtest.$(ext) + ) endef $(eval $(generic-package)) diff --git a/package/mender/Config.in b/package/mender/Config.in index cccb46361bb..7d768cebec6 100644 --- a/package/mender/Config.in +++ b/package/mender/Config.in @@ -4,8 +4,9 @@ config BR2_PACKAGE_MENDER depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 help Mender is an open source over-the-air (OTA) software updater for embedded Linux devices. Mender comprises a client diff --git a/package/mender/mender.mk b/package/mender/mender.mk index 724295f7848..ee1398244b9 100644 --- a/package/mender/mender.mk +++ b/package/mender/mender.mk @@ -7,6 +7,7 @@ MENDER_VERSION = 3.4.0 MENDER_SITE = $(call github,mendersoftware,mender,$(MENDER_VERSION)) MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8 +MENDER_CPE_ID_VENDOR = northern.tech # Vendor license paths generated with: # awk '{print $2}' LIC_FILES_CHKSUM.sha256 | grep vendor diff --git a/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch b/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch index b328fca8101..72bf72719c9 100644 --- a/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch +++ b/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch @@ -1,88 +1,112 @@ -From bb0ffae7164d296d32da24fa5499534de259169a Mon Sep 17 00:00:00 2001 -From: Spenser Gilliland -Date: Sat, 24 Feb 2018 11:36:17 +0100 +From 5b45f98255b74589015d5cb0d8ca31d7169c9f34 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Fri, 16 Sep 2022 22:30:59 +0200 Subject: [PATCH] demos: makes opengl an optional component -Signed-off-by: Spenser Gilliland -[Romain: convert to git patch, rebase on 8.4.0] +This patch is a port of [1] for the new meson build system. + +matrix-code from es2gears has been moved to util in version 9.0.0 [2] +so now es2gears is linked with mesa3d-demo libutil (idep_util). +But at the same time the dependency on glu (dep_glu) has been added +to libutil [3]. dep_glu requires opengl (FULL_GL) to build. + +In order to keep the es2gears for egl only builds we have to +split the libutil files list to build readtex.c and showbuffer.c +only if opengl is available. + +Add back dep_glu since it's used in util's meson. + +Fixes: +https://gitlab.com/buildroot.org/buildroot/-/jobs/4936948236 +https://gitlab.com/buildroot.org/buildroot/-/jobs/4936948042 + +[1]. +https://git.busybox.net/buildroot/tree/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch?h=2022.08 +[2] https://gitlab.freedesktop.org/mesa/demos/-/commit/c33e2f731c2eab86bbad7b6a028f8a90ea40a00c +[3] https://gitlab.freedesktop.org/mesa/demos/-/commit/ef24aae22978d4d357340074ca9a1c04d9cf81e6 + +Signed-off-by: Julien Olivain +[Bernd: rebased for version 9.0.0] +Signed-off-by: Bernd Kuhls +[Romain: fix egl only builds in util] Signed-off-by: Romain Naour --- - configure.ac | 12 +++++++++++- - src/egl/opengl/Makefile.am | 2 ++ - src/util/Makefile.am | 2 ++ - 3 files changed, 15 insertions(+), 1 deletion(-) + meson.build | 5 ++++- + meson_options.txt | 1 + + src/egl/meson.build | 5 ++++- + src/util/meson.build | 12 +++++++++--- + 4 files changed, 18 insertions(+), 5 deletions(-) -diff --git a/configure.ac b/configure.ac -index 0b5e9a76..24298c44 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -51,6 +51,14 @@ m4_ifndef([PKG_PROG_PKG_CONFIG], - ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])]) - PKG_PROG_PKG_CONFIG() +diff --git a/meson.build b/meson.build +index 3e39b5a2..f27e1a18 100644 +--- a/meson.build ++++ b/meson.build +@@ -39,7 +39,10 @@ add_project_arguments( + dep_m = cc.find_library('m', required : false) + dep_winmm = cc.find_library('winmm', required : false) -+AC_ARG_ENABLE([gl], -+ [AS_HELP_STRING([--enable-gl], -+ [enable GL library @<:@default=no@:>@])], -+ [gl_enabled="$enableval"], -+ [gl_enabled=auto]) -+ -+if test "x$gl_enabled" != "xno"; then -+ - dnl Get the pkg-config definitions for libGL. We include a fallback - dnl path for GL implementation that don't provide a .pc file - PKG_CHECK_MODULES(GL, [gl], [], [ -@@ -112,6 +120,8 @@ PKG_CHECK_MODULES(GLU, [glu], [], - DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" - DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" - -+fi -+ - AC_ARG_ENABLE([egl], - [AS_HELP_STRING([--enable-egl], - [enable EGL library @<:@default=auto@:>@])], -@@ -302,7 +312,7 @@ AC_SUBST([MESA_GLAPI]) - AC_SUBST([WAYLAND_CFLAGS]) - AC_SUBST([WAYLAND_LIBS]) +-dep_gl = dependency('gl') ++dep_gl = dependency('gl', required : get_option('gl')) ++if not dep_gl.found() ++ add_project_arguments('-DEGL_NO_X11=1', language: 'c') ++endif -- -+AM_CONDITIONAL(HAVE_GL, test "x$gl_enabled" = "xyes") - AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes") - AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") - AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") -diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am -index 6d184ff6..219ab850 100644 ---- a/src/egl/opengl/Makefile.am -+++ b/src/egl/opengl/Makefile.am -@@ -56,6 +56,7 @@ endif - endif + dep_epoll = dependency('epoll-shim', required : false) + dep_gles1 = dependency('glesv1_cm', required : get_option('gles1')) +diff --git a/meson_options.txt b/meson_options.txt +index 832b916a..c954a710 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,5 +1,6 @@ + option('with-glut', type : 'string') + option('egl', type : 'feature') ++option('gl', type : 'feature') + option('gles1', type : 'feature') + option('gles2', type : 'feature') + option('glut', type : 'feature') +diff --git a/src/egl/meson.build b/src/egl/meson.build +index d1846921..42bf8ecd 100644 +--- a/src/egl/meson.build ++++ b/src/egl/meson.build +@@ -19,7 +19,10 @@ + # SOFTWARE. - if HAVE_EGL -+if HAVE_GL - bin_PROGRAMS = \ - eglinfo - noinst_PROGRAMS = \ -@@ -64,6 +65,7 @@ noinst_PROGRAMS = \ - $(EGL_X11_DEMOS) \ - $(EGL_WL_DEMOS) - endif + subdir('eglut') +-subdir('opengl') ++ ++if dep_gl.found() ++ subdir('opengl') +endif - egltri_x11_SOURCES = egltri.c - eglgears_x11_SOURCES = eglgears.c -diff --git a/src/util/Makefile.am b/src/util/Makefile.am -index 759a293a..012b9c75 100644 ---- a/src/util/Makefile.am -+++ b/src/util/Makefile.am -@@ -27,7 +27,9 @@ AM_CFLAGS = \ - AM_LDFLAGS = \ - $(DEMO_LIBS) + if dep_gles1.found() + subdir('opengles1') +diff --git a/src/util/meson.build b/src/util/meson.build +index b4fe614f..4420f28a 100644 +--- a/src/util/meson.build ++++ b/src/util/meson.build +@@ -22,13 +22,19 @@ inc_util = include_directories('.') -+if HAVE_GL - noinst_LTLIBRARIES = libutil.la -+endif + files_libutil = files( + 'glinfo_common.c', +- 'readtex.c', +- 'showbuffer.c', + 'trackball.c', + 'matrix.c', + ) - if HAVE_GLUT - AM_CFLAGS += \ +-_deps = [dep_glu, dep_m] ++_deps = [dep_m] ++if dep_gl.found() ++ files_libutil += files( ++ 'readtex.c', ++ 'showbuffer.c', ++ ) ++ _deps += dep_glu ++endif ++ + if dep_glut.found() + files_libutil += files('shaderutil.c') + _deps += dep_glut -- -2.14.3 +2.41.0 diff --git a/package/mesa3d-demos/0002-meson-fix-glx-detection-without-glvnd.patch b/package/mesa3d-demos/0002-meson-fix-glx-detection-without-glvnd.patch new file mode 100644 index 00000000000..37a60efdd72 --- /dev/null +++ b/package/mesa3d-demos/0002-meson-fix-glx-detection-without-glvnd.patch @@ -0,0 +1,47 @@ +From e16117fc92688d76a042ad2c590c77d5a987a4ac Mon Sep 17 00:00:00 2001 +From: Erik Faye-Lund +Date: Fri, 24 Mar 2023 13:31:58 +0100 +Subject: [PATCH] meson: fix glx-detection without glvnd + +When build without GLVND, Mesa provides GLX as a part of libGL, just +like XQuartz does on MacOS. There's nothing really macOS specific about +this fallback, so let's drop the condition. + +And just for good measure, let's add in dep_gl as a dependency for +the header-check here, in case some one decides to install libGL outside +of the default include directory. + +Fixes: 34300551 ("meson: explicitly check for glx dependency") +Closes: https://gitlab.freedesktop.org/mesa/demos/-/issues/36 +Reviewed-by: Hoe Hao Cheng + +Upstream: https://gitlab.freedesktop.org/mesa/demos/-/commit/e16117fc92688d76a042ad2c590c77d5a987a4ac + +Signed-off-by: Bernd Kuhls +--- + meson.build | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index c1853f94..bc3278e1 100644 +--- a/meson.build ++++ b/meson.build +@@ -99,10 +99,11 @@ if not dep_glu.found() and host_machine.system() != 'darwin' + endif + + dep_glx = dependency('glx', required: false, disabler : true) +-if not dep_glx.found() and host_machine.system() == 'darwin' +- # xquartz doesn't have a glx.pc, but it does have the header. And all the +- # symbols reside in libGL, so let's just use that. +- if cc.check_header('GL/glx.h', dependencies: dep_x11) ++if not dep_glx.found() ++ # Both Mesa build without GLVND and XQuartz lacks a glx.pc, but does ++ # provide the header. And all the symbols reside in libGL, so let's ++ # just use that. ++ if cc.check_header('GL/glx.h', dependencies: [dep_x11, dep_gl]) + dep_glx = dep_gl + endif + endif +-- +GitLab + diff --git a/package/mesa3d-demos/Config.in b/package/mesa3d-demos/Config.in index b716cf57991..1761494c3a1 100644 --- a/package/mesa3d-demos/Config.in +++ b/package/mesa3d-demos/Config.in @@ -1,12 +1,19 @@ config BR2_PACKAGE_MESA3D_DEMOS bool "mesa3d-demos" + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES \ || BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBOPENVG select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 && BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND help OpenGL demos from the Mesa 3D project. http://mesa3d.org + +comment "mesa3d-demos needs a toolchain with C++" + depends on !BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES \ + || BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBOPENVG diff --git a/package/mesa3d-demos/mesa3d-demos.hash b/package/mesa3d-demos/mesa3d-demos.hash index 8a4955f1209..cdf9adb3fda 100644 --- a/package/mesa3d-demos/mesa3d-demos.hash +++ b/package/mesa3d-demos/mesa3d-demos.hash @@ -1,5 +1,3 @@ -# From https://lists.freedesktop.org/archives/mesa-dev/2018-February/186542.html -md5 6b65a02622765522176d00f553086fa3 mesa-demos-8.4.0.tar.bz2 -sha1 57ba892e919fa22ce3db9f25e7331a6fa33c652c mesa-demos-8.4.0.tar.bz2 -sha256 01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d mesa-demos-8.4.0.tar.bz2 -sha512 b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2 +# From https://lists.freedesktop.org/archives/mesa-announce/2023-March/000711.html +sha256 3046a3d26a7b051af7ebdd257a5f23bfeb160cad6ed952329cdff1e9f1ed496b mesa-demos-9.0.0.tar.xz +sha512 af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1 mesa-demos-9.0.0.tar.xz diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk index 6b5262a2e95..8acba9270af 100644 --- a/package/mesa3d-demos/mesa3d-demos.mk +++ b/package/mesa3d-demos/mesa3d-demos.mk @@ -4,77 +4,69 @@ # ################################################################################ -MESA3D_DEMOS_VERSION = 8.4.0 -MESA3D_DEMOS_SOURCE = mesa-demos-$(MESA3D_DEMOS_VERSION).tar.bz2 -MESA3D_DEMOS_SITE = ftp://ftp.freedesktop.org/pub/mesa/demos -# 0001-demos-makes-opengl-an-optional-component.patch -MESA3D_DEMOS_AUTORECONF = YES +MESA3D_DEMOS_VERSION = 9.0.0 +MESA3D_DEMOS_SOURCE = mesa-demos-$(MESA3D_DEMOS_VERSION).tar.xz +MESA3D_DEMOS_SITE = https://archive.mesa3d.org/demos MESA3D_DEMOS_DEPENDENCIES = host-pkgconf MESA3D_DEMOS_LICENSE = MIT MESA3D_DEMOS_CONF_OPTS += \ - --disable-gles1 + -Dgles1=disabled ifeq ($(BR2_PACKAGE_XORG7)$(BR2_PACKAGE_HAS_LIBGL),yy) MESA3D_DEMOS_DEPENDENCIES += libgl libglew libglu xlib_libX11 xlib_libXext -MESA3D_DEMOS_CONF_OPTS += --enable-gl --enable-x11 +MESA3D_DEMOS_CONF_OPTS += -Dgl=enabled -Dx11=enabled else -MESA3D_DEMOS_CONF_OPTS += --disable-gl --disable-x11 +MESA3D_DEMOS_CONF_OPTS += -Dgl=disabled -Dx11=disabled endif ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) MESA3D_DEMOS_DEPENDENCIES += libegl -MESA3D_DEMOS_CONF_OPTS += --enable-egl +MESA3D_DEMOS_CONF_OPTS += -Degl=enabled else -MESA3D_DEMOS_CONF_OPTS += --disable-egl +MESA3D_DEMOS_CONF_OPTS += -Degl=disabled endif ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) MESA3D_DEMOS_DEPENDENCIES += libgles -MESA3D_DEMOS_CONF_OPTS += --enable-gles2 +MESA3D_DEMOS_CONF_OPTS += -Dgles2=enabled else -MESA3D_DEMOS_CONF_OPTS += --disable-gles2 +MESA3D_DEMOS_CONF_OPTS += -Dgles2=disabled endif -ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y) -MESA3D_DEMOS_DEPENDENCIES += libopenvg -MESA3D_DEMOS_CONF_OPTS += --enable-vg +ifeq ($(BR2_PACKAGE_LIBDRM),y) +MESA3D_DEMOS_DEPENDENCIES += libdrm +MESA3D_DEMOS_CONF_OPTS += -Dlibdrm=enabled else -MESA3D_DEMOS_CONF_OPTS += --disable-vg +MESA3D_DEMOS_CONF_OPTS += -Dlibdrm=disabled endif ifeq ($(BR2_PACKAGE_MESA3D_GBM),y) +# Meson search for gbm, but has no option to enable/disable it. See: +# https://gitlab.freedesktop.org/mesa/demos/-/blob/mesa-demos-8.5.0/meson.build#L88 +# We still add the dependency, if needed, to make sure it will always +# be detected. MESA3D_DEMOS_DEPENDENCIES += mesa3d -MESA3D_DEMOS_CONF_OPTS += --enable-gbm -else -MESA3D_DEMOS_CONF_OPTS += --disable-gbm -endif - -ifeq ($(BR2_PACKAGE_FREETYPE),y) -MESA3D_DEMOS_DEPENDENCIES += freetype -MESA3D_DEMOS_CONF_OPTS += --enable-freetype2 -else -MESA3D_DEMOS_CONF_OPTS += --disable-freetype2 endif ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y) MESA3D_DEMOS_DEPENDENCIES += libfreeglut -MESA3D_DEMOS_CONF_OPTS += --with-glut=$(STAGING_DIR)/usr +MESA3D_DEMOS_CONF_OPTS += -Dwith-glut=$(STAGING_DIR)/usr # osmesa support depends on glut ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y) -MESA3D_DEMOS_CONF_OPTS += --enable-osmesa +MESA3D_DEMOS_CONF_OPTS += -Dosmesa=enabled else -MESA3D_DEMOS_CONF_OPTS += --disable-osmesa +MESA3D_DEMOS_CONF_OPTS += -Dosmesa=disabled endif else -MESA3D_DEMOS_CONF_OPTS += --without-glut --disable-osmesa +MESA3D_DEMOS_CONF_OPTS += -Dosmesa=disabled endif -ifeq ($(BR2_PACKAGE_WAYLAND),y) -MESA3D_DEMOS_DEPENDENCIES += wayland -MESA3D_DEMOS_CONF_OPTS += --enable-wayland +ifeq ($(BR2_PACKAGE_LIBDECOR)$(BR2_PACKAGE_WAYLAND),yy) +MESA3D_DEMOS_DEPENDENCIES += libdecor libxkbcommon wayland +MESA3D_DEMOS_CONF_OPTS += -Dwayland=enabled else -MESA3D_DEMOS_CONF_OPTS += --disable-wayland +MESA3D_DEMOS_CONF_OPTS += -Dwayland=disabled endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index d33d492ba78..e35774a9429 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -6,13 +6,13 @@ # mesa3d-headers is inherently incompatible with mesa3d, so error out # if both are enabled. -ifeq ($(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yy) +ifeq ($(BR_BUILDING)$(BR2_PACKAGE_MESA3D)$(BR2_PACKAGE_MESA3D_HEADERS),yyy) $(error mesa3d-headers enabled, but mesa3d enabled too) endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 22.3.0 +MESA3D_HEADERS_VERSION = 24.0.7 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://archive.mesa3d.org MESA3D_HEADERS_DL_SUBDIR = mesa3d diff --git a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch index bb5ef00a9fc..f3919478a62 100644 --- a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch +++ b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch @@ -1,4 +1,4 @@ -From e3b47c1b84964c62b3e1fa782f1ffa4be0ae62f9 Mon Sep 17 00:00:00 2001 +From f719e942dde0a46a9ff0080001cb3466012ffcc0 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Mon, 9 Mar 2020 13:01:14 +0100 Subject: [PATCH] vc4: add meson option to disable optional neon support @@ -7,10 +7,12 @@ Not all toolchains are able to compile the runtime optional vc4 neon support, so add an meson option to force disabling it at compile time. -[Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114] +Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114 Signed-off-by: Peter Seiderer Signed-off-by: Bernd Kuhls -[rebased for 20.2.0, 20.3.0 & 21.1.0] +[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0 & 23.2.0] +Signed-off-by: Peter Seiderer +[fix syntax error after previous rebases] --- meson_options.txt | 7 +++++++ src/gallium/drivers/vc4/meson.build | 4 ++-- @@ -18,25 +20,25 @@ Signed-off-by: Bernd Kuhls 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/meson_options.txt b/meson_options.txt -index a39596a6f19..0f6b6c62b55 100644 +index 8e0bf2a..1cf0e07 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -123,6 +123,13 @@ option( - choices : ['auto', 'true', 'false', 'enabled', 'disabled'], +@@ -124,6 +124,13 @@ option( description : 'enable gallium va frontend.', ) + +option( + 'gallium-vc4-neon', -+ type : 'combo', -+ value : 'auto', -+ choices : ['auto', 'disabled'], ++ type : 'feature', ++ deprecated: {'true': 'enabled', 'false': 'disabled'}, + description : 'enable gallium vc4 optional neon support.', +) ++ option( 'va-libs-path', type : 'string', diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson.build -index 5ce5af5f6b4..e3f7d8d62ae 100644 +index 84da951..7f950de 100644 --- a/src/gallium/drivers/vc4/meson.build +++ b/src/gallium/drivers/vc4/meson.build @@ -84,7 +84,7 @@ files_libvc4 = files( @@ -44,7 +46,7 @@ index 5ce5af5f6b4..e3f7d8d62ae 100644 libvc4_neon = [] -if host_machine.cpu_family() == 'arm' -+if host_machine.cpu_family() == 'arm' and get_option('gallium-vc4-neon') != 'disabled' ++if host_machine.cpu_family() == 'arm' and not get_option('gallium-vc4-neon').disabled() libvc4_neon = static_library( 'vc4_neon', 'vc4_tiling_lt_neon.c', @@ -58,7 +60,7 @@ index 5ce5af5f6b4..e3f7d8d62ae 100644 if dep_simpenrose.found() diff --git a/src/gallium/drivers/vc4/vc4_tiling.h b/src/gallium/drivers/vc4/vc4_tiling.h -index 66767e7f1f8..7446f1c3d0c 100644 +index 5afe329..919b299 100644 --- a/src/gallium/drivers/vc4/vc4_tiling.h +++ b/src/gallium/drivers/vc4/vc4_tiling.h @@ -89,7 +89,7 @@ vc4_load_lt_image(void *dst, uint32_t dst_stride, @@ -80,5 +82,5 @@ index 66767e7f1f8..7446f1c3d0c 100644 vc4_store_lt_image_neon(dst, dst_stride, src, src_stride, cpp, box); -- -2.25.1 +2.41.0 diff --git a/package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch b/package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch index 538aa74e0c1..e30cb97a72b 100644 --- a/package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch +++ b/package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch @@ -15,8 +15,7 @@ output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35 seen with gcc version 8.3.0 (Buildroot 2020.02) and uClibc. -Patch sent upstream: -https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6248 +Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6248 Signed-off-by: Bernd Kuhls --- diff --git a/package/mesa3d/0004-Fix-uClibc-build.patch b/package/mesa3d/0004-Fix-uClibc-build.patch index 95ca95fd672..faa86b0d1b0 100644 --- a/package/mesa3d/0004-Fix-uClibc-build.patch +++ b/package/mesa3d/0004-Fix-uClibc-build.patch @@ -23,10 +23,11 @@ Fixes build errors with uClibc and gcc-9.3.0: 74 | static_assert(cond, #cond); \ | ^~~~~~~~~~~~~ -Patch sent upstream: -https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13898 +Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13898 Signed-off-by: Bernd Kuhls +[rebased for 23.2.0] +Signed-off-by: Bernd Kuhls --- src/util/compiler.h | 10 ++++++++++ src/util/macros.h | 1 + @@ -36,10 +37,11 @@ diff --git a/src/util/compiler.h b/src/util/compiler.h index d184ad455af..b5c56807acc 100644 --- a/src/util/compiler.h +++ b/src/util/compiler.h -@@ -36,6 +36,16 @@ +@@ -35,6 +35,17 @@ - #include + #include ++ +/* + * C11 static_assert() macro + * assert.h only defines that name for C11 and above @@ -50,21 +52,21 @@ index d184ad455af..b5c56807acc 100644 +#endif +#endif + - #include "util/macros.h" - - + #include + #include + #include diff --git a/src/util/macros.h b/src/util/macros.h index 22b18303826..8f73ee72693 100644 --- a/src/util/macros.h +++ b/src/util/macros.h -@@ -27,6 +27,7 @@ +@@ -31,6 +31,7 @@ #include #include #include +#include "util/compiler.h" - /* Compute the size of an array */ - #ifndef ARRAY_SIZE + #ifdef _GAMING_XBOX + #define strdup _strdup -- 2.34.1 diff --git a/package/mesa3d/0006-drisw-fix-build-without-dri3.patch b/package/mesa3d/0006-drisw-fix-build-without-dri3.patch new file mode 100644 index 00000000000..ab27d384cf8 --- /dev/null +++ b/package/mesa3d/0006-drisw-fix-build-without-dri3.patch @@ -0,0 +1,58 @@ +From 3ab46dcfda9edf5c9bc27c8f5031146d9d9d8ade Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Thu, 18 Jan 2024 22:50:16 +0100 +Subject: [PATCH] drisw: fix build without dri3 + +commit 1887368df41 ("glx/sw: check for modifier support in the kopper path") +added dri3_priv.h header and dri3_check_multibuffer() function in drisw that +can be build without dri3. + + i686-buildroot-linux-gnu/bin/ld: src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver': + drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to `dri3_check_multibuffer' + collect2: error: ld returned 1 exit status + +Add HAVE_DRI3 guard around dri3_priv.h header and the zink code using +dri3_check_multibuffer(). + +Fixes: 1887368df41 ("glx/sw: check for modifier support in the kopper path") + +Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478 + +Signed-off-by: Romain Naour +--- + src/glx/drisw_glx.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c +index 3d3f75259bc..4b19e2d7707 100644 +--- a/src/glx/drisw_glx.c ++++ b/src/glx/drisw_glx.c +@@ -32,7 +32,9 @@ + #include + #include "dri_common.h" + #include "drisw_priv.h" ++#ifdef HAVE_DRI3 + #include "dri3_priv.h" ++#endif + #include + #include + #include +@@ -995,6 +997,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, + goto handle_error; + } + ++#ifdef HAVE_DRI3 + if (pdpyp->zink) { + bool err; + psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err); +@@ -1005,6 +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, + goto handle_error; + } + } ++#endif + + glx_config_destroy_list(psc->base.configs); + psc->base.configs = configs; +-- +2.43.0 + diff --git a/package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch b/package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch new file mode 100644 index 00000000000..f9e4d50fd79 --- /dev/null +++ b/package/mesa3d/0007-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch @@ -0,0 +1,42 @@ +From 83b4ff6616708bd7ba5981d22cd5211ca6787d58 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 24 Jan 2024 14:28:32 +0100 +Subject: [PATCH] glxext: don't try zink if not enabled in mesa + +Commit 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") +added an automatic zink fallback even when the zink gallium is not +enabled at build time. + +It leads to unexpected error log while loading drisw driver and +zink is not installed on the rootfs: + + MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so + +Fixes: 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw drivers") + +Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478 + +Signed-off-by: Romain Naour +--- + src/glx/glxext.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/glx/glxext.c b/src/glx/glxext.c +index 39d5f08bdcf..e106eb40046 100644 +--- a/src/glx/glxext.c ++++ b/src/glx/glxext.c +@@ -904,9 +904,11 @@ __glXInitialize(Display * dpy) + #endif /* HAVE_DRI3 */ + if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) + dpyPriv->dri2Display = dri2CreateDisplay(dpy); ++#if defined(HAVE_ZINK) + if (!dpyPriv->dri3Display && !dpyPriv->dri2Display) + try_zink = !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && + !getenv("GALLIUM_DRIVER"); ++#endif /* HAVE_ZINK */ + } + #endif /* GLX_USE_DRM */ + if (glx_direct) +-- +2.43.0 + diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index cae2161aa34..459051b2dba 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -4,7 +4,7 @@ menuconfig BR2_PACKAGE_MESA3D depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_SYNC_1 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on !BR2_m68k || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # m68k needs gcc >= 7.x + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND @@ -24,21 +24,21 @@ config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS config BR2_PACKAGE_MESA3D_LLVM bool "llvm support" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR # std::wstring - depends on BR2_HOST_GCC_AT_LEAST_5 # host-llvm + depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm select BR2_PACKAGE_LLVM -comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5" +comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || !BR2_HOST_GCC_AT_LEAST_5 + || !BR2_HOST_GCC_AT_LEAST_7 comment "llvm support needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS @@ -56,11 +56,7 @@ config BR2_PACKAGE_MESA3D_OPENCL select BR2_PACKAGE_LIBCLC select BR2_PACKAGE_HAS_LIBOPENCL -# inform the .mk file of gallium, dri, dri3 or vulkan driver selection -config BR2_PACKAGE_MESA3D_DRI3 - bool - select BR2_PACKAGE_XLIB_LIBXSHMFENCE - +# inform the .mk file of gallium or vulkan driver selection config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER @@ -71,6 +67,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER config BR2_PACKAGE_MESA3D_DRIVER bool + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XORG7 # Gallium xa state tracker. # Quote from mesa3d meson.build: "XA state tracker requires at least @@ -103,7 +100,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV bool "Gallium Etnaviv driver" depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_ETNAVIV help @@ -117,7 +113,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO # can't see is just spurious. However, that dependency is about # the toolchain having sync4 primitives, which is always a given # for arm/aarch64. - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_FREEDRENO help @@ -141,7 +136,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA bool "Gallium lima driver" depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER help Mesa driver for ARM Mali Utgard GPUs. @@ -158,7 +152,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST bool "Gallium panfrost driver" depends on (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32) || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER help Mesa driver for ARM Mali Midgard and Bifrost GPUs. @@ -201,7 +194,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI depends on BR2_USE_MMU # libdrm depends on BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_MESA3D_LLVM - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_AMDGPU select BR2_PACKAGE_LIBDRM_RADEON @@ -211,13 +203,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI help Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs. -# Radeon SI needs libelf -# musl is not currently compatible with elfutils -comment "Radeon SI driver needs a uClibc or glibc toolchain" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_MESA3D_LLVM - depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) - config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA bool "Gallium vmware svga driver" depends on BR2_i386 || BR2_x86_64 @@ -247,7 +232,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D bool "Gallium v3d driver" depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 # runtime select BR2_PACKAGE_MESA3D_OPENGL_EGL @@ -263,7 +247,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4 bool "Gallium vc4 driver" depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_VC4 select BR2_PACKAGE_MESA3D_OPENGL_EGL @@ -283,7 +266,6 @@ config BR2_PACKAGE_MESA3D_VDPAU bool "Gallium VDPAU state tracker" depends on BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \ - || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 \ || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 \ || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI select BR2_PACKAGE_MESA3D_NEEDS_X11 @@ -292,22 +274,28 @@ config BR2_PACKAGE_MESA3D_VDPAU VDPAU state tracker (needs r300, r600, radeonsi or nouveau gallium drivers). -comment "Gallium VDPAU state tracker needs X.org and gallium drivers r300, r600, radeonsi or nouveau" +comment "Gallium VDPAU state tracker needs X.org and gallium drivers r600, radeonsi or nouveau" depends on !BR2_PACKAGE_XORG7 || \ !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \ - || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 \ || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 \ || BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) comment "Vulkan drivers" +config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM + bool "Vulkan broadcom driver" + depends on BR2_arm || BR2_aarch64 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # dri3/libxshmfence + select BR2_PACKAGE_MESA3D_VULKAN_DRIVER + help + Vulkan broadcom driver. + config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL bool "Vulkan Intel driver" depends on BR2_i386 || BR2_x86_64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert - select BR2_PACKAGE_MESA3D_DRI3 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_MESA3D_VULKAN_DRIVER help Vulkan driver for Intel hardware from Ivy Bridge onward. @@ -318,6 +306,14 @@ comment "intel vulkan needs a glibc toolchain w/ headers >= 3.17" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \ !BR2_TOOLCHAIN_USES_GLIBC +config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST + bool "Vulkan swrast driver" + depends on BR2_PACKAGE_MESA3D_LLVM + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST + select BR2_PACKAGE_MESA3D_VULKAN_DRIVER + help + Vulkan swrast driver. + comment "Off-screen Rendering" config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM @@ -393,11 +389,7 @@ config BR2_PACKAGE_PROVIDES_LIBOPENCL endif # BR2_PACKAGE_MESA3D -comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library" +comment "mesa3d needs a toolchain w/ gcc >=8, C++, NPTL, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - BR2_STATIC_LIBS + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_TOOLCHAIN_HAS_SYNC_1 - -comment "mesa3d needs a toolchain w/ gcc >= 7" - depends on BR2_m68k - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 77223676ea8..f2c25464f42 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2022-November/000695.html -sha256 644bf936584548c2b88762111ad58b4aa3e4688874200e5a4eb74e53ce301746 mesa-22.3.0.tar.xz -sha512 bf4d344459f97d266a5943b33aecf062b0825e13c1617afdab71c4ba6a87a201440761c9a32a6e0060910a0917122e3f4d29f666d6b94a38a71c94b9ff3ab9da mesa-22.3.0.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2024-May/000758.html +sha256 7454425f1ed4a6f1b5b107e1672b30c88b22ea0efea000ae2c7d96db93f6c26a mesa-24.0.7.tar.xz +sha512 77b0fae80ab0a07e2e528c113eadef0e3004b8df3e6e98fffe6fc2d8ac39f5ce7fa38ebe5c2ae32bfbac993dd7cbe288ace18ebb03cf2fb445fe7114f74dd45c mesa-24.0.7.tar.xz # License sha256 a00275a53178e2645fb65be99a785c110513446a5071ff2c698ed260ad917d75 docs/license.rst diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index c3bd44c2fab..6bccdaed047 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 22.3.0 +MESA3D_VERSION = 24.0.7 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = https://archive.mesa3d.org MESA3D_LICENSE = MIT, SGI, Khronos @@ -29,17 +29,9 @@ MESA3D_CONF_OPTS = \ -Dgallium-omx=disabled \ -Dpower8=disabled -# Codesourcery ARM 2014.05 fail to link libmesa_dri_drivers.so with --as-needed linker -# flag due to a linker bug between binutils 2.24 and 2.25 (2.24.51.20140217). -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y) -MESA3D_CONF_OPTS += -Db_asneeded=false -endif - -ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y) +ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy) MESA3D_CONF_OPTS += -Ddri3=enabled -ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) MESA3D_DEPENDENCIES += xlib_libxshmfence -endif else MESA3D_CONF_OPTS += -Ddri3=disabled endif @@ -119,7 +111,9 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D) += v3d MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4) += vc4 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL) += virgl # Vulkan Drivers +MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM) += broadcom MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel +MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST) += swrast ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),) MESA3D_CONF_OPTS += \ @@ -136,6 +130,7 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),) MESA3D_CONF_OPTS += \ -Dvulkan-drivers= else +MESA3D_DEPENDENCIES += host-python-glslang MESA3D_CONF_OPTS += \ -Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y)) endif diff --git a/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch b/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch index 8e15d3210cf..8b95dc7592a 100644 --- a/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch +++ b/package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch @@ -1,4 +1,4 @@ -From 3d6a2db2270346236dd6247e0648ea0c949ba468 Mon Sep 17 00:00:00 2001 +From 59934e2116e025ecfe23baf6febc4a0eb85f60cd Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 15 Feb 2020 15:13:59 +0100 Subject: [PATCH] mesonbuild/dependencies/base.py: add pkg_config_static @@ -20,24 +20,26 @@ Signed-off-by: Fabrice Fontaine Signed-off-by: Romain Naour [Rebased on 0.57.1] Signed-off-by: Peter Seiderer +[rebased on 1.3.0] +Signed-off-by: Antoine Coutant --- - mesonbuild/dependencies/pkgconfig.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + mesonbuild/dependencies/pkgconfig.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesonbuild/dependencies/pkgconfig.py b/mesonbuild/dependencies/pkgconfig.py -index 1e8d9132e..d902ba215 100644 +index e86206b88..94888657d 100644 --- a/mesonbuild/dependencies/pkgconfig.py +++ b/mesonbuild/dependencies/pkgconfig.py -@@ -338,7 +338,8 @@ class PkgConfigDependency(ExternalDependency): - env = None - libcmd = ['--libs'] - -- if self.static: -+ if self.static or \ +@@ -169,7 +169,8 @@ class PkgConfigCLI(PkgConfigInterface): + env['PKG_CONFIG_ALLOW_SYSTEM_LIBS'] = '1' + args: T.List[str] = [] + args += self._define_variable_args(define_variable) +- if static: ++ if static or \ + (self.env.properties[self.for_machine].get('pkg_config_static', None) == 'true'): - libcmd.append('--static') - - libcmd.append(self.name) --- + args.append('--static') + args += ['--libs', name] + ret, out, err = self._call_pkgbin(args, env=env) +-- 2.25.1 diff --git a/package/meson/meson.hash b/package/meson/meson.hash index 1544bb3897a..150fd6d1bb3 100644 --- a/package/meson/meson.hash +++ b/package/meson/meson.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://github.com/mesonbuild/meson/releases/download/0.64.1/meson-0.64.1.tar.gz.asc -sha256 3a8e030c2334f782085f81627062cc6d4a6771edf31e055ffe374f9e6b089ab9 meson-0.64.1.tar.gz +# https://github.com/mesonbuild/meson/releases/download/1.3.1/meson-1.3.1.tar.gz.asc +sha256 6020568bdede1643d4fb41e28215be38eff5d52da28ac7d125457c59e0032ad7 meson-1.3.1.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/meson/meson.mk b/package/meson/meson.mk index 5aae95973a0..467569d28b0 100644 --- a/package/meson/meson.mk +++ b/package/meson/meson.mk @@ -4,7 +4,7 @@ # ################################################################################ -MESON_VERSION = 0.64.1 +MESON_VERSION = 1.3.1 MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_LICENSE = Apache-2.0 MESON_LICENSE_FILES = COPYING diff --git a/package/metacity/metacity.hash b/package/metacity/metacity.hash index 583db0f204f..2aca099038f 100644 --- a/package/metacity/metacity.hash +++ b/package/metacity/metacity.hash @@ -1,4 +1,4 @@ -# From http://ftp.gnome.org/pub/gnome/sources/metacity/2.25/metacity-2.25.1.sha256sum +# From https://download.gnome.org/sources/metacity/2.25/metacity-2.25.1.sha256sum sha256 fb2ede4ac02d7da08d3c3323fb76afaf945c8cccc07cb2d3a4b7f44fb49f1c47 metacity-2.25.1.tar.bz2 # Locally computed diff --git a/package/metacity/metacity.mk b/package/metacity/metacity.mk index f5a6d4afd9b..57566583000 100644 --- a/package/metacity/metacity.mk +++ b/package/metacity/metacity.mk @@ -8,7 +8,7 @@ METACITY_VERSION_MAJOR = 2.25 METACITY_VERSION = $(METACITY_VERSION_MAJOR).1 METACITY_SOURCE = metacity-$(METACITY_VERSION).tar.bz2 -METACITY_SITE = http://ftp.gnome.org/pub/gnome/sources/metacity/$(METACITY_VERSION_MAJOR) +METACITY_SITE = https://download.gnome.org/sources/metacity/$(METACITY_VERSION_MAJOR) METACITY_LICENSE = GPL-2.0+ METACITY_LICENSE_FILES = COPYING diff --git a/package/mfgtools/Config.in.host b/package/mfgtools/Config.in.host index 2b506c8f678..f1e7ab58e39 100644 --- a/package/mfgtools/Config.in.host +++ b/package/mfgtools/Config.in.host @@ -8,7 +8,7 @@ config BR2_PACKAGE_HOST_MFGTOOLS production. The communication is done over USB using the Freescale UTP protocol. - https://github.com/codeauroraforum/mfgtools + https://github.com/NXPmicro/mfgtools comment "host mfgtools needs a toolchain w/ host gcc >= 4.9" depends on BR2_arm diff --git a/package/mfgtools/mfgtools.mk b/package/mfgtools/mfgtools.mk index 48ce5dda281..3de93936b80 100644 --- a/package/mfgtools/mfgtools.mk +++ b/package/mfgtools/mfgtools.mk @@ -5,7 +5,7 @@ ################################################################################ MFGTOOLS_VERSION = 0.02 -MFGTOOLS_SITE = $(call github,codeauroraforum,mfgtools,v$(MFGTOOLS_VERSION)) +MFGTOOLS_SITE = $(call github,NXPmicro,mfgtools,v$(MFGTOOLS_VERSION)) MFGTOOLS_SUBDIR = MfgToolLib MFGTOOLS_LICENSE = BSD-3-Clause or CPOL MFGTOOLS_LICENSE_FILES = LICENSE README.txt diff --git a/package/mg/mg.hash b/package/mg/mg.hash index 19cf1e29d58..6a3e3465b8e 100644 --- a/package/mg/mg.hash +++ b/package/mg/mg.hash @@ -1,4 +1,4 @@ -# From https://github.com/troglobit/mg/releases/tag/v3.5 -sha256 a906eab9370c0f24a5fa25923561ad933b74ad339d0b2851d2067badf0d7e4ce mg-3.5.tar.gz +# From https://github.com/troglobit/mg/releases/tag/v3.7 +sha256 05101360d2194392da0950e8b6f18d067d8af0fd2f572461ba4d4e7b4ccbb4c1 mg-3.7.tar.gz # Locally computed: sha256 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c UNLICENSE diff --git a/package/mg/mg.mk b/package/mg/mg.mk index bb3f59a14da..59f1d1e316a 100644 --- a/package/mg/mg.mk +++ b/package/mg/mg.mk @@ -4,7 +4,7 @@ # ################################################################################ -MG_VERSION = 3.5 +MG_VERSION = 3.7 MG_SITE = https://github.com/troglobit/mg/releases/download/v$(MG_VERSION) MG_LICENSE = Public Domain MG_LICENSE_FILES = UNLICENSE diff --git a/package/mhz/Config.in b/package/mhz/Config.in new file mode 100644 index 00000000000..2f4af5026e6 --- /dev/null +++ b/package/mhz/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_MHZ + bool "mhz" + help + CPU frequency measurement utility. + + https://github.com/wtarreau/mhz.git diff --git a/package/mhz/mhz.hash b/package/mhz/mhz.hash new file mode 100644 index 00000000000..c399c4b56f0 --- /dev/null +++ b/package/mhz/mhz.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c4b49dc719846220b96ac6060f15dd917316189cbbd2e0896b1b5e796e063ede mhz-11aac2399780a1f7ea9f007b14af0464797d5cf1.tar.gz +sha256 9449d373cad921620bb8f1e4f7b39f957e263163ded159c1efc8de27f8997099 LICENSE diff --git a/package/mhz/mhz.mk b/package/mhz/mhz.mk new file mode 100644 index 00000000000..025a5c6b9f2 --- /dev/null +++ b/package/mhz/mhz.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# mhz +# +################################################################################ + +MHZ_VERSION = 11aac2399780a1f7ea9f007b14af0464797d5cf1 +MHZ_SITE = $(call github,wtarreau,mhz,$(MHZ_VERSION)) +MHZ_LICENSE = MIT +MHZ_LICENSE_FILES = LICENSE + +define MHZ_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define MHZ_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/mhz $(TARGET_DIR)/usr/bin/mhz +endef + +$(eval $(generic-package)) diff --git a/package/microchip-hss-payload-generator/Config.in.host b/package/microchip-hss-payload-generator/Config.in.host new file mode 100644 index 00000000000..38e11bd0e57 --- /dev/null +++ b/package/microchip-hss-payload-generator/Config.in.host @@ -0,0 +1,11 @@ +config BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR + bool "host microchip-hss-payload-generator" + help + Microchip PolarFire SoC Payload Generator. This tool creates + a formatted payload image for the HSS zero-stage bootloader + on PolarFire SoC, given a configuration file and a set of + ELF binaries. The configuration file is used to map the ELF + binaries or binary blobs to the individual application harts + (U54s). + + https://github.com/polarfire-soc/hart-software-services.git diff --git a/package/microchip-hss-payload-generator/microchip-hss-payload-generator.hash b/package/microchip-hss-payload-generator/microchip-hss-payload-generator.hash new file mode 100644 index 00000000000..b9015fc961c --- /dev/null +++ b/package/microchip-hss-payload-generator/microchip-hss-payload-generator.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 447771d4219176acc69c6d945ff40a0f3d0c5cbe63619927bc61b9e52ab05136 microchip-hss-payload-generator-2023.09.tar.gz +sha256 0b67b1d44bcad078580fc5d8e9580a48a9466b769db58aeb1631d4c5ef97e08a tools/hss-payload-generator/LICENSE.md diff --git a/package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk b/package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk new file mode 100644 index 00000000000..4c3ca93dfe4 --- /dev/null +++ b/package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# microchip-hss-payload-generator +# +################################################################################ + +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION = 2023.09 +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_SITE = $(call github,polarfire-soc,hart-software-services,v$(HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION)) +# Some parts of the repository are under different licenses, but we +# are only building/installing the code in +# tools/hss-payload-generator/. +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE = MIT or GPL-2.0+ +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE_FILES = tools/hss-payload-generator/LICENSE.md +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_DEPENDENCIES = host-elfutils host-libyaml host-openssl + +define HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_BUILD_CMDS + $(MAKE) -C $(@D)/tools/hss-payload-generator \ + HOST_INCLUDES="$(HOST_CPPFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" +endef + +define HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_INSTALL_CMDS + $(INSTALL) -D -m 755 \ + $(@D)/tools/hss-payload-generator/hss-payload-generator \ + $(HOST_DIR)/bin/hss-payload-generator +endef + +$(eval $(host-generic-package)) diff --git a/package/micropython-lib/Config.in b/package/micropython-lib/Config.in deleted file mode 100644 index 76557b220ba..00000000000 --- a/package/micropython-lib/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_MICROPYTHON_LIB - bool "micropython-lib" - depends on BR2_PACKAGE_MICROPYTHON - select BR2_PACKAGE_PCRE # runtime - help - Core Python libraries ported to MicroPython. - - http://micropython.org diff --git a/package/micropython-lib/micropython-lib.hash b/package/micropython-lib/micropython-lib.hash deleted file mode 100644 index cbdda238441..00000000000 --- a/package/micropython-lib/micropython-lib.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed -sha256 66e15380eb109613263beb6825b8eecb9191088270c1a59e8c7d922dd57183c7 micropython-lib-1.9.3.tar.gz -sha256 baed4196a4310c576c2010f0a49f987a49e63856df7cd45af11cb3571df4bf74 LICENSE diff --git a/package/micropython-lib/micropython-lib.mk b/package/micropython-lib/micropython-lib.mk deleted file mode 100644 index 78ac0d3b35b..00000000000 --- a/package/micropython-lib/micropython-lib.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# micropython-lib -# -################################################################################ - -MICROPYTHON_LIB_VERSION = 1.9.3 -MICROPYTHON_LIB_SITE = $(call github,micropython,micropython-lib,v$(MICROPYTHON_LIB_VERSION)) -MICROPYTHON_LIB_LICENSE = Python-2.0 (some modules), MIT (everything else) -MICROPYTHON_LIB_LICENSE_FILES = LICENSE - -define MICROPYTHON_LIB_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - PREFIX=$(TARGET_DIR)/usr/lib/micropython \ - install -endef - -$(eval $(generic-package)) diff --git a/package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch b/package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch new file mode 100644 index 00000000000..b05791045e7 --- /dev/null +++ b/package/micropython/0001-py-nlrthumb-Make-non-Thumb2-long-jump-workaround-opt.patch @@ -0,0 +1,130 @@ +From 7b050b366b7dacfb43779c51702a892d8f1873d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=2E=20Neusch=C3=A4fer?= +Date: Sun, 2 Apr 2023 19:58:42 +0200 +Subject: [PATCH] py/nlrthumb: Make non-Thumb2 long-jump workaround opt-in. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Although the original motivation given for the workaround[1] is correct, +nlr.o and nlrthumb.o are linked with a small enough distance that the +problem does not occur, and the workaround isn't necessary. The distance +between the b instruction and its target (nlr_push_tail) is just 64 +bytes[2], well within the ±2046 byte range addressable by an +unconditional branch instruction in Thumb mode. + +The workaround induces a relocation in the text section (textrel), which +isn't supported everywhere, notably not on musl-libc[3], where it causes +a crash on start-up. With the workaround removed, micropython works on an +ARMv5T Linux system built with musl-libc. + +This commit changes nlrthumb.c to use a direct jump by default, but +leaves the long jump workaround as an option for those cases where it's +actually needed. + +[1]: commit dd376a239dc4f47b0ee7866810fcda151f3cf6dd + +Author: Damien George +Date: Fri Sep 1 15:25:29 2017 +1000 + + py/nlrthumb: Get working again on standard Thumb arch (ie not Thumb2). + + "b" on Thumb might not be long enough for the jump to nlr_push_tail so + it must be done indirectly. + +[2]: Excerpt from objdump -d micropython: + +000095c4 : + 95c4: b510 push {r4, lr} + 95c6: 0004 movs r4, r0 + 95c8: f02d fd42 bl 37050 + 95cc: 6943 ldr r3, [r0, #20] + 95ce: 6023 str r3, [r4, #0] + 95d0: 6144 str r4, [r0, #20] + 95d2: 2000 movs r0, #0 + 95d4: bd10 pop {r4, pc} + +000095d6 : + 95d6: b510 push {r4, lr} + 95d8: f02d fd3a bl 37050 + 95dc: 6943 ldr r3, [r0, #20] + 95de: 681b ldr r3, [r3, #0] + 95e0: 6143 str r3, [r0, #20] + 95e2: bd10 pop {r4, pc} + +000095e4 : + 95e4: 60c4 str r4, [r0, #12] + 95e6: 6105 str r5, [r0, #16] + 95e8: 6146 str r6, [r0, #20] + 95ea: 6187 str r7, [r0, #24] + 95ec: 4641 mov r1, r8 + 95ee: 61c1 str r1, [r0, #28] + 95f0: 4649 mov r1, r9 + 95f2: 6201 str r1, [r0, #32] + 95f4: 4651 mov r1, sl + 95f6: 6241 str r1, [r0, #36] @ 0x24 + 95f8: 4659 mov r1, fp + 95fa: 6281 str r1, [r0, #40] @ 0x28 + 95fc: 4669 mov r1, sp + 95fe: 62c1 str r1, [r0, #44] @ 0x2c + 9600: 4671 mov r1, lr + 9602: 6081 str r1, [r0, #8] + 9604: e7de b.n 95c4 + +[3]: https://www.openwall.com/lists/musl/2020/09/25/4 + +Signed-off-by: J. Neuschäfer +Upstream: https://github.com/micropython/micropython/commit/7b050b366b7dacfb43779c51702a892d8f1873d0 +--- + py/mpconfig.h | 6 ++++++ + py/nlrthumb.c | 10 +++++++++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/py/mpconfig.h b/py/mpconfig.h +index af2480266..1aa3e0699 100644 +--- a/py/mpconfig.h ++++ b/py/mpconfig.h +@@ -587,6 +587,12 @@ + /*****************************************************************************/ + /* Python internal features */ + ++// Use a special long jump in nlrthumb.c, which may be necessary if nlr.o and ++// nlrthumb.o are linked far apart from each other. ++#ifndef MICROPY_NLR_THUMB_USE_LONG_JUMP ++#define MICROPY_NLR_THUMB_USE_LONG_JUMP (0) ++#endif ++ + // Whether to enable import of external modules + // When disabled, only importing of built-in modules is supported + // When enabled, a port must implement mp_import_stat (among other things) +diff --git a/py/nlrthumb.c b/py/nlrthumb.c +index a22c5df5b..e7b24f242 100644 +--- a/py/nlrthumb.c ++++ b/py/nlrthumb.c +@@ -38,6 +38,14 @@ + + __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) { + ++ // If you get a linker error here, indicating that a relocation doesn't ++ // fit, try the following (in that order): ++ // ++ // 1. Ensure that nlr.o nlrthumb.o are linked closely together, i.e. ++ // there aren't too many other files between them in the linker list ++ // (PY_CORE_O_BASENAME in py/py.mk) ++ // 2. Set -DMICROPY_NLR_THUMB_USE_LONG_JUMP=1 during the build ++ // + __asm volatile ( + "str r4, [r0, #12] \n" // store r4 into nlr_buf + "str r5, [r0, #16] \n" // store r5 into nlr_buf +@@ -71,7 +79,7 @@ __attribute__((naked)) unsigned int nlr_push(nlr_buf_t *nlr) { + "str lr, [r0, #8] \n" // store lr into nlr_buf + #endif + +- #if !defined(__thumb2__) ++ #if MICROPY_NLR_THUMB_USE_LONG_JUMP + "ldr r1, nlr_push_tail_var \n" + "bx r1 \n" // do the rest in C + ".align 2 \n" +-- +2.43.0 + diff --git a/package/micropython/Config.in b/package/micropython/Config.in index b5dc47279d9..849a5452f45 100644 --- a/package/micropython/Config.in +++ b/package/micropython/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_MICROPYTHON bool "micropython" depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_LIBFFI help Micro Python is a lean and fast implementation of the Python 3 programming language that is optimised to run on a @@ -10,5 +9,15 @@ config BR2_PACKAGE_MICROPYTHON http://micropython.org +if BR2_PACKAGE_MICROPYTHON + +config BR2_PACKAGE_MICROPYTHON_LIB + bool "micropython-lib" + select BR2_PACKAGE_PCRE2 # runtime + help + Core Python libraries ported to MicroPython. + +endif # BR2_PACKAGE_MICROPYTHON + comment "micropython needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/micropython/collect_micropython_lib.py b/package/micropython/collect_micropython_lib.py new file mode 100755 index 00000000000..8dce78337a9 --- /dev/null +++ b/package/micropython/collect_micropython_lib.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 + +""" +Sometime after v1.9.3, micropython-lib's directory structure was cleaned up and +enhanced with manifest files. + +Though cleaner, it means it cannot be directly copied into the target. +This script is during build process to perform that conversion. + +It makes use of manifestfile.py, which is normally located in micropython's +tool directory. + +It also depends on the micropython-lib that is cloned in lib/micropython-lib +during build. +""" + +import argparse +import manifestfile +import os +import shutil + + +def get_library_name_type(manifest_path: str) -> tuple[str, bool]: + split = manifest_path.split("/") + return (split[-2], "unix-ffi" in split) # -1: "manifest.py", -2: library name + + +def get_all_libraries(mpy_lib_dir: str): + # reuse manifestfile module capabilities to scan the micropython-lib directory + + collected_list = manifestfile.ManifestFile( + manifestfile.MODE_FREEZE, {"MPY_LIB_DIR": mpy_lib_dir} + ) + collected_list.freeze(mpy_lib_dir) + + for file in collected_list.files(): + if file.target_path.endswith("manifest.py"): + yield get_library_name_type(file.full_path) + + +def copy_file(src: str, target: str, destination: str): + s = target.split("/") + s.pop() + d = f"{destination}/{'/'.join(s)}" + os.makedirs(d, exist_ok=True) + shutil.copy(src, f"{destination}/{target}") + + +def copy_libraries(manifest, destination: str): + for f in manifest.files(): + copy_file(f.full_path, f.target_path, destination) + + +def process_cmdline_args(): + parser = argparse.ArgumentParser( + description="Prepare micropython-lib to be installed" + ) + parser.add_argument("micropython", help="Path to micropython source directory") + parser.add_argument("destination", help="Destination directory") + + args = parser.parse_args() + return os.path.abspath(args.micropython), os.path.abspath(args.destination) + + +def main(): + micropython_dir, destination_dir = process_cmdline_args() + mpy_lib_dir = f"{micropython_dir}/lib/micropython-lib" + + manifest = manifestfile.ManifestFile( + manifestfile.MODE_FREEZE, {"MPY_LIB_DIR": mpy_lib_dir} + ) + + for library, is_ffi in get_all_libraries(mpy_lib_dir): + manifest.require(library, unix_ffi=is_ffi) + + copy_libraries(manifest, destination_dir) + + +main() diff --git a/package/micropython/micropython.hash b/package/micropython/micropython.hash index 7bff7de4e25..43551866b9e 100644 --- a/package/micropython/micropython.hash +++ b/package/micropython/micropython.hash @@ -1,3 +1,3 @@ #locally computed -sha256 c980ad7e742491df0dc10db2958137dbbf9aa7a8009e102fc75f4c0cac2d6b5e micropython-1.19.1.tar.gz -sha256 0f678c2abd7fe2cfca36693630506bbcbdfc219bd04bf4a02fe3b094ae4c666f LICENSE +sha256 a042764f0b6f6d92b267454c5bd5afcb83fc3900119f2583672aac571e661924 micropython-1.22.0.tar.xz +sha256 d9e0e0395867c899090e150213bc2b417e970c17355a8d48300089875b3c8037 LICENSE diff --git a/package/micropython/micropython.mk b/package/micropython/micropython.mk index 51b45e5e99d..125a0edcfb2 100644 --- a/package/micropython/micropython.mk +++ b/package/micropython/micropython.mk @@ -4,19 +4,16 @@ # ################################################################################ -MICROPYTHON_VERSION = 1.19.1 -MICROPYTHON_SITE = $(call github,micropython,micropython,v$(MICROPYTHON_VERSION)) +MICROPYTHON_VERSION = 1.22.0 +MICROPYTHON_SITE = https://micropython.org/resources/source +MICROPYTHON_SOURCE = micropython-$(MICROPYTHON_VERSION).tar.xz # Micropython has a lot of code copied from other projects, and also a number # of submodules for various libs. However, we don't even clone the submodules, # and most of the copied code is not used in the unix build. MICROPYTHON_LICENSE = MIT, BSD-1-Clause, BSD-3-Clause, Zlib MICROPYTHON_LICENSE_FILES = LICENSE -MICROPYTHON_DEPENDENCIES = host-pkgconf libffi host-python3 - -# Set GIT_DIR so package won't use buildroot's version number -MICROPYTHON_MAKE_ENV = \ - $(TARGET_MAKE_ENV) \ - GIT_DIR=. +MICROPYTHON_DEPENDENCIES = host-python3 +MICROPYTHON_CPE_ID_VENDOR = micropython # Use fallback implementation for exception handling on architectures that don't # have explicit support. @@ -36,20 +33,44 @@ MICROPYTHON_MAKE_OPTS += \ MICROPY_PY_USSL=0 \ CROSS_COMPILE=$(TARGET_CROSS) \ CFLAGS_EXTRA=$(MICROPYTHON_CFLAGS) \ + LDFLAGS_EXTRA="$(TARGET_LDFLAGS)" \ CWARN= +ifeq ($(BR2_PACKAGE_LIBFFI),y) +MICROPYTHON_DEPENDENCIES += host-pkgconf libffi +MICROPYTHON_MAKE_OPTS += MICROPY_PY_FFI=1 +else +MICROPYTHON_MAKE_OPTS += MICROPY_PY_FFI=0 +endif + define MICROPYTHON_BUILD_CMDS - $(MICROPYTHON_MAKE_ENV) $(MAKE) -C $(@D)/mpy-cross - $(MICROPYTHON_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/mpy-cross + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \ $(MICROPYTHON_MAKE_OPTS) endef define MICROPYTHON_INSTALL_TARGET_CMDS - $(MICROPYTHON_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \ $(MICROPYTHON_MAKE_OPTS) \ DESTDIR=$(TARGET_DIR) \ PREFIX=/usr \ install endef +ifeq ($(BR2_PACKAGE_MICROPYTHON_LIB),y) +define MICROPYTHON_COLLECT_LIBS + $(EXTRA_ENV) PYTHONPATH=$(@D)/tools \ + package/micropython/collect_micropython_lib.py \ + $(@D) $(@D)/.built_pylib +endef + +define MICROPYTHON_INSTALL_LIBS + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/micropython + cp -a $(@D)/.built_pylib/* $(TARGET_DIR)/usr/lib/micropython +endef + +MICROPYTHON_POST_BUILD_HOOKS += MICROPYTHON_COLLECT_LIBS +MICROPYTHON_POST_INSTALL_TARGET_HOOKS += MICROPYTHON_INSTALL_LIBS +endif + $(eval $(generic-package)) diff --git a/package/minetest-game/minetest-game.hash b/package/minetest-game/minetest-game.hash index 2b7eeffd8fa..629871edbeb 100644 --- a/package/minetest-game/minetest-game.hash +++ b/package/minetest-game/minetest-game.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 5a24fec4ed838744906f020096c35616e7ba76eeec2b93b980a40af011107e7c minetest-game-5.5.1.tar.gz +sha256 5dc857003d24bb489f126865fcd6bf0d9c0cb146ca4c1c733570699d15abd0e3 minetest-game-5.6.1.tar.gz sha256 f8a254e8d5f6b3ca3873f990986e86c864f943aa5dc9bf56808c5f4bfa509db0 LICENSE.txt sha256 ed2afed388c470e08edc1104e4ff6d12b68a32a76b8c52d760a99d4d2d7716f3 mods/beds/license.txt diff --git a/package/minetest-game/minetest-game.mk b/package/minetest-game/minetest-game.mk index e5ee45b6abf..ec8d5bff260 100644 --- a/package/minetest-game/minetest-game.mk +++ b/package/minetest-game/minetest-game.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINETEST_GAME_VERSION = 5.5.1 +MINETEST_GAME_VERSION = 5.6.1 MINETEST_GAME_SITE = $(call github,minetest,minetest_game,$(MINETEST_GAME_VERSION)) MINETEST_GAME_LICENSE = LGPL-2.1+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, \ CC-BY-SA-4.0, MIT, CC0 1.0, CC-BY-2.0 (mods) diff --git a/package/minetest/Config.in b/package/minetest/Config.in index 3e331dff7e6..4e139ac3e27 100644 --- a/package/minetest/Config.in +++ b/package/minetest/Config.in @@ -28,7 +28,7 @@ config BR2_PACKAGE_MINETEST_CLIENT select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_JPEG - select BR2_PACKAGE_XLIB_LIBXXF86VM + select BR2_PACKAGE_XLIB_LIBXI help Build Minetest client. diff --git a/package/minetest/minetest.hash b/package/minetest/minetest.hash index e78f865969f..ec67d4136da 100644 --- a/package/minetest/minetest.hash +++ b/package/minetest/minetest.hash @@ -1,6 +1,6 @@ # Locally calculated -sha256 dc0ae5188ef351db85c38b27f38f8549b133ed82aa46daea6deee148aa3454f4 minetest-5.5.1.tar.gz -sha256 6d38dd7f3e3c8d768e1f5776b98dd5359b184c2e6740ddf733f4dc8615191bef irrlicht-1.9.0mt5.tar.gz +sha256 1440603e19dca70e2691e86a74c822ee2c4a36fceee32b2d85ae74772149e9a3 minetest-5.6.1.tar.gz +sha256 27594242da8c7cc1e5ef45922e1dfdd130c37d77719b5d927359eb47992051e0 irrlicht-1.9.0mt8.tar.gz -sha256 d1d8a63f7f70d89a3a899f3b9fb5ca1ea7dbbd4eb449be2a7b2ff861b1f09192 LICENSE.txt +sha256 b38c8d428ceddf8e9b49dca63610c74499d952895d756b7eab5f5d4cef2954f6 LICENSE.txt sha256 ca38f1ba4ab901111f6eee50009bd46dbd866e6beb98d592d843f7c162d73409 lib/irrlichtmt/doc/irrlicht-license.txt diff --git a/package/minetest/minetest.mk b/package/minetest/minetest.mk index 6d56c3222f7..3904bd687c0 100644 --- a/package/minetest/minetest.mk +++ b/package/minetest/minetest.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINETEST_VERSION = 5.5.1 +MINETEST_VERSION = 5.6.1 MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION)) MINETEST_LICENSE = LGPL-2.1+ (code), CC-BY-SA-3.0 (textures and sounds), Zlib (irrlicht) MINETEST_LICENSE_FILES = LICENSE.txt lib/irrlichtmt/doc/irrlicht-license.txt @@ -12,7 +12,7 @@ MINETEST_CPE_ID_VENDOR = minetest MINETEST_DEPENDENCIES = gmp jsoncpp luajit sqlite zlib zstd -MINETEST_IRRLICHTMT_VERSION = 1.9.0mt5 +MINETEST_IRRLICHTMT_VERSION = 1.9.0mt8 MINETEST_EXTRA_DOWNLOADS = $(call github,minetest,irrlicht,$(MINETEST_IRRLICHTMT_VERSION))/irrlicht-$(MINETEST_IRRLICHTMT_VERSION).tar.gz define MINETEST_IRRLICHTMT_EXTRACT @@ -36,7 +36,7 @@ MINETEST_CONF_OPTS = \ -DBUILD_UNITTESTS=OFF ifeq ($(BR2_PACKAGE_MINETEST_CLIENT),y) -MINETEST_DEPENDENCIES += bzip2 freetype jpeg libgl libpng xlib_libXxf86vm +MINETEST_DEPENDENCIES += bzip2 freetype jpeg libgl libpng xlib_libXi MINETEST_CONF_OPTS += -DBUILD_CLIENT=ON else MINETEST_CONF_OPTS += -DBUILD_CLIENT=OFF diff --git a/package/minicom/minicom.hash b/package/minicom/minicom.hash index 42a4499c85a..dd10450262c 100644 --- a/package/minicom/minicom.hash +++ b/package/minicom/minicom.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 38cea30913a20349326ff3f1763ee1512b7b41601c24f065f365e18e9db0beba minicom-2.8.tar.bz2 +sha256 9efbb6458140e5a0de445613f0e76bcf12cbf7a9892b2f53e075c2e7beaba86c minicom-2.9.tar.bz2 sha256 cf80a758014eefbf068afffe3d462fc34ff4f528527524d8e100329c42094e15 COPYING diff --git a/package/minicom/minicom.mk b/package/minicom/minicom.mk index 5cd1d6b8b80..8bc57174172 100644 --- a/package/minicom/minicom.mk +++ b/package/minicom/minicom.mk @@ -4,13 +4,13 @@ # ################################################################################ -MINICOM_VERSION = 2.8 +MINICOM_VERSION = 2.9 MINICOM_SOURCE = minicom-$(MINICOM_VERSION).tar.bz2 MINICOM_SITE = \ https://salsa.debian.org/minicom-team/minicom/-/archive/$(MINICOM_VERSION) MINICOM_LICENSE = GPL-2.0+ MINICOM_LICENSE_FILES = COPYING -MINICOM_CPE_ID_VENDOR = minicom_project +MINICOM_CPE_ID_VALID = YES MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) \ $(TARGET_NLS_DEPENDENCIES) host-pkgconf diff --git a/package/minidlna/minidlna.hash b/package/minidlna/minidlna.hash index e55e5473d3d..b78dd5b4dda 100644 --- a/package/minidlna/minidlna.hash +++ b/package/minidlna/minidlna.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/minidlna/files/minidlna/1.3.2/ -sha1 71750adadc34490d52f0b9a930c2731a47f9772d minidlna-1.3.2.tar.gz +# From https://sourceforge.net/projects/minidlna/files/minidlna/1.3.3/ +sha1 2d42028d2ca5ae04affdb96cb414314867e179ea minidlna-1.3.3.tar.gz # Locally computed -sha256 222ce45a1a60c3ce3de17527955d38e5ff7a4592d61db39577e6bf88e0ae1cb0 minidlna-1.3.2.tar.gz +sha256 39026c6d4a139b9180192d1c37225aa3376fdf4f1a74d7debbdbb693d996afa4 minidlna-1.3.3.tar.gz sha256 79146b7f558e56510b9a714ff75318c05ab93aeccfd6597497b9bce212cf92ea COPYING sha256 94876d7886116e176e702b4902bd9f19731a6883db5f229ac2a7058a22aa6529 LICENCE.miniupnpd diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk index 6ca72d92408..1609695ebff 100644 --- a/package/minidlna/minidlna.mk +++ b/package/minidlna/minidlna.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINIDLNA_VERSION = 1.3.2 +MINIDLNA_VERSION = 1.3.3 MINIDLNA_SITE = https://downloads.sourceforge.net/project/minidlna/minidlna/$(MINIDLNA_VERSION) MINIDLNA_LICENSE = GPL-2.0, BSD-3-Clause MINIDLNA_LICENSE_FILES = COPYING LICENCE.miniupnpd diff --git a/package/minisign/Config.in b/package/minisign/Config.in new file mode 100644 index 00000000000..a211177925f --- /dev/null +++ b/package/minisign/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_MINISIGN + bool "minisign" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBSODIUM + select BR2_PACKAGE_LIBSODIUM_FULL + help + Minisign is a dead simple tool to sign files and verify + signatures. + + https://github.com/jedisct1/minisign + +comment "minisign needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/minisign/Config.in.host b/package/minisign/Config.in.host new file mode 100644 index 00000000000..99a89b7cf3d --- /dev/null +++ b/package/minisign/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_MINISIGN + bool "host minisign" + help + Minisign is a dead simple tool to sign files and verify + signatures. + + https://github.com/jedisct1/minisign diff --git a/package/minisign/minisign.hash b/package/minisign/minisign.hash new file mode 100644 index 00000000000..12cde42a431 --- /dev/null +++ b/package/minisign/minisign.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 74c2c78a1cd51a43a6c98f46a4eabefbc8668074ca9aa14115544276b663fc55 minisign-0.11.tar.gz +sha256 d775d155cbf31638714c31c6f990f9fdc5f07998d91e42d1bf15483bd2d1706b LICENSE diff --git a/package/minisign/minisign.mk b/package/minisign/minisign.mk new file mode 100644 index 00000000000..7cdce597f71 --- /dev/null +++ b/package/minisign/minisign.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# minisign +# +################################################################################ + +MINISIGN_VERSION = 0.11 +MINISIGN_SITE = $(call github,jedisct1,minisign,$(MINISIGN_VERSION)) +MINISIGN_LICENSE = ISC +MINISIGN_LICENSE_FILES = LICENSE +MINISIGN_DEPENDENCIES = libsodium +HOST_MINISIGN_DEPENDENCIES = host-libsodium +MINISIGN_CONF_OPTS = -DCMAKE_STRIP="" + +ifeq ($(BR2_STATIC_LIBS),y) +MINISIGN_CONF_OPTS += -DBUILD_STATIC_EXECUTABLES=1 +endif + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/minizip-zlib/minizip-zlib.hash b/package/minizip-zlib/minizip-zlib.hash index df5e8d723a1..cbd93138704 100644 --- a/package/minizip-zlib/minizip-zlib.hash +++ b/package/minizip-zlib/minizip-zlib.hash @@ -1,4 +1,4 @@ # From http://www.zlib.net/ -sha256 d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98 zlib-1.2.13.tar.xz +sha256 38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32 zlib-1.3.1.tar.xz # License files, locally calculated sha256 845efc77857d485d91fb3e0b884aaa929368c717ae8186b66fe1ed2495753243 LICENSE diff --git a/package/minizip-zlib/minizip-zlib.mk b/package/minizip-zlib/minizip-zlib.mk index 4367a2420f6..6d4a2d2e20a 100644 --- a/package/minizip-zlib/minizip-zlib.mk +++ b/package/minizip-zlib/minizip-zlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINIZIP_ZLIB_VERSION = 1.2.13 +MINIZIP_ZLIB_VERSION = 1.3.1 MINIZIP_ZLIB_SOURCE = zlib-$(MINIZIP_ZLIB_VERSION).tar.xz MINIZIP_ZLIB_SITE = http://www.zlib.net MINIZIP_ZLIB_LICENSE = Zlib diff --git a/package/minizip/minizip.hash b/package/minizip/minizip.hash index 55fc176dbd1..b21a8490aad 100644 --- a/package/minizip/minizip.hash +++ b/package/minizip/minizip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 39981a0db1bb6da504909bce63d7493286c5e50825c056564544c990d15c55cf minizip-3.0.7.tar.gz +sha256 e39a736d4f55c22fa548e68225b2e92bc22aedd9ab90d002b0c5851e3a7bdace minizip-4.0.3.tar.gz sha256 675181c03fc1302a1c8554c00f7be9bb420c5dbc9dcc2013433cec144413de03 LICENSE diff --git a/package/minizip/minizip.mk b/package/minizip/minizip.mk index c74c0df8d1c..819b33b7016 100644 --- a/package/minizip/minizip.mk +++ b/package/minizip/minizip.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINIZIP_VERSION = 3.0.7 +MINIZIP_VERSION = 4.0.3 MINIZIP_SITE = $(call github,zlib-ng,minizip-ng,$(MINIZIP_VERSION)) MINIZIP_DEPENDENCIES = host-pkgconf MINIZIP_INSTALL_STAGING = YES @@ -14,7 +14,8 @@ MINIZIP_CONF_OPTS = \ -DMZ_FETCH_LIBS=OFF MINIZIP_LICENSE = Zlib MINIZIP_LICENSE_FILES = LICENSE -MINIZIP_CPE_ID_VENDOR = minizip_project +MINIZIP_CPE_ID_VENDOR = zlib-ng +MINIZIP_CPE_ID_PRODUCT = minizip-ng ifeq ($(BR2_PACKAGE_BZIP2),y) MINIZIP_DEPENDENCIES += bzip2 diff --git a/package/mmc-utils/Config.in b/package/mmc-utils/Config.in index d65988c7497..d938b5dea34 100644 --- a/package/mmc-utils/Config.in +++ b/package/mmc-utils/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_MMC_UTILS help MMC utils - https://git.kernel.org/cgit/linux/kernel/git/cjb/mmc-utils.git + https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git if BR2_PACKAGE_MMC_UTILS diff --git a/package/mmc-utils/mmc-utils.hash b/package/mmc-utils/mmc-utils.hash index 1256f63487e..2c1bb860660 100644 --- a/package/mmc-utils/mmc-utils.hash +++ b/package/mmc-utils/mmc-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f6ed1cb2f02d49df4244f8872b47b22780dd634fa19d857298ce1b793752776f mmc-utils-dfc3b6ecda84d21418fb4408b39c5c71db4c6458-br1.tar.gz -sha256 f57e3c6169116aa9ff06eec95734ca000e4d0196467bb221e80e50530c768081 mmc.h +sha256 83b1bd7602b0c8d05a8ff2f842d80fa7c9a0b084b7159bb9eed796b0075b94d1 mmc-utils-e1281d4de9166b7254ba30bb58f9191fc2c9e7fb-br1.tar.gz +sha256 4207d81122a02555f78c5a11b61c83a331ee03dc933e1ef9dd932ef9b434d12d README diff --git a/package/mmc-utils/mmc-utils.mk b/package/mmc-utils/mmc-utils.mk index 435e6ae7f15..48c347d8466 100644 --- a/package/mmc-utils/mmc-utils.mk +++ b/package/mmc-utils/mmc-utils.mk @@ -4,11 +4,11 @@ # ################################################################################ -MMC_UTILS_VERSION = dfc3b6ecda84d21418fb4408b39c5c71db4c6458 -MMC_UTILS_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git +MMC_UTILS_VERSION = e1281d4de9166b7254ba30bb58f9191fc2c9e7fb +MMC_UTILS_SITE = https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git MMC_UTILS_SITE_METHOD = git MMC_UTILS_LICENSE = GPL-2.0 -MMC_UTILS_LICENSE_FILES = mmc.h +MMC_UTILS_LICENSE_FILES = README MMC_UTILS_CFLAGS = $(TARGET_CFLAGS) @@ -19,11 +19,15 @@ endif # override AM_CFLAGS as the project Makefile uses it to pass # -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2, and the latter conflicts # with the _FORTIFY_SOURCE that we pass when hardening options are -# enabled. +# enabled. Starting from commit: +# https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git/commit/?id=958227890690290ee766aaad1b92f3413f67048c +# they use AM_CFLAGS to set VERSION to first 6 digit of git SHA1, so +# let's do this here otherwise it won't be automatically set and build +# will fail define MMC_UTILS_BUILD_CMDS $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(MMC_UTILS_CFLAGS)" \ - AM_CFLAGS= + AM_CFLAGS='-DVERSION=\"$(shell echo $(MMC_UTILS_VERSION) | head -c 6)\"' endef define MMC_UTILS_INSTALL_TARGET_CMDS diff --git a/package/moarvm/Config.in b/package/moarvm/Config.in index 11d8ac7ebc1..6972a5f8a64 100644 --- a/package/moarvm/Config.in +++ b/package/moarvm/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_MOARVM depends on BR2_USE_MMU # libuv depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # libatomic_ops depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LIBTOMMATH select BR2_PACKAGE_LIBATOMIC_OPS @@ -18,8 +19,9 @@ config BR2_PACKAGE_MOARVM http://moarvm.com -comment "moarvm needs a toolchain w/ NPTL, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "moarvm needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/moarvm/moarvm.hash b/package/moarvm/moarvm.hash index 45e8b56e98e..ed10fad9634 100644 --- a/package/moarvm/moarvm.hash +++ b/package/moarvm/moarvm.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 337ef04d16f826f99465c653b92006028fe220be68d3dcfd0729612f4f6b5b46 MoarVM-2022.07.tar.gz +sha256 08095605dd2b6a0ebb01394395a725ae561d655700835fa2eff90122a9b1d22a MoarVM-2023.12.tar.gz sha256 c53c6b96081b0a5b9b2fb4d0133d55c20e5e00e4c127ade62f03434ee7b3d2de Artistic2.txt diff --git a/package/moarvm/moarvm.mk b/package/moarvm/moarvm.mk index 9820f318b6d..bd1938d88b5 100644 --- a/package/moarvm/moarvm.mk +++ b/package/moarvm/moarvm.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOARVM_VERSION = 2022.07 +MOARVM_VERSION = 2023.12 MOARVM_SITE = http://moarvm.com/releases MOARVM_SOURCE = MoarVM-$(MOARVM_VERSION).tar.gz MOARVM_LICENSE = Artistic-2.0 diff --git a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash index c3d7fe2c281..c965f5c7834 100644 --- a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash +++ b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash @@ -1,4 +1,4 @@ -# http://ftp.acc.umu.se/pub/GNOME/sources/mobile-broadband-provider-info/20190618/mobile-broadband-provider-info-20190618.sha256sum -sha256 c22d64a565d1975b9eecb6ed2eeaef18634bc6f385c8137d05e845d8fb3cce5b mobile-broadband-provider-info-20190618.tar.xz +# https://download.gnome.org/sources/mobile-broadband-provider-info/20221107/mobile-broadband-provider-info-20221107.sha256sum +sha256 d93392566c347a96eed95da8c66a5da0dd94f4115cfb3a305ff2682c64cfd810 mobile-broadband-provider-info-20221107.tar.xz # Locally computed sha256 3d510b215a33087b9ceb9592da21575ea1f9f98bd4d983a38e65fe851a552174 COPYING diff --git a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk index 2986f92f697..27448449513 100644 --- a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk +++ b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk @@ -4,8 +4,8 @@ # ################################################################################ -MOBILE_BROADBAND_PROVIDER_INFO_VERSION = 20190618 -MOBILE_BROADBAND_PROVIDER_INFO_SITE = http://ftp.gnome.org/pub/GNOME/sources/mobile-broadband-provider-info/$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION) +MOBILE_BROADBAND_PROVIDER_INFO_VERSION = 20221107 +MOBILE_BROADBAND_PROVIDER_INFO_SITE = https://download.gnome.org/sources/mobile-broadband-provider-info/$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION) MOBILE_BROADBAND_PROVIDER_INFO_SOURCE = mobile-broadband-provider-info-$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION).tar.xz MOBILE_BROADBAND_PROVIDER_INFO_LICENSE = Public domain MOBILE_BROADBAND_PROVIDER_INFO_LICENSE_FILES = COPYING diff --git a/package/moby-buildkit/moby-buildkit.hash b/package/moby-buildkit/moby-buildkit.hash index 43ee1b12c91..f7922d7e8f1 100644 --- a/package/moby-buildkit/moby-buildkit.hash +++ b/package/moby-buildkit/moby-buildkit.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5ffe5a2d11736719649dae962461f66df394ae4cc1e58294e5f2bd4d4632d9d0 moby-buildkit-0.10.6.tar.gz +sha256 1efa1c54b299c463c1b039d3df8ba1c68e70fe4de608fd14653fcebf9f27837b moby-buildkit-0.11.6.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/moby-buildkit/moby-buildkit.mk b/package/moby-buildkit/moby-buildkit.mk index 59d68a7dca2..91560c1ed1d 100644 --- a/package/moby-buildkit/moby-buildkit.mk +++ b/package/moby-buildkit/moby-buildkit.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOBY_BUILDKIT_VERSION = 0.10.6 +MOBY_BUILDKIT_VERSION = 0.11.6 MOBY_BUILDKIT_SITE = $(call github,moby,buildkit,v$(MOBY_BUILDKIT_VERSION)) MOBY_BUILDKIT_LICENSE = Apache-2.0 MOBY_BUILDKIT_LICENSE_FILES = LICENSE diff --git a/package/modem-manager/Config.in b/package/modem-manager/Config.in index c4c723776d0..6990996a862 100644 --- a/package/modem-manager/Config.in +++ b/package/modem-manager/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_MODEM_MANAGER depends on BR2_USE_WCHAR # libglib2 and gnutls depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_DBUS # runtime dependency + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV help @@ -25,8 +26,21 @@ config BR2_PACKAGE_MODEM_MANAGER_LIBQMI select BR2_PACKAGE_LIBQMI help This option enables support for QMI protocol + +config BR2_PACKAGE_MODEM_MANAGER_LIBQRTR + bool "QRTR support" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 # libqrtr-glib + select BR2_PACKAGE_LIBQRTR_GLIB + select BR2_PACKAGE_MODEM_MANAGER_LIBQMI + help + This option enables support for QRTR protocol + +comment "QRTR support needs a toolchain w/ headers >= 4.15" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + endif -comment "modemmanager needs a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS +comment "modemmanager needs a toolchain w/ wchar, threads, dynamic library" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS depends on BR2_USE_MMU diff --git a/package/modem-manager/modem-manager.hash b/package/modem-manager/modem-manager.hash index 40c8ad703f3..4b8b795af78 100644 --- a/package/modem-manager/modem-manager.hash +++ b/package/modem-manager/modem-manager.hash @@ -1,4 +1,4 @@ #Locally calculated after checking https://www.freedesktop.org/software/ModemManager/ModemManager-1.18.12.tar.xz.asc -sha256 b464e4925d955a6ca86dd08616e763b26ae46d7fd37dbe281678e34065b1e430 ModemManager-1.18.12.tar.xz +sha256 9c16b47547faac9515f2d03d1e8175de9c5e6769b1ee16b608ba6cfe6f04b03e ModemManager-1.20.4.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/modem-manager/modem-manager.mk b/package/modem-manager/modem-manager.mk index d0c9b7377b4..979a80a8e94 100644 --- a/package/modem-manager/modem-manager.mk +++ b/package/modem-manager/modem-manager.mk @@ -4,42 +4,80 @@ # ################################################################################ -MODEM_MANAGER_VERSION = 1.18.12 -MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz -MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager +MODEM_MANAGER_VERSION = 1.20.4 +MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.gz +MODEM_MANAGER_SITE = https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/$(MODEM_MANAGER_VERSION) MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib) MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB MODEM_MANAGER_SELINUX_MODULES = modemmanager -MODEM_MANAGER_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES) +MODEM_MANAGER_DEPENDENCIES = host-pkgconf dbus libglib2 $(TARGET_NLS_DEPENDENCIES) host-libxslt MODEM_MANAGER_INSTALL_STAGING = YES -MODEM_MANAGER_CONF_OPTS = --disable-more-warnings +MODEM_MANAGER_CONF_OPTS = \ + -Dman=false \ + -Dpowerd_suspend_resume=false \ + -Dtests=false \ + -Dudevdir=/usr/lib/udev -ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQMI),y) -MODEM_MANAGER_DEPENDENCIES += libqmi -MODEM_MANAGER_CONF_OPTS += --with-qmi +ifeq ($(BR2_PACKAGE_LIBGUDEV),y) +MODEM_MANAGER_DEPENDENCIES += libgudev +MODEM_MANAGER_CONF_OPTS += -Dudev=true else -MODEM_MANAGER_CONF_OPTS += --without-qmi +MODEM_MANAGER_CONF_OPTS += -Dudev=false endif -ifeq ($(BR2_PACKAGE_LIBGUDEV),y) -MODEM_MANAGER_DEPENDENCIES += libgudev -MODEM_MANAGER_CONF_OPTS += --with-udev +ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQMI),y) +MODEM_MANAGER_DEPENDENCIES += libqmi +MODEM_MANAGER_CONF_OPTS += -Dqmi=true else -MODEM_MANAGER_CONF_OPTS += --without-udev +MODEM_MANAGER_CONF_OPTS += -Dqmi=false endif ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBMBIM),y) MODEM_MANAGER_DEPENDENCIES += libmbim -MODEM_MANAGER_CONF_OPTS += --with-mbim +MODEM_MANAGER_CONF_OPTS += -Dmbim=true +else +MODEM_MANAGER_CONF_OPTS += -Dmbim=false +endif + +ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQRTR),y) +MODEM_MANAGER_DEPENDENCIES += libqrtr-glib +MODEM_MANAGER_CONF_OPTS += -Dqrtr=true +else +MODEM_MANAGER_CONF_OPTS += -Dqrtr=false +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +MODEM_MANAGER_DEPENDENCIES += systemd +MODEM_MANAGER_CONF_OPTS += \ + -Dsystemd_journal=true \ + -Dsystemd_suspend_resume=true \ + -Dsystemdsystemunitdir=/usr/lib/systemd/system +else +MODEM_MANAGER_CONF_OPTS += \ + -Dsystemd_journal=false \ + -Dsystemd_suspend_resume=false \ + -Dsystemdsystemunitdir=no +endif + +ifeq ($(BR2_PACKAGE_POLKIT),y) +MODEM_MANAGER_DEPENDENCIES += polkit +MODEM_MANAGER_CONF_OPTS += -Dpolkit=strict else -MODEM_MANAGER_CONF_OPTS += --without-mbim +MODEM_MANAGER_CONF_OPTS += -Dpolkit=no endif ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y) MODEM_MANAGER_DEPENDENCIES += gobject-introspection -MODEM_MANAGER_CONF_OPTS += --enable-introspection +MODEM_MANAGER_CONF_OPTS += -Dintrospection=true +else +MODEM_MANAGER_CONF_OPTS += -Dintrospection=false +endif + +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +MODEM_MANAGER_DEPENDENCIES += bash-completion +MODEM_MANAGER_CONF_OPTS += -Dbash_completion=true else -MODEM_MANAGER_CONF_OPTS += --disable-introspection +MODEM_MANAGER_CONF_OPTS += -Dbash_completion=false endif define MODEM_MANAGER_INSTALL_INIT_SYSV @@ -47,4 +85,4 @@ define MODEM_MANAGER_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S44modem-manager endef -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/modsecurity2/Config.in b/package/modsecurity2/Config.in index 2870386a999..fb1bfc960e5 100644 --- a/package/modsecurity2/Config.in +++ b/package/modsecurity2/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_MODSECURITY2 bool "modsecurity2" depends on BR2_PACKAGE_APACHE select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help ModSecurity is an open source, cross-platform web application firewall (WAF) module. Known as the "Swiss Army Knife" of diff --git a/package/modsecurity2/modsecurity2.hash b/package/modsecurity2/modsecurity2.hash index a19f4823a8a..2c77ffd830d 100644 --- a/package/modsecurity2/modsecurity2.hash +++ b/package/modsecurity2/modsecurity2.hash @@ -1,5 +1,5 @@ -# From https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.5/modsecurity-2.9.5.tar.gz.sha256 -sha256 e2bfc8cd8b8de1e21f054d310543373ea5d89adbd96784e832be0da3e4dc149e modsecurity-2.9.5.tar.gz +# From https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.7/modsecurity-2.9.7.tar.gz.sha256 +sha256 2a28fcfccfef21581486f98d8d5fe0397499749b8380f60ec7bb1c08478e1839 modsecurity-2.9.7.tar.gz # Locally computed sha256 2c564f5a67e49e74c80e5a7dcacd1904e7408f1fd6a95218b38c04f012d94cb9 LICENSE diff --git a/package/modsecurity2/modsecurity2.mk b/package/modsecurity2/modsecurity2.mk index a1ad8fe5bc3..88bbf3bb296 100644 --- a/package/modsecurity2/modsecurity2.mk +++ b/package/modsecurity2/modsecurity2.mk @@ -4,7 +4,7 @@ # ################################################################################ -MODSECURITY2_VERSION = 2.9.5 +MODSECURITY2_VERSION = 2.9.7 MODSECURITY2_SOURCE = modsecurity-$(MODSECURITY2_VERSION).tar.gz MODSECURITY2_SITE = https://github.com/SpiderLabs/ModSecurity/releases/download/v$(MODSECURITY2_VERSION) MODSECURITY2_LICENSE = Apache-2.0 @@ -12,16 +12,16 @@ MODSECURITY2_LICENSE_FILES = LICENSE MODSECURITY2_CPE_ID_VENDOR = trustwave MODSECURITY2_CPE_ID_PRODUCT = modsecurity MODSECURITY2_INSTALL_STAGING = YES -MODSECURITY2_DEPENDENCIES = apache libxml2 pcre +MODSECURITY2_DEPENDENCIES = host-pkgconf apache libxml2 pcre2 MODSECURITY2_CONF_OPTS = \ - --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \ - --with-libxml=$(STAGING_DIR)/usr \ + --with-pcre2=$(STAGING_DIR)/usr/bin/pcre2-config \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config \ --with-apu=$(STAGING_DIR)/usr/bin/apu-1-config \ --with-apxs=$(STAGING_DIR)/usr/bin/apxs \ --without-curl \ --without-lua \ + --without-pcre \ --without-yajl \ --without-ssdeep diff --git a/package/mongoose/mongoose.hash b/package/mongoose/mongoose.hash index ffef9f446c9..ed5db5ebf68 100644 --- a/package/mongoose/mongoose.hash +++ b/package/mongoose/mongoose.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 55073dcd427ab9475731ad855e417884f4fbfb24b7d5694f6cabadbee1329f16 mongoose-7.8.tar.gz -sha256 b41c293820074278291813af9f181918154875c94d744a90bf4eec331be28ac5 LICENSE +sha256 91e719e164816b349be3cb71293927f3f6abbe3fb02187e2d9b5e56f542c2063 mongoose-7.12.tar.gz +sha256 4ba646f5a7012d8b52f3a74398e446f56960dde0572f7241a2215430da5dd5a2 LICENSE diff --git a/package/mongoose/mongoose.mk b/package/mongoose/mongoose.mk index 8d06ed4689f..74594ff48cb 100644 --- a/package/mongoose/mongoose.mk +++ b/package/mongoose/mongoose.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONGOOSE_VERSION = 7.8 +MONGOOSE_VERSION = 7.12 MONGOOSE_SITE = $(call github,cesanta,mongoose,$(MONGOOSE_VERSION)) MONGOOSE_LICENSE = GPL-2.0 MONGOOSE_LICENSE_FILES = LICENSE @@ -13,7 +13,7 @@ MONGOOSE_INSTALL_STAGING = YES # static library MONGOOSE_INSTALL_TARGET = NO -MONGOOSE_CFLAGS = $(TARGET_CFLAGS) +MONGOOSE_CFLAGS = $(TARGET_CFLAGS) -std=gnu99 ifeq ($(BR2_PACKAGE_OPENSSL),y) MONGOOSE_DEPENDENCIES += openssl diff --git a/package/monit/0002-configure.ac-fixes-missing-config-macro-dir.patch b/package/monit/0002-configure.ac-fixes-missing-config-macro-dir.patch new file mode 100644 index 00000000000..325dcc17e13 --- /dev/null +++ b/package/monit/0002-configure.ac-fixes-missing-config-macro-dir.patch @@ -0,0 +1,44 @@ +From 2c06ecdc02de75a9e7e1e30e9c3d7d3a64269b7c Mon Sep 17 00:00:00 2001 +From: Jens Maus +Date: Fri, 22 Sep 2023 21:32:18 +0200 +Subject: [PATCH] configure.ac: fixes missing config macro dir + +This adds the config dir to the AC_CONFIG_MACRO_DIRS in configure.ac +so that m4 macros are properly loaded upon autoreconf use. + +Upstream: N/A (specific to buildroot) +Signed-off-by: Jens Maus +--- + configure.ac | 2 +- + libmonit/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3c3d30a2..f4c5ea07 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8,7 +8,7 @@ AC_PREREQ([2.53]) + # Example: 5.0_beta2 + AC_INIT([monit], [5.34.0], [monit-general@nongnu.org]) + AC_CONFIG_AUX_DIR(config) +-AC_CONFIG_MACRO_DIR([m4]) ++AC_CONFIG_MACRO_DIRS([m4 config]) + AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR([src/monit.c]) + AC_CONFIG_SUBDIRS([libmonit]) +diff --git a/libmonit/configure.ac b/libmonit/configure.ac +index d4cd0789..5366444a 100644 +--- a/libmonit/configure.ac ++++ b/libmonit/configure.ac +@@ -4,7 +4,7 @@ AC_PREREQ([2.53]) + + AC_INIT([libmonit], [1.0], [monit-dev@tildeslash.com]) + AC_CONFIG_AUX_DIR(config) +-AC_CONFIG_MACRO_DIR([m4]) ++AC_CONFIG_MACRO_DIRS([m4 config]) + AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR([src]) + +-- +2.34.1 + diff --git a/package/monit/monit.hash b/package/monit/monit.hash index 26d665c0839..1d9feca57bf 100644 --- a/package/monit/monit.hash +++ b/package/monit/monit.hash @@ -1,4 +1,4 @@ -# From https://mmonit.com/monit/dist/monit-5.26.0.tar.gz.sha256: -sha256 87fc4568a3af9a2be89040efb169e3a2e47b262f99e78d5ddde99dd89f02f3c2 monit-5.26.0.tar.gz +# From https://mmonit.com/monit/dist/monit-5.33.0.tar.gz.sha256 +sha256 1ace889c0183473a9d70160df6533bb6e1338dc1354f5928507803e1e2a863b5 monit-5.33.0.tar.gz # Locally computed sha256 d5a4f52b1a5e1e7fe14e01a76aac8b08dc6bbea15466058f271456c97aac1ada COPYING diff --git a/package/monit/monit.mk b/package/monit/monit.mk index 6d5d4758134..c709f903e69 100644 --- a/package/monit/monit.mk +++ b/package/monit/monit.mk @@ -4,27 +4,35 @@ # ################################################################################ -MONIT_VERSION = 5.26.0 +MONIT_VERSION = 5.33.0 MONIT_SITE = http://mmonit.com/monit/dist MONIT_LICENSE = AGPL-3.0 with OpenSSL exception MONIT_LICENSE_FILES = COPYING MONIT_CPE_ID_VENDOR = mmonit MONIT_SELINUX_MODULES = monit -# + # Touching Makefile.am: +# 0001-configure.ac-fixes-missing-config-macro-dir.patch touches configure.ac MONIT_AUTORECONF = YES MONIT_CONF_ENV = \ libmonit_cv_setjmp_available=yes \ - libmonit_cv_vsnprintf_c99_conformant=yes + libmonit_cv_vsnprintf_c99_conformant=yes \ + ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) \ + ac_cv_ipv6=yes MONIT_CONF_OPTS += \ --without-pam \ --with-largefiles ifeq ($(BR2_PACKAGE_OPENSSL),y) -MONIT_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr -MONIT_DEPENDENCIES += openssl +MONIT_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` +ifeq ($(BR2_STATIC_LIBS),y) +MONIT_CONF_OPTS += --with-ssl-static=$(STAGING_DIR)/usr +else +MONIT_CONF_OPTS += --with-ssl --with-ssl-dir=$(STAGING_DIR)/usr +endif +MONIT_DEPENDENCIES += host-pkgconf openssl else MONIT_CONF_OPTS += --without-ssl endif diff --git a/package/mono-gtksharp3/mono-gtksharp3.mk b/package/mono-gtksharp3/mono-gtksharp3.mk index 126aabeda28..27fcda94822 100644 --- a/package/mono-gtksharp3/mono-gtksharp3.mk +++ b/package/mono-gtksharp3/mono-gtksharp3.mk @@ -6,7 +6,7 @@ MONO_GTKSHARP3_VERSION_MAJOR = 2.99 MONO_GTKSHARP3_VERSION = $(MONO_GTKSHARP3_VERSION_MAJOR).3 -MONO_GTKSHARP3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/$(MONO_GTKSHARP3_VERSION_MAJOR) +MONO_GTKSHARP3_SITE = https://download.gnome.org/sources/gtk-sharp/$(MONO_GTKSHARP3_VERSION_MAJOR) MONO_GTKSHARP3_SOURCE = gtk-sharp-$(MONO_GTKSHARP3_VERSION).tar.xz MONO_GTKSHARP3_LICENSE = LGPL-2.0, MIT (cairo) MONO_GTKSHARP3_LICENSE_FILES = COPYING diff --git a/package/mono/Config.in b/package/mono/Config.in index 76178bcf9be..0152df8268e 100644 --- a/package/mono/Config.in +++ b/package/mono/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS config BR2_PACKAGE_MONO_ARCH_SUPPORTS bool - default y if (BR2_arm || BR2_armeb || BR2_i386 || \ - BR2_powerpc || BR2_x86_64) + default y if (BR2_aarch64 || BR2_arm || BR2_armeb || \ + BR2_i386 || BR2_powerpc || BR2_x86_64) depends on BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS diff --git a/package/mono/mono.hash b/package/mono/mono.hash index 8b72ae68ede..1010f6d0abf 100644 --- a/package/mono/mono.hash +++ b/package/mono/mono.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 29c277660fc5e7513107aee1cbf8c5057c9370a4cdfeda2fc781be6986d89d23 mono-6.12.0.122.tar.xz +sha256 57366a6ab4f3b5ecf111d48548031615b3a100db87c679fc006e8c8a4efd9424 mono-6.12.0.182.tar.xz sha256 923c7053ad0d430cd9b0b69a0ccf3abb7170a1ce50ecbf01915b565a35823d10 LICENSE sha256 fc488f3ec9f36856bea8cce5cdde1449176341ef93a3962b691970f8981799f4 mcs/COPYING sha256 2c3c3ef532828bcd42bb3127349625a25291ff5ae7e6f8d42e0fe9b5be836a99 external/Newtonsoft.Json/Tools/7-zip/copying.txt diff --git a/package/mono/mono.mk b/package/mono/mono.mk index 219effc5d3f..aead85bac08 100644 --- a/package/mono/mono.mk +++ b/package/mono/mono.mk @@ -4,9 +4,10 @@ # ################################################################################ -MONO_VERSION = 6.12.0.122 +MONO_VERSION = 6.12.0.182 MONO_SITE = http://download.mono-project.com/sources/mono MONO_SOURCE = mono-$(MONO_VERSION).tar.xz +MONO_SELINUX_MODULES = mono MONO_LICENSE = GPL-2.0 or MIT (compiler, tools), MIT (libs) or commercial MONO_LICENSE_FILES = LICENSE mcs/COPYING \ external/Newtonsoft.Json/Tools/7-zip/copying.txt diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in index 6fa5f79c6c0..8bedf2ad21c 100644 --- a/package/mosquitto/Config.in +++ b/package/mosquitto/Config.in @@ -25,6 +25,7 @@ config BR2_PACKAGE_MOSQUITTO_BROKER depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # include depends on BR2_PACKAGE_MOSQUITTO + select BR2_PACKAGE_LIBWEBSOCKETS_EXT_POLL if BR2_PACKAGE_LIBWEBSOCKETS help Build and install the mosquitto broker onto target. diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index 2cfd0d94224..453c1934dd1 100644 --- a/package/mosquitto/mosquitto.hash +++ b/package/mosquitto/mosquitto.hash @@ -1,6 +1,6 @@ # Locally calculated after checking gpg signature -# from https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz.asc -sha256 4735b1d32e3f91c7a8896741d88a3022e89730a1ee897946decfa0df27039ac6 mosquitto-2.0.15.tar.gz +# from https://mosquitto.org/files/source/mosquitto-2.0.18.tar.gz.asc +sha256 d665fe7d0032881b1371a47f34169ee4edab67903b2cd2b4c083822823f4448a mosquitto-2.0.18.tar.gz # License files sha256 d3c4ccace4e5d3cc89d34cf2a0bc85b8596bfc0a32b815d0d77f9b7c41b5350c LICENSE.txt diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index a95a2cac4dc..b847e56fec5 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 2.0.15 +MOSQUITTO_VERSION = 2.0.18 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10 diff --git a/package/motion/0001-configure.ac-remove-po-Makefile.in.patch b/package/motion/0001-configure.ac-remove-po-Makefile.in.patch deleted file mode 100644 index 9b514bafcd0..00000000000 --- a/package/motion/0001-configure.ac-remove-po-Makefile.in.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0e05d4116678de3a7d913177a8fc63f10e58ad24 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 18 Jan 2020 00:00:21 +0100 -Subject: [PATCH] configure.ac: remove po/Makefile.in - -The file po/Makefile.in is automatically added to AC_OUTPUT while using -gettexize - -Signed-off-by: Fabrice Fontaine -[Upstream status: not upstreamable] ---- - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 3876adb..221dacf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -471,7 +471,6 @@ LDFLAGS="$TEMP_LDFLAGS" - AC_CONFIG_FILES([ - Makefile - src/Makefile -- po/Makefile.in - man/Makefile - data/camera1-dist.conf - data/camera2-dist.conf --- -2.24.1 - diff --git a/package/motion/motion.hash b/package/motion/motion.hash index 9b992568642..e8bbfbcbcbc 100644 --- a/package/motion/motion.hash +++ b/package/motion/motion.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 42320a1c7b54a3f0b5a49cecf34a5d752760b28383bc573b3ca1240581786fe5 motion-4.5.0.tar.gz +sha256 9268df31a5ebeaf8daca4747cdcd01c86e223625b6f971e9bcec98edf35ec06f motion-4.6.0.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/motion/motion.mk b/package/motion/motion.mk index 18fe0eb630f..ff5e2c1403d 100644 --- a/package/motion/motion.mk +++ b/package/motion/motion.mk @@ -4,15 +4,15 @@ # ################################################################################ -MOTION_VERSION = 4.5.0 +MOTION_VERSION = 4.6.0 MOTION_SITE = $(call github,Motion-Project,motion,release-$(MOTION_VERSION)) MOTION_LICENSE = GPL-2.0 MOTION_LICENSE_FILES = LICENSE -MOTION_CPE_ID_VENDOR = motion_project +MOTION_CPE_ID_VALID = YES MOTION_DEPENDENCIES = host-pkgconf jpeg libmicrohttpd $(TARGET_NLS_DEPENDENCIES) # From git MOTION_AUTORECONF = YES -MOTION_GETTEXTIZE = YES +MOTION_AUTOPOINT = YES MOTION_CONF_OPTS += --without-optimizecpu @@ -23,8 +23,8 @@ else MOTION_CONF_OPTS += --without-ffmpeg endif -ifeq ($(BR2_PACKAGE_MYSQL),y) -MOTION_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_MARIADB),y) +MOTION_DEPENDENCIES += mariadb MOTION_CONF_OPTS += --with-mysql else MOTION_CONF_OPTS += --without-mysql diff --git a/package/mp4v2/mp4v2.hash b/package/mp4v2/mp4v2.hash index d3f02436504..4605ee6b0d7 100644 --- a/package/mp4v2/mp4v2.hash +++ b/package/mp4v2/mp4v2.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 29420c62e56a2e527fd8979d59d05ed6d83ebe27e0e2c782c1ec19a3a402eaee mp4v2-2.1.1.tar.bz2 +sha256 033185c17bf3c5fdd94020c95f8325be2e5356558e3913c3d6547a85dd61f7f1 mp4v2-2.1.3.tar.bz2 sha256 7187891a4c39ee9e7ec70c71fc7dc8b8ed02c6f56ae1ffc017a34ac66dca5390 COPYING diff --git a/package/mp4v2/mp4v2.mk b/package/mp4v2/mp4v2.mk index 7de837c170e..ae777cdc75a 100644 --- a/package/mp4v2/mp4v2.mk +++ b/package/mp4v2/mp4v2.mk @@ -4,7 +4,7 @@ # ################################################################################ -MP4V2_VERSION = 2.1.1 +MP4V2_VERSION = 2.1.3 MP4V2_SITE = \ https://github.com/enzo1982/mp4v2/releases/download/v$(MP4V2_VERSION) MP4V2_SOURCE = mp4v2-$(MP4V2_VERSION).tar.bz2 diff --git a/package/mpd-mpc/mpd-mpc.hash b/package/mpd-mpc/mpd-mpc.hash index 4f4af9a91d6..0ccda3c7852 100644 --- a/package/mpd-mpc/mpd-mpc.hash +++ b/package/mpd-mpc/mpd-mpc.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 691e3f3654bc10d022bb0310234d0bc2d8c075a698f09924d9ebed8f506fda20 mpc-0.34.tar.xz +sha256 382959c3bfa2765b5346232438650491b822a16607ff5699178aa1386e3878d4 mpc-0.35.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd-mpc/mpd-mpc.mk b/package/mpd-mpc/mpd-mpc.mk index 00d1964fe6b..a58423b4bcd 100644 --- a/package/mpd-mpc/mpd-mpc.mk +++ b/package/mpd-mpc/mpd-mpc.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_MPC_VERSION_MAJOR = 0 -MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).34 +MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).35 MPD_MPC_SITE = http://www.musicpd.org/download/mpc/$(MPD_MPC_VERSION_MAJOR) MPD_MPC_SOURCE = mpc-$(MPD_MPC_VERSION).tar.xz MPD_MPC_LICENSE = GPL-2.0+ diff --git a/package/mpd/Config.in b/package/mpd/Config.in index 8f0af7b2d36..902a3da7795 100644 --- a/package/mpd/Config.in +++ b/package/mpd/Config.in @@ -127,7 +127,7 @@ config BR2_PACKAGE_MPD_LIBSNDFILE config BR2_PACKAGE_MPD_MAD bool "mad" default y - select BR2_PACKAGE_LIBID3TAG + select BR2_PACKAGE_MPD_ID3TAG select BR2_PACKAGE_LIBMAD help Enable mad input support. @@ -141,7 +141,7 @@ config BR2_PACKAGE_MPD_MODPLUG config BR2_PACKAGE_MPD_MPG123 bool "mpg123" - select BR2_PACKAGE_LIBID3TAG + select BR2_PACKAGE_MPD_ID3TAG select BR2_PACKAGE_MPG123 help Enable mpg123 input support. @@ -407,6 +407,7 @@ config BR2_PACKAGE_MPD_UPNP_PUPNP config BR2_PACKAGE_MPD_UPNP_NPUPNP bool "npupnp" + select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBNPUPNP select BR2_PACKAGE_MPD_CURL help diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash index 8c488d0357f..4ee49675566 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 edb4e7a8f9dff238b5610f9e2461940ea98c727a5462fafb1cdf836304dfdca9 mpd-0.23.11.tar.xz +sha256 85b9a67426d528ae9fb849eb3b10faf52d4b18d22b1fd71088e6d9a388b509d2 mpd-0.23.14.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index 449600eda21..4dbd7a6d1dc 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_VERSION_MAJOR = 0.23 -MPD_VERSION = $(MPD_VERSION_MAJOR).11 +MPD_VERSION = $(MPD_VERSION_MAJOR).14 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz MPD_SITE = https://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) MPD_DEPENDENCIES = host-pkgconf boost fmt @@ -29,6 +29,13 @@ else MPD_CONF_OPTS += -Dzeroconf=disabled endif +ifeq ($(BR2_PACKAGE_EXPAT),y) +MPD_DEPENDENCIES += expat +MPD_CONF_OPTS += -Dexpat=enabled +else +MPD_CONF_OPTS += -Dexpat=disabled +endif + # MPD prefers libicu for utf8 collation instead of libglib2. ifeq ($(BR2_PACKAGE_ICU),y) MPD_DEPENDENCIES += icu @@ -37,6 +44,13 @@ else MPD_CONF_OPTS += -Dicu=disabled endif +ifeq ($(BR2_PACKAGE_YAJL),y) +MPD_DEPENDENCIES += yajl +MPD_CONF_OPTS += -Dyajl=enabled +else +MPD_CONF_OPTS += -Dyajl=disabled +endif + ifeq ($(BR2_PACKAGE_MPD_ALSA),y) MPD_DEPENDENCIES += alsa-lib MPD_CONF_OPTS += -Dalsa=enabled @@ -190,7 +204,7 @@ MPD_CONF_OPTS += -Dsoxr=disabled endif ifeq ($(BR2_PACKAGE_MPD_MAD),y) -MPD_DEPENDENCIES += libid3tag libmad +MPD_DEPENDENCIES += libmad MPD_CONF_OPTS += -Dmad=enabled else MPD_CONF_OPTS += -Dmad=disabled @@ -204,7 +218,7 @@ MPD_CONF_OPTS += -Dmodplug=disabled endif ifeq ($(BR2_PACKAGE_MPD_MPG123),y) -MPD_DEPENDENCIES += libid3tag mpg123 +MPD_DEPENDENCIES += mpg123 MPD_CONF_OPTS += -Dmpg123=enabled else MPD_CONF_OPTS += -Dmpg123=disabled @@ -251,7 +265,7 @@ MPD_CONF_OPTS += -Dpulse=disabled endif ifeq ($(BR2_PACKAGE_MPD_QOBUZ),y) -MPD_DEPENDENCIES += libgcrypt yajl +MPD_DEPENDENCIES += libgcrypt MPD_CONF_OPTS += -Dqobuz=enabled else MPD_CONF_OPTS += -Dqobuz=disabled @@ -272,7 +286,6 @@ MPD_CONF_OPTS += -Dsidplay=disabled endif ifeq ($(BR2_PACKAGE_MPD_SOUNDCLOUD),y) -MPD_DEPENDENCIES += yajl MPD_CONF_OPTS += -Dsoundcloud=enabled else MPD_CONF_OPTS += -Dsoundcloud=disabled @@ -285,8 +298,10 @@ else MPD_CONF_OPTS += -Dsqlite=disabled endif -ifneq ($(BR2_PACKAGE_MPD_TCP),y) +ifeq ($(BR2_PACKAGE_MPD_TCP),y) MPD_CONF_OPTS += -Dtcp=true +else +MPD_CONF_OPTS += -Dtcp=false endif ifeq ($(BR2_PACKAGE_MPD_TREMOR),y) @@ -305,7 +320,6 @@ endif ifeq ($(BR2_PACKAGE_MPD_UPNP_PUPNP),y) MPD_DEPENDENCIES += \ - expat \ libupnp MPD_CONF_OPTS += -Dupnp=pupnp else ifeq ($(BR2_PACKAGE_MPD_UPNP_NPUPNP),y) diff --git a/package/mpfr/mpfr.hash b/package/mpfr/mpfr.hash index 35056f626ae..4b0d14c9c2c 100644 --- a/package/mpfr/mpfr.hash +++ b/package/mpfr/mpfr.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f mpfr-4.1.0.tar.xz +sha256 ffd195bd567dbaffc3b98b23fd00aad0537680c9896171e44fe3ff79e28ac33d mpfr-4.1.1.tar.xz # Hash for license file sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 COPYING.LESSER diff --git a/package/mpfr/mpfr.mk b/package/mpfr/mpfr.mk index cd558dae0ea..c0c8c046469 100644 --- a/package/mpfr/mpfr.mk +++ b/package/mpfr/mpfr.mk @@ -4,12 +4,13 @@ # ################################################################################ -MPFR_VERSION = 4.1.0 +MPFR_VERSION = 4.1.1 MPFR_SITE = http://www.mpfr.org/mpfr-$(MPFR_VERSION) MPFR_SOURCE = mpfr-$(MPFR_VERSION).tar.xz MPFR_LICENSE = LGPL-3.0+ MPFR_LICENSE_FILES = COPYING.LESSER -MPFR_CPE_ID_VENDOR = gnu +MPFR_CPE_ID_VENDOR = mpfr +MPFR_CPE_ID_PRODUCT = gnu_mpfr MPFR_INSTALL_STAGING = YES MPFR_DEPENDENCIES = gmp HOST_MPFR_DEPENDENCIES = host-gmp diff --git a/package/mpg123/mpg123.hash b/package/mpg123/mpg123.hash index e5fb09b46a0..0fe46996062 100644 --- a/package/mpg123/mpg123.hash +++ b/package/mpg123/mpg123.hash @@ -1,7 +1,6 @@ -# From https://sourceforge.net/projects/mpg123/files/mpg123/1.25.15/ -sha1 286fcb83afad3ecbfea60434d3ee1b6d7f41bb7c mpg123-1.25.15.tar.bz2 -md5 9a050d4b3573661c606f8095a3f34ca3 mpg123-1.25.15.tar.bz2 +# From https://sourceforge.net/projects/mpg123/files/mpg123/1.32.3/ +sha1 3a94848a620db7917c757cb21e261c711e44618f mpg123-1.32.3.tar.bz2 # Locally calculated -sha256 503a76d82d97f1a6513bbeb284e460a99fb17ef80f23a661d8fc026ce6adcbbc mpg123-1.25.15.tar.bz2 +sha256 2d9913a57d4ee8f497a182c6e82582602409782a4fb481e989feebf4435867b4 mpg123-1.32.3.tar.bz2 # License file -sha256 f40e0dd86b27b52e429b693a87b3ca63ae0a98a4d142e77207aa6bdf1db7a295 COPYING +sha256 c22482728a634a8dfdb4ff72a96d4c1ed64cd8f3e79335c401751ac591609366 COPYING diff --git a/package/mpg123/mpg123.mk b/package/mpg123/mpg123.mk index fbb011c2c2d..4de5f99bdfc 100644 --- a/package/mpg123/mpg123.mk +++ b/package/mpg123/mpg123.mk @@ -4,15 +4,22 @@ # ################################################################################ -MPG123_VERSION = 1.25.15 +MPG123_VERSION = 1.32.3 MPG123_SOURCE = mpg123-$(MPG123_VERSION).tar.bz2 -MPG123_SITE = http://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) +MPG123_SITE = https://downloads.sourceforge.net/project/mpg123/mpg123/$(MPG123_VERSION) MPG123_INSTALL_STAGING = YES MPG123_LICENSE = LGPL-2.1 MPG123_LICENSE_FILES = COPYING MPG123_CPE_ID_VENDOR = mpg123 MPG123_DEPENDENCIES = host-pkgconf +# mpg123 has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `smull r3,ip,r2,r10' in Thumb mode +# so, we desactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +MPG123_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + MPG123_CPU = $(if $(BR2_SOFT_FLOAT),generic_nofpu,generic_fpu) ifeq ($(BR2_aarch64),y) diff --git a/package/mpir/mpir.mk b/package/mpir/mpir.mk index 91f704d30cd..5dbd760aa1f 100644 --- a/package/mpir/mpir.mk +++ b/package/mpir/mpir.mk @@ -36,4 +36,8 @@ ifeq ($(BR2_powerpc64le),y) MPIR_CONF_ENV += MPN_PATH="generic" endif +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +MPIR_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + $(eval $(autotools-package)) diff --git a/package/mpv/Config.in b/package/mpv/Config.in index 6811497d733..5c32f593fe7 100644 --- a/package/mpv/Config.in +++ b/package/mpv/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_MPV bool "mpv" depends on BR2_INSTALL_LIBSTDCPP # libass depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libass - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C11/stdatomic.h depends on BR2_TOOLCHAIN_HAS_ATOMIC @@ -26,6 +26,7 @@ config BR2_PACKAGE_MPV select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXINERAMA if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXPRESENT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 help @@ -34,10 +35,10 @@ config BR2_PACKAGE_MPV https://mpv.io/ -comment "mpv needs a toolchain w/ C++, threads, gcc >= 4.9" +comment "mpv needs a toolchain w/ C++, NPTL, gcc >= 4.9" depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/mpv/mpv.hash b/package/mpv/mpv.hash index 0c7eb5f8a5a..a09015619d4 100644 --- a/package/mpv/mpv.hash +++ b/package/mpv/mpv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 100a116b9f23bdcda3a596e9f26be3a69f166a4f1d00910d1789b6571c46f3a9 mpv-0.33.1.tar.gz -sha256 a99d7b0625a0566271aad6de694e52eafd566db024f9516720d526c680d3ee30 LICENSE.GPL +sha256 41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9 mpv-0.35.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk index f9250070d13..cf37091186a 100644 --- a/package/mpv/mpv.mk +++ b/package/mpv/mpv.mk @@ -4,7 +4,7 @@ # ################################################################################ -MPV_VERSION = 0.33.1 +MPV_VERSION = 0.35.1 MPV_SITE = $(call github,mpv-player,mpv,v$(MPV_VERSION)) MPV_DEPENDENCIES = \ host-pkgconf ffmpeg libass zlib \ @@ -205,7 +205,13 @@ endif # xlib_libXrandr, xlib_libXScrnSaver. ifeq ($(BR2_PACKAGE_XORG7),y) MPV_CONF_OPTS += --enable-x11 -MPV_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXinerama xlib_libXrandr xlib_libXScrnSaver +MPV_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXinerama \ + xlib_libXpresent \ + xlib_libXrandr \ + xlib_libXScrnSaver # XVideo ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y) MPV_CONF_OPTS += --enable-xv diff --git a/package/mrouted/mrouted.hash b/package/mrouted/mrouted.hash index affb323b4b8..7516a1329cd 100644 --- a/package/mrouted/mrouted.hash +++ b/package/mrouted/mrouted.hash @@ -1,5 +1,5 @@ -# From https://github.com/troglobit/mrouted/releases/download/4.4/mrouted-4.4.tar.gz.sha256 -sha256 095439e544d69c91ed64fa87db7e35bc2155eef48b7f268281d80946d2c6b953 mrouted-4.4.tar.gz +# From https://github.com/troglobit/mrouted/releases/ +sha256 99e1a1ca45e4e6c05b3cf379fd59a239aeabd9512656114528ad5e172d3c8ba8 mrouted-4.5.tar.gz # Locally calculated sha256 834f45ed282fd010f354ecc0a50538af519a1cfcc4d2866de3be06982fa9ed29 LICENSE diff --git a/package/mrouted/mrouted.mk b/package/mrouted/mrouted.mk index 4014b8f896b..0d2071c4f07 100644 --- a/package/mrouted/mrouted.mk +++ b/package/mrouted/mrouted.mk @@ -4,7 +4,7 @@ # ################################################################################ -MROUTED_VERSION = 4.4 +MROUTED_VERSION = 4.5 MROUTED_SITE = \ https://github.com/troglobit/mrouted/releases/download/$(MROUTED_VERSION) MROUTED_DEPENDENCIES = host-bison @@ -18,6 +18,7 @@ define MROUTED_INSTALL_INIT_SYSV endef define MROUTED_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/var/lib/misc/ $(INSTALL) -D -m 644 $(@D)/mrouted.service \ $(TARGET_DIR)/usr/lib/systemd/system/mrouted.service endef diff --git a/package/msmtp/msmtp.hash b/package/msmtp/msmtp.hash index c5571f2fb34..ba4ef027464 100644 --- a/package/msmtp/msmtp.hash +++ b/package/msmtp/msmtp.hash @@ -1,7 +1,7 @@ # Locally calculated after checking signature -# https://marlam.de/msmtp/releases/msmtp-1.8.22.tar.xz.sig +# https://marlam.de/msmtp/releases/msmtp-1.8.25.tar.xz.sig # with key 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 -sha256 1b04206286a5b82622335e4eb09e17074368b7288e53d134543cbbc6b79ea3e7 msmtp-1.8.22.tar.xz +sha256 2dfe1dbbb397d26fe0b0b6b2e9cd2efdf9d72dd42d18e70d7f363ada2652d738 msmtp-1.8.25.tar.xz # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index c3928ffcbb1..b964970bfa5 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -4,7 +4,7 @@ # ################################################################################ -MSMTP_VERSION = 1.8.22 +MSMTP_VERSION = 1.8.25 MSMTP_SITE = https://marlam.de/msmtp/releases MSMTP_SOURCE = msmtp-$(MSMTP_VERSION).tar.xz MSMTP_DEPENDENCIES = host-pkgconf diff --git a/package/mtd/Config.in b/package/mtd/Config.in index c45dd1e2b76..3ba48da645f 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -71,6 +71,9 @@ config BR2_PACKAGE_MTD_JFFS2DUMP bool "jffs2dump" select BR2_PACKAGE_MTD_JFFS_UTILS +config BR2_PACKAGE_MTD_LSMTD + bool "lsmtd" + config BR2_PACKAGE_MTD_MKFSJFFS2 bool "mkfs.jffs2" select BR2_PACKAGE_MTD_JFFS_UTILS diff --git a/package/mtd/mtd.hash b/package/mtd/mtd.hash index a2133e3ce23..9926a34a804 100644 --- a/package/mtd/mtd.hash +++ b/package/mtd/mtd.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.1.5.tar.bz2.asc -sha256 386e27fd121699b6b729bc2e8e04dda987b31cca6b16e12fb6cc6dcf26449f46 mtd-utils-2.1.5.tar.bz2 +# https://infraroot.at/pub/mtd/mtd-utils-2.1.6.tar.bz2.asc +sha256 c1d853bc4adf83bcabd2792fc95af33bdd8643c97e8f7b3f0180af36af76f0e5 mtd-utils-2.1.6.tar.bz2 sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk index 6e266a8760c..39b9f2a5236 100644 --- a/package/mtd/mtd.mk +++ b/package/mtd/mtd.mk @@ -4,9 +4,9 @@ # ################################################################################ -MTD_VERSION = 2.1.5 +MTD_VERSION = 2.1.6 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 -MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils +MTD_SITE = https://infraroot.at/pub/mtd MTD_LICENSE = GPL-2.0 MTD_LICENSE_FILES = COPYING MTD_CPE_ID_VENDOR = mtd-utils_project @@ -94,6 +94,7 @@ MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump +MTD_TARGETS_$(BR2_PACKAGE_MTD_LSMTD) += lsmtd MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2 MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug MTD_TARGETS_$(BR2_PACKAGE_MTD_MTDPART) += mtdpart diff --git a/package/mtools/mtools.hash b/package/mtools/mtools.hash index a162bfdc95d..412d67a328b 100644 --- a/package/mtools/mtools.hash +++ b/package/mtools/mtools.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 7086821b399a39b8a3c5a372d064de4860f3c195b4911dd4e8b76219fcabe75c mtools-4.0.38.tar.lz +sha256 997ffe4125a19de1fd433ed63f128f7d54bc1a5915f3cdb36da6491ef917f217 mtools-4.0.43.tar.lz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/mtools/mtools.mk b/package/mtools/mtools.mk index c875814bc7e..96d8e43ea21 100644 --- a/package/mtools/mtools.mk +++ b/package/mtools/mtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MTOOLS_VERSION = 4.0.38 +MTOOLS_VERSION = 4.0.43 MTOOLS_SOURCE = mtools-$(MTOOLS_VERSION).tar.lz MTOOLS_SITE = $(BR2_GNU_MIRROR)/mtools MTOOLS_LICENSE = GPL-3.0+ diff --git a/package/multipath-tools/0001-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch b/package/multipath-tools/0001-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch deleted file mode 100644 index 133094a7f79..00000000000 --- a/package/multipath-tools/0001-Makefile.inc-Enable-systemd-if-ENABLE_SYSTEMD-is-def.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8370da992c752e4238de7a8b02ce0e179353c959 Mon Sep 17 00:00:00 2001 -From: Alexander Egorenkov -Date: Sun, 6 Sep 2020 10:37:41 +0200 -Subject: [PATCH] Makefile.inc: Enable systemd if ENABLE_SYSTEMD is defined - -systemd is disabled by default, to activate it set ENABLE_SYSTEMD. - -Signed-off-by: Alexander Egorenkov ---- - Makefile.inc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile.inc b/Makefile.inc -index d4d1e0dd..32bc1846 100644 ---- a/Makefile.inc -+++ b/Makefile.inc -@@ -35,6 +35,7 @@ ifndef RUN - endif - endif - -+ifdef ENABLE_SYSTEMD - ifndef SYSTEMD - ifeq ($(shell pkg-config --modversion libsystemd >/dev/null 2>&1 && echo 1), 1) - SYSTEMD = $(shell pkg-config --modversion libsystemd) -@@ -45,6 +46,7 @@ ifndef SYSTEMD - endif - endif - endif -+endif - - ifndef SYSTEMDPATH - SYSTEMDPATH=usr/lib --- -2.28.0 - diff --git a/package/multipath-tools/Config.in b/package/multipath-tools/Config.in index fc4b01b2ac8..bc0f67190db 100644 --- a/package/multipath-tools/Config.in +++ b/package/multipath-tools/Config.in @@ -1,25 +1,28 @@ -comment "multipath-tools needs udev and a uClibc or glibc toolchain w/ threads, dynamic library" +comment "multipath-tools needs udev and a toolchain w/ threads, dynamic library, C++" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_PACKAGE_HAS_UDEV + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_MULTIPATH_TOOLS bool "multipath-tools" depends on !BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_INSTALL_LIBSTDCPP # liburcu select BR2_PACKAGE_JSON_C select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_LIBAIO select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LVM2_STANDARD_INSTALL select BR2_PACKAGE_READLINE + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBS + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT help This package provides the following binaries to drive the Device Mapper multipathing driver: diff --git a/package/multipath-tools/multipath-tools.hash b/package/multipath-tools/multipath-tools.hash index 6f893d37ce2..03a2867144a 100644 --- a/package/multipath-tools/multipath-tools.hash +++ b/package/multipath-tools/multipath-tools.hash @@ -1,7 +1,6 @@ # Locally computed: -sha256 7d5af5d86e43b757e253d1ba244aa8a9c09bfbb1677a72accb799b1bfcc0a9ac multipath-tools-0.9.3.tar.gz +sha256 8f0a7ddc01137d0f90ac3ef5700131dfbd6cf3bbbccdcfa317e8379efa328d59 multipath-tools-0.9.7.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0 sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0 sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c LICENSES/LGPL-2.0 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1 -sha256 1e6095ac219062b8ddb2416d2a3cc40560619cd6b3ba609f5602bbd320413be0 README.md diff --git a/package/multipath-tools/multipath-tools.mk b/package/multipath-tools/multipath-tools.mk index df3d5138e8f..164d8506004 100644 --- a/package/multipath-tools/multipath-tools.mk +++ b/package/multipath-tools/multipath-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -MULTIPATH_TOOLS_VERSION = 0.9.3 +MULTIPATH_TOOLS_VERSION = 0.9.7 MULTIPATH_TOOLS_SITE = $(call github,opensvc,multipath-tools,$(MULTIPATH_TOOLS_VERSION)) MULTIPATH_TOOLS_LICENSE = \ @@ -16,13 +16,21 @@ MULTIPATH_TOOLS_LICENSE_FILES = \ LICENSES/GPL-2.0 \ LICENSES/GPL-3.0 \ LICENSES/LGPL-2.0 \ - LICENSES/LGPL-2.1 \ - README.md + LICENSES/LGPL-2.1 MULTIPATH_TOOLS_CPE_ID_VENDOR = opensvc -MULTIPATH_TOOLS_DEPENDENCIES = lvm2 json-c readline udev liburcu libaio host-pkgconf +MULTIPATH_TOOLS_DEPENDENCIES = \ + host-pkgconf \ + json-c \ + liburcu \ + libaio \ + lvm2 \ + readline \ + udev \ + util-linux-libs + MULTIPATH_TOOLS_MAKE_OPTS = \ - LINUX_HEADERS_INCDIR=$(STAGING_DIR)/usr/include \ + kernel_incdir=$(STAGING_DIR)/usr/include \ LIB="lib" \ RUN="run" \ OPTFLAGS="" \ @@ -31,7 +39,8 @@ MULTIPATH_TOOLS_MAKE_OPTS = \ ifeq ($(BR2_PACKAGE_SYSTEMD),y) MULTIPATH_TOOLS_DEPENDENCIES += systemd -MULTIPATH_TOOLS_MAKE_OPTS += ENABLE_SYSTEMD=1 +else +MULTIPATH_TOOLS_MAKE_OPTS += SYSTEMD="" endif define MULTIPATH_TOOLS_BUILD_CMDS diff --git a/package/mupdf/0001-Add-missing-limits.h-include-for-UINT_MAX.patch b/package/mupdf/0001-Add-missing-limits.h-include-for-UINT_MAX.patch new file mode 100644 index 00000000000..95f2f86666d --- /dev/null +++ b/package/mupdf/0001-Add-missing-limits.h-include-for-UINT_MAX.patch @@ -0,0 +1,70 @@ +From ebce9f1b129ebc8f2b17afa02a4ffcb9453c11d9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= +Date: Mon, 24 Apr 2023 17:27:35 +0200 +Subject: [PATCH] Add missing limits.h include for UINT_MAX +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +encode-basic.c uses 'UINT_MAX', which is available in the 'limits.h' +header. + +In some configurations that build with zlib from [1], by chance +limits.h gets indirectly included when including 'z-imp.h' (the +includes are: 'z-imp.h' -> 'zlib.h' -> 'zconf.h' -> 'limits.h'), so +the build succeeds. + +When using other zlib implementations however (for example from [2]), +limits.h is not necessarily included indirectly, which leads to the +build failing in the following way: + +source/fitz/encode-basic.c: In function 'deflate_write': +source/fitz/encode-basic.c:343:27: error: 'UINT_MAX' undeclared (first use in this function) + 343 | newbufsize = n >= UINT_MAX ? UINT_MAX : deflateBound(&state->z, n); + | ^~~~~~~~ +source/fitz/encode-basic.c:26:1: note: 'UINT_MAX' is defined in header ''; did you forget to '#include '? + +Add the missing include, so that the build succeeds no matter if zlib +indirectly includes 'limit.h' or not. + +Similarly, also add it in output-ps.c where it's also missing. + +[1]: https://zlib.net/ +[2]: https://github.com/zlib-ng/zlib-ng + +Signed-off-by: Raphaël Mélotte +Upstream: https://bugs.ghostscript.com/show_bug.cgi?id=706667 +--- + source/fitz/encode-basic.c | 2 ++ + source/fitz/output-ps.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/source/fitz/encode-basic.c b/source/fitz/encode-basic.c +index 03a4ff76b..84f0c35e6 100644 +--- a/source/fitz/encode-basic.c ++++ b/source/fitz/encode-basic.c +@@ -24,6 +24,8 @@ + + #include "z-imp.h" + ++#include ++ + struct ahx + { + fz_output *chain; +diff --git a/source/fitz/output-ps.c b/source/fitz/output-ps.c +index ef22c3cd6..3dc8ea17d 100644 +--- a/source/fitz/output-ps.c ++++ b/source/fitz/output-ps.c +@@ -24,6 +24,8 @@ + + #include "z-imp.h" + ++#include ++ + typedef struct ps_band_writer_s + { + fz_band_writer super; +-- +2.39.1 + diff --git a/package/mupdf/mupdf.hash b/package/mupdf/mupdf.hash index 6785aa163a9..1f636097ed8 100644 --- a/package/mupdf/mupdf.hash +++ b/package/mupdf/mupdf.hash @@ -1,8 +1,8 @@ # From https://mupdf.com/downloads/index.html: -sha1 27d75cae256450abb9f50cd00b3e5a895fc684cf mupdf-1.21.0-source.tar.lz +sha1 b9907729d604f0bf3846b45cd5891e10d7a66e24 mupdf-1.22.0-source.tar.lz # Locally computed: -sha256 f23fc1ad9081375d9c5f2318d6e6e5c5be490ecb70b10ed7167932afbe1ccfb5 mupdf-1.21.0-source.tar.lz +sha256 bed78a0abf8496b30c523497292de979db633eca57e02f6cd0f3c7c042551c3e mupdf-1.22.0-source.tar.lz # Hash for license files: sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 COPYING diff --git a/package/mupdf/mupdf.mk b/package/mupdf/mupdf.mk index e93a41bd00f..08894d7980e 100644 --- a/package/mupdf/mupdf.mk +++ b/package/mupdf/mupdf.mk @@ -5,7 +5,7 @@ ################################################################################ # python-pymupdf's version must match mupdf's version -MUPDF_VERSION = 1.21.0 +MUPDF_VERSION = 1.22.0 MUPDF_SOURCE = mupdf-$(MUPDF_VERSION)-source.tar.lz MUPDF_SITE = https://mupdf.com/downloads/archive MUPDF_LICENSE = AGPL-3.0+ @@ -22,12 +22,6 @@ MUPDF_DEPENDENCIES = \ xlib_libX11 \ zlib -# 0002-Bug-703366-Fix-double-free-of-object-during-linearization.patch -MUPDF_IGNORE_CVES += CVE-2021-3407 - -# 0003-Bug-703791-Stay-within-hash-table-max-key-size-in-cached-color-converter.patch -MUPDF_IGNORE_CVES += CVE-2021-37220 - # The pkg-config name for gumbo-parser is `gumbo`. MUPDF_PKG_CONFIG_PACKAGES = \ freetype2 \ diff --git a/package/musepack/musepack.mk b/package/musepack/musepack.mk index fc66c684a52..02fe53d47d3 100644 --- a/package/musepack/musepack.mk +++ b/package/musepack/musepack.mk @@ -4,12 +4,12 @@ # ################################################################################ -MUSEPACK_VERSION = r475 +MUSEPACK_VERSION = 475 MUSEPACK_SITE = http://files.musepack.net/source -MUSEPACK_SOURCE = musepack_src_$(MUSEPACK_VERSION).tar.gz +MUSEPACK_SOURCE = musepack_src_r$(MUSEPACK_VERSION).tar.gz MUSEPACK_DEPENDENCIES = libcuefile libreplaygain MUSEPACK_INSTALL_STAGING = YES -MUSEPACK_MAKE = $(MAKE1) +MUSEPACK_BUILD_OPTS = -j1 MUSEPACK_LICENSE = BSD-3-Clause (*mpcdec), LGPL-2.1+ (*mpcenc) MUSEPACK_LICENSE_FILES = libmpcdec/COPYING libmpcenc/quant.c diff --git a/package/musl/0003-fix-incorrect-parameter-name-in-internal-netlink.h-R.patch b/package/musl/0003-fix-incorrect-parameter-name-in-internal-netlink.h-R.patch deleted file mode 100644 index fa3057ff082..00000000000 --- a/package/musl/0003-fix-incorrect-parameter-name-in-internal-netlink.h-R.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 8cf87b3027009c0acac591d9ae80262dc25daccf Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Wed, 21 Nov 2018 17:29:21 +0100 -Subject: [PATCH] fix incorrect parameter name in internal netlink.h RTA_OK - macro - -the wrong name works only by accident. - -Signed-off-by: Ondrej Jirman -Signed-off-by: Rich Felker -Signed-off-by: Petr Vorel - -[ upstream status: 8cf87b3027009c0acac591d9ae80262dc25daccf ] ---- - src/network/netlink.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/network/netlink.h b/src/network/netlink.h -index 38acb178..873fabe2 100644 ---- a/src/network/netlink.h -+++ b/src/network/netlink.h -@@ -86,7 +86,7 @@ struct ifaddrmsg { - #define RTA_DATALEN(rta) ((rta)->rta_len-sizeof(struct rtattr)) - #define RTA_DATAEND(rta) ((char*)(rta)+(rta)->rta_len) - #define RTA_NEXT(rta) (struct rtattr*)((char*)(rta)+NETLINK_ALIGN((rta)->rta_len)) --#define RTA_OK(nlh,end) ((char*)(end)-(char*)(rta) >= sizeof(struct rtattr)) -+#define RTA_OK(rta,end) ((char*)(end)-(char*)(rta) >= sizeof(struct rtattr)) - - #define NLMSG_RTA(nlh,len) ((void*)((char*)(nlh)+sizeof(struct nlmsghdr)+NETLINK_ALIGN(len))) - #define NLMSG_RTAOK(rta,nlh) RTA_OK(rta,NLMSG_DATAEND(nlh)) --- -2.36.0 - diff --git a/package/musl/Config.in b/package/musl/Config.in index c1a10bdd583..44654eff34d 100644 --- a/package/musl/Config.in +++ b/package/musl/Config.in @@ -1,9 +1,11 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS bool default y if BR2_aarch64 + default y if BR2_aarch64_be default y if BR2_arm default y if BR2_armeb default y if BR2_i386 + default y if BR2_m68k_m68k default y if BR2_microblaze default y if BR2_mips default y if BR2_mipsel @@ -14,9 +16,10 @@ config BR2_PACKAGE_MUSL_ARCH_SUPPORTS default y if BR2_powerpc64 default y if BR2_powerpc64le default y if BR2_RISCV_64 + default y if BR2_s390x default y if BR2_sh default y if BR2_x86_64 - depends on !BR2_powerpc_SPE # not supported, build breaks + depends on !BR2_POWERPC_CPU_HAS_SPE # not supported, build breaks depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC # sh2 nommu is supported by musl, but we don't have support # for it in Buildroot. @@ -37,4 +40,4 @@ config BR2_PACKAGE_MUSL # Compatibility headers: cdefs.h, queue.h select BR2_PACKAGE_MUSL_COMPAT_HEADERS help - https://www.musl-libc.org/ + http://musl.libc.org/ diff --git a/package/musl/musl.hash b/package/musl/musl.hash index e093a5358e6..3b5fccc9e28 100644 --- a/package/musl/musl.hash +++ b/package/musl/musl.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# https://musl.libc.org/releases/musl-1.2.3.tar.gz.asc -sha256 7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4 musl-1.2.3.tar.gz +# http://musl.libc.org/releases/musl-1.2.4.tar.gz.asc +sha256 7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039 musl-1.2.4.tar.gz sha256 f9bc4423732350eb0b3f7ed7e91d530298476f8fec0c6c427a1c04ade22655af COPYRIGHT diff --git a/package/musl/musl.mk b/package/musl/musl.mk index 30c3c2fbc01..08706c139ff 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -4,8 +4,8 @@ # ################################################################################ -MUSL_VERSION = 1.2.3 -MUSL_SITE = http://www.musl-libc.org/releases +MUSL_VERSION = 1.2.4 +MUSL_SITE = http://musl.libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT MUSL_CPE_ID_VENDOR = musl-libc diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash index 27e439183ae..72c7924e9b0 100644 --- a/package/mutt/mutt.hash +++ b/package/mutt/mutt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 eb13858f58bb369f477bf652d90e9b6aaddd0d610acbea3455049e5efad36df1 mutt-2.2.7.tar.gz +sha256 eb23faddc1cc97d867693f3a4a9f30949ad93765ad5b6fdae2797a4001c58efb mutt-2.2.13.tar.gz sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index 7a4bc1b10cb..9a6be6d4a00 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUTT_VERSION = 2.2.7 +MUTT_VERSION = 2.2.13 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL @@ -37,6 +37,14 @@ MUTT_DEPENDENCIES += libgpgme MUTT_CONF_OPTS += \ --enable-gpgme \ --with-gpgme-prefix=$(STAGING_DIR)/usr + +# Force the path to "gpgrt-config" (from the libgpg-error package) to +# avoid using the one on host, if present. +MUTT_GPGRT_CONFIG = $(STAGING_DIR)/usr/bin/gpgrt-config +ifeq ($(BR2_STATIC_LIBS),y) +MUTT_GPGRT_CONFIG += --static +endif +MUTT_CONF_ENV += GPGRT_CONFIG="$(MUTT_GPGRT_CONFIG)" else MUTT_CONF_OPTS += --disable-gpgme endif diff --git a/package/mxsldr/mxsldr.hash b/package/mxsldr/mxsldr.hash new file mode 100644 index 00000000000..c2a7b4ad648 --- /dev/null +++ b/package/mxsldr/mxsldr.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8ef7b7abb8d17c879e70b2c3911df8c5ce97f38779fa65d40be7f34febba55e1 mxsldr-2793a657ab7a22487d21c1b020957806f8ae8383-br1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/mysql/Config.in b/package/mysql/Config.in deleted file mode 100644 index ef4a9531a77..00000000000 --- a/package/mysql/Config.in +++ /dev/null @@ -1,84 +0,0 @@ -config BR2_PACKAGE_MYSQL - bool "mysql support" - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS - help - Select the desired mysql provider. - -if BR2_PACKAGE_MYSQL - -choice - prompt "mysql variant" - default BR2_PACKAGE_ORACLE_MYSQL - help - Select either the oracle mysql server or the mariadb server - -config BR2_PACKAGE_MARIADB - bool "mariadb" - depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 - select BR2_PACKAGE_LIBAIO - select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_HAS_MYSQL - help - MariaDB is one of the most popular database servers in the - world. It's made by the original developers of MySQL and - guaranteed to stay open source. - - http://www.mariadb.org/ - -comment "mariadb needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 - -config BR2_PACKAGE_ORACLE_MYSQL - bool "oracle mysql" - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_HAS_MYSQL - help - The MySQL Open Source Database System - - http://www.mysql.com/ - -endchoice - -if BR2_PACKAGE_MARIADB - -config BR2_PACKAGE_MARIADB_SERVER - bool "mariadb server" - help - Install the mariadb server on the target. - -config BR2_PACKAGE_MARIADB_SERVER_EMBEDDED - bool "mariadb embedded server" - depends on BR2_PACKAGE_MARIADB_SERVER - help - Install the mariadb embedded server on the target. - -endif - -if BR2_PACKAGE_ORACLE_MYSQL - -config BR2_PACKAGE_ORACLE_MYSQL_SERVER - bool "oracle mysql server" - help - Install the MySQL server on the target. - -endif - -config BR2_PACKAGE_HAS_MYSQL - bool - -config BR2_PACKAGE_PROVIDES_MYSQL - string - default "mariadb" if BR2_PACKAGE_MARIADB - default "oracle-mysql" if BR2_PACKAGE_ORACLE_MYSQL - -endif - -comment "mysql needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/mysql/mysql.mk b/package/mysql/mysql.mk deleted file mode 100644 index d65562563d8..00000000000 --- a/package/mysql/mysql.mk +++ /dev/null @@ -1,7 +0,0 @@ -################################################################################ -# -# mysql -# -################################################################################ - -$(eval $(virtual-package)) diff --git a/package/nano/nano.hash b/package/nano/nano.hash index 86f414aca05..3ca37c6337e 100644 --- a/package/nano/nano.hash +++ b/package/nano/nano.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://www.nano-editor.org/dist/v7/nano-7.0.tar.xz.asc +# https://www.nano-editor.org/dist/v7/nano-7.2.tar.xz.asc # using key 168E6F4297BFD7A79AFD4496514BBE2EB8E1961F -sha256 8dd6eac38b2b8786d82681f0e1afd84f6b75210d17391b6443c437e451552149 nano-7.0.tar.xz +sha256 86f3442768bd2873cec693f83cdf80b4b444ad3cc14760b74361474fc87a4526 nano-7.2.tar.xz sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/nano/nano.mk b/package/nano/nano.mk index f9338550d4e..8b93527becc 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -5,7 +5,7 @@ ################################################################################ NANO_VERSION_MAJOR = 7 -NANO_VERSION = $(NANO_VERSION_MAJOR).0 +NANO_VERSION = $(NANO_VERSION_MAJOR).2 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz NANO_LICENSE = GPL-3.0+ @@ -34,7 +34,7 @@ ifeq ($(BR2_PACKAGE_FILE),y) NANO_DEPENDENCIES += file NANO_CONF_OPTS += --enable-libmagic --enable-color --enable-nanorc else -NANO_CONF_OPTS += --disable-libmagic --disable-libmagic --disable-color +NANO_CONF_OPTS += --disable-libmagic --disable-color --disable-nanorc endif # BR2_PACKAGE_FILE endif # BR2_PACKAGE_NANO_TINY diff --git a/package/nanomsg/nanomsg.hash b/package/nanomsg/nanomsg.hash index 04b658e8d8e..abf117a572b 100644 --- a/package/nanomsg/nanomsg.hash +++ b/package/nanomsg/nanomsg.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a nanomsg-1.1.5.tar.gz +sha256 6ef7282e833df6a364f3617692ef21e59d5c4878acea4f2d7d36e21c8858de67 nanomsg-1.2.tar.gz # Hash for license file: sha256 4e51f6a04312ea7c5f4f0e92d91b6415c1eeb09bdaf86a6fd11d93499457c07a COPYING diff --git a/package/nanomsg/nanomsg.mk b/package/nanomsg/nanomsg.mk index b86e8c128a3..e5c576ef2cc 100644 --- a/package/nanomsg/nanomsg.mk +++ b/package/nanomsg/nanomsg.mk @@ -4,7 +4,7 @@ # ################################################################################ -NANOMSG_VERSION = 1.1.5 +NANOMSG_VERSION = 1.2 NANOMSG_SITE = $(call github,nanomsg,nanomsg,$(NANOMSG_VERSION)) NANOMSG_INSTALL_STAGING = YES NANOMSG_LICENSE = MIT diff --git a/package/nasm/nasm.hash b/package/nasm/nasm.hash index 86c67d6ba5e..e9771c1d7f4 100644 --- a/package/nasm/nasm.hash +++ b/package/nasm/nasm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f nasm-2.15.05.tar.xz +sha256 c77745f4802375efeee2ec5c0ad6b7f037ea9c87c92b149a9637ff099f162558 nasm-2.16.01.tar.xz sha256 1563996c52e220e15ef2418e67d39488255aa8c28c89e617074d3afe3ee329e0 LICENSE diff --git a/package/nasm/nasm.mk b/package/nasm/nasm.mk index ecb08893636..043a84cf076 100644 --- a/package/nasm/nasm.mk +++ b/package/nasm/nasm.mk @@ -4,7 +4,7 @@ # ################################################################################ -NASM_VERSION = 2.15.05 +NASM_VERSION = 2.16.01 NASM_SOURCE = nasm-$(NASM_VERSION).tar.xz NASM_SITE = https://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION) NASM_LICENSE = BSD-2-Clause diff --git a/package/nbd/nbd.hash b/package/nbd/nbd.hash index f58a89bf9af..9fe95441af1 100644 --- a/package/nbd/nbd.hash +++ b/package/nbd/nbd.hash @@ -1,7 +1,3 @@ -# From http://sourceforge.net/projects/nbd/files/nbd/3.24/ -md5 a6d9e7bbc311a2ed07ef84a58b82b5dd nbd-3.24.tar.xz -sha1 72c59ef5186ae355de6f539a1b348e18cbb8314e nbd-3.24.tar.xz - # Locally calculated -sha256 6877156d23a7b33f75eee89d2f5c2c91c542afc3cdcb636dea5a88539a58d10c nbd-3.24.tar.xz +sha256 f5c8fd0fcb57b1c926594d0e57f356432ee08678bef1d40d088f0830f0cbdd0a nbd-3.25.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk index 50f698dd24c..b077e436246 100644 --- a/package/nbd/nbd.mk +++ b/package/nbd/nbd.mk @@ -4,9 +4,9 @@ # ################################################################################ -NBD_VERSION = 3.24 +NBD_VERSION = 3.25 NBD_SOURCE = nbd-$(NBD_VERSION).tar.xz -NBD_SITE = http://downloads.sourceforge.net/project/nbd/nbd/$(NBD_VERSION) +NBD_SITE = https://github.com/NetworkBlockDevice/nbd/releases/download/nbd-$(NBD_VERSION) NBD_CONF_OPTS = --enable-lfs NBD_DEPENDENCIES = host-bison host-pkgconf libglib2 NBD_LICENSE = GPL-2.0 diff --git a/package/ncdu/ncdu.hash b/package/ncdu/ncdu.hash index 1e31eaea8ee..553e128ed10 100644 --- a/package/ncdu/ncdu.hash +++ b/package/ncdu/ncdu.hash @@ -1,7 +1,7 @@ # From https://dev.yorhel.nl/ncdu -md5 4186b5be477cc3a0944619ade81f123b ncdu-1.18.tar.gz -sha1 d47ce3cdf317adadc1426817d07899c90b767aba ncdu-1.18.tar.gz -sha256 3c37a1a96580c9c5d2cc352dc3c5eef0d909158c05f1cc29db4712544c8b9f95 ncdu-1.18.tar.gz +md5 7986451d5b222b8a99b5382f33a30831 ncdu-1.19.tar.gz +sha1 3ee7aff60bdaa1c79eb4f27e3d277fc2d76e0043 ncdu-1.19.tar.gz +sha256 30363019180cde0752c7fb006c12e154920412f4e1b5dc3090654698496bb17d ncdu-1.19.tar.gz # computed locally -sha256 4590cb935ff8a50cee76ce12c2cb0411c0b06e84c267b478579785dcf328660d COPYING +sha256 40372b6016a489b69a5d198526e0a1c284680900f48a8b725de440452098a97b COPYING diff --git a/package/ncdu/ncdu.mk b/package/ncdu/ncdu.mk index 240ef9d8eab..f14f61fec5f 100644 --- a/package/ncdu/ncdu.mk +++ b/package/ncdu/ncdu.mk @@ -4,7 +4,7 @@ # ################################################################################ -NCDU_VERSION = 1.18 +NCDU_VERSION = 1.19 NCDU_SITE = http://dev.yorhel.nl/download NCDU_DEPENDENCIES = ncurses diff --git a/package/ncftp/Config.in b/package/ncftp/Config.in index 6a939aa88cf..c8870a3dde8 100644 --- a/package/ncftp/Config.in +++ b/package/ncftp/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_NCFTP application programs implementing the File Transfer Protocol (FTP). - http://www.ncftp.com/ncftp/ + https://www.ncftp.com/ncftp/ if BR2_PACKAGE_NCFTP diff --git a/package/ncftp/ncftp.mk b/package/ncftp/ncftp.mk index 676a9c58959..d380ebae027 100644 --- a/package/ncftp/ncftp.mk +++ b/package/ncftp/ncftp.mk @@ -8,7 +8,7 @@ NCFTP_VERSION = 3.2.6 # use .gz as upstream .xz tarball has changed after the hash was added for # 2017.02. Can be changed back to .xz when version is bumped NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.gz -NCFTP_SITE = ftp://ftp.ncftp.com/ncftp +NCFTP_SITE = https://www.ncftp.com/public_ftp/ncftp/older_versions NCFTP_TARGET_BINS = ncftp NCFTP_LICENSE = Clarified Artistic License NCFTP_LICENSE_FILES = doc/LICENSE.txt diff --git a/package/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash index 17bc6e3acef..1d288294d19 100644 --- a/package/ncmpc/ncmpc.hash +++ b/package/ncmpc/ncmpc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 61da23b1bc6c7a593fdc28611932cd7a30fcf6803830e01764c29b8abed2249c ncmpc-0.47.tar.xz +sha256 65bbec0ede9e6bcf62ac647b0c706485beb2bdd5db70ca8d60103f32f162cf29 ncmpc-0.49.tar.xz # Hash for license file: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/ncmpc/ncmpc.mk b/package/ncmpc/ncmpc.mk index 5d4702de78a..ee75c2a676f 100644 --- a/package/ncmpc/ncmpc.mk +++ b/package/ncmpc/ncmpc.mk @@ -5,7 +5,7 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).47 +NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).49 NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR) NCMPC_DEPENDENCIES = \ @@ -16,7 +16,7 @@ NCMPC_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) NCMPC_LICENSE = GPL-2.0+ NCMPC_LICENSE_FILES = COPYING -NCMPC_CPE_ID_VENDOR = ncmpc_project +NCMPC_CPE_ID_VALID = YES NCMPC_CONF_OPTS = \ -Dcurses=ncurses \ diff --git a/package/ncurses/0001-gcc-5.x-MKlib_gen.patch b/package/ncurses/0001-gcc-5.x-MKlib_gen.patch deleted file mode 100644 index 0106e8077fe..00000000000 --- a/package/ncurses/0001-gcc-5.x-MKlib_gen.patch +++ /dev/null @@ -1,44 +0,0 @@ -Fix gcc 5.x build failure - -Extracted from upstream commit -http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517. - -+ modify MKlib_gen.sh to work around change in development version of - gcc introduced here: - https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html - https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html - (reports by Marcus Shawcroft, Maohui Lei). - -Original author: Thomas E. Dickey -Signed-off-by: Mikhail Peselnik -[Adam Duskett: Refresh for 6.1] -Signed-off-by: Adam Duskett ---- a/ncurses/base/MKlib_gen.sh 2015-08-06 20:48:24.000000000 -0400 -+++ b/ncurses/base/MKlib_gen.sh 2017-02-07 10:09:01.293962392 -0500 -@@ -505,11 +505,22 @@ - -e 's/gen_$//' \ - -e 's/ / /g' >>$TMP - -+cat >$ED1 < $ED2 -+cat $ED2 >$TMP -+ - $preprocessor $TMP 2>/dev/null \ --| sed \ -- -e 's/ / /g' \ -- -e 's/^ //' \ -- -e 's/_Bool/NCURSES_BOOL/g' \ -+| sed -f $ED1 \ - | $AWK -f $AW2 \ - | sed -f $ED3 \ - | sed \ diff --git a/package/ncurses/Config.in b/package/ncurses/Config.in index 9f7753b06aa..c0086cbbe39 100644 --- a/package/ncurses/Config.in +++ b/package/ncurses/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_NCURSES This package installs only a few vital termcap entries - http://www.gnu.org/software/ncurses/ + https://invisible-island.net/ncurses/ if BR2_PACKAGE_NCURSES diff --git a/package/ncurses/ncurses.hash b/package/ncurses/ncurses.hash index 69115f5caf6..b82a7b29e46 100644 --- a/package/ncurses/ncurses.hash +++ b/package/ncurses/ncurses.hash @@ -1,39 +1,4 @@ -# Locally calculated after checking pgp signature -sha256 aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17 ncurses-6.1.tar.gz -sha256 cf9038be62c49a6b5fe93f33b32f983649b2f4c4c31cc99bd18e1e5871c31443 ncurses-6.1-20190609-patch.sh.bz2 -sha256 4b0a4c6abce4543ac4fd4c3389b14825e73b7cddcbb01a687c5dd837f21a3b04 ncurses-6.1-20190615.patch.gz -sha256 b2302625ec2fa6dce79622670452e56ff6130dc02e655b52177264cfeff84c51 ncurses-6.1-20190623.patch.gz -sha256 48b004a3e5409a02a5e751f996fe487f5ce45be1fff38572f7cc8167b22179bf ncurses-6.1-20190630.patch.gz -sha256 faf849eed92161ac09782badf84a19ad6beae472e87d460905865e08a6ed46e4 ncurses-6.1-20190706.patch.gz -sha256 62d4954bf818659105aa1c21cc27cb2c133e02bdc7d3f6aa548caae2d1db7440 ncurses-6.1-20190713.patch.gz -sha256 0c1a54bd5de9c890d1fabcfa92bf5bf46f7eccc54a48051367e82bdb29636450 ncurses-6.1-20190720.patch.gz -sha256 0bbd08d3bd12686d4427c242d6a8fde2e299698039cd597303af713c5f538f17 ncurses-6.1-20190727.patch.gz -sha256 40e5f350a921dbd03e3d9ff93bc477ec4f1f65878f307c534882fba3b0b40507 ncurses-6.1-20190728.patch.gz -sha256 9648104311e209d17db9556d6efc898d5c80ed5fc80e8aa3cd08769544c839b8 ncurses-6.1-20190803.patch.gz -sha256 fa1f583575717b2538d3a4ea59a67bc17dd07ed46cb99fe2beaf23d1b006e9df ncurses-6.1-20190810.patch.gz -sha256 5e9ae4f1b3e2e2d567a01a8fb2c9b7f3804cae97f28cd483d239afee781b8c2b ncurses-6.1-20190817.patch.gz -sha256 7592e5e610b3e9eeca78897da2330b7518f00e0a59d20df873c88a9b26bc4da9 ncurses-6.1-20190824.patch.gz -sha256 1a9800a5ccc4f2cb572b63cdc8f1431642e014a58a30151af73977614d5c4aac ncurses-6.1-20190831.patch.gz -sha256 87685a6b90225efcd03375eb11b124fd9e95ee4b0f36bcbc82e56a70cd466b33 ncurses-6.1-20190907.patch.gz -sha256 4ddebb6e0e5a67028eb3aca2352c9bd48cf122a512719f93e449e00a3c6634f8 ncurses-6.1-20190914.patch.gz -sha256 4c725fa729d754f4e75af78fda4cf67d60e71c1625b5f4f49b7930c95bb8dd36 ncurses-6.1-20190921.patch.gz -sha256 a830b879b57906b1e480e4785b32cec05081b7849c06c4b116459c4d343ba21b ncurses-6.1-20190928.patch.gz -sha256 d5eae35d920409613f565825e1e215fed89828040aab541328455da38e1a9b7c ncurses-6.1-20191005.patch.gz -sha256 136dbd07254810728c1fcb7614b566e7c3cb6af8c0783019bbb6b4b5e3c1e2c6 ncurses-6.1-20191012.patch.gz -sha256 1d5125b20792e9f534432c3ef2aa68984c713416addeb2c4364c5ae897a3b8b7 ncurses-6.1-20191015.patch.gz -sha256 a6475c05312ba0b12b72b83529c1d283a14c4470414c505fa45451e35f3ffcf5 ncurses-6.1-20191019.patch.gz -sha256 f6c7469f33065faf1d04ac9e9bea1a88142b00b82e3db3674cca9ec24920b4af ncurses-6.1-20191026.patch.gz -sha256 0d0443937b9c04663de25b405bb95e658e7c87e1dd7a726b3813aa7f9b55f69a ncurses-6.1-20191102.patch.gz -sha256 f3b75787918d2f02a2005877e81fdc054c45b8249b43aabb531e3b817bcf7576 ncurses-6.1-20191109.patch.gz -sha256 801d138b55986719aea7f42dc8c0cb618fa9a6edf92d1789a6ba5d61678f7761 ncurses-6.1-20191116.patch.gz -sha256 45f447cf2c7a24295c7b9210473e943a238c57ca80581d121c9a1a3aa05332a6 ncurses-6.1-20191123.patch.gz -sha256 ea758e3b0162348c4d5d6dac56f95809da3b7d0589205661a13430eb93f72f75 ncurses-6.1-20191130.patch.gz -sha256 16b5a588c56a53c468d2359b21d5d8a007c4ef7696de12c964a1b661ed185f72 ncurses-6.1-20191207.patch.gz -sha256 8725a2dc8f1cfdab41cb5fe56f930e070f8cdc81a77f303ef2658f65cd0b8edd ncurses-6.1-20191214.patch.gz -sha256 7e2a06fb0af6c84269d23ffe06c689bf1a8a57af39369690ee0698778d4b6cda ncurses-6.1-20191221.patch.gz -sha256 d052bcdb38f8b45a00c0a3190dec7ac1e72d5682f3a16d8accda239308aad62f ncurses-6.1-20191228.patch.gz -sha256 7b6253bae438154a88c7f3e301b872ed7ad71f943c873f4e6c82d8d36a5df72b ncurses-6.1-20200104.patch.gz -sha256 e438f28025c7d97c7f8fabf40eeab68bbf8ca871a0ba349e3fdec9165efe85cb ncurses-6.1-20200111.patch.gz -sha256 06d002c33f727c4a36a0b502c226ea3c3c5b80770703d2f783fffa6a0db04d92 ncurses-6.1-20200118.patch.gz +# Locally calculated +sha256 b0910671694c2c8377f579eea68477a15d67bd20ddd4b29328cfe15c62c7b3fd ncurses-6.4-20230603.tar.gz # Locally computed -sha256 4d1fde61868c73776a539366dccf5d5a4857e7fd7299efb1f02e07c2afe9ea87 COPYING +sha256 0413b2f4ea863194c174673032f0fca84f1ea1ed4eed6476baea68c075a631ce COPYING diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index 2881ca13088..00e1c0d4245 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -4,61 +4,19 @@ # ################################################################################ -NCURSES_VERSION = 6.1 -NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses +# When there is no snapshost yet for a new version, set it to the empty string +NCURSES_VERSION_MAJOR = 6.4 +NCURSES_SNAPSHOT_DATE = 20230603 +NCURSES_VERSION = $(NCURSES_VERSION_MAJOR)$(if $(NCURSES_SNAPSHOT_DATE),-$(NCURSES_SNAPSHOT_DATE)) +NCURSES_VERSION_GIT = $(subst .,_,$(subst -,_,$(NCURSES_VERSION))) +NCURSES_SITE = $(call github,ThomasDickey,ncurses-snapshots,v$(NCURSES_VERSION_GIT)) NCURSES_INSTALL_STAGING = YES NCURSES_DEPENDENCIES = host-ncurses NCURSES_LICENSE = MIT with advertising clause NCURSES_LICENSE_FILES = COPYING NCURSES_CPE_ID_VENDOR = gnu -# Commit 4b21273d71d09 added upstream (security) patches up to 20200118 -NCURSES_IGNORE_CVES += CVE-2018-10754 -NCURSES_IGNORE_CVES += CVE-2018-19211 -NCURSES_IGNORE_CVES += CVE-2018-19217 -NCURSES_IGNORE_CVES += CVE-2019-17594 -NCURSES_IGNORE_CVES += CVE-2019-17595 +NCURSES_CPE_ID_VERSION = $(NCURSES_VERSION_MAJOR)$(if $(NCURSES_SNAPSHOT_DATE),.$(NCURSES_SNAPSHOT_DATE)) NCURSES_CONFIG_SCRIPTS = ncurses$(NCURSES_LIB_SUFFIX)6-config -NCURSES_PATCH = \ - $(addprefix https://invisible-mirror.net/archives/ncurses/$(NCURSES_VERSION)/, \ - ncurses-6.1-20190609-patch.sh.bz2 \ - ncurses-6.1-20190615.patch.gz \ - ncurses-6.1-20190623.patch.gz \ - ncurses-6.1-20190630.patch.gz \ - ncurses-6.1-20190706.patch.gz \ - ncurses-6.1-20190713.patch.gz \ - ncurses-6.1-20190720.patch.gz \ - ncurses-6.1-20190727.patch.gz \ - ncurses-6.1-20190728.patch.gz \ - ncurses-6.1-20190803.patch.gz \ - ncurses-6.1-20190810.patch.gz \ - ncurses-6.1-20190817.patch.gz \ - ncurses-6.1-20190824.patch.gz \ - ncurses-6.1-20190831.patch.gz \ - ncurses-6.1-20190907.patch.gz \ - ncurses-6.1-20190914.patch.gz \ - ncurses-6.1-20190921.patch.gz \ - ncurses-6.1-20190928.patch.gz \ - ncurses-6.1-20191005.patch.gz \ - ncurses-6.1-20191012.patch.gz \ - ncurses-6.1-20191015.patch.gz \ - ncurses-6.1-20191019.patch.gz \ - ncurses-6.1-20191026.patch.gz \ - ncurses-6.1-20191102.patch.gz \ - ncurses-6.1-20191109.patch.gz \ - ncurses-6.1-20191116.patch.gz \ - ncurses-6.1-20191123.patch.gz \ - ncurses-6.1-20191130.patch.gz \ - ncurses-6.1-20191207.patch.gz \ - ncurses-6.1-20191214.patch.gz \ - ncurses-6.1-20191221.patch.gz \ - ncurses-6.1-20191228.patch.gz \ - ncurses-6.1-20200104.patch.gz \ - ncurses-6.1-20200111.patch.gz \ - ncurses-6.1-20200118.patch.gz \ - ) - -# ncurses-6.1-20191012.patch.gz -NCURSES_IGNORE_CVES += CVE-2019-17594 CVE-2019-17595 NCURSES_CONF_OPTS = \ --without-cxx \ @@ -115,6 +73,13 @@ NCURSES_TERMINFO_FILES = \ x/xterm-xfree86 \ $(call qstrip,$(BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO)) +ifeq ($(BR2_PACKAGE_FOOT),y) +NCURSES_TERMINFO_FILES += \ + f/foot \ + f/foot+base \ + f/foot-direct +endif + ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) NCURSES_CONF_OPTS += --enable-widec NCURSES_LIB_SUFFIX = w diff --git a/package/ndisc6/ndisc6.hash b/package/ndisc6/ndisc6.hash index e258382c53d..550b9fffac9 100644 --- a/package/ndisc6/ndisc6.hash +++ b/package/ndisc6/ndisc6.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 a713210e9be1f15cfa0809f4c2728b00cd5f25881d7585126986982055453cfb ndisc6-1.0.6.tar.bz2 +sha256 edc431d70510d7321a5a39d243de0d0f63846dc9145b3b549c7348cc2bc96609 ndisc6-1.0.7.tar.bz2 # Locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/ndisc6/ndisc6.mk b/package/ndisc6/ndisc6.mk index 23734ca7d7e..d797b82e653 100644 --- a/package/ndisc6/ndisc6.mk +++ b/package/ndisc6/ndisc6.mk @@ -4,7 +4,7 @@ # ################################################################################ -NDISC6_VERSION = 1.0.6 +NDISC6_VERSION = 1.0.7 NDISC6_SOURCE = ndisc6-$(NDISC6_VERSION).tar.bz2 NDISC6_SITE = http://www.remlab.net/files/ndisc6 NDISC6_CONF_ENV = CC="$(TARGET_CC) -std=c11" LIBS=$(TARGET_NLS_LIBS) diff --git a/package/ne10/ne10.mk b/package/ne10/ne10.mk index 39466055568..ce0f7e7b775 100644 --- a/package/ne10/ne10.mk +++ b/package/ne10/ne10.mk @@ -42,8 +42,10 @@ define NE10_INSTALL_STAGING_CMDS $(NE10_INSTALL_STAGING_SHARED_LIB) endef +ifeq ($(BR2_STATIC_LIBS),) define NE10_INSTALL_TARGET_CMDS cp -dpf $(@D)/modules/libNE10*.so* $(TARGET_DIR)/usr/lib/ endef +endif $(eval $(cmake-package)) diff --git a/package/neard/neard.hash b/package/neard/neard.hash index 1ea95c938a6..b739d7289b5 100644 --- a/package/neard/neard.hash +++ b/package/neard/neard.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c013e3115315e2e11d16b5f0f1c8ce9afbcdba26800aad91245fd9b4a5dc938b neard-0.18.tar.gz +sha256 129bbf69488fdb599d480356765941f111d7799495d0d64095b25e893c4d2be7 neard-0.19.tar.gz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/neard/neard.mk b/package/neard/neard.mk index 51ba52fb907..c1804c48a2a 100644 --- a/package/neard/neard.mk +++ b/package/neard/neard.mk @@ -4,7 +4,7 @@ # ################################################################################ -NEARD_VERSION = 0.18 +NEARD_VERSION = 0.19 NEARD_SITE = https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot NEARD_LICENSE = GPL-2.0 NEARD_LICENSE_FILES = COPYING diff --git a/package/neon-2-sse/Config.in b/package/neon-2-sse/Config.in new file mode 100644 index 00000000000..25613c5ec46 --- /dev/null +++ b/package/neon-2-sse/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_NEON_2_SSE + bool "neon-2-sse" + help + The platform independent header allowing to compile any + C/C++ code containing ARM NEON intrinsic functions for + x86 target systems using SIMD up to SSE4 intrinsic + functions. + + https://github.com/intel/ARM_NEON_2_x86_SSE diff --git a/package/neon-2-sse/neon-2-sse.hash b/package/neon-2-sse/neon-2-sse.hash new file mode 100644 index 00000000000..f964d2fa618 --- /dev/null +++ b/package/neon-2-sse/neon-2-sse.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 4567ca8c8cbc8ce0ea3ddb9dc0f158707eb85c631cb400fd7010cd299cdc5377 neon-2-sse-097a5ecacd527d5b5c3006e360fb9cb1c1c48a1f.tar.gz +# License files, locally calculated +sha256 7022f51b439a5915e933ecc270c83e24ca0cb2cceeb08b0132dcd4dbb03ed2dc LICENSE diff --git a/package/neon-2-sse/neon-2-sse.mk b/package/neon-2-sse/neon-2-sse.mk new file mode 100644 index 00000000000..ee6f5446b6b --- /dev/null +++ b/package/neon-2-sse/neon-2-sse.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# neon-2-sse +# +################################################################################ + +NEON_2_SSE_VERSION = 097a5ecacd527d5b5c3006e360fb9cb1c1c48a1f +NEON_2_SSE_SITE = $(call github,intel,ARM_NEON_2_x86_SSE,$(NEON_2_SSE_VERSION)) +NEON_2_SSE_LICENSE = BSD-2-Clause +NEON_2_SSE_LICENSE_FILES = LICENSE +NEON_2_SSE_INSTALL_STAGING = YES +# Only installs a header +NEON_2_SSE_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch b/package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch deleted file mode 100644 index 02088bfe023..00000000000 --- a/package/neon/0001-Revert-Advertise-TS_SSL-feature-with-OpenSSL-1.1.0.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 8f9e110b391f065536780d19c2257ad7afd83522 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 31 Jan 2022 23:42:13 +0100 -Subject: [PATCH] Revert "Advertise TS_SSL feature with OpenSSL >= 1.1.0." - -This reverts commit 281c84fc3996c757efdf6e9b3f906d7a1fc08b1d. - -Indeed openssl can be built on toolchains without threads support which -will result in the following build failure: - -ne_openssl.c:43:10: fatal error: pthread.h: No such file or directory - 43 | #include - | ^~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/da995ef26001357e51a5907de9c6111b9ff89bdf - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/notroj/neon/pull/71] ---- - macros/neon.m4 | 15 ++++----------- - src/ne_openssl.c | 4 ++-- - 2 files changed, 6 insertions(+), 13 deletions(-) - -diff --git a/macros/neon.m4 b/macros/neon.m4 -index 129d4ac..5a5fb1b 100644 ---- a/macros/neon.m4 -+++ b/macros/neon.m4 -@@ -960,13 +960,9 @@ yes|openssl) - AC_CHECK_HEADERS(openssl/ssl.h openssl/opensslv.h,, - [AC_MSG_ERROR([OpenSSL headers not found, cannot enable SSL support])]) - -+ # Enable EGD support if using 0.9.7 or newer - NE_CHECK_OPENSSLVER(ne_cv_lib_ssl097, 0.9.7, 0x00907000L) -- NE_CHECK_OPENSSLVER(ne_cv_lib_ssl110, 1.1.0, 0x10100000L) -- if test "$ne_cv_lib_ssl110" = "yes"; then -- NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL $NE_SSL_VERSION]) -- AC_DEFINE(HAVE_OPENSSL11, 1, [Enable OpenSSL 1.1 support]) -- elif test "$ne_cv_lib_ssl097" = "yes"; then -- # Enable EGD support if using 0.9.7 or newer -+ if test "$ne_cv_lib_ssl097" = "yes"; then - AC_MSG_NOTICE([OpenSSL >= 0.9.7; EGD support not needed in neon]) - NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL $NE_SSL_VERSION]) - NE_CHECK_FUNCS(CRYPTO_set_idptr_callback SSL_SESSION_cmp) -@@ -1074,11 +1070,8 @@ CC/CFLAGS/LIBS must be used to make the POSIX library interfaces - available]),, - enable_threadsafe_ssl=no) - --case ${enable_threadsafe_ssl}X${ne_cv_lib_ssl110} in --*Xyes) -- NE_ENABLE_SUPPORT(TS_SSL, [OpenSSL is natively thread-safe]) -- ;; --posixX*|yesX*) -+case $enable_threadsafe_ssl in -+posix|yes) - ne_pthr_ok=yes - AC_CHECK_FUNCS([pthread_mutex_init pthread_mutex_lock],,[ne_pthr_ok=no]) - if test "${ne_pthr_ok}" = "no"; then -diff --git a/src/ne_openssl.c b/src/ne_openssl.c -index 41a5c05..96c768e 100644 ---- a/src/ne_openssl.c -+++ b/src/ne_openssl.c -@@ -1194,8 +1194,8 @@ char *ne_vstrhash(unsigned int flags, va_list ap) - return ne__strhash2hex(v, vlen, flags); - } - --#if defined(NE_HAVE_TS_SSL) && OPENSSL_VERSION_NUMBER < 0x10100000L --/* From OpenSSL 1.1.0 locking callbacks are no longer needed. */ -+#if defined(NE_HAVE_TS_SSL) && OPENSSL_VERSION_NUMBER < 0x10101000L -+/* For OpenSSL 1.1.1 locking callbacks are no longer need at all. */ - #define WITH_OPENSSL_LOCKING (1) - - /* Implementation of locking callbacks to make OpenSSL thread-safe. --- -2.34.1 - diff --git a/package/neon/0002-configure.ac-fix-autoreconf.patch b/package/neon/0002-configure.ac-fix-autoreconf.patch deleted file mode 100644 index cd63d1ed412..00000000000 --- a/package/neon/0002-configure.ac-fix-autoreconf.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cf779609a5dd38f0a8fdb3c4539371f13fd3a24a Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 8 Feb 2022 18:34:25 +0100 -Subject: [PATCH] configure.ac: fix autoreconf - -Add AC_CONFIG_MACRO_DIR(macros) to fix autoreconf - -Signed-off-by: Fabrice Fontaine -[Upstream status: not sent yet] ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 37b14ec..122151d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,7 @@ - AC_PREREQ(2.58) dnl 2.58 required for AS_HELP_STRING - -+AC_CONFIG_MACRO_DIR(macros) -+ - dnl Extract the version (sans LF) from .version, created at release-time. - m4_define(ne_version, [m4_translit(m4_include(.version), [ - ])]) --- -2.34.1 - diff --git a/package/neon/neon.mk b/package/neon/neon.mk index 1ce8f1ff16f..93870b9966a 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -10,9 +10,7 @@ NEON_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (manual and tests) NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README.md NEON_CPE_ID_VENDOR = webdav NEON_INSTALL_STAGING = YES -# We're patching configure.ac -NEON_AUTORECONF = YES -NEON_CONF_OPTS = --without-gssapi --disable-rpath +NEON_CONF_OPTS = --without-gssapi NEON_CONFIG_SCRIPTS = neon-config NEON_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) NEON_CONF_ENV = ne_cv_libsfor_bindtextdomain=$(TARGET_NLS_LIBS) diff --git a/package/nerdctl/nerdctl.hash b/package/nerdctl/nerdctl.hash index e253fb74b26..52e249824ff 100644 --- a/package/nerdctl/nerdctl.hash +++ b/package/nerdctl/nerdctl.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 ae468c65480e9c6679e0dd23d466b723e7f19bff779d4e2e0fa4629be343af2a nerdctl-1.0.0.tar.gz +sha256 fff8c348efa4ff6753e1aacded0dedddcb255c50b00d8b3a37a660b1fb1dd31a nerdctl-1.7.3.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/nerdctl/nerdctl.mk b/package/nerdctl/nerdctl.mk index fdf60cb1894..66b22df6468 100644 --- a/package/nerdctl/nerdctl.mk +++ b/package/nerdctl/nerdctl.mk @@ -4,7 +4,7 @@ # ################################################################################ -NERDCTL_VERSION = 1.0.0 +NERDCTL_VERSION = 1.7.3 NERDCTL_SITE = $(call github,containerd,nerdctl,v$(NERDCTL_VERSION)) NERDCTL_LICENSE = Apache-2.0 diff --git a/package/net-tools/net-tools.mk b/package/net-tools/net-tools.mk index 4a03e3d8469..0744bf18cbb 100644 --- a/package/net-tools/net-tools.mk +++ b/package/net-tools/net-tools.mk @@ -10,7 +10,7 @@ NET_TOOLS_SITE = http://downloads.sourceforge.net/project/net-tools NET_TOOLS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) NET_TOOLS_LICENSE = GPL-2.0+ NET_TOOLS_LICENSE_FILES = COPYING -NET_TOOLS_CPE_ID_VENDOR = net-tools_project +NET_TOOLS_CPE_ID_VALID = YES define NET_TOOLS_CONFIGURE_CMDS (cd $(@D); yes "" | ./configure.sh config.in ) diff --git a/package/netatalk/0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch b/package/netatalk/0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch deleted file mode 100644 index 01d57765963..00000000000 --- a/package/netatalk/0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 60d100713b5289948e9cdf5b0646ff3cdd2c206b Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Mon, 17 Dec 2012 22:32:44 +0100 -Subject: [PATCH] Fix setting of LD_LIBRARY_FLAGS ($shlibpath_var). - -LD_LIBRARY_PATH should not be set when cross-compiling, because it -adds the cross-libraries to the build's LD-path. - -Also the restoring of LD_LIBRARY_PATH was done incorrectly: it would -set LD_LIBRARY_PATH=LD_LIBRARY_PATH. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - macros/db3-check.m4 | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/macros/db3-check.m4 b/macros/db3-check.m4 -index 902220b..d5a5446 100644 ---- a/macros/db3-check.m4 -+++ b/macros/db3-check.m4 -@@ -94,7 +94,7 @@ if test "x$bdb_required" = "xyes"; then - savedldflags="$LDFLAGS" - savedcppflags="$CPPFLAGS" - savedlibs="$LIBS" -- saved_shlibpath_var=$shlibpath_var -+ eval saved_shlibpath_var=\$$shlibpath_var - - dnl required BDB version: 4.6, because of cursor API change - DB_MAJOR_REQ=4 -@@ -148,7 +148,7 @@ if test "x$bdb_required" = "xyes"; then - dnl -- LD_LIBRARY_PATH on many platforms. This will be fairly - dnl -- portable hopefully. Reference: - dnl -- http://lists.gnu.org/archive/html/autoconf/2009-03/msg00040.html -- eval export $shlibpath_var=$bdblibdir -+ test "$cross_compiling" = yes || eval export $shlibpath_var=$bdblibdir - NETATALK_BDB_TRY_LINK - eval export $shlibpath_var=$saved_shlibpath_var - -@@ -171,7 +171,7 @@ if test "x$bdb_required" = "xyes"; then - CPPFLAGS="-I${bdbdir}/include${subdir} $CPPFLAGS" - LDFLAGS="-L$bdblibdir $LDFLAGS" - -- eval export $shlibpath_var=$bdblibdir -+ test "$cross_compiling" = yes || eval export $shlibpath_var=$bdblibdir - NETATALK_BDB_TRY_LINK - eval export $shlibpath_var=$saved_shlibpath_var - --- diff --git a/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch b/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch deleted file mode 100644 index 05913862f66..00000000000 --- a/package/netatalk/0002-etc-uams-openssl_compat.h-fix-build-with-libressl-2..patch +++ /dev/null @@ -1,43 +0,0 @@ -From 58ddc137021a938f37c3794305a839f8df449d3f Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 5 Apr 2022 23:59:15 +0200 -Subject: [PATCH] etc/uams/openssl_compat.h: fix build with libressl >= 2.7.0 - -Fix the following build failure with libressl >= 2.7.0 which added -DH_set0_pqg with -https://github.com/libressl-portable/openbsd/commit/848e2a019c796b685fc8c5848283b86e48fbe0bf: - -In file included from uams_dhx_passwd.c:35: -openssl_compat.h:15:19: error: static declaration of 'DH_set0_pqg' follows non-static declaration - 15 | inline static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) - | ^~~~~~~~~~~ -In file included from uams_dhx_passwd.c:33: -/home/autobuild/autobuild/instance-2/output-1/host/mips64-buildroot-linux-uclibc/sysroot/usr/include/openssl/dh.h:195:5: note: previous declaration of 'DH_set0_pqg' was here - 195 | int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); - | ^~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/fc6e308f346570f8198542602bc8c1bdd0a4869e - -Signed-off-by: Fabrice Fontaine -[Upstream status: not sent yet] ---- - etc/uams/openssl_compat.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/etc/uams/openssl_compat.h b/etc/uams/openssl_compat.h -index ded377bc..5cc8de34 100644 ---- a/etc/uams/openssl_compat.h -+++ b/etc/uams/openssl_compat.h -@@ -11,7 +11,7 @@ http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt - #ifndef OPENSSL_COMPAT_H - #define OPENSSL_COMPAT_H - --#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000L) - inline static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) - { - /* If the fields p and g in d are NULL, the corresponding input --- -2.35.1 - diff --git a/package/netatalk/netatalk.hash b/package/netatalk/netatalk.hash index 6dead5457c2..9ab5d604a84 100644 --- a/package/netatalk/netatalk.hash +++ b/package/netatalk/netatalk.hash @@ -1,7 +1,7 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.13/ -md5 697421623c32ee0ab9c8076191766e5f netatalk-3.1.13.tar.bz2 -sha1 16dd7fa84962a44b36b795b8c44393e728785947 netatalk-3.1.13.tar.bz2 +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.18/ +md5 b1caff4e1da534d8ca57d688c7fa3ce1 netatalk-3.1.18.tar.xz +sha1 cbd92c95d04cfd4a9f49977970501a623310c2d9 netatalk-3.1.18.tar.xz # Locally computed -sha256 89ada6bcfe1b39ad94f58c236654d1d944f2645c3e7de98b3374e0bd37d5e05d netatalk-3.1.13.tar.bz2 -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 3941effcc2c4e0dceecabc763fbb8478a2f2fbe0af4a6314983cfea452df8d47 netatalk-3.1.18.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 7599ae145e53be03a08f8b558b2f2e0c828e1630f1843cc04f41981b8cefcd65 COPYRIGHT diff --git a/package/netatalk/netatalk.mk b/package/netatalk/netatalk.mk index 7cc950beb66..53cd53876ad 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,17 +4,15 @@ # ################################################################################ -NETATALK_VERSION = 3.1.13 -NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NETATALK_VERSION) -NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2 -# For 0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch -NETATALK_AUTORECONF = YES +NETATALK_VERSION = 3.1.18 +NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk-$(subst .,-,$(NETATALK_VERSION)) +NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.xz NETATALK_CONFIG_SCRIPTS = netatalk-config NETATALK_DEPENDENCIES = host-pkgconf openssl berkeleydb libgcrypt libgpg-error \ libevent NETATALK_LICENSE = GPL-2.0+, LGPL-3.0+, MIT-like NETATALK_LICENSE_FILES = COPYING COPYRIGHT -NETATALK_CPE_ID_VENDOR = netatalk_project +NETATALK_CPE_ID_VENDOR = netatalk # Don't run ldconfig! NETATALK_CONF_ENV += CC="$(TARGET_CC) -std=gnu99" \ diff --git a/package/netcat/netcat.mk b/package/netcat/netcat.mk index 939c9fa9fb6..c9d7952e598 100644 --- a/package/netcat/netcat.mk +++ b/package/netcat/netcat.mk @@ -8,6 +8,6 @@ NETCAT_VERSION = 0.7.1 NETCAT_SITE = http://downloads.sourceforge.net/project/netcat/netcat/$(NETCAT_VERSION) NETCAT_LICENSE = GPL-2.0+ NETCAT_LICENSE_FILES = COPYING -NETCAT_CPE_ID_VENDOR = netcat_project +NETCAT_CPE_ID_VALID = YES $(eval $(autotools-package)) diff --git a/package/netdata/Config.in b/package/netdata/Config.in index 34d139125d7..d17b5e89aae 100644 --- a/package/netdata/Config.in +++ b/package/netdata/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_NETDATA depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -35,7 +36,8 @@ comment "prometheus remote write backend needs a toolchain w/ C++, gcc >= 4.8" endif -comment "netdata needs a toolchain w/ NPTL, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "netdata needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/netopeer2/0001-build-BUGFIX-use-DESTDIR-when-executing-scripts.patch b/package/netopeer2/0001-build-BUGFIX-use-DESTDIR-when-executing-scripts.patch deleted file mode 100644 index 99febb56ad5..00000000000 --- a/package/netopeer2/0001-build-BUGFIX-use-DESTDIR-when-executing-scripts.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 696b6be8a623f4466def2a161baa26094e5592a4 Mon Sep 17 00:00:00 2001 -From: Michal Vasko -Date: Wed, 18 May 2022 09:14:35 +0200 -Subject: [PATCH] build BUGFIX use DESTDIR when executing scripts - -Fixes #1217 - -[Upstream accepted 696b6be8a623f4466def2a161baa26094e5592a4] -Signed-off-by: Heiko Thiery ---- - CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index efe922d..60e3150 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -351,7 +351,7 @@ if(INSTALL_MODULES) - set(ENV{NP2_MODULE_GROUP} \"${MODULES_GROUP}\") - set(ENV{SYSREPOCTL_EXECUTABLE} \"${SYSREPOCTL_EXECUTABLE}\") - set(ENV{SYSREPOCFG_EXECUTABLE} \"${SYSREPOCFG_EXECUTABLE}\") -- execute_process(COMMAND \"${SCRIPT_DIR}/setup.sh\" RESULT_VARIABLE SETUP_RES) -+ execute_process(COMMAND \"\$ENV{DESTDIR}${SCRIPT_DIR}/setup.sh\" RESULT_VARIABLE SETUP_RES) - if(NOT SETUP_RES EQUAL \"0\") - message(FATAL_ERROR \" scripts/setup.sh failed: \${SETUP_RES}\") - endif() -@@ -364,7 +364,7 @@ if(GENERATE_HOSTKEY) - message(STATUS \"Generating a new RSA host key \\\"genkey\\\" if not already added...\") - set(ENV{SYSREPOCTL_EXECUTABLE} \"${SYSREPOCTL_EXECUTABLE}\") - set(ENV{SYSREPOCFG_EXECUTABLE} \"${SYSREPOCFG_EXECUTABLE}\") -- execute_process(COMMAND ${SCRIPT_DIR}/merge_hostkey.sh RESULT_VARIABLE MERGE_HOSTKEY_RES) -+ execute_process(COMMAND \"\$ENV{DESTDIR}${SCRIPT_DIR}/merge_hostkey.sh\" RESULT_VARIABLE MERGE_HOSTKEY_RES) - if(NOT MERGE_HOSTKEY_RES EQUAL \"0\") - message(FATAL_ERROR \" scripts/merge_hostkey.sh failed: \${MERGE_HOSTKEY_RES}\") - endif() -@@ -375,7 +375,7 @@ if(MERGE_LISTEN_CONFIG) - message(STATUS \"Merging default server listen configuration if there is none...\") - set(ENV{SYSREPOCTL_EXECUTABLE} \"${SYSREPOCTL_EXECUTABLE}\") - set(ENV{SYSREPOCFG_EXECUTABLE} \"${SYSREPOCFG_EXECUTABLE}\") -- execute_process(COMMAND ${SCRIPT_DIR}/merge_config.sh RESULT_VARIABLE MERGE_CONFIG_RES) -+ execute_process(COMMAND \"\$ENV{DESTDIR}${SCRIPT_DIR}/merge_config.sh\" RESULT_VARIABLE MERGE_CONFIG_RES) - if(NOT MERGE_CONFIG_RES EQUAL \"0\") - message(FATAL_ERROR \" scripts/merge_config.sh failed: \${MERGE_CONFIG_RES}\") - endif() --- -2.30.2 - diff --git a/package/netopeer2/S52netopeer2 b/package/netopeer2/S52netopeer2 index cf53a8f109e..cadd6b9feb6 100644 --- a/package/netopeer2/S52netopeer2 +++ b/package/netopeer2/S52netopeer2 @@ -8,7 +8,7 @@ NETOPEER2_SERVER_ARGS="" start() { printf 'Starting %s: ' "$DAEMON" - start-stop-daemon -S -b -q -p $PIDFILE -x "/usr/bin/$DAEMON" \ + start-stop-daemon -S -q -p $PIDFILE -x "/usr/sbin/$DAEMON" \ -- $NETOPEER2_SERVER_ARGS status=$? if [ "$status" -eq 0 ]; then diff --git a/package/netopeer2/netopeer2.hash b/package/netopeer2/netopeer2.hash index b352bbb2394..6a278fbbafe 100644 --- a/package/netopeer2/netopeer2.hash +++ b/package/netopeer2/netopeer2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 89f7572d188e7b04be4b10656d7161d65fb557bac222d8c4596a97eaf833b691 netopeer2-2.1.23.tar.gz +sha256 2b1daac037f18c303e0c0dc3318ba30196459472e4c59f2f8547ee74d4cdf31d netopeer2-2.1.49.tar.gz sha256 b46f161fbdcf127d3ef22602e15958c3092fe3294f71a2dc8cdf8f6689cba95b LICENSE diff --git a/package/netopeer2/netopeer2.mk b/package/netopeer2/netopeer2.mk index d9a20d99696..47fcd31acd3 100644 --- a/package/netopeer2/netopeer2.mk +++ b/package/netopeer2/netopeer2.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETOPEER2_VERSION = 2.1.23 +NETOPEER2_VERSION = 2.1.49 NETOPEER2_SITE = $(call github,CESNET,Netopeer2,v$(NETOPEER2_VERSION)) NETOPEER2_DL_SUBDIR = netopeer2 NETOPEER2_LICENSE = BSD-3-Clause diff --git a/package/netsniff-ng/Config.in b/package/netsniff-ng/Config.in index 9ad3628f149..489d0b6f9a3 100644 --- a/package/netsniff-ng/Config.in +++ b/package/netsniff-ng/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_NETSNIFF_NG depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_spin_lock depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP # liburcu select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_LIBNETFILTER_CONNTRACK select BR2_PACKAGE_LIBURCU @@ -28,7 +29,8 @@ comment "mausezahn needs glibc or musl toolchain" endif -comment "netsniff-ng needs a toolchain w/ NPTL, headers >= 3.0" +comment "netsniff-ng needs a toolchain w/ NPTL, C++, headers >= 3.0" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 diff --git a/package/netsnmp/0001-snmp_agent-disallow-SET-with-NULL-varbind.patch b/package/netsnmp/0001-snmp_agent-disallow-SET-with-NULL-varbind.patch new file mode 100644 index 00000000000..3a6321d7a7b --- /dev/null +++ b/package/netsnmp/0001-snmp_agent-disallow-SET-with-NULL-varbind.patch @@ -0,0 +1,72 @@ +From b07627fa67c686b07d1eab123cf3e4887a2a93aa Mon Sep 17 00:00:00 2001 +From: Bill Fenner +Date: Fri, 25 Nov 2022 08:41:24 -0800 +Subject: [PATCH] snmp_agent: disallow SET with NULL varbind + +Upstream: https://github.com/net-snmp/net-snmp/commit/4589352dac3ae111c7621298cf231742209efd9b + +[Thomas: this commit was merged as part of +https://github.com/net-snmp/net-snmp/pull/490/commits, which fixes +https://github.com/net-snmp/net-snmp/issues/474 (CVE-2022-44792) and +https://github.com/net-snmp/net-snmp/issues/475 (CVE-2022-44793). The +other two commits merged as part of this pull request are related to +adding a non-regression test for this, which is not relevant for the +security fix itself.] + +Signed-off-by: Thomas Petazzoni +--- + agent/snmp_agent.c | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +diff --git a/agent/snmp_agent.c b/agent/snmp_agent.c +index 867d0c166f..3f678fe2df 100644 +--- a/agent/snmp_agent.c ++++ b/agent/snmp_agent.c +@@ -3719,12 +3719,44 @@ netsnmp_handle_request(netsnmp_agent_session *asp, int status) + return 1; + } + ++static int ++check_set_pdu_for_null_varbind(netsnmp_agent_session *asp) ++{ ++ int i; ++ netsnmp_variable_list *v = NULL; ++ ++ for (i = 1, v = asp->pdu->variables; v != NULL; i++, v = v->next_variable) { ++ if (v->type == ASN_NULL) { ++ /* ++ * Protect SET implementations that do not protect themselves ++ * against wrong type. ++ */ ++ DEBUGMSGTL(("snmp_agent", "disallowing SET with NULL var for varbind %d\n", i)); ++ asp->index = i; ++ return SNMP_ERR_WRONGTYPE; ++ } ++ } ++ return SNMP_ERR_NOERROR; ++} ++ + int + handle_pdu(netsnmp_agent_session *asp) + { + int status, inclusives = 0; + netsnmp_variable_list *v = NULL; + ++#ifndef NETSNMP_NO_WRITE_SUPPORT ++ /* ++ * Check for ASN_NULL in SET request ++ */ ++ if (asp->pdu->command == SNMP_MSG_SET) { ++ status = check_set_pdu_for_null_varbind(asp); ++ if (status != SNMP_ERR_NOERROR) { ++ return status; ++ } ++ } ++#endif /* NETSNMP_NO_WRITE_SUPPORT */ ++ + /* + * for illegal requests, mark all nodes as ASN_NULL + */ +-- +2.41.0 + diff --git a/package/netsnmp/S59snmpd b/package/netsnmp/S59snmpd index 96ed8237ac0..aece8966706 100644 --- a/package/netsnmp/S59snmpd +++ b/package/netsnmp/S59snmpd @@ -17,7 +17,7 @@ export PATH=/sbin:/usr/sbin:/bin:/usr/bin # Defaults export MIBDIRS=/usr/share/snmp/mibs SNMPDRUN=yes -SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid 127.0.0.1' +SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid -u snmp -g snmp 127.0.0.1' TRAPDRUN=no TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid' diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 15bc318e36b..6575ff1afa7 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -11,6 +11,10 @@ NETSNMP_LICENSE = Various BSD-like NETSNMP_LICENSE_FILES = COPYING NETSNMP_CPE_ID_VENDOR = net-snmp NETSNMP_CPE_ID_PRODUCT = $(NETSNMP_CPE_ID_VENDOR) +# 0001-snmp_agent-disallow-SET-with-NULL-varbind.patch +NETSNMP_IGNORE_CVES = \ + CVE-2022-44792 \ + CVE-2022-44793 NETSNMP_SELINUX_MODULES = snmp NETSNMP_INSTALL_STAGING = YES NETSNMP_CONF_ENV = \ @@ -40,6 +44,18 @@ NETSNMP_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LIB_LDCONFIG_CMD=true inst NETSNMP_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) LIB_LDCONFIG_CMD=true install NETSNMP_MAKE = $(MAKE1) NETSNMP_CONFIG_SCRIPTS = net-snmp-config +# We're patching configure.d/config_project_types +NETSNMP_AUTORECONF = YES + +define NETSNMP_USERS + snmp -1 snmp -1 * - - - snmpd user +endef + +ifeq ($(BR2_INIT_SYSTEMD),y) +NETSNMP_CONF_OPTS += --with-systemd +else +NETSNMP_CONF_OPTS += --without-systemd +endif ifeq ($(BR2_ENDIAN),"BIG") NETSNMP_CONF_OPTS += --with-endianness=big @@ -104,6 +120,10 @@ define NETSNMP_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \ $(TARGET_DIR)/etc/init.d/S59snmpd endef +define NETSNMP_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 package/netsnmp/snmpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/snmpd.service +endef endif $(eval $(autotools-package)) diff --git a/package/netsnmp/snmpd.service b/package/netsnmp/snmpd.service new file mode 100644 index 00000000000..6647b10c320 --- /dev/null +++ b/package/netsnmp/snmpd.service @@ -0,0 +1,15 @@ +[Unit] +Description=SNMP Daemon +After=network.target +ConditionPathExists=/etc/snmp/snmpd.conf + +[Service] +Type=simple +Environment=MIBDIRS=/usr/share/snmp/mibs +Environment=SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid -u snmp -g snmp 127.0.0.1' +EnvironmentFile=-/etc/default/snmpd +PassEnvironment=MIBDIRS +ExecStart=/usr/sbin/snmpd -f $SNMPDOPTS + +[Install] +WantedBy=multi-user.target diff --git a/package/netsurf/Config.in b/package/netsurf/Config.in index 4f7d5c2713b..394befcf289 100644 --- a/package/netsurf/Config.in +++ b/package/netsurf/Config.in @@ -20,6 +20,7 @@ config BR2_PACKAGE_NETSURF select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL if BR2_PACKAGE_LIBCURL help NetSurf is a compact graphical web browser which aims for HTML5, CSS and JavaScript support. diff --git a/package/nettle/nettle.hash b/package/nettle/nettle.hash index d726cb94c61..6c2486e2603 100644 --- a/package/nettle/nettle.hash +++ b/package/nettle/nettle.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/nettle/nettle-3.8.1.tar.gz.sig -sha256 364f3e2b77cd7dcde83fd7c45219c834e54b0c75e428b6f894a23d12dd41cbfe nettle-3.8.1.tar.gz +# https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz.sig +sha256 ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3 nettle-3.9.1.tar.gz # Locally calculated sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index dd4dfbbe386..20f755cc986 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -4,17 +4,19 @@ # ################################################################################ -NETTLE_VERSION = 3.8.1 +NETTLE_VERSION = 3.9.1 NETTLE_SITE = https://ftp.gnu.org/gnu/nettle -NETTLE_DEPENDENCIES = gmp +NETTLE_DEPENDENCIES = host-m4 gmp NETTLE_INSTALL_STAGING = YES NETTLE_LICENSE = Dual GPL-2.0+/LGPL-3.0+ NETTLE_LICENSE_FILES = COPYING.LESSERv3 COPYINGv2 -NETTLE_CPE_ID_VENDOR = nettle_project +NETTLE_CPE_ID_VALID = YES # don't include openssl support for (unused) examples as it has problems # with static linking NETTLE_CONF_OPTS = --disable-openssl +HOST_NETTLE_DEPENDENCIES = host-m4 host-gmp + # ARM assembly requires v6+ ISA ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV7M),y) NETTLE_CONF_OPTS += --disable-assembler diff --git a/package/network-manager-openvpn/network-manager-openvpn.hash b/package/network-manager-openvpn/network-manager-openvpn.hash index d0cbc7ca87d..11fb28f8c87 100644 --- a/package/network-manager-openvpn/network-manager-openvpn.hash +++ b/package/network-manager-openvpn/network-manager-openvpn.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/NetworkManager-openvpn/1.8/NetworkManager-openvpn-1.8.14.sha256sum -sha256 e7419053fc3b5a7e25f1a7517c313ad4531b6ea280255524ebb85a70c76fdbeb NetworkManager-openvpn-1.8.14.tar.xz +# From https://download.gnome.org/sources/NetworkManager-openvpn/1.10/NetworkManager-openvpn-1.10.2.sha256sum +sha256 62f0f2a8782221b923f212ac2a8ebbc1002efd6a90ee945dad4adfb56d076d21 NetworkManager-openvpn-1.10.2.tar.xz # Locally computed sha256 c39e345d992dfba62db265f8c6d6ff1d90c61d92876635ae05adbfa2f45fff46 COPYING diff --git a/package/network-manager-openvpn/network-manager-openvpn.mk b/package/network-manager-openvpn/network-manager-openvpn.mk index d5d4c5da422..ccc86e45f7b 100644 --- a/package/network-manager-openvpn/network-manager-openvpn.mk +++ b/package/network-manager-openvpn/network-manager-openvpn.mk @@ -4,8 +4,8 @@ # ################################################################################ -NETWORK_MANAGER_OPENVPN_VERSION_MAJOR = 1.8 -NETWORK_MANAGER_OPENVPN_VERSION = $(NETWORK_MANAGER_OPENVPN_VERSION_MAJOR).14 +NETWORK_MANAGER_OPENVPN_VERSION_MAJOR = 1.10 +NETWORK_MANAGER_OPENVPN_VERSION = $(NETWORK_MANAGER_OPENVPN_VERSION_MAJOR).2 NETWORK_MANAGER_OPENVPN_SOURCE = NetworkManager-openvpn-$(NETWORK_MANAGER_OPENVPN_VERSION).tar.xz NETWORK_MANAGER_OPENVPN_SITE = https://download.gnome.org/sources/NetworkManager-openvpn/$(NETWORK_MANAGER_OPENVPN_VERSION_MAJOR) NETWORK_MANAGER_OPENVPN_DEPENDENCIES = network-manager openvpn diff --git a/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch b/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch new file mode 100644 index 00000000000..8e25805d0c9 --- /dev/null +++ b/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch @@ -0,0 +1,44 @@ +From abc6e1cf258ab332bed161036a358bbe9c2d1e90 Mon Sep 17 00:00:00 2001 +From: Tatsuyuki Ishi +Date: Fri, 13 Oct 2023 16:46:09 +0000 +Subject: [PATCH] connectivity: Make curl timeout callback non-repeating. + +This reverts commit 05c31da4d9. + +In the linked commit the callback was made repeating on the assumption +that forward progress would result in the callback getting canceled in +cb_data_complete. However, this assumption does not hold since a timeout +callback does not guarantee completion (or error out) of a request. + +curl tweaked some internals in v8.4.0 and started giving 0 timeouts, and +a repeating callback is firing back-to-back without making any progress +in doing so. + +Revert the change and make the callback non-repeating again. + +Fixes: 05c31da4d9cb ('connectivity: don't cancel curl timerfunction from timeout') +Upstream: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/abc6e1cf258ab332bed161036a358bbe9c2d1e90 +Signed-off-by: Christian Hitz +--- + src/core/nm-connectivity.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c +index 92de44f17d..d8b0004c38 100644 +--- a/src/core/nm-connectivity.c ++++ b/src/core/nm-connectivity.c +@@ -406,9 +406,10 @@ _con_curl_timeout_cb(gpointer user_data) + { + NMConnectivityCheckHandle *cb_data = user_data; + ++ cb_data->concheck.curl_timer = 0; + _con_curl_check_connectivity(cb_data->concheck.curl_mhandle, CURL_SOCKET_TIMEOUT, 0); + _complete_queued(cb_data->self); +- return G_SOURCE_CONTINUE; ++ return G_SOURCE_REMOVE; + } + + static int +-- +GitLab + diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index 37c4a79d161..57d7543131a 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_NETWORK_MANAGER depends on BR2_USE_MMU # dbus depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - # Tested with 3.2, but may even work with earlier versions depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 depends on BR2_TOOLCHAIN_USES_GLIBC # CLOCK_BOOTTIME, IPTOS_CLASS_* depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index f503665a9a0..daf4c3fef65 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -1,6 +1,5 @@ -# From https://download.gnome.org/sources/NetworkManager/1.40/NetworkManager-1.40.6.sha256sum -sha256 2f025b2d5af7de593bbf47c17e4d98a2b9608ea90a8260fb08080be97439534e NetworkManager-1.40.6.tar.xz +# From https://download.gnome.org/sources/NetworkManager/1.44/NetworkManager-1.44.2.sha256sum +sha256 4b58bf3ac57e2cefb5652efd0945eb0b4bc36a63d92a61ab471d8bb2c9a420e1 NetworkManager-1.44.2.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 f3c5ae3cafa27c24590cf89e732581cbeb4d25d950fe49ce7e4042963012b105 CONTRIBUTING.md diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index 847c6a82bab..4a246fd9042 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -4,13 +4,13 @@ # ################################################################################ -NETWORK_MANAGER_VERSION_MAJOR = 1.40 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).6 +NETWORK_MANAGER_VERSION_MAJOR = 1.44 +NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).2 NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = https://download.gnome.org/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.1+ (libnm) -NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL CONTRIBUTING.md +NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL NETWORK_MANAGER_CPE_ID_VENDOR = gnome NETWORK_MANAGER_CPE_ID_PRODUCT = networkmanager NETWORK_MANAGER_SELINUX_MODULES = networkmanager @@ -96,6 +96,7 @@ endif ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER),y) NETWORK_MANAGER_DEPENDENCIES += modem-manager mobile-broadband-provider-info NETWORK_MANAGER_CONF_OPTS += -Dmodem_manager=true +NETWORK_MANAGER_CONF_OPTS += -Dmobile_broadband_provider_info_database=/usr/share/mobile-broadband-provider-info/serviceproviders.xml else NETWORK_MANAGER_CONF_OPTS += -Dmodem_manager=false endif diff --git a/package/networkd-dispatcher/networkd-dispatcher.hash b/package/networkd-dispatcher/networkd-dispatcher.hash index ffb4fa846a6..f50dd75163d 100644 --- a/package/networkd-dispatcher/networkd-dispatcher.hash +++ b/package/networkd-dispatcher/networkd-dispatcher.hash @@ -1,3 +1,3 @@ # locally computed -sha256 61270b4c2f39c36da4b0a62724a3cc01f6732493fed0f166ee675bafedff11df networkd-dispatcher-2.2.3.tar.bz2 +sha256 993086fa2dab11ba6b54a121adaccbd4c679ce3c8b3193cfa5c00500c28cbdf9 networkd-dispatcher-2.2.4.tar.bz2 sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/networkd-dispatcher/networkd-dispatcher.mk b/package/networkd-dispatcher/networkd-dispatcher.mk index 2b1aa257ce7..a3e0319c105 100644 --- a/package/networkd-dispatcher/networkd-dispatcher.mk +++ b/package/networkd-dispatcher/networkd-dispatcher.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETWORKD_DISPATCHER_VERSION = 2.2.3 +NETWORKD_DISPATCHER_VERSION = 2.2.4 NETWORKD_DISPATCHER_SOURCE = networkd-dispatcher-$(NETWORKD_DISPATCHER_VERSION).tar.bz2 NETWORKD_DISPATCHER_SITE = https://gitlab.com/craftyguy/networkd-dispatcher/-/archive/$(NETWORKD_DISPATCHER_VERSION) NETWORKD_DISPATCHER_LICENSE = GPL-3.0 diff --git a/package/newlib-bare-metal/Config.in b/package/newlib-bare-metal/Config.in new file mode 100644 index 00000000000..1ff3d5d8ec2 --- /dev/null +++ b/package/newlib-bare-metal/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_NEWLIB_BARE_METAL + bool diff --git a/package/newlib-bare-metal/newlib-bare-metal.hash b/package/newlib-bare-metal/newlib-bare-metal.hash new file mode 100644 index 00000000000..827925373e5 --- /dev/null +++ b/package/newlib-bare-metal/newlib-bare-metal.hash @@ -0,0 +1,8 @@ +# Locally calculated +sha256 0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13 newlib-4.4.0.20231231.tar.gz + +# Hashes for license files locally calculated +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB +sha256 f3b7f3e4426b1fa6f60198dae7adfedd94b77b28db2d108adc0253575011e0ff COPYING.LIBGLOSS +sha256 9a59b4ee3af067045fe0ea78786201c42d54756fe48cbccf44f3dfc398474717 COPYING.NEWLIB diff --git a/package/newlib-bare-metal/newlib-bare-metal.mk b/package/newlib-bare-metal/newlib-bare-metal.mk new file mode 100644 index 00000000000..89092eb973d --- /dev/null +++ b/package/newlib-bare-metal/newlib-bare-metal.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# newlib-bare-metal +# +################################################################################ + +NEWLIB_BARE_METAL_VERSION = 4.4.0.20231231 +NEWLIB_BARE_METAL_SITE = https://sourceware.org/ftp/newlib +NEWLIB_BARE_METAL_SOURCE = newlib-$(NEWLIB_BARE_METAL_VERSION).tar.gz +NEWLIB_BARE_METAL_DEPENDENCIES = host-gcc-bare-metal +NEWLIB_BARE_METAL_ADD_TOOLCHAIN_DEPENDENCY = NO +NEWLIB_BARE_METAL_LICENSE = GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0 +NEWLIB_BARE_METAL_LICENSE_FILES = \ + COPYING \ + COPYING.LIB \ + COPYING.LIBGLOSS \ + COPYING.NEWLIB +NEWLIB_BARE_METAL_CPE_ID_VENDOR = newlib_project +NEWLIB_BARE_METAL_CPE_ID_PRODUCT = newlib + +NEWLIB_BARE_METAL_INSTALL_STAGING = YES +NEWLIB_BARE_METAL_INSTALL_TARGET = NO +NEWLIB_BARE_METAL_MAKE_OPTS = MAKEINFO=true + +define NEWLIB_BARE_METAL_CONFIGURE_CMDS + (cd $(@D) && \ + PATH=$(BR_PATH) \ + ./configure \ + --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \ + --prefix=/usr \ + --enable-newlib-io-c99-formats \ + --enable-newlib-io-long-long \ + --enable-newlib-io-float \ + --enable-newlib-io-long-double \ + --disable-multilib \ + ) +endef + +define NEWLIB_BARE_METAL_BUILD_CMDS + PATH=$(BR_PATH) $(MAKE1) $(NEWLIB_BARE_METAL_MAKE_OPTS) -C $(@D) +endef + +define NEWLIB_BARE_METAL_INSTALL_STAGING_CMDS + PATH=$(BR_PATH) $(MAKE1) -C $(@D) $(NEWLIB_BARE_METAL_MAKE_OPTS) \ + DESTDIR=$(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT) install +endef + +define NEWLIB_BARE_METAL_FIXUP + mv $(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT)/usr/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)/include \ + $(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT)/usr/include + mv $(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT)/usr/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)/lib \ + $(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT)/usr/lib +endef +NEWLIB_BARE_METAL_POST_INSTALL_STAGING_HOOKS += NEWLIB_BARE_METAL_FIXUP + +$(eval $(generic-package)) diff --git a/package/newt/newt.hash b/package/newt/newt.hash index 36487d998ee..6d5f7c3dcad 100644 --- a/package/newt/newt.hash +++ b/package/newt/newt.hash @@ -1,5 +1,5 @@ # From https://releases.pagure.org/newt/CHECKSUMS -sha256 265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31 newt-0.52.21.tar.gz -sha512 d53d927996d17223e688bf54dccfabb2a3dc02bfe38ffc455964e86feaca3cd9f9ab5b19774433be430fa4d761cd9b6680b558f297acb86f80daeb6942f7d23c newt-0.52.21.tar.gz +sha256 caa372907b14ececfe298f0d512a62f41d33b290610244a58aed07bbc5ada12a newt-0.52.23.tar.gz +sha512 c845d03946f72a6b46301152d7dc308f71d17b03d255d73d02ea7deb5392e22522dc8504f941fcffe5309c6c10f1b56742dac8585a16b0dc7e0c463f18871dda newt-0.52.23.tar.gz # Locally calculated sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/newt/newt.mk b/package/newt/newt.mk index b39acb0fcf8..3c9efe132f3 100644 --- a/package/newt/newt.mk +++ b/package/newt/newt.mk @@ -4,7 +4,7 @@ # ################################################################################ -NEWT_VERSION = 0.52.21 +NEWT_VERSION = 0.52.23 NEWT_SITE = https://pagure.io/releases/newt NEWT_INSTALL_STAGING = YES NEWT_DEPENDENCIES = popt slang $(TARGET_NLS_DEPENDENCIES) diff --git a/package/nfacct/Config.in b/package/nfacct/Config.in index e30d2d997b3..02e7a6dbaaf 100644 --- a/package/nfacct/Config.in +++ b/package/nfacct/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_NFACCT nfacct is the command line tool to create/retrieve/delete netfilter accounting objects. - http://www.netfilter.org/projects/nfacct/ + https://www.netfilter.org/projects/nfacct/ diff --git a/package/nfacct/nfacct.hash b/package/nfacct/nfacct.hash index aac5ce0ab88..4038ff86bca 100644 --- a/package/nfacct/nfacct.hash +++ b/package/nfacct/nfacct.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/nfacct/nfacct-1.0.2.tar.bz2.{md5sum,sha1sum} +# From https://www.netfilter.org/projects/nfacct/files/nfacct-1.0.2.tar.bz2.{md5sum,sha1sum} md5 94faafdaaed85ca9220c5692be8a408e nfacct-1.0.2.tar.bz2 sha1 17d6576778227ea93c62600d9b18ff4932963c6a nfacct-1.0.2.tar.bz2 # Locally computed diff --git a/package/nfacct/nfacct.mk b/package/nfacct/nfacct.mk index d4c7c4ce707..0092cb9c26c 100644 --- a/package/nfacct/nfacct.mk +++ b/package/nfacct/nfacct.mk @@ -6,7 +6,7 @@ NFACCT_VERSION = 1.0.2 NFACCT_SOURCE = nfacct-$(NFACCT_VERSION).tar.bz2 -NFACCT_SITE = http://www.netfilter.org/projects/nfacct/files +NFACCT_SITE = https://www.netfilter.org/projects/nfacct/files NFACCT_DEPENDENCIES = host-pkgconf \ libnetfilter_acct NFACCT_LICENSE = GPL-2.0 diff --git a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch deleted file mode 100644 index b8dcea63f77..00000000000 --- a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a69014a1b4e5b8068630abe3109f31eb64b6a076 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 10 Aug 2022 00:10:51 +0200 -Subject: [PATCH] nfsrahead: fix linking while static linking - --lmount must preceed -lblkid and to obtain this let's add: -`pkg-config --libs mount` -in place of: -`-lmount` -This ways the library order will always be correct. - -Signed-off-by: Giulio Benetti ---- -Pending Upstream: -https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/ ---- - tools/nfsrahead/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/nfsrahead/Makefile.am b/tools/nfsrahead/Makefile.am -index 845ea0d5..280a2eb4 100644 ---- a/tools/nfsrahead/Makefile.am -+++ b/tools/nfsrahead/Makefile.am -@@ -1,6 +1,6 @@ - libexec_PROGRAMS = nfsrahead - nfsrahead_SOURCES = main.c --nfsrahead_LDFLAGS= -lmount -+nfsrahead_LDFLAGS= `pkg-config --libs mount` - nfsrahead_LDADD = ../../support/nfs/libnfsconf.la - - man5_MANS = nfsrahead.man --- -2.34.1 - diff --git a/package/nfs-utils/0001-reexport-fsidd-reexport-.c-Re-add-missing-includes.patch b/package/nfs-utils/0001-reexport-fsidd-reexport-.c-Re-add-missing-includes.patch new file mode 100644 index 00000000000..4f79af450ec --- /dev/null +++ b/package/nfs-utils/0001-reexport-fsidd-reexport-.c-Re-add-missing-includes.patch @@ -0,0 +1,44 @@ +From 4710e469cd0f512ac5e2c3c4335d8e21b97f21b0 Mon Sep 17 00:00:00 2001 +From: Petr Vorel +Date: Tue, 5 Dec 2023 20:40:36 +0100 +Subject: [PATCH] reexport/{fsidd,reexport}.c: Re-add missing includes + +Older uClibc-ng requires for close(2), unlink(2) and write(2), + for struct sockaddr_un. + +Fixes: 1a4edb2a ("reexport/fsidd.c: Remove unused headers") +Fixes: bdc79f02 ("support/reexport.c: Remove unused headers") +Signed-off-by: Petr Vorel +Upstream: https://lore.kernel.org/linux-nfs/20231205223543.31443-1-pvorel@suse.cz/ +--- + support/reexport/fsidd.c | 2 ++ + support/reexport/reexport.c | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/support/reexport/fsidd.c b/support/reexport/fsidd.c +index 3e62b3fc..814fb48e 100644 +--- a/support/reexport/fsidd.c ++++ b/support/reexport/fsidd.c +@@ -7,6 +7,8 @@ + #include + #endif + #include ++#include ++#include + + #include "conffile.h" + #include "reexport_backend.h" +diff --git a/support/reexport/reexport.c b/support/reexport/reexport.c +index 78516586..1900b336 100644 +--- a/support/reexport/reexport.c ++++ b/support/reexport/reexport.c +@@ -7,6 +7,7 @@ + #endif + #include + #include ++#include + #include + + #include "nfsd_path.h" +-- +2.43.0 diff --git a/package/nfs-utils/0002-support-backend_sqlite.c-Add-missing-sys-syscall.h.patch b/package/nfs-utils/0002-support-backend_sqlite.c-Add-missing-sys-syscall.h.patch new file mode 100644 index 00000000000..88e1a9068d3 --- /dev/null +++ b/package/nfs-utils/0002-support-backend_sqlite.c-Add-missing-sys-syscall.h.patch @@ -0,0 +1,31 @@ +From aee92881ba80cf2ae7381d19f09e7fbeda57974c Mon Sep 17 00:00:00 2001 +From: Petr Vorel +Date: Tue, 5 Dec 2023 23:20:33 +0100 +Subject: [PATCH] support/backend_sqlite.c: Add missing + +This fixes build on systems which actually needs getrandom() +(to get SYS_getrandom). + +Fixes: f92fd6ca ("support/backend_sqlite.c: Add getrandom() fallback") +Fixes: http://autobuild.buildroot.net/results/c5fde6099a8b228a8bdc3154d1e47dfa192e94ed/ +Reported-by: Giulio Benetti +Signed-off-by: Petr Vorel +Upstream: https://lore.kernel.org/linux-nfs/20231205223543.31443-2-pvorel@suse.cz/ +--- + support/reexport/backend_sqlite.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/support/reexport/backend_sqlite.c b/support/reexport/backend_sqlite.c +index 0eb5ea37..54dfe447 100644 +--- a/support/reexport/backend_sqlite.c ++++ b/support/reexport/backend_sqlite.c +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + #include + + #ifdef HAVE_GETRANDOM +-- +2.43.0 diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in index f3cb17918e1..02cc7e78cc9 100644 --- a/package/nfs-utils/Config.in +++ b/package/nfs-utils/Config.in @@ -1,12 +1,15 @@ -comment "nfs-utils needs a toolchain w/ threads" +comment "nfs-utils needs a toolchain w/ threads, headers >= 3.17" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 config BR2_PACKAGE_NFS_UTILS bool "nfs-utils" depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc, rpcbind depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # getrandom() + select BR2_PACKAGE_LIBEVENT select BR2_PACKAGE_LIBTIRPC # IPv6 requires libtirpc + select BR2_PACKAGE_SQLITE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT @@ -24,9 +27,7 @@ config BR2_PACKAGE_NFS_UTILS_NFSV4 bool "NFSv4/NFSv4.1" depends on !BR2_STATIC_LIBS # keyutils, lvm2 select BR2_PACKAGE_KEYUTILS - select BR2_PACKAGE_LIBEVENT select BR2_PACKAGE_LVM2 - select BR2_PACKAGE_SQLITE help Enable NFSv4/NFSv4.1/NFSv4.2 support diff --git a/package/nfs-utils/nfs-utils.hash b/package/nfs-utils/nfs-utils.hash index 2efe693875d..9d74991df1d 100644 --- a/package/nfs-utils/nfs-utils.hash +++ b/package/nfs-utils/nfs-utils.hash @@ -1,4 +1,4 @@ -# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.2/sha256sums.asc -sha256 5200873e81c4d610e2462fc262fe18135f2dbe78b7979f95accd159ae64d5011 nfs-utils-2.6.2.tar.xz +# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.4/sha256sums.asc +sha256 01b3b0fb9c7d0bbabf5114c736542030748c788ec2fd9734744201e9b0a1119d nfs-utils-2.6.4.tar.xz # Locally computed sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index ed205a26b11..b757e3e51dc 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -4,14 +4,13 @@ # ################################################################################ -NFS_UTILS_VERSION = 2.6.2 +NFS_UTILS_VERSION = 2.6.4 NFS_UTILS_SOURCE = nfs-utils-$(NFS_UTILS_VERSION).tar.xz NFS_UTILS_SITE = https://www.kernel.org/pub/linux/utils/nfs-utils/$(NFS_UTILS_VERSION) NFS_UTILS_LICENSE = GPL-2.0+ NFS_UTILS_LICENSE_FILES = COPYING -NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libtirpc util-linux +NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libevent libtirpc sqlite util-linux NFS_UTILS_CPE_ID_VENDOR = linux-nfs -NFS_UTILS_AUTORECONF = YES NFS_UTILS_CONF_ENV = knfsd_cv_bsd_signals=no @@ -22,7 +21,7 @@ NFS_UTILS_CONF_OPTS = \ --with-statedir=/run/nfs \ --with-rpcgen=$(HOST_DIR)/bin/rpcgen -HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc +HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc host-libevent host-sqlite host-util-linux HOST_NFS_UTILS_CONF_OPTS = \ --enable-tirpc \ @@ -34,6 +33,7 @@ HOST_NFS_UTILS_CONF_OPTS = \ --without-tcp-wrappers \ --with-statedir=/run/nfs \ --disable-caps \ + --disable-nfsrahead \ --without-systemd \ --with-rpcgen=internal \ --with-tirpcinclude=$(HOST_DIR)/include/tirpc @@ -42,11 +42,12 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_NFSD) += usr/sbin/exportfs \ - usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service + usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service \ + usr/sbin/fsidd usr/lib/systemd/system/fsidd.service ifeq ($(BR2_PACKAGE_NFS_UTILS_NFSV4),y) NFS_UTILS_CONF_OPTS += --enable-nfsv4 --enable-nfsv41 -NFS_UTILS_DEPENDENCIES += keyutils libevent lvm2 sqlite +NFS_UTILS_DEPENDENCIES += keyutils lvm2 else NFS_UTILS_CONF_OPTS += --disable-nfsv4 --disable-nfsv41 endif @@ -68,12 +69,6 @@ else NFS_UTILS_CONF_OPTS += --disable-caps endif -ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y) -NFS_UTILS_CONF_OPTS += --enable-uuid -else -NFS_UTILS_CONF_OPTS += --disable-uuid -endif - define NFS_UTILS_INSTALL_FIXUP cd $(TARGET_DIR) && rm -f $(NFS_UTILS_TARGETS_) touch $(TARGET_DIR)/etc/exports diff --git a/package/nftables/Config.in b/package/nftables/Config.in index 8d172b72569..833a3a38a2c 100644 --- a/package/nftables/Config.in +++ b/package/nftables/Config.in @@ -13,5 +13,10 @@ config BR2_PACKAGE_NFTABLES http://www.netfilter.org/projects/nftables/index.html +# Legacy: this used to be handled in nftables.mk +if BR2_PACKAGE_NFTABLES +source "package/nftables/nftables-python/Config.in" +endif + comment "nftables needs a toolchain w/ wchar, headers >= 3.12" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 diff --git a/package/nftables/nftables-python/Config.in b/package/nftables/nftables-python/Config.in new file mode 100644 index 00000000000..b16e2d0ad11 --- /dev/null +++ b/package/nftables/nftables-python/Config.in @@ -0,0 +1,4 @@ +config BR2_PACKAGE_NFTABLES_PYTHON + bool "python bindings" + default y # legacy + depends on BR2_PACKAGE_PYTHON3 diff --git a/package/nftables/nftables-python/nftables-python.hash b/package/nftables/nftables-python/nftables-python.hash new file mode 120000 index 00000000000..9ac74580e7c --- /dev/null +++ b/package/nftables/nftables-python/nftables-python.hash @@ -0,0 +1 @@ +../nftables.hash \ No newline at end of file diff --git a/package/nftables/nftables-python/nftables-python.mk b/package/nftables/nftables-python/nftables-python.mk new file mode 100644 index 00000000000..908bacd99a2 --- /dev/null +++ b/package/nftables/nftables-python/nftables-python.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# nftables-python +# +################################################################################ + +# The following assignments work only because nftables.mk is included before +# this file is. +NFTABLES_PYTHON_VERSION = $(NFTABLES_VERSION) +NFTABLES_PYTHON_SOURCE = $(NFTABLES_SOURCE) +NFTABLES_PYTHON_SITE = $(NFTABLES_SITE) +NFTABLES_PYTHON_LICENSE = $(NFTABLES_LICENSE) +NFTABLES_PYTHON_LICENSE_FILES = $(NFTABLES_LICENSE_FILES) + +# We share the same source code as nftables +NFTABLES_PYTHON_DL_SUBDIR = nftables + +NFTABLES_PYTHON_SUBDIR = py + +NFTABLES_PYTHON_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/nftables/nftables.hash b/package/nftables/nftables.hash index 5e5134b61d1..c5ede1130aa 100644 --- a/package/nftables/nftables.hash +++ b/package/nftables/nftables.hash @@ -1,3 +1,8 @@ # From https://netfilter.org/projects/nftables/downloads.html -sha256 8d1b4b18393af43698d10baa25d2b9b6397969beecac7816c35dd0714e4de50a nftables-1.0.5.tar.bz2 -sha256 c17bc4fa5b2434c6f283ffcb2312e5bf3c7cdf5787b79505f094d8de734ac53e COPYING +# Checked pgp signature: +# https://netfilter.org/projects/nftables/files/nftables-1.0.8.tar.xz.sig +# with key: +# https://netfilter.org/files/coreteam-gpg-key-0xD55D978A8A1420E4.txt +sha256 9373740de41a82dbc98818e0a46a073faeb8a8d0689fa4fa1a74399c32bf3d50 nftables-1.0.8.tar.xz +# Locally computed: +sha256 4ee1e51baf5f3166712fa0c3e01338c7257e50ddef245d28bb14ad68f6070ba5 COPYING diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk index 9d60736d7f7..9cba2433723 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -4,15 +4,22 @@ # ################################################################################ -NFTABLES_VERSION = 1.0.5 -NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.bz2 +NFTABLES_VERSION = 1.0.8 +NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.xz NFTABLES_SITE = https://www.netfilter.org/projects/nftables/files NFTABLES_DEPENDENCIES = libmnl libnftnl host-pkgconf $(TARGET_NLS_DEPENDENCIES) NFTABLES_LICENSE = GPL-2.0 NFTABLES_LICENSE_FILES = COPYING -NFTABLES_CONF_OPTS = --disable-debug --disable-man-doc --disable-pdf-doc +NFTABLES_INSTALL_STAGING = YES NFTABLES_SELINUX_MODULES = iptables +# Python bindings are handled by package nftables-python +NFTABLES_CONF_OPTS = \ + --disable-debug \ + --disable-man-doc \ + --disable-pdf-doc \ + --disable-python + ifeq ($(BR2_PACKAGE_GMP),y) NFTABLES_DEPENDENCIES += gmp NFTABLES_CONF_OPTS += --without-mini-gmp @@ -42,13 +49,6 @@ else NFTABLES_CONF_OPTS += --without-json endif -ifeq ($(BR2_PACKAGE_PYTHON3),y) -NFTABLES_CONF_OPTS += --enable-python -NFTABLES_DEPENDENCIES += python3 -else -NFTABLES_CONF_OPTS += --disable-python -endif - NFTABLES_CONF_ENV = LIBS="$(NFTABLES_LIBS)" define NFTABLES_LINUX_CONFIG_FIXUPS @@ -58,3 +58,6 @@ define NFTABLES_LINUX_CONFIG_FIXUPS endef $(eval $(autotools-package)) + +# Legacy: we used to handle it in this .mk +include package/nftables/nftables-python/nftables-python.mk diff --git a/package/nghttp2/nghttp2.hash b/package/nghttp2/nghttp2.hash index 3702a91b5e3..dddf6fe1bd6 100644 --- a/package/nghttp2/nghttp2.hash +++ b/package/nghttp2/nghttp2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 eacc6f0f8543583ecd659faf0a3f906ed03826f1d4157b536b4b385fe47c5bb8 nghttp2-1.41.0.tar.gz +sha256 4a68a3040da92fd9872c056d0f6b0cd60de8410de10b578f8ade9ecc14d297e0 nghttp2-1.58.0.tar.xz sha256 6b94f3abc1aabd0c72a7c7d92a77f79dda7c8a0cb3df839a97890b4116a2de2a COPYING diff --git a/package/nghttp2/nghttp2.mk b/package/nghttp2/nghttp2.mk index 9190fa30d60..7a05e38fa99 100644 --- a/package/nghttp2/nghttp2.mk +++ b/package/nghttp2/nghttp2.mk @@ -4,7 +4,8 @@ # ################################################################################ -NGHTTP2_VERSION = 1.41.0 +NGHTTP2_VERSION = 1.58.0 +NGHTTP2_SOURCE = nghttp2-$(NGHTTP2_VERSION).tar.xz NGHTTP2_SITE = https://github.com/nghttp2/nghttp2/releases/download/v$(NGHTTP2_VERSION) NGHTTP2_LICENSE = MIT NGHTTP2_LICENSE_FILES = COPYING diff --git a/package/nginx-modsecurity/Config.in b/package/nginx-modsecurity/Config.in index 5cbe57a8661..0bbf05fad9d 100644 --- a/package/nginx-modsecurity/Config.in +++ b/package/nginx-modsecurity/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY depends on BR2_PACKAGE_NGINX_HTTP depends on BR2_INSTALL_LIBSTDCPP # libmodsecurity depends on BR2_TOOLCHAIN_HAS_THREADS # libmodsecurity - depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_LIBCURL_MBEDTLS) # libmodsecurity + depends on !BR2_STATIC_LIBS # libmodsecurity select BR2_PACKAGE_LIBMODSECURITY help The ModSecurity-nginx connector is the connection @@ -12,10 +12,7 @@ config BR2_PACKAGE_NGINX_MODSECURITY https://github.com/SpiderLabs/ModSecurity-nginx -comment "nginx-modsecurity needs a toolchain w/ C++, threads" +comment "nginx-modsecurity needs a toolchain w/ C++, threads, dynamic library" depends on BR2_PACKAGE_NGINX_HTTP - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -comment "nginx-modsecurity needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_NGINX_HTTP - depends on BR2_STATIC_LIBS && BR2_PACKAGE_LIBCURL_MBEDTLS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/nginx-modsecurity/nginx-modsecurity.hash b/package/nginx-modsecurity/nginx-modsecurity.hash index fbaf1ca239c..0cd2ee07cd1 100644 --- a/package/nginx-modsecurity/nginx-modsecurity.hash +++ b/package/nginx-modsecurity/nginx-modsecurity.hash @@ -1,4 +1,4 @@ -# From https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v1.0.2/modsecurity-nginx-v1.0.2.tar.gz.sha256 -sha256 41a6660c50508c60df59f8f09c444d18ef8112a4c118cdc791a3992390b78c32 modsecurity-nginx-v1.0.2.tar.gz +# From https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v1.0.3/modsecurity-nginx-v1.0.3.tar.gz.sha256 +sha256 ae811c7208ac029cb7a99d6f63e03d3971797607517187f47620df39c1f78add modsecurity-nginx-v1.0.3.tar.gz # Localy calculated sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/nginx-modsecurity/nginx-modsecurity.mk b/package/nginx-modsecurity/nginx-modsecurity.mk index 90ef8ecd511..a00c200469c 100644 --- a/package/nginx-modsecurity/nginx-modsecurity.mk +++ b/package/nginx-modsecurity/nginx-modsecurity.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_MODSECURITY_VERSION = 1.0.2 +NGINX_MODSECURITY_VERSION = 1.0.3 NGINX_MODSECURITY_SOURCE = modsecurity-nginx-v$(NGINX_MODSECURITY_VERSION).tar.gz NGINX_MODSECURITY_SITE = https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v$(NGINX_MODSECURITY_VERSION) NGINX_MODSECURITY_LICENSE = Apache-2.0 diff --git a/package/nginx-naxsi/0001-naxsi_src-naxsi_runtime.c-fix-build-without-x_forwar.patch b/package/nginx-naxsi/0001-naxsi_src-naxsi_runtime.c-fix-build-without-x_forwar.patch deleted file mode 100644 index 238a01923df..00000000000 --- a/package/nginx-naxsi/0001-naxsi_src-naxsi_runtime.c-fix-build-without-x_forwar.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 8ea5218b07f715e9616a846bf305633ef1b3aa2a Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 14 Aug 2021 11:46:08 +0200 -Subject: [PATCH] naxsi_src/naxsi_runtime.c: fix build without x_forwarded_for - -x_forwarded_for is not available if realip, geo, geoip or proxy modules -aren't enabled resulting in the following build failure since version -1.1a and -https://github.com/nbs-system/naxsi/commit/07a056ccd36bc3c5c40dc17991db226cb8cf6241: - -/home/buildroot/autobuild/instance-3/output-1/build/nginx-naxsi-1.3/naxsi_src/naxsi_runtime.c: In function 'ngx_http_naxsi_data_parse': -/home/buildroot/autobuild/instance-3/output-1/build/nginx-naxsi-1.3/naxsi_src/naxsi_runtime.c:2846:20: error: 'ngx_http_headers_in_t' has no member named 'x_forwarded_for' - if (r->headers_in.x_forwarded_for.nelts >= 1) { - ^ - -Fixes: - - http://autobuild.buildroot.org/results/cdbc1536f6b5de3d4c836efa2f0dcaf0cdbb1462 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/nbs-system/naxsi/pull/568] ---- - naxsi_src/naxsi_runtime.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/naxsi_src/naxsi_runtime.c b/naxsi_src/naxsi_runtime.c -index 28e0b29..6a723d2 100644 ---- a/naxsi_src/naxsi_runtime.c -+++ b/naxsi_src/naxsi_runtime.c -@@ -2842,10 +2842,12 @@ ngx_http_naxsi_data_parse(ngx_http_request_ctx_t* ctx, ngx_http_request_t* r) - unsigned int n = 0; - ngx_table_elt_t** h = NULL; - ngx_array_t a; -+#if (NGX_HTTP_X_FORWARDED_FOR) - if (r->headers_in.x_forwarded_for.nelts >= 1) { - a = r->headers_in.x_forwarded_for; - n = a.nelts; - } -+#endif - if (n >= 1) - h = a.elts; - if (n >= 1) { -@@ -2879,6 +2881,7 @@ ngx_http_naxsi_update_current_ctx_status(ngx_http_request_ctx_t* ctx, - - /*cr, sc, cf, ctx*/ - if (cf->check_rules && ctx->special_scores) { -+#if (NGX_HTTP_X_FORWARDED_FOR) - if (r->headers_in.x_forwarded_for.nelts >= 1) { - a = r->headers_in.x_forwarded_for; - n = a.nelts; -@@ -2896,7 +2899,9 @@ ngx_http_naxsi_update_current_ctx_status(ngx_http_request_ctx_t* ctx, - memcpy(ip.data, h[0]->value.data, ip.len); - ignore = nx_can_ignore_ip(&ip, cf) || nx_can_ignore_cidr(&ip, cf); - } -- } else { -+ } else -+#endif -+ { - ngx_str_t* ip = &r->connection->addr_text; - NX_DEBUG(_debug_whitelist_ignore, - NGX_LOG_DEBUG_HTTP, --- -2.30.2 - diff --git a/package/nginx-naxsi/Config.in b/package/nginx-naxsi/Config.in index fc2ba9bfe35..d30d653df34 100644 --- a/package/nginx-naxsi/Config.in +++ b/package/nginx-naxsi/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_NGINX_NAXSI bool "nginx-naxsi" depends on BR2_PACKAGE_NGINX_HTTP - # uses pcre, so nginx needs to be built with pcre support - select BR2_PACKAGE_PCRE + # uses pcre2, so nginx needs to be built with pcre2 support + select BR2_PACKAGE_PCRE2 help NAXSI means Nginx Anti XSS & SQL Injection. diff --git a/package/nginx-naxsi/nginx-naxsi.hash b/package/nginx-naxsi/nginx-naxsi.hash index 4712ede2af1..a724941b256 100644 --- a/package/nginx-naxsi/nginx-naxsi.hash +++ b/package/nginx-naxsi/nginx-naxsi.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 439c8677372d2597b4360bbcc10bc86490de1fc75695b193ad5df154a214d628 nginx-naxsi-1.3.tar.gz +sha256 dbe2177411457f1cba98ee4673ce31876994ad06bdce5ecc0ee66384ef0e420e nginx-naxsi-d714f1636ea49a9a9f4f06dba14aee003e970834.tar.gz sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE sha256 d0732bc23658db5b9749e3f9cd4fe0f9b3e132b5955adccb08821845fe2a21c8 naxsi_src/ext/libinjection/COPYING diff --git a/package/nginx-naxsi/nginx-naxsi.mk b/package/nginx-naxsi/nginx-naxsi.mk index 2dba8ad5892..84d167a663b 100644 --- a/package/nginx-naxsi/nginx-naxsi.mk +++ b/package/nginx-naxsi/nginx-naxsi.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_NAXSI_VERSION = 1.3 +NGINX_NAXSI_VERSION = d714f1636ea49a9a9f4f06dba14aee003e970834 NGINX_NAXSI_SITE = $(call github,nbs-system,naxsi,$(NGINX_NAXSI_VERSION)) NGINX_NAXSI_LICENSE = GPL-3.0, BSD-3-Clause (libinjection) NGINX_NAXSI_LICENSE_FILES = LICENSE naxsi_src/ext/libinjection/COPYING diff --git a/package/nginx/0011-Mp4-disabled-duplicate-atoms.patch b/package/nginx/0011-Mp4-disabled-duplicate-atoms.patch deleted file mode 100644 index 7baa810b565..00000000000 --- a/package/nginx/0011-Mp4-disabled-duplicate-atoms.patch +++ /dev/null @@ -1,315 +0,0 @@ -From 6b022a5556af22b6e18532e547a6ae46b0d8c6ea Mon Sep 17 00:00:00 2001 -From: Roman Arutyunyan -Date: Wed, 19 Oct 2022 10:53:17 +0300 -Subject: [PATCH] Mp4: disabled duplicate atoms. - -Most atoms should not appear more than once in a container. Previously, -this was not enforced by the module, which could result in worker process -crash, memory corruption and disclosure. - -Signed-off-by: Peter Korsgaard ---- - src/http/modules/ngx_http_mp4_module.c | 147 +++++++++++++++++++++++++ - 1 file changed, 147 insertions(+) - -diff --git a/src/http/modules/ngx_http_mp4_module.c b/src/http/modules/ngx_http_mp4_module.c -index 9c3f627f..4eff01e9 100644 ---- a/src/http/modules/ngx_http_mp4_module.c -+++ b/src/http/modules/ngx_http_mp4_module.c -@@ -1121,6 +1121,12 @@ ngx_http_mp4_read_ftyp_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - return NGX_ERROR; - } - -+ if (mp4->ftyp_atom.buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 ftyp atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom_size = sizeof(ngx_mp4_atom_header_t) + (size_t) atom_data_size; - - ftyp_atom = ngx_palloc(mp4->request->pool, atom_size); -@@ -1179,6 +1185,12 @@ ngx_http_mp4_read_moov_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - return NGX_DECLINED; - } - -+ if (mp4->moov_atom.buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 moov atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - conf = ngx_http_get_module_loc_conf(mp4->request, ngx_http_mp4_module); - - if (atom_data_size > mp4->buffer_size) { -@@ -1246,6 +1258,12 @@ ngx_http_mp4_read_mdat_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, "mp4 mdat atom"); - -+ if (mp4->mdat_atom.buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 mdat atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - data = &mp4->mdat_data_buf; - data->file = &mp4->file; - data->in_file = 1; -@@ -1372,6 +1390,12 @@ ngx_http_mp4_read_mvhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - ngx_log_debug0(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, "mp4 mvhd atom"); - -+ if (mp4->mvhd_atom.buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 mvhd atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom_header = ngx_mp4_atom_header(mp4); - mvhd_atom = (ngx_mp4_mvhd_atom_t *) atom_header; - mvhd64_atom = (ngx_mp4_mvhd64_atom_t *) atom_header; -@@ -1637,6 +1661,13 @@ ngx_http_mp4_read_tkhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - atom_size = sizeof(ngx_mp4_atom_header_t) + (size_t) atom_data_size; - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_TKHD_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 tkhd atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->tkhd_size = atom_size; - trak->movie_duration = duration; - -@@ -1676,6 +1707,12 @@ ngx_http_mp4_read_mdia_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_MDIA_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 mdia atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->mdia_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -1799,6 +1836,13 @@ ngx_http_mp4_read_mdhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - atom_size = sizeof(ngx_mp4_atom_header_t) + (size_t) atom_data_size; - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_MDHD_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 mdhd atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->mdhd_size = atom_size; - trak->timescale = timescale; - trak->duration = duration; -@@ -1862,6 +1906,12 @@ ngx_http_mp4_read_hdlr_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_HDLR_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 hdlr atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->hdlr_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -1890,6 +1940,12 @@ ngx_http_mp4_read_minf_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_MINF_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 minf atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->minf_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -1933,6 +1989,15 @@ ngx_http_mp4_read_vmhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_VMHD_ATOM].buf -+ || trak->out[NGX_HTTP_MP4_SMHD_ATOM].buf) -+ { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 vmhd/smhd atom in \"%s\"", -+ mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->vmhd_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -1964,6 +2029,15 @@ ngx_http_mp4_read_smhd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_VMHD_ATOM].buf -+ || trak->out[NGX_HTTP_MP4_SMHD_ATOM].buf) -+ { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 vmhd/smhd atom in \"%s\"", -+ mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->smhd_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -1995,6 +2069,12 @@ ngx_http_mp4_read_dinf_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_DINF_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 dinf atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->dinf_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -2023,6 +2103,12 @@ ngx_http_mp4_read_stbl_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_STBL_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stbl atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->stbl_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -2144,6 +2230,12 @@ ngx_http_mp4_read_stsd_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - - trak = ngx_mp4_last_trak(mp4); - -+ if (trak->out[NGX_HTTP_MP4_STSD_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stsd atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - atom = &trak->stsd_atom_buf; - atom->temporary = 1; - atom->pos = atom_header; -@@ -2212,6 +2304,13 @@ ngx_http_mp4_read_stts_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - atom_end = atom_table + entries * sizeof(ngx_mp4_stts_entry_t); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_STTS_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stts atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->time_to_sample_entries = entries; - - atom = &trak->stts_atom_buf; -@@ -2480,6 +2579,13 @@ ngx_http_mp4_read_stss_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - "sync sample entries:%uD", entries); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_STSS_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stss atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->sync_samples_entries = entries; - - atom_table = atom_header + sizeof(ngx_http_mp4_stss_atom_t); -@@ -2678,6 +2784,13 @@ ngx_http_mp4_read_ctts_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - "composition offset entries:%uD", entries); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_CTTS_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 ctts atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->composition_offset_entries = entries; - - atom_table = atom_header + sizeof(ngx_mp4_ctts_atom_t); -@@ -2881,6 +2994,13 @@ ngx_http_mp4_read_stsc_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - atom_end = atom_table + entries * sizeof(ngx_mp4_stsc_entry_t); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_STSC_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stsc atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->sample_to_chunk_entries = entries; - - atom = &trak->stsc_atom_buf; -@@ -3213,6 +3333,13 @@ ngx_http_mp4_read_stsz_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - "sample uniform size:%uD, entries:%uD", size, entries); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_STSZ_ATOM].buf) { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stsz atom in \"%s\"", mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->sample_sizes_entries = entries; - - atom_table = atom_header + sizeof(ngx_mp4_stsz_atom_t); -@@ -3396,6 +3523,16 @@ ngx_http_mp4_read_stco_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - atom_end = atom_table + entries * sizeof(uint32_t); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_STCO_ATOM].buf -+ || trak->out[NGX_HTTP_MP4_CO64_ATOM].buf) -+ { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stco/co64 atom in \"%s\"", -+ mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->chunks = entries; - - atom = &trak->stco_atom_buf; -@@ -3602,6 +3739,16 @@ ngx_http_mp4_read_co64_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size) - atom_end = atom_table + entries * sizeof(uint64_t); - - trak = ngx_mp4_last_trak(mp4); -+ -+ if (trak->out[NGX_HTTP_MP4_STCO_ATOM].buf -+ || trak->out[NGX_HTTP_MP4_CO64_ATOM].buf) -+ { -+ ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0, -+ "duplicate mp4 stco/co64 atom in \"%s\"", -+ mp4->file.name.data); -+ return NGX_ERROR; -+ } -+ - trak->chunks = entries; - - atom = &trak->co64_atom_buf; --- -2.30.2 - diff --git a/package/nginx/Config.in b/package/nginx/Config.in index 90a08222988..8e888baa1c6 100644 --- a/package/nginx/Config.in +++ b/package/nginx/Config.in @@ -6,7 +6,7 @@ menuconfig BR2_PACKAGE_NGINX nginx is an HTTP and reverse proxy server, as well as a mail proxy server. - http://nginx.org/ + https://nginx.org/ if BR2_PACKAGE_NGINX @@ -214,7 +214,7 @@ config BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE config BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE bool "ngx_http_rewrite_module" default y - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help Enable ngx_http_rewrite_module diff --git a/package/nginx/nginx.hash b/package/nginx/nginx.hash index 06d3392a2e1..24bc588d855 100644 --- a/package/nginx/nginx.hash +++ b/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 e462e11533d5c30baa05df7652160ff5979591d291736cfa5edb9fd2edb48c49 nginx-1.20.1.tar.gz +sha256 77a2541637b92a621e3ee76776c8b7b40cf6d707e69ba53a940283e30ff2f55d nginx-1.24.0.tar.gz # License files, locally calculated -sha256 b57270c1f73eb6624b38b2d0a1affcec56b21fab39efbf8c837428f05cef1d73 LICENSE +sha256 ececed0b0e7243a4766cbc62b26df4bd3513b41de3a07425da1679c836d06320 LICENSE diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index 62ea379ffc6..7bd2173b489 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -4,8 +4,8 @@ # ################################################################################ -NGINX_VERSION = 1.20.1 -NGINX_SITE = http://nginx.org/download +NGINX_VERSION = 1.24.0 +NGINX_SITE = https://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE NGINX_CPE_ID_VENDOR = f5 @@ -19,9 +19,6 @@ NGINX_CONF_OPTS = \ --with-cpp="$(TARGET_CC)" \ --with-ld-opt="$(TARGET_LDFLAGS)" -# 0011-Mp4-disabled-duplicate-atoms.patch -NGINX_IGNORE_CVES += CVE-2022-41741 CVE-2022-41742 - # www-data user and group are used for nginx. Because these user and group # are already set by buildroot, it is not necessary to redefine them. # See system/skeleton/etc/passwd @@ -83,8 +80,8 @@ else NGINX_CONF_ENV += ngx_force_have_libatomic=no endif -ifeq ($(BR2_PACKAGE_PCRE),y) -NGINX_DEPENDENCIES += pcre +ifeq ($(BR2_PACKAGE_PCRE2),y) +NGINX_DEPENDENCIES += pcre2 NGINX_CONF_OPTS += --with-pcre else NGINX_CONF_OPTS += --without-pcre @@ -167,7 +164,7 @@ NGINX_CONF_OPTS += --without-http_gzip_module endif ifeq ($(BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE),y) -NGINX_DEPENDENCIES += pcre +NGINX_DEPENDENCIES += pcre2 else NGINX_CONF_OPTS += --without-http_rewrite_module endif diff --git a/package/ngircd/Config.in b/package/ngircd/Config.in index 9b3d430922c..1e93a5702c7 100644 --- a/package/ngircd/Config.in +++ b/package/ngircd/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_NGIRCD bool "ngircd" depends on BR2_USE_MMU # fork() help - Next Generation IRC server deamon. + Next Generation IRC server daemon. http://ngircd.barton.de diff --git a/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch b/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch index 69c5c887e8a..c7f0dec3602 100644 --- a/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch +++ b/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch @@ -4,8 +4,7 @@ Date: Mon, 1 Jan 2018 18:00:34 +0100 Subject: [PATCH] Fix typo in configure.in when testing for use_pcre Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/jpr5/ngrep/commit/b8b1e9751e1d074af0dd77c2554c1b25fd8f7abe] +Upstream: https://github.com/jpr5/ngrep/commit/b8b1e9751e1d074af0dd77c2554c1b25fd8f7abe --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch b/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch index 22b18ab7ee2..7fa2e2f3bc6 100644 --- a/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch +++ b/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch @@ -7,8 +7,7 @@ libnet_init_packet was the old libnet 1.0 function which is now long deprecated. Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/jpr5/ngrep/commit/0a51c8bc62c7b49b8d67a360daa6b1957256f4f5] +Upstream: https://github.com/jpr5/ngrep/commit/0a51c8bc62c7b49b8d67a360daa6b1957256f4f5 --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ngrep/0003-fix-disable-tcpkill.patch b/package/ngrep/0003-fix-disable-tcpkill.patch index 1264fd7e3b6..894cd95b0fa 100644 --- a/package/ngrep/0003-fix-disable-tcpkill.patch +++ b/package/ngrep/0003-fix-disable-tcpkill.patch @@ -9,7 +9,7 @@ found on the system. To fix this, move AC_CHECK_LIB to found libnet outside AC_ARG_ENABLE Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/jpr5/ngrep/pull/15] +Upstream: https://github.com/jpr5/ngrep/pull/15 --- configure.in | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/package/ngrep/0004-configure.in-use-pkg-config-to-find-libnet.patch b/package/ngrep/0004-configure.in-use-pkg-config-to-find-libnet.patch new file mode 100644 index 00000000000..71550da943b --- /dev/null +++ b/package/ngrep/0004-configure.in-use-pkg-config-to-find-libnet.patch @@ -0,0 +1,38 @@ +From 4788988827bf4c0d996d3e1e3b6ac52a23b97941 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 9 Jan 2024 21:15:47 +0100 +Subject: [PATCH] configure.in: use pkg-config to find libnet + +libnet-config is deprecated: +https://github.com/libnet/libnet/commit/1ec4a6e7d1d23811f0a14ecb51e46489a0175727 + +Signed-off-by: Fabrice Fontaine +Upstream: unsent (upstream seems dead, no commit since 5 years +--- + configure.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 7c3dd43..882ff86 100644 +--- a/configure.in ++++ b/configure.in +@@ -176,12 +176,14 @@ AC_ARG_ENABLE(tcpkill, + [ use_tcpkill="$enableval" ], + [ use_tcpkill="no" ]) + ++PKG_PROG_PKG_CONFIG + if test $use_tcpkill = yes; then + AC_CHECK_LIB(net, libnet_init,,echo !!! error: tcpkill feature enabled but no libnet found; exit) + USE_TCPKILL="1" + EXTRA_OBJS="$EXTRA_OBJS tcpkill.o" +- EXTRA_DEFINES="$EXTRA_DEFINES $(libnet-config --defines)" +- EXTRA_LIBS="$EXTRA_LIBS $(libnet-config --libs)" ++ PKG_CHECK_MODULES(LIBNET, libnet) ++ EXTRA_DEFINES="$EXTRA_DEFINES $LIBNET_CFLAGS" ++ EXTRA_LIBS="$EXTRA_LIBS $LIBNET_LIBS" + else + USE_TCPKILL="0" + fi +-- +2.43.0 + diff --git a/package/ngrep/ngrep.mk b/package/ngrep/ngrep.mk index c4750f75041..dc69a342351 100644 --- a/package/ngrep/ngrep.mk +++ b/package/ngrep/ngrep.mk @@ -22,7 +22,7 @@ NGREP_CONF_OPTS = \ --disable-dropprivs \ --disable-pcap-restart -NGREP_DEPENDENCIES = libpcap pcre +NGREP_DEPENDENCIES = host-pkgconf libpcap pcre ifeq ($(BR2_PACKAGE_LIBNET),y) NGREP_DEPENDENCIES += libnet diff --git a/package/nmap/0002-nping-Crypto.cc-fix-build-with-libressl-3.5.0.patch b/package/nmap/0002-nping-Crypto.cc-fix-build-with-libressl-3.5.0.patch new file mode 100644 index 00000000000..f2bdf5904dd --- /dev/null +++ b/package/nmap/0002-nping-Crypto.cc-fix-build-with-libressl-3.5.0.patch @@ -0,0 +1,39 @@ +From 4ebea5c1d1a10be0d0165da3b9c0e1fa82c3db3c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 21 May 2022 17:51:37 +0200 +Subject: [PATCH] nping/Crypto.cc: fix build with libressl >= 3.5.0 + +Fix the following build failure with libressl >= 3.5.0: + +Crypto.cc: In static member function 'static int Crypto::aes128_cbc_encrypt(u8*, size_t, u8*, u8*, size_t, u8*)': +Crypto.cc:139:26: error: aggregate 'EVP_CIPHER_CTX ctx' has incomplete type and cannot be defined + 139 | EVP_CIPHER_CTX ctx; + | ^~~ + +Fixes: + - http://autobuild.buildroot.org/results/2e6eebbe2ed8305b88047bc92c19350c1ecada16 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/nmap/nmap/pull/2480 +--- + nping/Crypto.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/nping/Crypto.cc b/nping/Crypto.cc +index 850438352..9f7c88686 100644 +--- a/nping/Crypto.cc ++++ b/nping/Crypto.cc +@@ -70,7 +70,9 @@ + #include + #include + +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined LIBRESSL_VERSION_NUMBER ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && \ ++ ((!defined LIBRESSL_VERSION_NUMBER) || \ ++ (defined LIBRESSL_VERSION_NUMBER && LIBRESSL_VERSION_NUMBER >= 0x30500000L)) + #define HAVE_OPAQUE_EVP_PKEY 1 + #define FUNC_EVP_MD_CTX_init EVP_MD_CTX_reset + #define FUNC_EVP_MD_CTX_cleanup EVP_MD_CTX_reset +-- +2.35.1 + diff --git a/package/nmap/Config.in b/package/nmap/Config.in index fc6312d0fc7..6e097a9884c 100644 --- a/package/nmap/Config.in +++ b/package/nmap/Config.in @@ -24,7 +24,7 @@ config BR2_PACKAGE_NMAP_NCAT written for the Nmap Project as a much-improved reimplementation of the venerable Netcat. - If symlink to "nc" is installed if neither netcat or + A symlink to "nc" is installed if neither netcat or netcat-openbsd is selected. comment "a symlink from ncat to 'nc' will be installed" diff --git a/package/nmap/nmap.hash b/package/nmap/nmap.hash index dc379f30d47..99c5d5fb07d 100644 --- a/package/nmap/nmap.hash +++ b/package/nmap/nmap.hash @@ -1,5 +1,5 @@ -# From https://nmap.org/dist/sigs/nmap-7.92.tar.bz2.digest.txt (lowercase) -sha256 a5479f2f8a6b0b2516767d2f7189c386c1dc858d997167d7ec5cfc798c7571a1 nmap-7.92.tar.bz2 +# From https://nmap.org/dist/sigs/nmap-7.94.tar.bz2.digest.txt (lowercase) +sha512 a55cddf9c1d9272243d01251eb3315b26f232d0596818857083222a385398618b428dc2bd8282c3e832527e135a74aeb020ca8609d83d8337342f5d8a04d7f2c nmap-7.94.tar.bz2 # Locally calculated -sha256 133794301a764dfe8a60e38601e56657b7113e0337b452189725bbbed58baea0 LICENSE +sha256 9d9a9a763c0e6145172cfe7d8483e23b38ce60b6c79a82e4894242917bdae6d3 LICENSE diff --git a/package/nmap/nmap.mk b/package/nmap/nmap.mk index f22a2295b18..6cd9d961198 100644 --- a/package/nmap/nmap.mk +++ b/package/nmap/nmap.mk @@ -4,7 +4,7 @@ # ################################################################################ -NMAP_VERSION = 7.92 +NMAP_VERSION = 7.94 NMAP_SITE = https://nmap.org/dist NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2 NMAP_DEPENDENCIES = liblinear libpcap diff --git a/package/nmon/nmon.hash b/package/nmon/nmon.hash index 1d7226a4fe3..fdee8824a1d 100644 --- a/package/nmon/nmon.hash +++ b/package/nmon/nmon.hash @@ -1,5 +1,5 @@ # From https://sourceforge.net/projects/nmon/files/ -md5 a8172601fdc05f3bc58455cbd3f4475e lmon16n.c -sha1 024a3b56179838f0e04bf1706cc9ba56595301a8 lmon16n.c +md5 a294567253cd49ccad66d5f56435ba9d lmon16p.c +sha1 90ec7cd38515323bc0a22ce1a34504e70e8f468f lmon16p.c # Locally computed -sha256 c0012cc2d925dee940c37ceae297abac64ba5a5c30e575e7418b04028613f5f2 lmon16n.c +sha256 5dc6045f6725e3249a969918fae69663a1d669162087720babcdb90fce9e6b2a lmon16p.c diff --git a/package/nmon/nmon.mk b/package/nmon/nmon.mk index 01371a8c74e..4be19b1dcf7 100644 --- a/package/nmon/nmon.mk +++ b/package/nmon/nmon.mk @@ -4,7 +4,7 @@ # ################################################################################ -NMON_VERSION = 16n +NMON_VERSION = 16p NMON_SITE = https://sourceforge.net/projects/nmon/files NMON_SOURCE = lmon$(NMON_VERSION).c NMON_LICENSE = GPL-3.0+ diff --git a/package/nodejs/0001-add-qemu-wrapper-support.patch b/package/nodejs/0001-add-qemu-wrapper-support.patch deleted file mode 100644 index 184f3d19b70..00000000000 --- a/package/nodejs/0001-add-qemu-wrapper-support.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 1f6c55d7318e7075169004b4314708f4766ec193 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Mon, 27 Sep 2021 12:55:09 -0700 -Subject: [PATCH] add qemu-wrapper support - -V8's JIT infrastructure requires binaries such as mksnapshot and mkpeephole to -be run in the host during the build. However, these binaries must have the -same bit-width as the target (e.g. a x86_64 host targeting ARMv6 needs to -produce a 32-bit binary). To work around this issue, cross-compile the -binaries for the target and run them on the host with QEMU, much like -gobject-introspection. - -However, for the host-variant we do not want to use a -qemu-wrapper, so add @MAYBE_WRAPPER@ to the needed files and sed the path to -the qemu-wrapper on target builds, and remove @MAYBE_WRAPPER@ entirely on -host-builds. - -Signed-off-by: Adam Duskett ---- - node.gyp | 4 ++-- - tools/v8_gypfiles/v8.gyp | 10 +++++----- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/node.gyp b/node.gyp -index 97cdbb531d..db5cf51ce6 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -319,7 +319,7 @@ - 'action_name': 'run_mkcodecache', - 'process_outputs_as_sources': 1, - 'inputs': [ -- '<(mkcodecache_exec)', -+ @MAYBE_WRAPPER@ '<(mkcodecache_exec)', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc', -@@ -346,7 +346,7 @@ - 'action_name': 'node_mksnapshot', - 'process_outputs_as_sources': 1, - 'inputs': [ -- '<(node_mksnapshot_exec)', -+ @MAYBE_WRAPPER@ '<(node_mksnapshot_exec)', - '<(node_snapshot_main)', - ], - 'outputs': [ -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index 73099a03e4..88ca91efb4 100644 ---- a/tools/v8_gypfiles/v8.gyp -+++ b/tools/v8_gypfiles/v8.gyp -@@ -68,7 +68,7 @@ - { - 'action_name': 'run_torque_action', - 'inputs': [ # Order matters. -- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', -+ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', - '<@(torque_files)', - ], - 'outputs': [ -@@ -99,7 +99,7 @@ - '<@(torque_outputs_inc)', - ], - 'action': [ -- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', -+ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', - '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', - '-v8-root', '<(V8_ROOT)', - '<@(torque_files_without_v8_root)', -@@ -211,7 +211,7 @@ - { - 'action_name': 'generate_bytecode_builtins_list_action', - 'inputs': [ -- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', -+ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', - ], - 'outputs': [ - '<(generate_bytecode_builtins_list_output)', -@@ -395,7 +395,7 @@ - ], - }, - 'inputs': [ -- '<(mksnapshot_exec)', -+ @MAYBE_WRAPPER@ '<(mksnapshot_exec)', - ], - 'outputs': [ - '<(INTERMEDIATE_DIR)/snapshot.cc', -@@ -1505,7 +1505,7 @@ - { - 'action_name': 'run_gen-regexp-special-case_action', - 'inputs': [ -- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', -+ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc', --- -2.37.3 - diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in index 1489306be09..50d1360715e 100644 --- a/package/nodejs/Config.in +++ b/package/nodejs/Config.in @@ -7,25 +7,26 @@ config BR2_PACKAGE_NODEJS_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS -comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 7, wchar, host gcc >= 8" +comment "nodejs needs a toolchain w/ C++, dynamic library, NPTL, gcc >= 10, wchar, host gcc >= 10" depends on BR2_USE_MMU depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ - !BR2_HOST_GCC_AT_LEAST_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR + !BR2_HOST_GCC_AT_LEAST_10 || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || !BR2_USE_WCHAR config BR2_PACKAGE_NODEJS bool "nodejs" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_NODEJS_ARCH_SUPPORTS - depends on BR2_HOST_GCC_AT_LEAST_8 # qemu - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 + depends on BR2_HOST_GCC_AT_LEAST_10 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # uses fork() depends on BR2_USE_MMU # uses dlopen(). On ARMv5, we could technically support static # linking, but that's too much of a corner case to support it. depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_NODEJS_SRC select BR2_PACKAGE_HOST_NODEJS if BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL != "" select BR2_PACKAGE_HOST_PYTHON3 select BR2_PACKAGE_HOST_PYTHON3_BZIP2 @@ -85,3 +86,5 @@ config BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS modules. endif + +source "package/nodejs/nodejs-src/Config.in" diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host index f7f2b80a9b8..a8ab89176c1 100644 --- a/package/nodejs/Config.in.host +++ b/package/nodejs/Config.in.host @@ -1,14 +1,67 @@ +config BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS + bool + default y if BR2_HOSTARCH = "aarch64" + default y if BR2_HOSTARCH = "arm" + default y if BR2_HOSTARCH = "ppc64le" + default y if BR2_HOSTARCH = "x86_64" + +comment "host nodejs needs a host gcc >= 8" + depends on !BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS + depends on !BR2_HOST_GCC_AT_LEAST_8 + config BR2_PACKAGE_HOST_NODEJS bool "host nodejs" - depends on BR2_HOST_GCC_AT_LEAST_8 - select BR2_PACKAGE_HOST_PYTHON3 - select BR2_PACKAGE_HOST_PYTHON3_BZIP2 - select BR2_PACKAGE_HOST_PYTHON3_SSL + depends on BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS || \ + BR2_HOST_GCC_AT_LEAST_8 help Event-driven I/O server-side JavaScript environment based on V8. http://nodejs.org/ -comment "host nodejs needs a host gcc >= 8" +if BR2_PACKAGE_HOST_NODEJS + +choice + prompt "host nodejs variant" + default BR2_PACKAGE_HOST_NODEJS_BIN if BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS + default BR2_PACKAGE_HOST_NODEJS_SRC + help + Select a nodejs variant - built from source or + pre-built. + +config BR2_PACKAGE_HOST_NODEJS_BIN + bool "pre-built version" + depends on BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS + +config BR2_PACKAGE_HOST_NODEJS_SRC + bool "compile from source" + depends on BR2_HOST_GCC_AT_LEAST_8 + select BR2_PACKAGE_HOST_PYTHON3 + select BR2_PACKAGE_HOST_PYTHON3_BZIP2 + select BR2_PACKAGE_HOST_PYTHON3_SSL + +comment "host nodejs from source needs a host gcc >= 8" depends on !BR2_HOST_GCC_AT_LEAST_8 + +endchoice + +config BR2_PACKAGE_HOST_NODEJS_COREPACK + bool "Corepack" + help + Enable Corepack with host nodejs. + + Corepack is a zero-runtime-dependency Node.js script that + acts as a bridge between Node.js projects and the package + managers they are intended to be used with during + development. In practical terms, Corepack will let you use + Yarn and pnpm without having to install them - just like + what currently happens with npm, which is shipped by Node.js + by default. + +endif + +config BR2_PACKAGE_PROVIDES_HOST_NODEJS + string + default "host-nodejs-src" if BR2_PACKAGE_HOST_NODEJS_SRC + # default to host-nodejs-bin so it's used if nothing is set explicitly + default "host-nodejs-bin" if !BR2_PACKAGE_HOST_NODEJS_SRC diff --git a/package/nodejs/nodejs-bin/nodejs-bin.hash b/package/nodejs/nodejs-bin/nodejs-bin.hash new file mode 120000 index 00000000000..0c3ac2ce779 --- /dev/null +++ b/package/nodejs/nodejs-bin/nodejs-bin.hash @@ -0,0 +1 @@ +../nodejs.hash \ No newline at end of file diff --git a/package/nodejs/nodejs-bin/nodejs-bin.mk b/package/nodejs/nodejs-bin/nodejs-bin.mk new file mode 100644 index 00000000000..bf603e573c8 --- /dev/null +++ b/package/nodejs/nodejs-bin/nodejs-bin.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# nodejs-bin +# +################################################################################ + +NODEJS_BIN_VERSION = $(NODEJS_COMMON_VERSION) +NODEJS_BIN_SITE = $(NODEJS_COMMON_SITE) +NODEJS_BIN_SOURCE = node-v$(NODEJS_BIN_VERSION)-linux-$(NODEJS_BIN_ARCH).tar.xz +HOST_NODEJS_BIN_ACTUAL_SOURCE_TARBALL = node-v$(NODEJS_BIN_VERSION).tar.xz +NODEJS_BIN_DL_SUBDIR = nodejs + +NODEJS_BIN_LICENSE = $(NODEJS_LICENSE) +NODEJS_BIN_LICENSE_FILES = $(NODEJS_LICENSE_FILES) +NODEJS_BIN_CPE_ID_VENDOR = $(NODEJS_CPE_ID_VENDOR) +NODEJS_BIN_CPE_ID_PRODUCT = $(NODEJS_CPE_ID_PRODUCT) + +HOST_NODEJS_BIN_PROVIDES = host-nodejs + +ifeq ($(HOSTARCH),aarch64) +NODEJS_BIN_ARCH = arm64 +else ifeq ($(HOSTARCH),arm) +# We assume that if someone does a build on ARM, it will be on an +# ARMv7 machine +NODEJS_BIN_ARCH = armv7l +else ifeq ($(HOSTARCH),ppc64le) +NODEJS_BIN_ARCH = ppc64le +else ifeq ($(HOSTARCH),x86_64) +NODEJS_BIN_ARCH = x64 +endif + +define HOST_NODEJS_BIN_INSTALL_CMDS + rsync -a --exclude=CHANGELOG.md --exclude=LICENSE --exclude=README.md \ + $(@D)/* $(HOST_DIR)/ +endef + +$(eval $(host-generic-package)) diff --git a/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch b/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch new file mode 100644 index 00000000000..18f320ec5dc --- /dev/null +++ b/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch @@ -0,0 +1,114 @@ +From 1f6c55d7318e7075169004b4314708f4766ec193 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Mon, 27 Sep 2021 12:55:09 -0700 +Subject: [PATCH] add qemu-wrapper support + +V8's JIT infrastructure requires binaries such as mksnapshot and mkpeephole to +be run in the host during the build. However, these binaries must have the +same bit-width as the target (e.g. a x86_64 host targeting ARMv6 needs to +produce a 32-bit binary). To work around this issue, cross-compile the +binaries for the target and run them on the host with QEMU, much like +gobject-introspection. + +However, for the host-variant we do not want to use a +qemu-wrapper, so add @MAYBE_WRAPPER@ to the needed files and sed the path to +the qemu-wrapper on target builds, and remove @MAYBE_WRAPPER@ entirely on +host-builds. + +[Adam: Update for 20.9.0] +Signed-off-by: Adam Duskett +--- + node.gyp | 6 ++++-- + tools/v8_gypfiles/v8.gyp | 10 +++++----- + 2 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/node.gyp b/node.gyp +index 97cdbb531d..db5cf51ce6 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -662,7 +662,7 @@ + 'action_name': 'node_mksnapshot', + 'process_outputs_as_sources': 1, + 'inputs': [ +- '<(node_mksnapshot_exec)', ++ @MAYBE_WRAPPER@ '<(node_mksnapshot_exec)', + '<(node_snapshot_main)', + ], + 'outputs': [ +@@ -682,7 +682,7 @@ + 'action_name': 'node_mksnapshot', + 'process_outputs_as_sources': 1, + 'inputs': [ +- '<(node_mksnapshot_exec)', ++ @MAYBE_WRAPPER@ '<(node_mksnapshot_exec)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', +@@ -966,6 +966,7 @@ + 'action_name': 'node_js2c', + 'process_outputs_as_sources': 1, + 'inputs': [ ++ @MAYBE_WRAPPER@ + '<(node_js2c_exec)', + '<@(library_files)', + '<@(deps_files)', +@@ -975,6 +976,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc', + ], + 'action': [ ++ @MAYBE_WRAPPER@ + '<(node_js2c_exec)', + '<@(_outputs)', + 'lib', +diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp +index 73099a03e4..88ca91efb4 100644 +--- a/tools/v8_gypfiles/v8.gyp ++++ b/tools/v8_gypfiles/v8.gyp +@@ -81,7 +81,7 @@ + { + 'action_name': 'run_torque_action', + 'inputs': [ # Order matters. +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', + '<@(torque_files)', + ], + 'outputs': [ +@@ -112,7 +112,7 @@ + '<@(torque_outputs_inc)', + ], + 'action': [ +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', + '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', + '-v8-root', '<(V8_ROOT)', + '<@(torque_files_without_v8_root)', +@@ -224,7 +224,7 @@ + { + 'action_name': 'generate_bytecode_builtins_list_action', + 'inputs': [ +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ + '<(generate_bytecode_builtins_list_output)', +@@ -401,7 +401,7 @@ + ], + }, + 'inputs': [ +- '<(mksnapshot_exec)', ++ @MAYBE_WRAPPER@ '<(mksnapshot_exec)', + ], + 'outputs': [ + '<(INTERMEDIATE_DIR)/snapshot.cc', +@@ -1660,7 +1660,7 @@ + { + 'action_name': 'run_gen-regexp-special-case_action', + 'inputs': [ +- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', ++ @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc', +-- +2.37.3 + diff --git a/package/nodejs/0002-check-if-uclibc-has-backtrace-support.patch b/package/nodejs/nodejs-src/0002-check-if-uclibc-has-backtrace-support.patch similarity index 100% rename from package/nodejs/0002-check-if-uclibc-has-backtrace-support.patch rename to package/nodejs/nodejs-src/0002-check-if-uclibc-has-backtrace-support.patch diff --git a/package/nodejs/0003-include-obj-name-in-shared-intermediate.patch b/package/nodejs/nodejs-src/0003-include-obj-name-in-shared-intermediate.patch similarity index 100% rename from package/nodejs/0003-include-obj-name-in-shared-intermediate.patch rename to package/nodejs/nodejs-src/0003-include-obj-name-in-shared-intermediate.patch diff --git a/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch b/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch new file mode 100644 index 00000000000..25c26b43bd1 --- /dev/null +++ b/package/nodejs/nodejs-src/0004-lib-internal-modules-cjs-loader.js-adjust-default-pa.patch @@ -0,0 +1,36 @@ +From a31425bdfcb5d695ab25c3d295898326784cffec Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 25 Sep 2022 11:10:06 +0200 +Subject: [PATCH] lib/internal/modules/cjs/loader.js: adjust default path to + search modules + +NPM installs modules in /usr/lib/node_modules/, but by default NodeJS +searches for them only in /usr/lib/node/. We could also set the +NODE_PATH environment variable, but it is more convienient to have +NodeJS configured by default to find modules where they are installed. + +This issue is discussed at +https://stackoverflow.com/questions/15636367/nodejs-require-a-global-module-package. + +Signed-off-by: Thomas Petazzoni +--- + lib/internal/modules/cjs/loader.js | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js +index f1971c40a4..5fe3884156 100644 +--- a/lib/internal/modules/cjs/loader.js ++++ b/lib/internal/modules/cjs/loader.js +@@ -1378,7 +1378,8 @@ Module._initPaths = function() { + path.resolve(process.execPath, '..') : + path.resolve(process.execPath, '..', '..'); + +- const paths = [path.resolve(prefixDir, 'lib', 'node')]; ++ const paths = [path.resolve(prefixDir, 'lib', 'node'), ++ path.resolve(prefixDir, 'lib', 'node_modules')]; + + if (homeDir) { + ArrayPrototypeUnshift(paths, path.resolve(homeDir, '.node_libraries')); +-- +2.37.3 + diff --git a/package/nodejs/nodejs-src/Config.in b/package/nodejs/nodejs-src/Config.in new file mode 100644 index 00000000000..90b061f6166 --- /dev/null +++ b/package/nodejs/nodejs-src/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_NODEJS_SRC + bool diff --git a/package/nodejs/nodejs-src/nodejs-src.hash b/package/nodejs/nodejs-src/nodejs-src.hash new file mode 120000 index 00000000000..0c3ac2ce779 --- /dev/null +++ b/package/nodejs/nodejs-src/nodejs-src.hash @@ -0,0 +1 @@ +../nodejs.hash \ No newline at end of file diff --git a/package/nodejs/nodejs-src/nodejs-src.mk b/package/nodejs/nodejs-src/nodejs-src.mk new file mode 100644 index 00000000000..8f934202b07 --- /dev/null +++ b/package/nodejs/nodejs-src/nodejs-src.mk @@ -0,0 +1,269 @@ +################################################################################ +# +# nodejs-src +# +################################################################################ + +NODEJS_SRC_VERSION = $(NODEJS_COMMON_VERSION) +NODEJS_SRC_SOURCE = $(NODEJS_COMMON_SOURCE) +NODEJS_SRC_SITE = $(NODEJS_COMMON_SITE) +NODEJS_SRC_DL_SUBDIR = nodejs + +NODEJS_SRC_LICENSE = $(NODEJS_LICENSE) +NODEJS_SRC_LICENSE_FILES = $(NODEJS_LICENSE_FILES) +NODEJS_SRC_CPE_ID_VENDOR = $(NODEJS_CPE_ID_VENDOR) +NODEJS_SRC_CPE_ID_PRODUCT = $(NODEJS_CPE_ID_PRODUCT) + +HOST_NODEJS_SRC_PROVIDES = host-nodejs + +NODEJS_SRC_DEPENDENCIES = \ + host-ninja \ + host-pkgconf \ + host-python3 \ + host-qemu \ + c-ares \ + libuv \ + nghttp2 \ + zlib \ + $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) +HOST_NODEJS_SRC_DEPENDENCIES = \ + host-icu \ + host-libopenssl \ + host-ninja \ + host-pkgconf \ + host-python3 \ + host-zlib +NODEJS_SRC_INSTALL_STAGING = YES + +NODEJS_SRC_CONF_OPTS = \ + --shared-zlib \ + --shared-cares \ + --shared-libuv \ + --shared-nghttp2 \ + --cross-compiling \ + --dest-os=linux \ + --ninja + +HOST_NODEJS_SRC_MAKE_OPTS = \ + $(HOST_CONFIGURE_OPTS) \ + CXXFLAGS="$(HOST_NODEJS_SRC_CXXFLAGS)" \ + LDFLAGS.host="$(HOST_LDFLAGS)" \ + NO_LOAD=cctest.target.mk \ + PATH=$(@D)/bin:$(BR_PATH) \ + JOBS=$(PARALLEL_JOBS) + +NODEJS_SRC_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + NO_LOAD=cctest.target.mk \ + PATH=$(@D)/bin:$(BR_PATH) \ + LDFLAGS="$(NODEJS_SRC_LDFLAGS)" \ + LD="$(TARGET_CXX)" \ + JOBS=$(PARALLEL_JOBS) + +# nodejs's build system uses python which can be a symlink to an unsupported +# python version (e.g. python 3.10 with nodejs 14.18.1). We work around this by +# forcing host-python3 early in the PATH, via a python->python3 symlink. +define NODEJS_SRC_PYTHON3_SYMLINK + mkdir -p $(@D)/bin + ln -sf $(HOST_DIR)/bin/python3 $(@D)/bin/python +endef +HOST_NODEJS_SRC_PRE_CONFIGURE_HOOKS += NODEJS_SRC_PYTHON3_SYMLINK +NODEJS_SRC_PRE_CONFIGURE_HOOKS += NODEJS_SRC_PYTHON3_SYMLINK + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +NODEJS_SRC_DEPENDENCIES += openssl +NODEJS_SRC_CONF_OPTS += --shared-openssl +else +NODEJS_SRC_CONF_OPTS += --without-ssl +endif + +ifeq ($(BR2_PACKAGE_ICU),y) +NODEJS_SRC_DEPENDENCIES += icu +NODEJS_SRC_CONF_OPTS += --with-intl=system-icu +else +NODEJS_SRC_CONF_OPTS += --with-intl=none +endif + +ifneq ($(BR2_PACKAGE_NODEJS_NPM),y) +NODEJS_SRC_CONF_OPTS += --without-npm +endif + +define HOST_NODEJS_SRC_CONFIGURE_CMDS + cd $(@D); \ + $(HOST_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) \ + PYTHON=$(HOST_DIR)/bin/python3 \ + $(HOST_DIR)/bin/python3 configure.py \ + --prefix=$(HOST_DIR) \ + --shared-openssl \ + --shared-openssl-includes=$(HOST_DIR)/include \ + --shared-openssl-libpath=$(HOST_DIR)/lib \ + --shared-zlib \ + --no-cross-compiling \ + --with-intl=system-icu \ + --ninja +endef + +HOST_NODEJS_SRC_CXXFLAGS = $(HOST_CXXFLAGS) + +define HOST_NODEJS_SRC_BUILD_CMDS + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ + $(MAKE) -C $(@D) \ + $(HOST_NODEJS_SRC_MAKE_OPTS) +endef + +ifeq ($(BR2_PACKAGE_HOST_NODEJS_COREPACK),y) +define HOST_NODEJS_SRC_ENABLE_COREPACK + $(COREPACK) enable +endef +endif + +define HOST_NODEJS_SRC_INSTALL_CMDS + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ + $(MAKE) -C $(@D) install \ + $(HOST_NODEJS_SRC_MAKE_OPTS) + $(HOST_NODEJS_SRC_ENABLE_COREPACK) +endef + +ifeq ($(BR2_i386),y) +NODEJS_SRC_CPU = ia32 +else ifeq ($(BR2_x86_64),y) +NODEJS_SRC_CPU = x64 +else ifeq ($(BR2_mips),y) +NODEJS_SRC_CPU = mips +else ifeq ($(BR2_mipsel),y) +NODEJS_SRC_CPU = mipsel +else ifeq ($(BR2_arm),y) +NODEJS_SRC_CPU = arm +# V8 needs to know what floating point ABI the target is using. +NODEJS_SRC_ARM_FP = $(GCC_TARGET_FLOAT_ABI) +# it also wants to know which FPU to use, but only has support for +# vfp, vfpv3, vfpv3-d16 and neon. +ifeq ($(BR2_ARM_FPU_VFPV2),y) +NODEJS_SRC_ARM_FPU = vfp +# vfpv4 is a superset of vfpv3 +else ifeq ($(BR2_ARM_FPU_VFPV3)$(BR2_ARM_FPU_VFPV4),y) +NODEJS_SRC_ARM_FPU = vfpv3 +# vfpv4-d16 is a superset of vfpv3-d16 +else ifeq ($(BR2_ARM_FPU_VFPV3D16)$(BR2_ARM_FPU_VFPV4D16),y) +NODEJS_SRC_ARM_FPU = vfpv3-d16 +else ifeq ($(BR2_ARM_FPU_NEON),y) +NODEJS_SRC_ARM_FPU = neon +endif +else ifeq ($(BR2_aarch64),y) +NODEJS_SRC_CPU = arm64 +endif + +# MIPS architecture specific options +ifeq ($(BR2_mips)$(BR2_mipsel),y) +ifeq ($(BR2_MIPS_CPU_MIPS32R6),y) +NODEJS_SRC_MIPS_ARCH_VARIANT = r6 +NODEJS_SRC_MIPS_FPU_MODE = fp64 +else ifeq ($(BR2_MIPS_CPU_MIPS32R2),y) +NODEJS_SRC_MIPS_ARCH_VARIANT = r2 +else ifeq ($(BR2_MIPS_CPU_MIPS32),y) +NODEJS_SRC_MIPS_ARCH_VARIANT = r1 +endif +endif + +NODEJS_SRC_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +NODEJS_SRC_LDFLAGS += -latomic +endif + +# V8's JIT infrastructure requires binaries such as mksnapshot and +# mkpeephole to be run in the host during the build. However, these +# binaries must have the same bit-width as the target (e.g. a x86_64 +# host targeting ARMv6 needs to produce a 32-bit binary). To work around this +# issue, cross-compile the binaries for the target and run them on the +# host with QEMU, much like gobject-introspection. +define NODEJS_SRC_INSTALL_V8_QEMU_WRAPPER + $(INSTALL) -D -m 755 $(NODEJS_SRC_PKGDIR)/v8-qemu-wrapper.in \ + $(@D)/out/Release/v8-qemu-wrapper + $(SED) "s%@QEMU_USER@%$(QEMU_USER)%g" \ + $(@D)/out/Release/v8-qemu-wrapper + $(SED) "s%@TOOLCHAIN_HEADERS_VERSION@%$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)%g" \ + $(@D)/out/Release/v8-qemu-wrapper + $(SED) "s%@QEMU_USERMODE_ARGS@%$(call qstrip,$(BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS))%g" \ + $(@D)/out/Release/v8-qemu-wrapper +endef +NODEJS_SRC_PRE_CONFIGURE_HOOKS += NODEJS_SRC_INSTALL_V8_QEMU_WRAPPER + +define NODEJS_SRC_WRAPPER_FIXUP + $(SED) "s%@MAYBE_WRAPPER@%'<(PRODUCT_DIR)/v8-qemu-wrapper',%g" $(@D)/node.gyp + $(SED) "s%@MAYBE_WRAPPER@%'<(PRODUCT_DIR)/v8-qemu-wrapper',%g" $(@D)/tools/v8_gypfiles/v8.gyp +endef +NODEJS_SRC_PRE_CONFIGURE_HOOKS += NODEJS_SRC_WRAPPER_FIXUP + +# Do not run the qemu-wrapper for the host build. +define HOST_NODEJS_SRC_WRAPPER_FIXUP + $(SED) "s%@MAYBE_WRAPPER@%%g" $(@D)/node.gyp + $(SED) "s%@MAYBE_WRAPPER@%%g" $(@D)/tools/v8_gypfiles/v8.gyp +endef +HOST_NODEJS_SRC_PRE_CONFIGURE_HOOKS += HOST_NODEJS_SRC_WRAPPER_FIXUP + +define NODEJS_SRC_CONFIGURE_CMDS + (cd $(@D); \ + $(TARGET_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) \ + LDFLAGS="$(NODEJS_SRC_LDFLAGS)" \ + LD="$(TARGET_CXX)" \ + PYTHON=$(HOST_DIR)/bin/python3 \ + $(HOST_DIR)/bin/python3 configure.py \ + --prefix=/usr \ + --dest-cpu=$(NODEJS_SRC_CPU) \ + $(if $(NODEJS_SRC_ARM_FP),--with-arm-float-abi=$(NODEJS_SRC_ARM_FP)) \ + $(if $(NODEJS_SRC_ARM_FPU),--with-arm-fpu=$(NODEJS_SRC_ARM_FPU)) \ + $(if $(NODEJS_SRC_MIPS_ARCH_VARIANT),--with-mips-arch-variant=$(NODEJS_SRC_MIPS_ARCH_VARIANT)) \ + $(if $(NODEJS_SRC_MIPS_FPU_MODE),--with-mips-fpu-mode=$(NODEJS_SRC_MIPS_FPU_MODE)) \ + $(NODEJS_SRC_CONF_OPTS) \ + ) +endef + +define NODEJS_SRC_BUILD_CMDS + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ + $(MAKE) -C $(@D) \ + $(NODEJS_SRC_MAKE_OPTS) +endef + +# +# Build the list of modules to install. +# +NODEJS_SRC_MODULES_LIST= $(call qstrip,\ + $(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL)) + +# +# We can only call NPM if there's something to install. +# +ifneq ($(NODEJS_SRC_MODULES_LIST),) +NODEJS_SRC_DEPENDENCIES += host-nodejs +define NODEJS_SRC_INSTALL_MODULES + # If you're having trouble with module installation, adding -d to the + # npm install call below and setting npm_config_rollback=false can both + # help in diagnosing the problem. + $(NPM) install -g $(NODEJS_SRC_MODULES_LIST) +endef + +# Exclude prebuilt binaries with different architectures and OS from check +NODEJS_SRC_BIN_ARCH_EXCLUDE = /usr/lib/node_modules/ +endif + +define NODEJS_SRC_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ + $(MAKE) -C $(@D) install \ + DESTDIR=$(STAGING_DIR) \ + $(NODEJS_SRC_MAKE_OPTS) +endef + +define NODEJS_SRC_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ + $(MAKE) -C $(@D) install \ + DESTDIR=$(TARGET_DIR) \ + $(NODEJS_SRC_MAKE_OPTS) + $(NODEJS_SRC_INSTALL_MODULES) +endef + +# node.js configure is a Python script and does not use autotools +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/nodejs/v8-qemu-wrapper.in b/package/nodejs/nodejs-src/v8-qemu-wrapper.in similarity index 78% rename from package/nodejs/v8-qemu-wrapper.in rename to package/nodejs/nodejs-src/v8-qemu-wrapper.in index e1083f47f70..48222d089b1 100644 --- a/package/nodejs/v8-qemu-wrapper.in +++ b/package/nodejs/nodejs-src/v8-qemu-wrapper.in @@ -5,5 +5,6 @@ exec @QEMU_USER@ -r @TOOLCHAIN_HEADERS_VERSION@ \ @QEMU_USERMODE_ARGS@ \ -L "${STAGING_DIR}/" \ + -E LD_LIBRARY_PATH="${STAGING_DIR}/lib:${STAGING_DIR}/usr/lib/" \ "$@" diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 4408782248e..ddab345e0a6 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,8 @@ -# From https://nodejs.org/dist/v16.18.1/SHASUMS256.txt -sha256 1f8051a88f86f42064f4415fe7a980e59b0a502ecc8def583f6303bc4d445238 node-v16.18.1.tar.xz - -# Hash for license file -sha256 0bec08634ba79b5404f6b7f92ea850f3c2a06e27e6f83f2267e4f5e55ae33334 LICENSE +# From https://nodejs.org/dist/v20.11.1/SHASUMS256.txt.asc +sha256 c957f29eb4e341903520caf362534f0acd1db7be79c502ae8e283994eed07fe1 node-v20.11.1-linux-arm64.tar.xz +sha256 28e0120d2d150a8f41717899d33167b8b32053778665583d49ff971bfd188d1b node-v20.11.1-linux-armv7l.tar.xz +sha256 51343cacf5cdf5c4b5e93e919d19dd373d6ef43d5f2c666eae299f26e31d08b5 node-v20.11.1-linux-ppc64le.tar.xz +sha256 d8dab549b09672b03356aa2257699f3de3b58c96e74eb26a8b495fbdc9cf6fbe node-v20.11.1-linux-x64.tar.xz +sha256 77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e node-v20.11.1.tar.xz +# Locally calculated +sha256 7b0bbdca72f925bd78b764914651244a4432a753c7325d061a565cd7eac1193d LICENSE diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 367d5d20587..858c6a86f5d 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,265 +4,36 @@ # ################################################################################ -NODEJS_VERSION = 16.18.1 -NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz -NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) -NODEJS_DEPENDENCIES = \ - host-ninja \ - host-pkgconf \ - host-python3 \ - host-qemu \ - c-ares \ - libuv \ - nghttp2 \ - zlib \ - $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) -HOST_NODEJS_DEPENDENCIES = \ - host-icu \ - host-libopenssl \ - host-ninja \ - host-pkgconf \ - host-python3 \ - host-zlib -NODEJS_INSTALL_STAGING = YES +# _VERSION, _SOURCE and _SITE must be kept empty to avoid downloading anything +NODEJS_COMMON_VERSION = 20.11.1 +NODEJS_COMMON_SOURCE = node-v$(NODEJS_COMMON_VERSION).tar.xz +NODEJS_COMMON_SITE = http://nodejs.org/dist/v$(NODEJS_COMMON_VERSION) + NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components) NODEJS_LICENSE_FILES = LICENSE NODEJS_CPE_ID_VENDOR = nodejs NODEJS_CPE_ID_PRODUCT = node.js -NODEJS_CONF_OPTS = \ - --shared-zlib \ - --shared-cares \ - --shared-libuv \ - --shared-nghttp2 \ - --without-dtrace \ - --without-etw \ - --cross-compiling \ - --dest-os=linux \ - --ninja - -HOST_NODEJS_MAKE_OPTS = \ - $(HOST_CONFIGURE_OPTS) \ - CXXFLAGS="$(HOST_NODEJS_CXXFLAGS)" \ - LDFLAGS.host="$(HOST_LDFLAGS)" \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) - -NODEJS_MAKE_OPTS = \ - $(TARGET_CONFIGURE_OPTS) \ - NO_LOAD=cctest.target.mk \ - PATH=$(@D)/bin:$(BR_PATH) \ - LDFLAGS="$(NODEJS_LDFLAGS)" \ - LD="$(TARGET_CXX)" - -# nodejs's build system uses python which can be a symlink to an unsupported -# python version (e.g. python 3.10 with nodejs 14.18.1). We work around this by -# forcing host-python3 early in the PATH, via a python->python3 symlink. -define NODEJS_PYTHON3_SYMLINK - mkdir -p $(@D)/bin - ln -sf $(HOST_DIR)/bin/python3 $(@D)/bin/python -endef -HOST_NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_PYTHON3_SYMLINK -NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_PYTHON3_SYMLINK - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -NODEJS_DEPENDENCIES += openssl -NODEJS_CONF_OPTS += --shared-openssl -else -NODEJS_CONF_OPTS += --without-ssl -endif - -ifeq ($(BR2_PACKAGE_ICU),y) -NODEJS_DEPENDENCIES += icu -NODEJS_CONF_OPTS += --with-intl=system-icu -else -NODEJS_CONF_OPTS += --with-intl=none -endif - -ifneq ($(BR2_PACKAGE_NODEJS_NPM),y) -NODEJS_CONF_OPTS += --without-npm -endif - -define HOST_NODEJS_CONFIGURE_CMDS - cd $(@D); \ - $(HOST_CONFIGURE_OPTS) \ - PATH=$(@D)/bin:$(BR_PATH) \ - PYTHON=$(HOST_DIR)/bin/python3 \ - $(HOST_DIR)/bin/python3 configure.py \ - --prefix=$(HOST_DIR) \ - --without-dtrace \ - --without-etw \ - --shared-openssl \ - --shared-openssl-includes=$(HOST_DIR)/include \ - --shared-openssl-libpath=$(HOST_DIR)/lib \ - --shared-zlib \ - --no-cross-compiling \ - --with-intl=system-icu \ - --ninja -endef - -HOST_NODEJS_CXXFLAGS = $(HOST_CXXFLAGS) - -define HOST_NODEJS_BUILD_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ - $(MAKE) -C $(@D) \ - $(HOST_NODEJS_MAKE_OPTS) -endef - -define HOST_NODEJS_INSTALL_CMDS - $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ - $(MAKE) -C $(@D) install \ - $(HOST_NODEJS_MAKE_OPTS) -endef - -ifeq ($(BR2_i386),y) -NODEJS_CPU = ia32 -else ifeq ($(BR2_x86_64),y) -NODEJS_CPU = x64 -else ifeq ($(BR2_mips),y) -NODEJS_CPU = mips -else ifeq ($(BR2_mipsel),y) -NODEJS_CPU = mipsel -else ifeq ($(BR2_arm),y) -NODEJS_CPU = arm -# V8 needs to know what floating point ABI the target is using. -NODEJS_ARM_FP = $(GCC_TARGET_FLOAT_ABI) -# it also wants to know which FPU to use, but only has support for -# vfp, vfpv3, vfpv3-d16 and neon. -ifeq ($(BR2_ARM_FPU_VFPV2),y) -NODEJS_ARM_FPU = vfp -# vfpv4 is a superset of vfpv3 -else ifeq ($(BR2_ARM_FPU_VFPV3)$(BR2_ARM_FPU_VFPV4),y) -NODEJS_ARM_FPU = vfpv3 -# vfpv4-d16 is a superset of vfpv3-d16 -else ifeq ($(BR2_ARM_FPU_VFPV3D16)$(BR2_ARM_FPU_VFPV4D16),y) -NODEJS_ARM_FPU = vfpv3-d16 -else ifeq ($(BR2_ARM_FPU_NEON),y) -NODEJS_ARM_FPU = neon -endif -else ifeq ($(BR2_aarch64),y) -NODEJS_CPU = arm64 -endif - -# MIPS architecture specific options -ifeq ($(BR2_mips)$(BR2_mipsel),y) -ifeq ($(BR2_MIPS_CPU_MIPS32R6),y) -NODEJS_MIPS_ARCH_VARIANT = r6 -NODEJS_MIPS_FPU_MODE = fp64 -else ifeq ($(BR2_MIPS_CPU_MIPS32R2),y) -NODEJS_MIPS_ARCH_VARIANT = r2 -else ifeq ($(BR2_MIPS_CPU_MIPS32),y) -NODEJS_MIPS_ARCH_VARIANT = r1 -endif -endif - -NODEJS_LDFLAGS = $(TARGET_LDFLAGS) - -ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -NODEJS_LDFLAGS += -latomic -endif - -# V8's JIT infrastructure requires binaries such as mksnapshot and -# mkpeephole to be run in the host during the build. However, these -# binaries must have the same bit-width as the target (e.g. a x86_64 -# host targeting ARMv6 needs to produce a 32-bit binary). To work around this -# issue, cross-compile the binaries for the target and run them on the -# host with QEMU, much like gobject-introspection. -define NODEJS_INSTALL_V8_QEMU_WRAPPER - $(INSTALL) -D -m 755 $(NODEJS_PKGDIR)/v8-qemu-wrapper.in \ - $(@D)/out/Release/v8-qemu-wrapper - $(SED) "s%@QEMU_USER@%$(QEMU_USER)%g" \ - $(@D)/out/Release/v8-qemu-wrapper - $(SED) "s%@TOOLCHAIN_HEADERS_VERSION@%$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)%g" \ - $(@D)/out/Release/v8-qemu-wrapper - $(SED) "s%@QEMU_USERMODE_ARGS@%$(call qstrip,$(BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS))%g" \ - $(@D)/out/Release/v8-qemu-wrapper -endef -NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_INSTALL_V8_QEMU_WRAPPER - -define NODEJS_WRAPPER_FIXUP - $(SED) "s%@MAYBE_WRAPPER@%'<(PRODUCT_DIR)/v8-qemu-wrapper',%g" $(@D)/node.gyp - $(SED) "s%@MAYBE_WRAPPER@%'<(PRODUCT_DIR)/v8-qemu-wrapper',%g" $(@D)/tools/v8_gypfiles/v8.gyp -endef -NODEJS_PRE_CONFIGURE_HOOKS += NODEJS_WRAPPER_FIXUP - -# Do not run the qemu-wrapper for the host build. -define HOST_NODEJS_WRAPPER_FIXUP - $(SED) "s%@MAYBE_WRAPPER@%%g" $(@D)/node.gyp - $(SED) "s%@MAYBE_WRAPPER@%%g" $(@D)/tools/v8_gypfiles/v8.gyp -endef -HOST_NODEJS_PRE_CONFIGURE_HOOKS += HOST_NODEJS_WRAPPER_FIXUP - -define NODEJS_CONFIGURE_CMDS - (cd $(@D); \ - $(TARGET_CONFIGURE_OPTS) \ - PATH=$(@D)/bin:$(BR_PATH) \ - LDFLAGS="$(NODEJS_LDFLAGS)" \ - LD="$(TARGET_CXX)" \ - PYTHON=$(HOST_DIR)/bin/python3 \ - $(HOST_DIR)/bin/python3 configure.py \ - --prefix=/usr \ - --dest-cpu=$(NODEJS_CPU) \ - $(if $(NODEJS_ARM_FP),--with-arm-float-abi=$(NODEJS_ARM_FP)) \ - $(if $(NODEJS_ARM_FPU),--with-arm-fpu=$(NODEJS_ARM_FPU)) \ - $(if $(NODEJS_MIPS_ARCH_VARIANT),--with-mips-arch-variant=$(NODEJS_MIPS_ARCH_VARIANT)) \ - $(if $(NODEJS_MIPS_FPU_MODE),--with-mips-fpu-mode=$(NODEJS_MIPS_FPU_MODE)) \ - $(NODEJS_CONF_OPTS) \ - ) -endef - -define NODEJS_BUILD_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ - $(MAKE) -C $(@D) \ - $(NODEJS_MAKE_OPTS) -endef - -# -# Build the list of modules to install. -# -NODEJS_MODULES_LIST= $(call qstrip,\ - $(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL)) - -# Define NPM for other packages to use -NPM = $(TARGET_CONFIGURE_OPTS) \ +NODEJS_BIN_ENV = $(TARGET_CONFIGURE_OPTS) \ LDFLAGS="$(NODEJS_LDFLAGS)" \ LD="$(TARGET_CXX)" \ npm_config_arch=$(NODEJS_CPU) \ npm_config_target_arch=$(NODEJS_CPU) \ npm_config_build_from_source=true \ - npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \ + npm_config_nodedir=$(STAGING_DIR)/usr \ npm_config_prefix=$(TARGET_DIR)/usr \ - npm_config_cache=$(BUILD_DIR)/.npm-cache \ - $(HOST_DIR)/bin/npm + npm_config_cache=$(BUILD_DIR)/.npm-cache -# -# We can only call NPM if there's something to install. -# -ifneq ($(NODEJS_MODULES_LIST),) -NODEJS_DEPENDENCIES += host-nodejs -define NODEJS_INSTALL_MODULES - # If you're having trouble with module installation, adding -d to the - # npm install call below and setting npm_config_rollback=false can both - # help in diagnosing the problem. - $(NPM) install -g $(NODEJS_MODULES_LIST) -endef +# Define various packaging tools for other packages to use +NPM = $(NODEJS_BIN_ENV) $(HOST_DIR)/bin/npm +ifeq ($(BR2_PACKAGE_HOST_NODEJS_COREPACK),y) +COREPACK = $(NODEJS_BIN_ENV) $(HOST_DIR)/bin/corepack +PNPM = $(NODEJS_BIN_ENV) $(HOST_DIR)/bin/pnpm +YARN = $(NODEJS_BIN_ENV) $(HOST_DIR)/bin/yarn endif -define NODEJS_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ - $(MAKE) -C $(@D) install \ - DESTDIR=$(STAGING_DIR) \ - $(NODEJS_MAKE_OPTS) -endef - -define NODEJS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/bin/python3 \ - $(MAKE) -C $(@D) install \ - DESTDIR=$(TARGET_DIR) \ - $(NODEJS_MAKE_OPTS) - $(NODEJS_INSTALL_MODULES) -endef - -# node.js configure is a Python script and does not use autotools +NODEJS_DEPENDENCIES = nodejs-src $(eval $(generic-package)) -$(eval $(host-generic-package)) +$(eval $(host-virtual-package)) + +include $(sort $(wildcard package/nodejs/*/*.mk)) diff --git a/package/nodm/Config.in b/package/nodm/Config.in index 2dd6f1e1cff..52fd031b9ba 100644 --- a/package/nodm/Config.in +++ b/package/nodm/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_NODM depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam depends on !BR2_STATIC_LIBS # linux-pam depends on BR2_USE_MMU # linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_LINUX_PAM help @@ -17,7 +18,7 @@ config BR2_PACKAGE_NODM https://github.com/spanezz/nodm/ -comment "nodm needs a toolchain w/ wchar, locale, dynamic library" +comment "nodm needs a toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on BR2_PACKAGE_XORG7 depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/norm/norm.mk b/package/norm/norm.mk index 2f9fc7b657d..a3fa1b4f808 100644 --- a/package/norm/norm.mk +++ b/package/norm/norm.mk @@ -11,6 +11,9 @@ NORM_INSTALL_STAGING = YES NORM_LICENSE = NRL License NORM_LICENSE_FILES = LICENSE.TXT +# The bundled waf script is too old for >= python3.11 +NORM_NEEDS_EXTERNAL_WAF = YES + ifeq ($(BR2_PACKAGE_LIBNETFILTER_QUEUE),y) NORM_DEPENDENCIES += libnetfilter_queue endif diff --git a/package/ntp/0003-override-shell.patch b/package/ntp/0003-override-shell.patch deleted file mode 100644 index 0161e6520a0..00000000000 --- a/package/ntp/0003-override-shell.patch +++ /dev/null @@ -1,20 +0,0 @@ -sntp/libopts/m4/libopts.m4: allow override shell with POSIX_SHELL - -Pull in fix from upstream AutoGen [1] to accept POSIX_SHELL from the -environment during the configure step. - -[1] http://git.savannah.gnu.org/cgit/autogen.git/commit/?id=db064b9a252f3ef3d8db25411ea0edb0ff8ea758 - -Signed-off-by: James Byrne - -diff --git a/sntp/libopts/m4/libopts.m4 b/sntp/libopts/m4/libopts.m4 ---- a/sntp/libopts/m4/libopts.m4 -+++ b/sntp/libopts/m4/libopts.m4 -@@ -114,6 +114,7 @@ - AC_PROG_SED - [while : - do -+ test -x "$POSIX_SHELL" && break - POSIX_SHELL=`which bash` - test -x "$POSIX_SHELL" && break - POSIX_SHELL=`which dash` diff --git a/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch b/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch deleted file mode 100644 index da03ad4aacc..00000000000 --- a/package/ntp/0004-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 31 Jul 2021 10:51:41 -0700 -Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc - -In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which -could mean different stack sizes at runtime on different architectures -and it also causes compile failure. Default glibc thread stack size -or 64Kb set by ntp should be good in glibc these days. - -Signed-off-by: Khem Raj -[Copied from https://github.com/openembedded/meta-openembedded/blob/master/meta-networking/recipes-support/ntp/ntp/0001-libntp-Do-not-use-PTHREAD_STACK_MIN-on-glibc.patch] -Signed-off-by: Alexey Brodkin ---- - libntp/work_thread.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libntp/work_thread.c b/libntp/work_thread.c -index 03a5647..3ddd751 100644 ---- a/libntp/work_thread.c -+++ b/libntp/work_thread.c -@@ -41,7 +41,7 @@ - #ifndef THREAD_MINSTACKSIZE - # define THREAD_MINSTACKSIZE (64U * 1024) - #endif --#ifndef __sun -+#if !defined(__sun) && !defined(__GLIBC__) - #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN - # undef THREAD_MINSTACKSIZE - # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN --- -2.32.0 - diff --git a/package/ntp/Config.in b/package/ntp/Config.in index 97d933b5a85..78f008a4b81 100644 --- a/package/ntp/Config.in +++ b/package/ntp/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_NTP bool "ntp" + depends on BR2_USE_MMU || BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBEVENT help Network Time Protocol suite/programs. diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash index 3c2f6a95a79..96e21bf2df7 100644 --- a/package/ntp/ntp.hash +++ b/package/ntp/ntp.hash @@ -1,5 +1,4 @@ -# From http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p15.tar.gz.md5 -md5 e1e6b23d2fc75cced41801dbcd6c2561 ntp-4.2.8p15.tar.gz -# Calculated based on the hash above -sha256 f65840deab68614d5d7ceb2d0bb9304ff70dcdedd09abb79754a87536b849c19 ntp-4.2.8p15.tar.gz -sha256 957e6a13445cc61ab1ca3dc80d8c269cf9b0a6d9eaec20f9f39639b0b3e66ee8 COPYRIGHT +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.8p17.tar.gz.sha256 +sha256 103dd272e6a66c5b8df07dce5e9a02555fcd6f1397bdfb782237328e89d3a866 ntp-4.2.8p17.tar.gz +# Locally computed +sha256 06246b8c15ccc1a1873c78525c810f0802e68f383e79ee041e06d1ab9cbf80a4 COPYRIGHT diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 96b099d5b18..e64f6308ece 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -6,7 +6,7 @@ NTP_VERSION_MAJOR = 4.2 NTP_VERSION_MINOR = 8 -NTP_VERSION_POINT = 15 +NTP_VERSION_POINT = 17 NTP_VERSION = $(NTP_VERSION_MAJOR).$(NTP_VERSION_MINOR)p$(NTP_VERSION_POINT) NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) NTP_DEPENDENCIES = host-pkgconf libevent diff --git a/package/ntpsec/0001-ntptime-fix-jfmt5-ofmt5-jfmt6-ofmt6-related-compile-.patch b/package/ntpsec/0001-ntptime-fix-jfmt5-ofmt5-jfmt6-ofmt6-related-compile-.patch deleted file mode 100644 index aa3cb183c37..00000000000 --- a/package/ntpsec/0001-ntptime-fix-jfmt5-ofmt5-jfmt6-ofmt6-related-compile-.patch +++ /dev/null @@ -1,90 +0,0 @@ -From aa9ed14c7f4d0edbda9370760b44be045638f8a0 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 4 Oct 2021 22:25:58 +0200 -Subject: [PATCH] ntptime: fix jfmt5/ofmt5 jfmt6/ofmt6 related compile failure -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Use same define guard for definiton as for usage ('HAVE_STRUCT_NTPTIMEVAL_TAI' -instead of 'NTP_API && NTP_API > 3'). - -While at it use HAVE_STRUCT_NTPTIMEVAL_TAI define guard for the two remaining -places using NTP_API (which is not defined by the uclibc sys/timex.h header). - -Fixes: - - ../../ntptime/ntptime.c: In function ‘main’: - ../../ntptime/ntptime.c:349:17: error: ‘jfmt5’ undeclared (first use in this function); did you mean ‘jfmt6’? - 349 | printf(json ? jfmt5 : ofmt5, (long)ntv.tai); - | ^~~~~ - | jfmt6 - ../../ntptime/ntptime.c:349:17: note: each undeclared identifier is reported only once for each function it appears in - ../../ntptime/ntptime.c:349:25: error: ‘ofmt5’ undeclared (first use in this function); did you mean ‘ofmt6’? - 349 | printf(json ? jfmt5 : ofmt5, (long)ntv.tai); - | ^~~~~ - | ofmt6 - ../../ntptime/ntptime.c:321:15: warning: unused variable ‘jfmt6’ [-Wunused-variable] - 321 | const char *jfmt6 = ""; - | ^~~~~ - ../../ntptime/ntptime.c:311:15: warning: unused variable ‘ofmt6’ [-Wunused-variable] - 311 | const char *ofmt6 = "\n"; - | ^~~~~ - -[Upstream: https://gitlab.com/NTPsec/ntpsec/-/merge_requests/1245] -Signed-off-by: Peter Seiderer ---- - ntptime/ntptime.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/ntptime/ntptime.c b/ntptime/ntptime.c -index ff861cb3b..7fbd09977 100644 ---- a/ntptime/ntptime.c -+++ b/ntptime/ntptime.c -@@ -138,7 +138,7 @@ main( - ntx.modes |= MOD_NANO; - break; - #endif --#if defined NTP_API && NTP_API > 3 -+#if defined(HAVE_STRUCT_NTPTIMEVAL_TAI) - case 'T': - ntx.modes = MOD_TAI; - ntx.constant = atoi(ntp_optarg); -@@ -222,7 +222,7 @@ main( - #else - "", - #endif --#if defined NTP_API && NTP_API > 3 -+#if defined(HAVE_STRUCT_NTPTIMEVAL_TAI) - "-T tai_offset set TAI offset\n", - #else - "", -@@ -305,21 +305,21 @@ main( - const char *ofmt2 = " time %s, (.%0*d),\n"; - const char *ofmt3 = " maximum error %lu us, estimated error %lu us"; - const char *ofmt4 = " ntptime=%x.%x unixtime=%x.%0*d %s"; --#if defined NTP_API && NTP_API > 3 -+#if defined(HAVE_STRUCT_NTPTIMEVAL_TAI) - const char *ofmt5 = ", TAI offset %ld\n"; - #else - const char *ofmt6 = "\n"; --#endif /* NTP_API */ -+#endif /* HAVE_STRUCT_NTPTIMEVAL_TAI */ - /* JSON formats */ - const char *jfmt1 = "{\"gettime-code\":%d,\"gettime-status\":\"%s\","; - const char *jfmt2 = "\"time\":\"%s\",\"fractional-time\":\".%0*d\","; - const char *jfmt3 = "\"maximum-error\":%lu,\"estimated-error\":%lu,"; - const char *jfmt4 = "\"raw-ntp-time\":\"%x.%x\",\"raw-unix-time\":\"%x.%0*d %s\","; --#if defined NTP_API && NTP_API > 3 -+#if defined(HAVE_STRUCT_NTPTIMEVAL_TAI) - const char *jfmt5 = "\"TAI-offset\":%d,"; - #else - const char *jfmt6 = ""; --#endif /* NTP_API */ -+#endif /* HAVE_STRUCT_NTPTIMEVAL_TAI */ - printf(json ? jfmt1 : ofmt1, status, timex_state(status)); - time_frac = ntv.time.tv_frac_sec; - #ifdef STA_NANO --- -2.34.1 - diff --git a/package/ntpsec/0002-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch b/package/ntpsec/0001-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch similarity index 100% rename from package/ntpsec/0002-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch rename to package/ntpsec/0001-wscript-remove-checks-for-bsd-string.h-fixes-host-co.patch diff --git a/package/ntpsec/0003-fix-build-with-libressl.patch b/package/ntpsec/0003-fix-build-with-libressl.patch deleted file mode 100644 index a5c9543157c..00000000000 --- a/package/ntpsec/0003-fix-build-with-libressl.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 743f16fb3fed9a05e601226f184be236614efe9a Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 12 Aug 2022 23:35:52 +0200 -Subject: [PATCH] fix build with libressl - -Fix the following build failure with libressl: - -/home/buildroot/autobuild/instance-0/output-1/host/lib/gcc/armeb-buildroot-linux-gnueabi/11.3.0/../../../../armeb-buildroot-linux-gnueabi/bin/ld: libntp/libntp.a(ntp_random.c.1.o): in function `ntp_RAND_priv_bytes': -ntp_random.c:(.text+0xac): undefined reference to `RAND_priv_bytes' - -Fixes: - - http://autobuild.buildroot.org/results/a6a825b7f0efc7c82e8ecf792a1f9951ffb047c5 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.com/NTPsec/ntpsec/-/merge_requests/1285] ---- - attic/cmac-timing.c | 2 ++ - attic/random.c | 8 ++++++++ - libntp/ntp_random.c | 2 +- - 3 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/attic/cmac-timing.c b/attic/cmac-timing.c -index 464daa76b..4f2fd3338 100644 ---- a/attic/cmac-timing.c -+++ b/attic/cmac-timing.c -@@ -204,7 +204,9 @@ static void DoPKEY( - printf("## Oops, EVP_MD_CTX_new() failed.\n"); - return; - } -+#ifdef EVP_MD_CTX_FLAG_FINALISE - EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_FINALISE); -+#endif - - clock_gettime(CLOCK_MONOTONIC, &start); - for (int i = 0; i < SAMPLESIZE; i++) { -diff --git a/attic/random.c b/attic/random.c -index 446c68535..8530ecd25 100644 ---- a/attic/random.c -+++ b/attic/random.c -@@ -127,7 +127,11 @@ static int do_avg_priv(unsigned int bytes) { - - clock_gettime(CLOCK_REALTIME, &start); - for (int i = 0; i < BATCHSIZE; i++) { -+#ifdef LIBRESSL_VERSION_NUMBER -+ err += RAND_bytes((unsigned char *)&rnd, bytes); -+#else - err += RAND_priv_bytes((unsigned char *)&rnd, bytes); -+#endif - } - clock_gettime(CLOCK_REALTIME, &stop); - -@@ -209,7 +213,11 @@ static int do_fast_priv(unsigned bytes) { - - for (int i = 0; i < BATCHSIZE; i++) { - clock_gettime(CLOCK_REALTIME, &start); -+#ifdef LIBRESSL_VERSION_NUMBER -+ err += RAND_bytes((unsigned char *)&rnd, bytes); -+#else - err += RAND_priv_bytes((unsigned char *)&rnd, bytes); -+#endif - clock_gettime(CLOCK_REALTIME, &stop); - sec = (stop.tv_sec-start.tv_sec); - nanos = sec*BILLION + (stop.tv_nsec-start.tv_nsec); -diff --git a/libntp/ntp_random.c b/libntp/ntp_random.c -index 9304a790d..adb375b24 100644 ---- a/libntp/ntp_random.c -+++ b/libntp/ntp_random.c -@@ -29,7 +29,7 @@ void ntp_RAND_bytes(unsigned char *buf, int num) { - - void ntp_RAND_priv_bytes(unsigned char *buf, int num) { - int err; --#if (OPENSSL_VERSION_NUMBER > 0x1010100fL) -+#if (OPENSSL_VERSION_NUMBER > 0x1010100fL) && !defined(LIBRESSL_VERSION_NUMBER) - err = RAND_priv_bytes(buf, num); - #else - err = RAND_bytes(buf, num); --- -2.35.1 - diff --git a/package/ntpsec/ntpsec.hash b/package/ntpsec/ntpsec.hash index 49dc4e4d52d..a3802c11ba0 100644 --- a/package/ntpsec/ntpsec.hash +++ b/package/ntpsec/ntpsec.hash @@ -1,4 +1,12 @@ # Locally calculated -sha256 71c9f4bde6953bbc048bbaf278da81c451a56cc08d6772542b4ad37c67d72e89 ntpsec-NTPsec_1_2_1.tar.bz2 -sha256 b4db4de3317c3b0554ed91eb692968800bdfd6ad2c16ffbeee8ce4895ed91da4 LICENSE.adoc +sha256 a9ec4416688a1c1c88833f3f6acc35518e3d63409af372eec010455002b33050 ntpsec-NTPsec_1_2_3.tar.bz2 +sha256 074e6e32c86a4c0ef8b3ed25b721ca23aca83df277cd88106ef7177c354615ff LICENSES/Apache-2.0.txt +sha256 991d8a58e0b4be84a174a9bd333a8ca33807a0c1ce6d23a2e25a21f7ece482d0 LICENSES/Beerware.txt +sha256 899261d6eb6c922cf8f051225411f27b738ba0014be18c2eaf6afbf30d421bb1 LICENSES/BSD-2-Clause.txt +sha256 5fe38d8724c53ff4e69f0a3492a368b4a6719700ac16f706efeb01a45c62f2b5 LICENSES/BSD-3-Clause.txt +sha256 c80d927f03db7212ba43a869a383e249c19b40859ff0d9e2e2f968e4fdcf005f LICENSES/BSD-4-Clause.txt +sha256 9ba9550ad48438d0836ddab3da480b3b69ffa0aac7b7878b5a0039e7ab429411 LICENSES/CC-BY-4.0.txt +sha256 f2ec607f67bb0dd3053b49835b02110d5cd0f8eb6da3aac4dc0b142a6b299be9 LICENSES/ISC.txt +sha256 074415b57c6ba1780483d89e55f40dec3ded96c28aaf47d63c486683ba553e7c LICENSES/MIT.txt +sha256 62fec6cd79721af81b7c12f1a679535235fdd22800ab17653042f024187ff274 LICENSES/NTP.txt sha256 d3b21470adadd9abd9c6d675378f8c371ac5a4ea6dbec91859e02fadca3c0856 docs/copyright.adoc diff --git a/package/ntpsec/ntpsec.mk b/package/ntpsec/ntpsec.mk index ac4b90e37ab..661af788423 100644 --- a/package/ntpsec/ntpsec.mk +++ b/package/ntpsec/ntpsec.mk @@ -4,18 +4,31 @@ # ################################################################################ -NTPSEC_VERSION_MAJOR = 1 -NTPSEC_VERSION_MINOR = 2 -NTPSEC_VERSION_POINT = 1 -NTPSEC_VERSION = $(NTPSEC_VERSION_MAJOR)_$(NTPSEC_VERSION_MINOR)_$(NTPSEC_VERSION_POINT) -NTPSEC_SOURCE = ntpsec-NTPsec_$(NTPSEC_VERSION).tar.bz2 -NTPSEC_SITE = https://gitlab.com/NTPsec/ntpsec/-/archive/NTPsec_$(NTPSEC_VERSION) -NTPSEC_LICENSE = BSD-2-Clause, NTP, BSD-3-Clause, MIT -NTPSEC_LICENSE_FILES = LICENSE.adoc docs/copyright.adoc +NTPSEC_VERSION = 1.2.3 +NTPSEC_SOURCE = ntpsec-NTPsec_$(subst .,_,$(NTPSEC_VERSION)).tar.bz2 +NTPSEC_SITE = https://gitlab.com/NTPsec/ntpsec/-/archive/NTPsec_$(subst .,_,$(NTPSEC_VERSION)) +NTPSEC_LICENSE = Apache-2.0, \ + Beerware, \ + BSD-2-Clause.txt, \ + BSD-3-Clause.txt, \ + BSD-4-Clause.txt, \ + ISC.txt, \ + MIT.txt, \ + NTP.txt, \ + CC-BY-4.0.txt (docs) +NTPSEC_LICENSE_FILES = \ + LICENSES/Apache-2.0.txt \ + LICENSES/Beerware.txt \ + LICENSES/BSD-2-Clause.txt \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/BSD-4-Clause.txt \ + LICENSES/ISC.txt \ + LICENSES/MIT.txt \ + LICENSES/NTP.txt \ + LICENSES/CC-BY-4.0.txt \ + docs/copyright.adoc NTPSEC_CPE_ID_VENDOR = ntpsec -NTPSEC_CPE_ID_VERSION = $(NTPSEC_VERSION_MAJOR).$(NTPSEC_VERSION_MINOR) -NTPSEC_CPE_ID_UPDATE = $(NTPSEC_VERSION_POINT) NTPSEC_DEPENDENCIES = \ host-bison \ diff --git a/package/nushell/0001-uucore-add-support-for-sparc64.patch b/package/nushell/0001-uucore-add-support-for-sparc64.patch new file mode 100644 index 00000000000..2cc05c172ed --- /dev/null +++ b/package/nushell/0001-uucore-add-support-for-sparc64.patch @@ -0,0 +1,57 @@ +From 9f4330f94cc471d880df7d9089ee1105b27fd321 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 6 Jan 2024 10:26:54 +0100 +Subject: [PATCH] uucore: add support for sparc64 + +Add support for sparc64 in uucore to avoid the following build failure +with nushell: + +error[E0308]: mismatched types + --> /home/autobuild/autobuild/instance-7/output-1/build/nushell-0.85.0/VENDOR/uucore/src/lib/features/fs.rs:121:16 + | +111 | pub fn number_of_links(&self) -> u64 { + | --- expected `u64` because of return type +... +121 | return self.0.st_nlink; + | ^^^^^^^^^^^^^^^ expected `u64`, found `u32` + | +help: you can convert a `u32` to a `u64` + | +121 | return self.0.st_nlink.into(); + | +++++++ + +For more information about this error, try `rustc --explain E0308`. +error: could not compile `uucore` (lib) due to previous error + +Fixes: + - http://autobuild.buildroot.org/results/f9f0287a8e39c65895014ca513ed25071f020add + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/uutils/coreutils/commit/d158f1a396d19cc2aed68131b80ec3b7325d108e +--- + src/uucore/src/lib/features/fs.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/VENDOR/uucore/src/lib/features/fs.rs b/VENDOR/uucore/src/lib/features/fs.rs +index 20cc9e13d..3b9170bc3 100644 +--- a/VENDOR/uucore/src/lib/features/fs.rs ++++ b/VENDOR/uucore/src/lib/features/fs.rs +@@ -121,6 +121,7 @@ impl FileInformation { + not(target_os = "solaris"), + not(target_arch = "aarch64"), + not(target_arch = "riscv64"), ++ not(target_arch = "sparc64"), + target_pointer_width = "64" + ))] + return self.0.st_nlink; +@@ -137,6 +138,7 @@ impl FileInformation { + target_os = "solaris", + target_arch = "aarch64", + target_arch = "riscv64", ++ target_arch = "sparc64", + not(target_pointer_width = "64") + ) + ))] +-- +2.43.0 + diff --git a/package/nushell/Config.in b/package/nushell/Config.in new file mode 100644 index 00000000000..edb01d2f72b --- /dev/null +++ b/package/nushell/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_NUSHELL + bool "nushell" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_HOST_PKGCONF + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_TARGET_PROGS + help + A new type of shell. + + https://github.com/nushell/nushell diff --git a/package/nushell/nushell.hash b/package/nushell/nushell.hash new file mode 100644 index 00000000000..02fc8214b6a --- /dev/null +++ b/package/nushell/nushell.hash @@ -0,0 +1,3 @@ +# Locally generated +sha256 94af22278f584b59c7c4b2390e2d15d9934d5207a756309259d1c4b92f5af7ef nushell-0.85.0.tar.gz +sha256 2dc1f03f729c21902d869b4d8f8dc528fc730f4c6ad83fc128672bda0ad69196 LICENSE diff --git a/package/nushell/nushell.mk b/package/nushell/nushell.mk new file mode 100644 index 00000000000..7b538da4e2a --- /dev/null +++ b/package/nushell/nushell.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# nushell +# +################################################################################ + +NUSHELL_VERSION = 0.85.0 +NUSHELL_SITE = $(call github,nushell,nushell,$(NUSHELL_VERSION)) +NUSHELL_LICENSE = MIT +NUSHELL_LICENSE_FILES = LICENSE +NUSHELL_DEPENDENCIES = host-pkgconf openssl ncurses + +# 0001-uucore-add-support-for-sparc64.patch +define NUSHELL_PATCH_CHECKSUM_FILE + $(SED) 's/b0390ae7bca8b31f0db289a5d064bba36d45e4d137674e9df2c6ab6256f926f4/f8ce2ad571e1482f6833cb147eafeb724776e7887ebabf339a5f3e79860583cb/' \ + $(@D)/VENDOR/uucore/.cargo-checksum.json +endef +NUSHELL_POST_PATCH_HOOKS += NUSHELL_PATCH_CHECKSUM_FILE + +# Add /usr/bin/nu to /etc/shells as in package/bash/bash.mk +define NUSHELL_ADD_NU_TO_SHELLS + grep -qsE '^/usr/bin/nu$$' $(TARGET_DIR)/etc/shells \ + || echo "/usr/bin/nu" >> $(TARGET_DIR)/etc/shells +endef +NUSHELL_TARGET_FINALIZE_HOOKS += NUSHELL_ADD_NU_TO_SHELLS + +$(eval $(cargo-package)) diff --git a/package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch b/package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch new file mode 100644 index 00000000000..6356990749c --- /dev/null +++ b/package/nut/0001-m4-nut_compiler_family.m4-fix-cross-compilation.patch @@ -0,0 +1,55 @@ +From a743617099ea50fcce333a8a074751434d25b7ac Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 3 Nov 2023 18:29:29 +0100 +Subject: [PATCH] m4/nut_compiler_family.m4: fix cross-compilation + +Do not use isystem with host paths when cross-compiling + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/networkupstools/nut/pull/2146 +--- + m4/nut_compiler_family.m4 | 28 +++++++++++++++------------- + 1 file changed, 15 insertions(+), 13 deletions(-) + +diff --git a/m4/nut_compiler_family.m4 b/m4/nut_compiler_family.m4 +index f47b1ae9..99608bab 100644 +--- a/m4/nut_compiler_family.m4 ++++ b/m4/nut_compiler_family.m4 +@@ -178,19 +178,21 @@ dnl # confuse the compiler assumptions - along with its provided headers)... + dnl # ideally; in practice however cppunit, net-snmp and some system include + dnl # files do cause grief to picky compiler settings (more so from third + dnl # party packages shipped via /usr/local/... namespace): +- AS_IF([test "x$CLANGCC" = xyes -o "x$GCC" = xyes], [ +-dnl # CFLAGS="-isystem /usr/include $CFLAGS" +- AS_IF([test -d /usr/local/include], +- [CFLAGS="-isystem /usr/local/include $CFLAGS"]) +- AS_IF([test -d /usr/pkg/include], +- [CFLAGS="-isystem /usr/pkg/include $CFLAGS"]) +- ]) +- AS_IF([test "x$CLANGXX" = xyes -o "x$GXX" = xyes], [ +-dnl # CXXFLAGS="-isystem /usr/include $CXXFLAGS" +- AS_IF([test -d /usr/local/include], +- [CXXFLAGS="-isystem /usr/local/include $CXXFLAGS"]) +- AS_IF([test -d /usr/pkg/include], +- [CXXFLAGS="-isystem /usr/pkg/include $CXXFLAGS"]) ++ AS_IF([test "x$cross_compiling" != xyes], [ ++ AS_IF([test "x$CLANGCC" = xyes -o "x$GCC" = xyes], [ ++dnl # CFLAGS="-isystem /usr/include $CFLAGS" ++ AS_IF([test -d /usr/local/include], ++ [CFLAGS="-isystem /usr/local/include $CFLAGS"]) ++ AS_IF([test -d /usr/pkg/include], ++ [CFLAGS="-isystem /usr/pkg/include $CFLAGS"]) ++ ]) ++ AS_IF([test "x$CLANGXX" = xyes -o "x$GXX" = xyes], [ ++dnl # CXXFLAGS="-isystem /usr/include $CXXFLAGS" ++ AS_IF([test -d /usr/local/include], ++ [CXXFLAGS="-isystem /usr/local/include $CXXFLAGS"]) ++ AS_IF([test -d /usr/pkg/include], ++ [CXXFLAGS="-isystem /usr/pkg/include $CXXFLAGS"]) ++ ]) + ]) + + dnl # Default to avoid noisy warnings on older compilers +-- +2.42.0 + diff --git a/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch b/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch new file mode 100644 index 00000000000..d2571cf438f --- /dev/null +++ b/package/nut/0002-m4-nut_check_python.m4-allow-overriding-of-PYTHON-2-.patch @@ -0,0 +1,106 @@ +From 511ee899ee687216fa8fcf2231a60941b9e4cf81 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 3 Nov 2023 14:34:54 +0100 +Subject: [PATCH] m4/nut_check_python.m4: allow overriding of + PYTHON{2,3}_SITE_PACKAGES + +Allow the end-user to override PYTHON{2,3}_SITE_PACKAGES as this can be +useful when cross-compiling + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/networkupstools/nut/pull/2147 +--- + m4/nut_check_python.m4 | 60 +++++++++++++++++++++--------------------- + 1 file changed, 30 insertions(+), 30 deletions(-) + +diff --git a/m4/nut_check_python.m4 b/m4/nut_check_python.m4 +index 995a3e7c..7f29558e 100644 +--- a/m4/nut_check_python.m4 ++++ b/m4/nut_check_python.m4 +@@ -116,17 +116,17 @@ AC_DEFUN([NUT_CHECK_PYTHON], + AM_CONDITIONAL([HAVE_PYTHON], [test -n "${PYTHON}" && test "${PYTHON}" != "no"]) + AS_IF([test -n "${PYTHON}" && test "${PYTHON}" != "no"], [ + export PYTHON +- AC_MSG_CHECKING([python site-packages location]) +- PYTHON_SITE_PACKAGES="`${PYTHON} -c 'import site; print(site.getsitepackages().pop(0))'`" +- AS_CASE(["$PYTHON_SITE_PACKAGES"], +- [*:*], [ +- dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584] +- PYTHON_SITE_PACKAGES="`cd "$PYTHON_SITE_PACKAGES" && pwd`" +- ] +- ) +- AC_MSG_RESULT([${PYTHON_SITE_PACKAGES}]) ++ AC_CACHE_CHECK([python site-packages location], [nut_cv_PYTHON_SITE_PACKAGES], [ ++ nut_cv_PYTHON_SITE_PACKAGES="`${PYTHON} -c 'import site; print(site.getsitepackages().pop(0))'`" ++ AS_CASE(["$nut_cv_PYTHON_SITE_PACKAGES"], ++ [*:*], [ ++ dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584] ++ nut_cv_PYTHON_SITE_PACKAGES="`cd "$nut_cv_PYTHON_SITE_PACKAGES" && pwd`" ++ ] ++ ) ++ ]) + ]) +- AC_SUBST([PYTHON_SITE_PACKAGES], [${PYTHON_SITE_PACKAGES}]) ++ AC_SUBST([PYTHON_SITE_PACKAGES], [${nut_cv_PYTHON_SITE_PACKAGES}]) + AM_CONDITIONAL([HAVE_PYTHON_SITE_PACKAGES], [test x"${PYTHON_SITE_PACKAGES}" != "x"]) + ]) + ]) +@@ -228,17 +228,17 @@ AC_DEFUN([NUT_CHECK_PYTHON2], + AM_CONDITIONAL([HAVE_PYTHON2], [test -n "${PYTHON2}" && test "${PYTHON2}" != "no"]) + AS_IF([test -n "${PYTHON2}" && test "${PYTHON2}" != "no"], [ + export PYTHON2 +- AC_MSG_CHECKING([python2 site-packages location]) +- PYTHON2_SITE_PACKAGES="`${PYTHON2} -c 'import site; print(site.getsitepackages().pop(0))'`" +- AS_CASE(["$PYTHON2_SITE_PACKAGES"], +- [*:*], [ +- dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584] +- PYTHON2_SITE_PACKAGES="`cd "$PYTHON2_SITE_PACKAGES" && pwd`" +- ] +- ) +- AC_MSG_RESULT([${PYTHON2_SITE_PACKAGES}]) ++ AC_CACHE_CHECK([python2 site-packages location], [nut_cv_PYTHON2_SITE_PACKAGES], [ ++ nut_cv_PYTHON2_SITE_PACKAGES="`${PYTHON2} -c 'import site; print(site.getsitepackages().pop(0))'`" ++ AS_CASE(["$nut_cv_PYTHON2_SITE_PACKAGES"], ++ [*:*], [ ++ dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584] ++ nut_cv_PYTHON2_SITE_PACKAGES="`cd "$nut_cv_PYTHON2_SITE_PACKAGES" && pwd`" ++ ] ++ ) ++ ]) + ]) +- AC_SUBST([PYTHON2_SITE_PACKAGES], [${PYTHON2_SITE_PACKAGES}]) ++ AC_SUBST([PYTHON2_SITE_PACKAGES], [${nut_cv_PYTHON2_SITE_PACKAGES}]) + AM_CONDITIONAL([HAVE_PYTHON2_SITE_PACKAGES], [test x"${PYTHON2_SITE_PACKAGES}" != "x"]) + ]) + ]) +@@ -340,17 +340,17 @@ AC_DEFUN([NUT_CHECK_PYTHON3], + AM_CONDITIONAL([HAVE_PYTHON3], [test -n "${PYTHON3}" && test "${PYTHON3}" != "no"]) + AS_IF([test -n "${PYTHON3}" && test "${PYTHON3}" != "no"], [ + export PYTHON3 +- AC_MSG_CHECKING([python3 site-packages location]) +- PYTHON3_SITE_PACKAGES="`${PYTHON3} -c 'import site; print(site.getsitepackages().pop(0))'`" +- AS_CASE(["$PYTHON3_SITE_PACKAGES"], +- [*:*], [ +- dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584] +- PYTHON3_SITE_PACKAGES="`cd "$PYTHON3_SITE_PACKAGES" && pwd`" +- ] +- ) +- AC_MSG_RESULT([${PYTHON3_SITE_PACKAGES}]) ++ AC_CACHE_CHECK([python3 site-packages location], [nut_cv_PYTHON3_SITE_PACKAGES], [ ++ nut_cv_PYTHON3_SITE_PACKAGES="`${PYTHON3} -c 'import site; print(site.getsitepackages().pop(0))'`" ++ AS_CASE(["$nut_cv_PYTHON3_SITE_PACKAGES"], ++ [*:*], [ ++ dnl Note: on Windows MSYS2 this embeds "C:/msys64/mingw..." into the string [nut#1584] ++ nut_cv_PYTHON3_SITE_PACKAGES="`cd "$nut_cv_PYTHON3_SITE_PACKAGES" && pwd`" ++ ] ++ ) ++ ]) + ]) +- AC_SUBST([PYTHON3_SITE_PACKAGES], [${PYTHON3_SITE_PACKAGES}]) ++ AC_SUBST([PYTHON3_SITE_PACKAGES], [${nut_cv_PYTHON3_SITE_PACKAGES}]) + AM_CONDITIONAL([HAVE_PYTHON3_SITE_PACKAGES], [test x"${PYTHON3_SITE_PACKAGES}" != "x"]) + ]) + ]) +-- +2.42.0 + diff --git a/package/nut/nut.hash b/package/nut/nut.hash index 3dda340a1b2..9cd5fcc8dec 100644 --- a/package/nut/nut.hash +++ b/package/nut/nut.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 c3e5a708da797b7c70b653d37b1206a000fcb503b85519fe4cdf6353f792bfe5 nut-2.8.0.tar.gz -sha256 9f562d0e6be5108a06684dd249686d378abe1653df14b1944e971e084f6751f0 COPYING +sha256 7da48ee23b1f0d8d72560bb0af84f5c5ae4dbe35452b84cb49840132e47f099c nut-2.8.1.tar.gz +sha256 8a3de48b86daffcbe822dd94e514c8a77fe70f77c9005ffd9dcf1709dbdc80c7 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE-GPL2 sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 LICENSE-GPL3 diff --git a/package/nut/nut.mk b/package/nut/nut.mk index fb98ba04f03..371c7837830 100644 --- a/package/nut/nut.mk +++ b/package/nut/nut.mk @@ -4,27 +4,27 @@ # ################################################################################ -NUT_VERSION = 2.8.0 +NUT_VERSION = 2.8.1 NUT_SITE = https://github.com/networkupstools/nut/releases/download/v$(NUT_VERSION) NUT_LICENSE = GPL-2.0+, GPL-3.0+ (python scripts), GPL/Artistic (perl client) NUT_LICENSE_FILES = COPYING LICENSE-GPL2 LICENSE-GPL3 NUT_SELINUX_MODULES = apache nut NUT_INSTALL_STAGING = YES NUT_DEPENDENCIES = host-pkgconf - -# prevent usage of unsafe paths -define NUT_FIX_CONFIGURE - $(SED) 's%CFLAGS="-isystem /usr/local/include%_UNUSED_CFLAGS="-isystem /usr/local/include%' $(@D)/configure - $(SED) 's%CXXFLAGS="-isystem /usr/local/include%_UNUSED_CXXFLAGS="-isystem /usr/local/include%' $(@D)/configure -endef -NUT_POST_PATCH_HOOKS += NUT_FIX_CONFIGURE +# We're patching m4/nut_compiler_family.m4 +# We're patching m4/nut_check_python.m4 +NUT_AUTORECONF = YES # Put the PID files in a read-write place (/var/run is a tmpfs) # since the default location (/var/state/ups) maybe readonly. NUT_CONF_OPTS = \ --with-altpidpath=/var/run/upsd \ --with-dev \ - --without-doc + --without-doc \ + --without-python \ + --without-python2 \ + --with-user=nut \ + --with-group=nut NUT_CONF_ENV = \ ax_cv_check_cflags__Werror__Wno_unknown_warning_option=no \ @@ -34,6 +34,10 @@ NUT_CONF_ENV = \ ac_cv_func_strncasecmp=yes \ ax_cv__printf_string_null=yes +define NUT_USERS + nut -1 nut -1 * - - - NUT user +endef + ifeq ($(call qstrip,$(BR2_PACKAGE_NUT_DRIVERS)),) NUT_CONF_OPTS += --with-drivers=auto else @@ -106,4 +110,16 @@ else NUT_CONF_OPTS += --without-ssl endif +ifeq ($(BR2_PACKAGE_PYTHON3),y) +NUT_DEPENDENCIES += python3 +NUT_CONF_ENV += nut_cv_PYTHON3_SITE_PACKAGES=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages +NUT_CONF_OPTS += \ + --with-pynut \ + --with-python3 +else +NUT_CONF_OPTS += \ + --without-pynut \ + --without-python3 +endif + $(eval $(autotools-package)) diff --git a/package/nvidia-persistenced/Config.in b/package/nvidia-persistenced/Config.in new file mode 100644 index 00000000000..82303d006e3 --- /dev/null +++ b/package/nvidia-persistenced/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_NVIDIA_PERSISTENCED + bool "nvidia-persistenced" + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc + select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC + help + NVIDIA driver persistence daemon. + + https://github.com/NVIDIA/nvidia-persistenced + +comment "nvidia-persistenced needs a toolchain w/ threads, dynamic libs" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/nvidia-persistenced/nvidia-persistenced.conf b/package/nvidia-persistenced/nvidia-persistenced.conf new file mode 100644 index 00000000000..48f24cfb1d6 --- /dev/null +++ b/package/nvidia-persistenced/nvidia-persistenced.conf @@ -0,0 +1 @@ +u nvidia-persistenced - 'NVIDIA Persistence Daemon' diff --git a/package/nvidia-persistenced/nvidia-persistenced.hash b/package/nvidia-persistenced/nvidia-persistenced.hash new file mode 100644 index 00000000000..06c71b35f59 --- /dev/null +++ b/package/nvidia-persistenced/nvidia-persistenced.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 b84fb8eb86127a725d0134a2c64a64e7844e125dece137e7fe8adf8a33cbe817 nvidia-persistenced-515.48.07.tar.gz +sha256 279d814320adc07ca5a4ee101a0b428ddf22a6f3513b8c051f9eb7be47b2e797 COPYING diff --git a/package/nvidia-persistenced/nvidia-persistenced.mk b/package/nvidia-persistenced/nvidia-persistenced.mk new file mode 100644 index 00000000000..662d4d43491 --- /dev/null +++ b/package/nvidia-persistenced/nvidia-persistenced.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# nvidia-persistenced +# +################################################################################ + +NVIDIA_PERSISTENCED_VERSION = 515.48.07 +NVIDIA_PERSISTENCED_SITE = $(call github,NVIDIA,nvidia-persistenced,$(NVIDIA_PERSISTENCED_VERSION)) +NVIDIA_PERSISTENCED_LICENSE = MIT +NVIDIA_PERSISTENCED_LICENSE_FILES = COPYING + +NVIDIA_PERSISTENCED_DEPENDENCIES = host-pkgconf + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +NVIDIA_PERSISTENCED_DEPENDENCIES += libtirpc +endif + +define NVIDIA_PERSISTENCED_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + OUTPUTDIR=. ./nvidia-persistenced.unstripped +endef + +define NVIDIA_PERSISTENCED_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/nvidia-persistenced.unstripped \ + $(TARGET_DIR)/usr/bin/nvidia-persistenced +endef + +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y) +define NVIDIA_PERSISTENCED_INSTALL_SYSTEMD_SYSUSERS + $(INSTALL) -D -m 0644 $(NVIDIA_PERSISTENCED_PKGDIR)/nvidia-persistenced.conf \ + $(TARGET_DIR)/usr/lib/sysusers.d/nvidia-persistenced.conf +endef +else +define NVIDIA_PERSISTENCED_USERS + nvidia-persistenced -1 nvidia-persistenced -1 * - - - NVIDIA Persistence Daemon +endef +endif + +define NVIDIA_PERSISTENCED_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/init/systemd/nvidia-persistenced.service.template \ + $(TARGET_DIR)/usr/lib/systemd/system/nvidia-persistenced.service + $(SED) 's/__USER__/nvidia-persistenced/g' \ + $(TARGET_DIR)/usr/lib/systemd/system/nvidia-persistenced.service + $(NVIDIA_PERSISTENCED_INSTALL_SYSTEMD_SYSUSERS) +endef + +$(eval $(generic-package)) diff --git a/package/oatpp/0001-src-oatpp-core-base-Environment.hpp-include-cstdarg.patch b/package/oatpp/0001-src-oatpp-core-base-Environment.hpp-include-cstdarg.patch new file mode 100644 index 00000000000..e9b78328375 --- /dev/null +++ b/package/oatpp/0001-src-oatpp-core-base-Environment.hpp-include-cstdarg.patch @@ -0,0 +1,37 @@ +From b3e8930ccbaeeb77a4cd8b0fffbe52a208aa9a29 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 23 Nov 2023 22:45:56 +0100 +Subject: [PATCH] src/oatpp/core/base/Environment.hpp: include cstdarg + +Include cstdarg to fix the following build failure with uclibc-ng: + +In file included from /home/autobuild/autobuild/instance-4/output-1/build/oatpp-1.3.0/src/oatpp/algorithm/CRC.hpp:28, + from /home/autobuild/autobuild/instance-4/output-1/build/oatpp-1.3.0/src/oatpp/algorithm/CRC.cpp:25: +/home/autobuild/autobuild/instance-4/output-1/build/oatpp-1.3.0/src/oatpp/core/base/Environment.hpp:359:93: error: 'va_list' has not been declared + 359 | static void vlogFormatted(v_uint32 priority, const std::string& tag, const char* message, va_list args); + | ^~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/bcdf7548ff752f936defd111d13c63245ea70cbe + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/oatpp/oatpp/commit/1d11558e2cbbabc0db02a233bf00d651ce5ea758 +--- + src/oatpp/core/base/Environment.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/oatpp/core/base/Environment.hpp b/src/oatpp/core/base/Environment.hpp +index fd77a5c6..05d5c949 100644 +--- a/src/oatpp/core/base/Environment.hpp ++++ b/src/oatpp/core/base/Environment.hpp +@@ -29,6 +29,7 @@ + #include "./Compiler.hpp" + #include "./Config.hpp" + ++#include + #include + #include + #include +-- +2.42.0 + diff --git a/package/oatpp/Config.in b/package/oatpp/Config.in new file mode 100644 index 00000000000..a4009e8744e --- /dev/null +++ b/package/oatpp/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_OATPP + bool "oatpp" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Oat++ is an open-source C++ web framework for highly scalable + and resource-efficient web applications. It provides all the + necessary components for production-grade development. + + https://oatpp.io/docs/start + +comment "oatpp needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/oatpp/oatpp.hash b/package/oatpp/oatpp.hash new file mode 100644 index 00000000000..e6b35d8d51e --- /dev/null +++ b/package/oatpp/oatpp.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e1f80fa8fd7a74da6737e7fee1a4db68b4d7085a3f40e7d550752d6ff5714583 oatpp-1.3.0.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/oatpp/oatpp.mk b/package/oatpp/oatpp.mk new file mode 100644 index 00000000000..d3f6e1a9c26 --- /dev/null +++ b/package/oatpp/oatpp.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# oatpp +# +################################################################################ + +OATPP_VERSION = 1.3.0 +OATPP_SITE = $(call github,oatpp,oatpp,$(OATPP_VERSION)) +OATPP_LICENSE = Apache-2.0 +OATPP_LICENSE_FILES = LICENSE +OATPP_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF -DOATPP_BUILD_TESTS=OFF +OATPP_INSTALL_STAGING = YES +# Only builds a static lib and headers +OATPP_INSTALL_TARGET = NO + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y) +OATPP_CONF_OPTS += -DOATPP_COMPAT_BUILD_NO_SET_AFFINITY=OFF +else +OATPP_CONF_OPTS += -DOATPP_COMPAT_BUILD_NO_SET_AFFINITY=ON +endif + +$(eval $(cmake-package)) diff --git a/package/ocf-linux/ocf-linux.hash b/package/ocf-linux/ocf-linux.hash deleted file mode 100644 index 747bbcab56c..00000000000 --- a/package/ocf-linux/ocf-linux.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 3d7984754d58ced5695889744caf1e18a53f5d2e35ed40cc04d3595e59b7431f ocf-linux-20171122.tar.gz diff --git a/package/ocf-linux/ocf-linux.mk b/package/ocf-linux/ocf-linux.mk deleted file mode 100644 index 52169eda4ff..00000000000 --- a/package/ocf-linux/ocf-linux.mk +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################ -# -# ocf-linux -# -################################################################################ - -OCF_LINUX_VERSION = 20171122 -OCF_LINUX_SITE = http://downloads.sourceforge.net/project/ocf-linux/ocf-linux/$(OCF_LINUX_VERSION) -OCF_LINUX_INSTALL_STAGING = YES - -OCF_LINUX_PROVIDES = cryptodev - -OCF_LINUX_MODULE_SUBDIRS = ocf -OCF_LINUX_MODULE_MAKE_OPTS = \ - CONFIG_OCF_OCF=m \ - CONFIG_OCF_CRYPTOSOFT=m \ - CONFIG_OCF_BENCH=m \ - CONFIG_OCF_OCFNULL=m - -define OCF_LINUX_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 644 $(@D)/ocf/cryptodev.h \ - $(STAGING_DIR)/usr/include/crypto/cryptodev.h -endef - -$(eval $(kernel-module)) -$(eval $(generic-package)) diff --git a/package/octave/0001-Fix-BLAS-library-integer-size-detection.patch b/package/octave/0001-Fix-BLAS-library-integer-size-detection.patch index 3fb609de07c..6603295e03c 100644 --- a/package/octave/0001-Fix-BLAS-library-integer-size-detection.patch +++ b/package/octave/0001-Fix-BLAS-library-integer-size-detection.patch @@ -1,4 +1,4 @@ -From e4dcfefac4215ee66c3dda5b067dd6d06066b0a2 Mon Sep 17 00:00:00 2001 +From 75b973373ed2e9a7a30f62dfe330299306ecff75 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Sat, 5 Mar 2022 12:36:09 +0100 Subject: [PATCH] Fix BLAS library integer size detection @@ -19,22 +19,22 @@ Signed-off-by: Julien Olivain 1 file changed, 6 insertions(+) diff --git a/configure.ac b/configure.ac -index de7a00a330..383ce27b06 100644 +index 4092e5915d..f4ea2c1987 100644 --- a/configure.ac +++ b/configure.ac -@@ -781,6 +781,12 @@ if test $ax_blas_ok = no || test $ax_lapack_ok = no; then +@@ -757,6 +757,12 @@ if test $ax_blas_ok = no || test $ax_lapack_ok = no; then AC_MSG_ERROR([BLAS and LAPACK libraries are required]) fi +if ac_fn_f77_try_run "$LINENO"; then : -+ ax_blas_integer_size=8 ++ ax_cv_blas_integer_size=8 +else -+ ax_blas_integer_size=4 ++ ax_cv_blas_integer_size=4 +fi + - case $ax_blas_integer_size in + case $ax_cv_blas_integer_size in 4) HAVE_64_BIT_BLAS=no -- -2.36.0 +2.39.2 diff --git a/package/octave/Config.in b/package/octave/Config.in index 171bdfa156d..73e27f65e87 100644 --- a/package/octave/Config.in +++ b/package/octave/Config.in @@ -13,8 +13,7 @@ config BR2_PACKAGE_OCTAVE # used by the "utils/test-pkg" script. depends on !BR2_TOOLCHAIN_EXTERNAL_BOOTLIN || !BR2_x86_64 select BR2_PACKAGE_OPENBLAS - select BR2_PACKAGE_PCRE - select BR2_PACKAGE_PCRE_UTF + select BR2_PACKAGE_PCRE2 help GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command diff --git a/package/octave/octave.hash b/package/octave/octave.hash index 9696f2a00aa..20ee4ddb64c 100644 --- a/package/octave/octave.hash +++ b/package/octave/octave.hash @@ -1,3 +1,5 @@ -# Locally computed -sha256 fdb32602252289e068431329add2eed146e6f26301cbb5fc4412f9d972db9475 octave-7.3.0.tar.lz +# Locally computed after checking signature +# https://ftp.gnu.org/gnu/octave/octave-8.4.0.tar.lz.sig +# using key DBD9C84E39FE1AAE99F04446B05F05B75D36644B +sha256 d5a7e89928528dce8cab7eead700be8a8319a98ec5334cc2ce83d29ac60264c1 octave-8.4.0.tar.lz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/octave/octave.mk b/package/octave/octave.mk index 647f988a3f0..f3c4294f2de 100644 --- a/package/octave/octave.mk +++ b/package/octave/octave.mk @@ -4,7 +4,7 @@ # ################################################################################ -OCTAVE_VERSION = 7.3.0 +OCTAVE_VERSION = 8.4.0 OCTAVE_SITE = https://ftp.gnu.org/gnu/octave OCTAVE_SOURCE = octave-$(OCTAVE_VERSION).tar.lz OCTAVE_LICENSE = GPL-3.0+ @@ -15,14 +15,41 @@ OCTAVE_CONF_OPTS = --disable-java OCTAVE_DEPENDENCIES = \ host-gperf \ + host-pkgconf \ openblas \ - pcre + pcre2 + +ifeq ($(BR2_PACKAGE_BZIP2),y) +OCTAVE_CONF_OPTS += --with-bz2 +OCTAVE_DEPENDENCIES += bzip2 +else +OCTAVE_CONF_OPTS += --without-bz2 +endif + +ifeq ($(BR2_PACKAGE_GRAPHICSMAGICK),y) +OCTAVE_CONF_OPTS += --with-magick=GraphicsMagick++ +OCTAVE_DEPENDENCIES += graphicsmagick +else ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) +OCTAVE_CONF_OPTS += --with-magick=ImageMagick++ +OCTAVE_DEPENDENCIES += imagemagick +else +OCTAVE_CONF_OPTS += --without-magick +endif ifeq ($(BR2_PACKAGE_READLINE),y) -OCTAVE_CONF_OPTS += --enable-readline +OCTAVE_CONF_OPTS += \ + --enable-readline \ + --with-libreadline-prefix=$(STAGING_DIR)/usr OCTAVE_DEPENDENCIES += readline else OCTAVE_CONF_OPTS += --disable-readline endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +OCTAVE_CONF_OPTS += --with-z +OCTAVE_DEPENDENCIES += zlib +else +OCTAVE_CONF_OPTS += --without-z +endif + $(eval $(autotools-package)) diff --git a/package/ofono/0002-fix-musl-compile.patch b/package/ofono/0002-fix-musl-compile.patch deleted file mode 100644 index 369fb717917..00000000000 --- a/package/ofono/0002-fix-musl-compile.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 4a1d114fa3a5d6bef1f71222787c1f6c3a952284 Mon Sep 17 00:00:00 2001 -From: Nicolas Serafini -Date: Thu, 24 Jan 2019 10:11:42 +0100 -Subject: [PATCH] mbim: add optional copy of TEMP_FAILURE_RETRY macro (fix musl - compile) - -TEMP_FAILURE_RETRY is not available on musl. - -Signed-off-by: Nicolas Serafini ---- - drivers/mbimmodem/mbim.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/drivers/mbimmodem/mbim.c b/drivers/mbimmodem/mbim.c -index 54b18acf..4b040528 100644 ---- a/drivers/mbimmodem/mbim.c -+++ b/drivers/mbimmodem/mbim.c -@@ -37,6 +37,16 @@ - #include "mbim-message.h" - #include "mbim-private.h" - -+/* taken from glibc unistd.h for musl support */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - #define MAX_CONTROL_TRANSFER 4096 - #define HEADER_SIZE (sizeof(struct mbim_message_header) + \ - sizeof(struct mbim_fragment_header)) --- -2.20.1 - diff --git a/package/ofono/ofono.hash b/package/ofono/ofono.hash index 7edef0eb80b..9e2fd413f99 100644 --- a/package/ofono/ofono.hash +++ b/package/ofono/ofono.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/network/ofono/sha256sums.asc -sha256 c0b96d3013447ec2bcb74579bef90e4e59c68dbfa4b9c6fbce5d12401a43aac7 ofono-1.34.tar.xz +sha256 5e13121c0f885a81ad882db065549ea13477abbcc219f150b38a8d2ac92521de ofono-2.2.tar.xz # Locally computed sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/ofono/ofono.mk b/package/ofono/ofono.mk index b7a2a923f9d..1ff43092c46 100644 --- a/package/ofono/ofono.mk +++ b/package/ofono/ofono.mk @@ -4,7 +4,7 @@ # ################################################################################ -OFONO_VERSION = 1.34 +OFONO_VERSION = 2.2 OFONO_SOURCE = ofono-$(OFONO_VERSION).tar.xz OFONO_SITE = $(BR2_KERNEL_MIRROR)/linux/network/ofono OFONO_LICENSE = GPL-2.0 diff --git a/package/ola/Config.in b/package/ola/Config.in index 701083b5d3b..dd0be6f35ee 100644 --- a/package/ola/Config.in +++ b/package/ola/Config.in @@ -53,14 +53,16 @@ config BR2_PACKAGE_OLA_RDM_TESTS depends on BR2_PACKAGE_OLA_PYTHON_BINDINGS depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy select BR2_PACKAGE_PYTHON_NUMPY help Build OLA RDM tests. -comment "rdm tests needs a toolchain w/ glibc or musl" +comment "rdm tests needs a glibc or musl toolchain w/ gcc >= 9" depends on BR2_PACKAGE_OLA_PYTHON_BINDINGS depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL comment "plugin selections" diff --git a/package/ola/ola.hash b/package/ola/ola.hash index 7565adabde0..a1a5577ed3e 100644 --- a/package/ola/ola.hash +++ b/package/ola/ola.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 102aa3114562a2a71dbf7f77d2a0fb9fc47acc35d6248a70b6e831365ca71b13 ola-0.10.8.tar.gz +sha256 44073698c147fe641507398253c2e52ff8dc7eac8606cbf286c29f37939a4ebf ola-0.10.9.tar.gz # License files (locally computed) sha256 e6b95dd336a57abb343e2988ac22b7e21b35c5b86003e6eb9e066ffbeeff9da7 COPYING diff --git a/package/ola/ola.mk b/package/ola/ola.mk index 82615e8155d..efaa5b6e3e4 100644 --- a/package/ola/ola.mk +++ b/package/ola/ola.mk @@ -4,7 +4,7 @@ # ################################################################################ -OLA_VERSION = 0.10.8 +OLA_VERSION = 0.10.9 OLA_SITE = https://github.com/OpenLightingProject/ola/releases/download/$(OLA_VERSION) OLA_LICENSE = LGPL-2.1+ (libola, libolacommon, Python bindings), GPL-2.0+ (libolaserver, olad, Python examples and tests) OLA_LICENSE_FILES = COPYING GPL LGPL LICENCE diff --git a/package/olsr/0006-build-patch-for-gpsd-3-25.patch b/package/olsr/0006-build-patch-for-gpsd-3-25.patch new file mode 100644 index 00000000000..c82bc1bb289 --- /dev/null +++ b/package/olsr/0006-build-patch-for-gpsd-3-25.patch @@ -0,0 +1,31 @@ +From 17d583258969c1d182361e0e168b3cad79ef64e6 Mon Sep 17 00:00:00 2001 +From: Rui Chen +Date: Mon, 16 Jan 2023 18:35:32 -0500 +Subject: [PATCH] build: patch for gpsd 3.25 + +Signed-off-by: Rui Chen +[Retrieved from: https://github.com/OLSR/olsrd/pull/119] +Signed-off-by: Fabrice Fontaine +--- + lib/pud/src/gpsdclient.h | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/lib/pud/src/gpsdclient.h b/lib/pud/src/gpsdclient.h +index 061056b12..a51dd2211 100644 +--- a/lib/pud/src/gpsdclient.h ++++ b/lib/pud/src/gpsdclient.h +@@ -60,14 +60,6 @@ struct GpsdConnectionState { + struct devconfig_t dev[MAXUSERDEVS]; + }; + +-/* describe a data source */ +-struct fixsource_t { +- char spec[PATH_MAX]; /* working space, will be modified */ +- char *server; /* pointer into spec field */ +- char *port; /* pointer into spec field */ +- char *device; /* pointer into spec field */ +-}; +- + /** + * The gpsd daemon spec + */ diff --git a/package/omniorb/omniorb.hash b/package/omniorb/omniorb.hash index f522c1ef67d..36db67191d3 100644 --- a/package/omniorb/omniorb.hash +++ b/package/omniorb/omniorb.hash @@ -1,8 +1,8 @@ -# From https://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.3.0/ -sha1 c3f12c2278f8c4603910c02c8fe892c1dde7217e omniORB-4.3.0.tar.bz2 -md5 8889ab13b444b495ca2c2b48ea6a6bd7 omniORB-4.3.0.tar.bz2 +# From https://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.3.1/ +sha1 b6581c9b6a956c1d442c442767b5a58899a09513 omniORB-4.3.1.tar.bz2 +md5 dc3e4467ef3f457025fedcc6403f8f13 omniORB-4.3.1.tar.bz2 # Locally generated -sha256 976045a2341f4e9a85068b21f4bd928993292933eeecefea372db09e0219eadd omniORB-4.3.0.tar.bz2 +sha256 0f42bc3eb737cae680dafa85b3ae3958e9f56a37912c5fb6b875933f8fb7390d omniORB-4.3.1.tar.bz2 sha256 126647a6ee062fe46f8f3766965dc62e031c0a31238a347e4bc07aab2ac1e2a7 COPYING sha256 eaf5b13ffd5355da7c0b83074e4b798152ff7086c95c4f3045122a06e2673eb9 COPYING.LIB diff --git a/package/omniorb/omniorb.mk b/package/omniorb/omniorb.mk index d6434735cf0..8235fac7970 100644 --- a/package/omniorb/omniorb.mk +++ b/package/omniorb/omniorb.mk @@ -4,7 +4,7 @@ # ################################################################################ -OMNIORB_VERSION = 4.3.0 +OMNIORB_VERSION = 4.3.1 OMNIORB_SITE = http://downloads.sourceforge.net/project/omniorb/omniORB/omniORB-$(OMNIORB_VERSION) OMNIORB_SOURCE = omniORB-$(OMNIORB_VERSION).tar.bz2 OMNIORB_INSTALL_STAGING = YES diff --git a/package/onevpl-intel-gpu/Config.in b/package/onevpl-intel-gpu/Config.in new file mode 100644 index 00000000000..740e954ee58 --- /dev/null +++ b/package/onevpl-intel-gpu/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_ONEVPL_INTEL_GPU + bool "onevpl-intel-gpu" + depends on BR2_x86_64 # intel-mediadriver + depends on BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS # libvpl + depends on BR2_INSTALL_LIBSTDCPP # libvpl + depends on !BR2_STATIC_LIBS # libvpl + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libvpl + depends on BR2_TOOLCHAIN_HAS_SYNC_1 # intel-mediadriver + depends on BR2_TOOLCHAIN_HAS_THREADS # libvpl + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # intel-mediadriver + select BR2_PACKAGE_INTEL_MEDIADRIVER # runtime + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_LIBVPL + help + Intel® oneVPL GPU Runtime is a Runtime implementation of + oneVPL API for Intel Gen GPUs, starting with Tiger Lake. + + https://github.com/oneapi-src/oneVPL-intel-gpu + +comment "onevpl-intel-gpu needs a toolchain w/ dynamic library, gcc >= 7, C++, NPTL" + depends on BR2_x86_64 + depends on BR2_PACKAGE_LIBVPL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_SYNC_1 + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/onevpl-intel-gpu/onevpl-intel-gpu.hash b/package/onevpl-intel-gpu/onevpl-intel-gpu.hash new file mode 100644 index 00000000000..680ada76ea0 --- /dev/null +++ b/package/onevpl-intel-gpu/onevpl-intel-gpu.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 e006d59399dbd0c3b3ecd91610822d655e9303b25a385a9a3ac94a42bf34b284 onevpl-intel-gpu-24.1.5.tar.gz +sha256 c31c3cc5fd66d1250dbca1c3d9011a9f874537442ac71c8de80f2f0fed13f297 LICENSE diff --git a/package/onevpl-intel-gpu/onevpl-intel-gpu.mk b/package/onevpl-intel-gpu/onevpl-intel-gpu.mk new file mode 100644 index 00000000000..440d73efa25 --- /dev/null +++ b/package/onevpl-intel-gpu/onevpl-intel-gpu.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# onevpl-intel-gpu +# +################################################################################ + +ONEVPL_INTEL_GPU_VERSION = 24.1.5 +ONEVPL_INTEL_GPU_SITE = $(call github,oneapi-src,oneVPL-intel-gpu,intel-onevpl-$(ONEVPL_INTEL_GPU_VERSION)) +ONEVPL_INTEL_GPU_LICENSE = MIT +ONEVPL_INTEL_GPU_LICENSE_FILES = LICENSE +ONEVPL_INTEL_GPU_CPE_ID_VENDOR = intel +ONEVPL_INTEL_GPU_CPE_ID_PRODUCT = onevpl_gpu_runtime +ONEVPL_INTEL_GPU_DEPENDENCIES = libva libvpl + +$(eval $(cmake-package)) diff --git a/package/oniguruma/oniguruma.hash b/package/oniguruma/oniguruma.hash index 89befe7dbf3..ac1d375b7a3 100644 --- a/package/oniguruma/oniguruma.hash +++ b/package/oniguruma/oniguruma.hash @@ -1,4 +1,4 @@ -# From https://github.com/kkos/oniguruma/releases/download/v6.9.8/onig-6.9.8.tar.gz.sha256 -sha256 28cd62c1464623c7910565fb1ccaaa0104b2fe8b12bcd646e81f73b47535213e onig-6.9.8.tar.gz +# From https://github.com/kkos/oniguruma/releases/download/v6.9.9/onig-6.9.9.tar.gz.sha256 +sha256 60162bd3b9fc6f4886d4c7a07925ffd374167732f55dce8c491bfd9cd818a6cf onig-6.9.9.tar.gz # Hash for license file sha256 70ba5469ea0bab6e18a32d7009068f996503168d27be57747e08da34337ff26f COPYING diff --git a/package/oniguruma/oniguruma.mk b/package/oniguruma/oniguruma.mk index f5ac810c10e..e056048cb59 100644 --- a/package/oniguruma/oniguruma.mk +++ b/package/oniguruma/oniguruma.mk @@ -4,13 +4,14 @@ # ################################################################################ -ONIGURUMA_VERSION = 6.9.8 +ONIGURUMA_VERSION = 6.9.9 ONIGURUMA_SITE = \ https://github.com/kkos/oniguruma/releases/download/v$(ONIGURUMA_VERSION) ONIGURUMA_SOURCE = onig-$(ONIGURUMA_VERSION).tar.gz ONIGURUMA_LICENSE = BSD-2-Clause ONIGURUMA_LICENSE_FILES = COPYING -ONIGURUMA_CPE_ID_VENDOR = oniguruma_project +ONIGURUMA_CPE_ID_VALID = YES ONIGURUMA_INSTALL_STAGING = YES $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/open-iscsi/0001-usr-idbm.c-fix-musl-build.patch b/package/open-iscsi/0001-usr-idbm.c-fix-musl-build.patch new file mode 100644 index 00000000000..5470f305706 --- /dev/null +++ b/package/open-iscsi/0001-usr-idbm.c-fix-musl-build.patch @@ -0,0 +1,40 @@ +From dbe342545b7bee42107e09d0da59bb42c50903cb Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 30 Sep 2023 14:54:15 +0200 +Subject: [PATCH] usr/idbm.c: fix musl build + +Fix the following musl build failure raised since version 2.1.9 and +https://github.com/open-iscsi/open-iscsi/commit/7b571d76d6937a78c141630fc38c3c57c532466c: + +../usr/idbm.c: In function 'idbm_rec_write_old': +../usr/idbm.c:2230:27: error: 'GLOB_ONLYDIR' undeclared (first use in this function) + 2230 | rc = glob(portal, GLOB_ONLYDIR, NULL, &globbuf); + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/14fc1c139f055b5b1eaa6e04e327863c06176a7b + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/open-iscsi/open-iscsi/commit/11bdc17938ba648c81a853355a6bbddad69a9fc7 +--- + usr/idbm.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/usr/idbm.c b/usr/idbm.c +index ca4a4ec..fbaa132 100644 +--- a/usr/idbm.c ++++ b/usr/idbm.c +@@ -45,6 +45,10 @@ + #include "fw_context.h" + #include "iscsi_err.h" + ++#ifndef GLOB_ONLYDIR ++#define GLOB_ONLYDIR 0x100 ++#endif ++ + #define IDBM_HIDE 0 /* Hide parameter when print. */ + #define IDBM_SHOW 1 /* Show parameter when print. */ + #define IDBM_MASKED 2 /* Show "stars" instead of real value when print */ +-- +2.40.1 + diff --git a/package/open-iscsi/Config.in b/package/open-iscsi/Config.in new file mode 100644 index 00000000000..e55bbfd867d --- /dev/null +++ b/package/open-iscsi/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_OPEN_ISCSI + bool "open-iscsi" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS # pthread + depends on !BR2_STATIC_LIBS # kmod + select BR2_PACKAGE_KMOD + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPEN_ISNS + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + help + iSCSI tools for Linux. + + https://www.open-iscsi.com + +comment "open-iscsi needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/open-iscsi/open-iscsi.hash b/package/open-iscsi/open-iscsi.hash new file mode 100644 index 00000000000..de75cbf1e9a --- /dev/null +++ b/package/open-iscsi/open-iscsi.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 60e2a1e3058a8af7f702e86a5a0511b05b8754d29d3d2df4e0e301399b5cf70a open-iscsi-2.1.9.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 7e6580de9d99b680697d51ec0c5e88acd9ed329139d181472cc5a592d0684fa5 README +sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 libopeniscsiusr/COPYING diff --git a/package/open-iscsi/open-iscsi.mk b/package/open-iscsi/open-iscsi.mk new file mode 100644 index 00000000000..d1f40d3e20d --- /dev/null +++ b/package/open-iscsi/open-iscsi.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# open-iscsi +# +################################################################################ + +OPEN_ISCSI_VERSION = 2.1.9 +OPEN_ISCSI_SITE = $(call github,open-iscsi,open-iscsi,$(OPEN_ISCSI_VERSION)) +OPEN_ISCSI_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-3.0+ +OPEN_ISCSI_LICENSE_FILES = COPYING README libopeniscsiusr/COPYING +OPEN_ISCSI_CPE_ID_VALID = YES +OPEN_ISCSI_DEPENDENCIES = kmod open-isns openssl util-linux + +OPEN_ISCSI_CONF_OPTS = -Ddbroot=/var/lib/iscsi + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +OPEN_ISCSI_DEPENDENCIES += systemd +OPEN_ISCSI_CONF_OPTS += -Dno_systemd=false +else +OPEN_ISCSI_CONF_OPTS += -Dno_systemd=true +endif + +define OPEN_ISCSI_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_SCSI_LOWLEVEL) + $(call KCONFIG_ENABLE_OPT,CONFIG_ISCSI_TCP) +endef + +$(eval $(meson-package)) diff --git a/package/open-plc-utils/0002-plc-plc.h-fix-build-with-gcc-10.patch b/package/open-plc-utils/0002-plc-plc.h-fix-build-with-gcc-10.patch deleted file mode 100644 index 063bfc536cf..00000000000 --- a/package/open-plc-utils/0002-plc-plc.h-fix-build-with-gcc-10.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 27222be0b8db59cae30a5fcca93255daea147bb6 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 23 Sep 2020 19:05:23 +0200 -Subject: [PATCH] plc/plc.h: fix build with gcc 10 - -Drop plcproperty from plc/plc.h to avoid the following build failure -with gcc 10 (which defaults to -fno-common): - -/home/buildroot/autobuild/run/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: rules.o:(.bss+0x0): multiple definition of `plcproperty'; pibruin.o:(.bss+0x0): first defined here - -Fixes: - - http://autobuild.buildroot.org/results/6b3064b64dea3d4aaf219f787429c25918101483 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/qca/open-plc-utils/pull/141] ---- - plc/plc.h | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/plc/plc.h b/plc/plc.h -index 1fa32b53..208cf91a 100644 ---- a/plc/plc.h -+++ b/plc/plc.h -@@ -496,9 +496,7 @@ struct __packed plcproperty - uint8_t DATA_FORMAT; - uint32_t DATA_LENGTH; - uint8_t DATA_BUFFER [128]; --} -- --plcproperty; -+}; - - #ifndef __GNUC__ - #pragma pack (pop) --- -2.28.0 - diff --git a/package/open-plc-utils/open-plc-utils.hash b/package/open-plc-utils/open-plc-utils.hash index 1788b42fc0e..0ab661231a4 100644 --- a/package/open-plc-utils/open-plc-utils.hash +++ b/package/open-plc-utils/open-plc-utils.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 b0156567a71c608cc1a0b18bbb1c5a97dd0ad9180097435f7e99119712bb299b open-plc-utils-32408520fcebe785983a68e39ec83830a3005779.tar.gz +sha256 4b1b55896939f178321ffe1ec2dc6937ea688d577b3671a5f0edb5c3326dfa3d open-plc-utils-1ba7d5a042e4e8ff6858b08e113eec5dc4e89cf2.tar.gz sha256 3137c632bbcec5e88b72dc13f4fe06ee184eea364fec8f7494bdfa57672ef921 LICENSE diff --git a/package/open-plc-utils/open-plc-utils.mk b/package/open-plc-utils/open-plc-utils.mk index d2ac39aca47..086552e09b2 100644 --- a/package/open-plc-utils/open-plc-utils.mk +++ b/package/open-plc-utils/open-plc-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPEN_PLC_UTILS_VERSION = 32408520fcebe785983a68e39ec83830a3005779 +OPEN_PLC_UTILS_VERSION = 1ba7d5a042e4e8ff6858b08e113eec5dc4e89cf2 OPEN_PLC_UTILS_SITE = $(call github,qca,open-plc-utils,$(OPEN_PLC_UTILS_VERSION)) OPEN_PLC_UTILS_LICENSE = BSD-3-Clause OPEN_PLC_UTILS_LICENSE_FILES = LICENSE diff --git a/package/open2300/open2300.mk b/package/open2300/open2300.mk index 9fb7dbc2fd4..74f6d720f98 100644 --- a/package/open2300/open2300.mk +++ b/package/open2300/open2300.mk @@ -15,8 +15,8 @@ OPEN2300_BINS = \ OPEN2300_CFLAGS = $(TARGET_CFLAGS) OPEN2300_LDFLAGS = $(TARGET_LDFLAGS) -ifeq ($(BR2_PACKAGE_MYSQL),y) -OPEN2300_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_MARIADB),y) +OPEN2300_DEPENDENCIES += mariadb OPEN2300_BINS += mysql2300 mysqlhistlog2300 OPEN2300_CFLAGS += $(shell $(STAGING_DIR)/usr/bin/mysql_config --cflags) OPEN2300_LDFLAGS += $(shell $(STAGING_DIR)/usr/bin/mysql_config --libs) diff --git a/package/open62541/open62541.hash b/package/open62541/open62541.hash index 22c13851bf6..2946b991a46 100644 --- a/package/open62541/open62541.hash +++ b/package/open62541/open62541.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 283545991c3eb36b18c75a64638c7c2ad8f193654c2403b76aee848abf454e14 open62541-v1.3.3-br1.tar.gz +sha256 8ca1f20dba4fc103893d74d29e41c336ab67a1725512b03eaaf6060658525b43 open62541-v1.3.9-br1.tar.gz sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/open62541/open62541.mk b/package/open62541/open62541.mk index edc95dcf15f..17abd4a3790 100644 --- a/package/open62541/open62541.mk +++ b/package/open62541/open62541.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPEN62541_VERSION = v1.3.3 +OPEN62541_VERSION = v1.3.9 OPEN62541_SITE_METHOD = git OPEN62541_SITE = https://github.com/open62541/open62541.git OPEN62541_GIT_SUBMODULES = YES diff --git a/package/openblas/0001-Makefile.system-don-t-specify-optimization-level-bui.patch b/package/openblas/0001-Makefile.system-don-t-specify-optimization-level-bui.patch index e0c738748a1..ed3cae82ef4 100644 --- a/package/openblas/0001-Makefile.system-don-t-specify-optimization-level-bui.patch +++ b/package/openblas/0001-Makefile.system-don-t-specify-optimization-level-bui.patch @@ -1,4 +1,4 @@ -From d8ec4e4c6ef69165179f376e365034de10e6fee3 Mon Sep 17 00:00:00 2001 +From 89648b76e35dc4657942c861ed9dbfbfe5a3df28 Mon Sep 17 00:00:00 2001 From: Thomas De Schampheleire Date: Fri, 5 Mar 2021 14:09:23 +0100 Subject: [PATCH] Makefile.system: don't specify optimization level @@ -11,16 +11,17 @@ The CFLAGS/FFLAGS would e.g. contain '-Os -O2' in which -O2 survives. Remove the optimization level specified in openblas itself. +Upstream: N/A, not upstreamable Signed-off-by: Thomas De Schampheleire --- Makefile.system | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.system b/Makefile.system -index 438a8148..9de1bbd5 100644 +index 343b94bb3..c355ca5d9 100644 --- a/Makefile.system +++ b/Makefile.system -@@ -1519,11 +1519,11 @@ FCOMMON_OPT += -g +@@ -1585,11 +1585,11 @@ FCOMMON_OPT += -g endif ifndef COMMON_OPT @@ -35,5 +36,5 @@ index 438a8148..9de1bbd5 100644 override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -- -2.35.1 +2.40.1 diff --git a/package/openblas/Config.in b/package/openblas/Config.in index 0144e93a3fa..7d4727003b5 100644 --- a/package/openblas/Config.in +++ b/package/openblas/Config.in @@ -1,55 +1,52 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET string - default "P2" if BR2_x86_pentium2 - default "KATMAI" if BR2_x86_pentium3 - default "NORTHWOOD" if BR2_x86_pentium4 - default "PRESCOTT" if BR2_x86_prescott || BR2_x86_nocona - default "BANIAS" if BR2_x86_pentium_m - default "CORE2" if BR2_x86_core2 - default "NEHALEM" if BR2_x86_corei7 || BR2_x86_silvermont || BR2_x86_westmere - default "SANDYBRIDGE" if BR2_x86_corei7_avx - default "HASWELL" if BR2_x86_core_avx2 - default "ATOM" if BR2_x86_atom - default "ATHLON" if BR2_x86_athlon || BR2_x86_athlon_4 - default "OPTERON" if BR2_x86_opteron - default "OPTERON_SSE3" if BR2_x86_opteron_sse3 - default "BARCELONA" if BR2_x86_barcelona - default "BOBCAT" if BR2_x86_jaguar - default "STEAMROLLER" if BR2_x86_steamroller - default "VIAC3" if BR2_x86_c3 || BR2_x86_c32 - default "POWER4" if BR2_powerpc_power4 - default "POWER5" if BR2_powerpc_power5 - default "POWER6" if BR2_powerpc_power6 - default "POWER7" if BR2_powerpc_power7 - default "POWER8" if BR2_powerpc_power8 - default "PPCG4" if BR2_powerpc_7400 || BR2_powerpc_7450 - default "PPC970" if BR2_powerpc_970 - default "PPC440" if BR2_powerpc_440 - default "PPC440FP2" if BR2_powerpc_440fp - # P5600 is built with MSA support which is only available in Codescape toolchains - default "P5600" if BR2_mips_p5600 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - default "SICORTEX" if BR2_MIPS_CPU_MIPS64 - # I6400 is built with MSA support which is only available in Codescape toolchains - default "I6400" if BR2_mips_i6400 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS + default "P2" if BR2_x86_pentium2 + default "KATMAI" if BR2_x86_pentium3 + default "NORTHWOOD" if BR2_x86_pentium4 + default "PRESCOTT" if BR2_x86_prescott || BR2_x86_nocona + default "BANIAS" if BR2_x86_pentium_m + default "CORE2" if BR2_x86_core2 + default "NEHALEM" if BR2_x86_corei7 || BR2_x86_silvermont || BR2_x86_westmere + default "SANDYBRIDGE" if BR2_x86_corei7_avx + default "HASWELL" if BR2_x86_core_avx2 + default "ATOM" if BR2_x86_atom + default "ATHLON" if BR2_x86_athlon || BR2_x86_athlon_4 + default "OPTERON" if BR2_x86_opteron + default "OPTERON_SSE3" if BR2_x86_opteron_sse3 + default "BARCELONA" if BR2_x86_barcelona + default "BOBCAT" if BR2_x86_jaguar + default "STEAMROLLER" if BR2_x86_steamroller + default "VIAC3" if BR2_x86_c3 || BR2_x86_c32 + default "POWER4" if BR2_powerpc_power4 + default "POWER5" if BR2_powerpc_power5 + default "POWER6" if BR2_powerpc_power6 + default "POWER7" if BR2_powerpc_power7 + default "POWER8" if BR2_powerpc_power8 + default "PPCG4" if BR2_powerpc_7400 || BR2_powerpc_7450 + default "PPC970" if BR2_powerpc_970 + default "PPC440" if BR2_powerpc_440 + default "PPC440FP2" if BR2_powerpc_440fp + default "MIPS64_GENERIC" if BR2_MIPS_CPU_MIPS64 # OpenBLAS assumes SPARC=Sparc v9 - default "SPARC" if BR2_sparc_v9 + default "SPARC" if BR2_sparc_v9 # Cortex-A15 always have a VFPv4 - default "CORTEXA15" if (BR2_cortex_a15 && BR2_ARM_EABIHF) + default "CORTEXA15" if (BR2_cortex_a15 && BR2_ARM_EABIHF) # Cortex-A9 have an optional VFPv3, so we need to make sure it # is available - default "CORTEXA9" if (BR2_cortex_a9 && BR2_ARM_EABIHF && \ + default "CORTEXA9" if (BR2_cortex_a9 && BR2_ARM_EABIHF && \ BR2_ARM_CPU_HAS_VFPV3) - default "ARMV5" if BR2_ARM_CPU_ARMV5 + default "ARMV5" if BR2_ARM_CPU_ARMV5 # On ARMv6, OpenBLAS assumes that a VFP is available, and # EABIhf is used - default "ARMV6" if (BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && \ + default "ARMV6" if (BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && \ BR2_ARM_CPU_HAS_VFPV2) # On ARMv7, OpenBLAS assumes that a full VFPv3+ is available # (and not the more limited D16 variant), and that EABIhf is # used. - default "ARMV7" if (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && \ + default "ARMV7" if (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && \ BR2_ARM_CPU_HAS_VFPV3) - default "ARMV8" if BR2_aarch64 || BR2_aarch64_be + default "ARMV8" if BR2_aarch64 || BR2_aarch64_be + default "RISCV64_GENERIC" if BR2_RISCV_64 help OpenBLAS target CPU. See TargetList.txt in the source tree for the possible target strings. A possible value is set @@ -94,4 +91,9 @@ config BR2_PACKAGE_OPENBLAS_USE_LOCKING function calls from multiple threads, then locking is mandatory for correct operation. +config BR2_PACKAGE_OPENBLAS_INSTALL_TESTS + bool "install tests" + help + Install C test programs on target. + endif diff --git a/package/openblas/openblas.hash b/package/openblas/openblas.hash index 3a52600056c..a0f054dab78 100644 --- a/package/openblas/openblas.hash +++ b/package/openblas/openblas.hash @@ -1,3 +1,5 @@ +# From https://github.com/OpenMathLib/OpenBLAS/releases/tag/v0.3.26 +md5 bd496a1c81769ed19a161c1f8f904ccd openblas-0.3.26.tar.gz # Locally calculated -sha256 f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca openblas-0.3.21.tar.gz +sha256 4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68 openblas-0.3.26.tar.gz sha256 190b5a9c8d9723fe958ad33916bd7346d96fab3c5ea90832bb02d854f620fcff LICENSE diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk index ac40c57afb3..a678153d7b6 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -4,12 +4,12 @@ # ################################################################################ -OPENBLAS_VERSION = 0.3.21 -OPENBLAS_SITE = https://github.com/xianyi/OpenBLAS/releases/download/v$(OPENBLAS_VERSION) +OPENBLAS_VERSION = 0.3.26 +OPENBLAS_SITE = https://github.com/OpenMathLib/OpenBLAS/releases/download/v$(OPENBLAS_VERSION) OPENBLAS_LICENSE = BSD-3-Clause OPENBLAS_LICENSE_FILES = LICENSE OPENBLAS_INSTALL_STAGING = YES -OPENBLAS_CPE_ID_VENDOR = openblas_project +OPENBLAS_CPE_ID_VALID = YES # Initialise OpenBLAS make options to $(TARGET_CONFIGURE_OPTS) OPENBLAS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) @@ -49,6 +49,12 @@ ifeq ($(BR2_STATIC_LIBS),y) OPENBLAS_MAKE_OPTS += NO_SHARED=1 endif +ifeq ($(BR2_ARCH_IS_64),y) +OPENBLAS_MAKE_OPTS += BINARY=64 +else +OPENBLAS_MAKE_OPTS += BINARY=32 +endif + # binutils version <= 2.23.2 has a bug # (https://sourceware.org/bugzilla/show_bug.cgi?id=14887) where # whitespaces in ARM register specifications such as [ r1, #12 ] or [ @@ -77,4 +83,23 @@ define OPENBLAS_INSTALL_TARGET_CMDS -C $(@D) install PREFIX=$(TARGET_DIR)/usr endef +ifeq ($(BR2_PACKAGE_OPENBLAS_INSTALL_TESTS),y) +# Tests are always built, but are not installed, so we need to install +# them manually. The set of available tests may fluctuate depending on +# the architecture and other options, so only install whatever gets +# built. +define OPENBLAS_INSTALL_TESTS + mkdir -p $(TARGET_DIR)/usr/libexec/openblas/tests + find $(@D)/ctest \ + -type f -name "x[sdcz]cblat[123]" -perm -0100 \ + -exec $(INSTALL) -m 0755 {} \ + $(TARGET_DIR)/usr/libexec/openblas/tests \; + find $(@D)/ctest \ + -type f -name "[sdcz]in[123]" \ + -exec $(INSTALL) -m 0644 {} \ + $(TARGET_DIR)/usr/libexec/openblas/tests \; +endef +OPENBLAS_POST_INSTALL_TARGET_HOOKS += OPENBLAS_INSTALL_TESTS +endif + $(eval $(generic-package)) diff --git a/package/opencsd/Config.in b/package/opencsd/Config.in new file mode 100644 index 00000000000..6e400cc2aeb --- /dev/null +++ b/package/opencsd/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS + bool + default y if BR2_arm + default y if BR2_armeb + default y if BR2_aarch64 + default y if BR2_aarch64_be + +config BR2_PACKAGE_OPENCSD + bool "opencsd" + depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS + depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + This library provides an API suitable for the decode of + ARM(r) CoreSight(tm) trace streams. + + OpenCSD is for example an optional dependency in the Linux + "perf" tool, starting from kernel version 5.1. + + https://github.com/Linaro/OpenCSD + +comment "opencsd needs a toolchain w/ C++11, gcc >= 4.8, dynamic library" + depends on BR2_PACKAGE_OPENCSD_ARCH_SUPPORTS + depends on BR2_STATIC_LIBS \ + || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/opencsd/opencsd.hash b/package/opencsd/opencsd.hash new file mode 100644 index 00000000000..6295f32051a --- /dev/null +++ b/package/opencsd/opencsd.hash @@ -0,0 +1,3 @@ +# Locally Computed: +sha256 11ef93c0ee57203e620cf7c58b7b7cae00b267a2b57948a511da01c4161775e3 opencsd-1.5.1.tar.gz +sha256 980eef4b0744e63834e3ec0d50c2a4ff6d81d7ec62dd8ba8c66acae0ec5a2e88 LICENSE diff --git a/package/opencsd/opencsd.mk b/package/opencsd/opencsd.mk new file mode 100644 index 00000000000..cc3538ef281 --- /dev/null +++ b/package/opencsd/opencsd.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# opencsd +# +################################################################################ + +OPENCSD_VERSION = 1.5.1 +OPENCSD_SITE = $(call github,Linaro,OpenCSD,v$(OPENCSD_VERSION)) +OPENCSD_LICENSE = BSD-3-Clause +OPENCSD_LICENSE_FILES = LICENSE +OPENCSD_INSTALL_STAGING = YES + +OPENCSD_MAKE_OPTS = \ + CROSS_COMPILE="$(TARGET_CROSS)" + +define OPENCSD_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \ + $(OPENCSD_MAKE_OPTS) all +endef + +define OPENCSD_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \ + $(OPENCSD_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install +endef + +define OPENCSD_INSTALL_STAGING_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/decoder/build/linux \ + $(OPENCSD_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in index b9ea033f133..be0680084b2 100644 --- a/package/opencv3/Config.in +++ b/package/opencv3/Config.in @@ -157,15 +157,17 @@ config BR2_PACKAGE_OPENCV3_LIB_PYTHON depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy select BR2_PACKAGE_PYTHON_NUMPY help Include opencv_python module into the OpenCV build. No python example is installed. -comment "python support needs glibc or musl" +comment "python support needs a glibc or musl toolchain w/ gcc >= 9" depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) config BR2_PACKAGE_OPENCV3_LIB_SHAPE bool "shape" diff --git a/package/opencv3/opencv3.hash b/package/opencv3/opencv3.hash index 30308188aa0..3d6fd2ed8a5 100644 --- a/package/opencv3/opencv3.hash +++ b/package/opencv3/opencv3.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1353eec67849aadb20df71d8bae18b83708e18fc5da080fe5efeabb1e99b2ee8 opencv3-3.4.17.tar.gz -sha256 9076d3d934839a2f8e7bfe549abda6faea4751f1edd6e9460ff703559890ad5f LICENSE +sha256 9b913e74299ce4416a5c94000da577c592bf670fd53bad16220eb115a0821529 opencv3-3.4.19.tar.gz +sha256 c1fed9cd2f557ba23a1b37a21e2c90629d1a60bdb61e92d0e79369bb6fca3390 LICENSE diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk index 8e4c90786e6..5064496ca6c 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENCV3_VERSION = 3.4.17 +OPENCV3_VERSION = 3.4.19 OPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION)) OPENCV3_INSTALL_STAGING = YES OPENCV3_LICENSE = BSD-3-Clause @@ -341,7 +341,7 @@ OPENCV3_CONF_OPTS += \ -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) OPENCV3_DEPENDENCIES += python3 OPENCV3_KEEP_PY_FILES += usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/cv2/config*.py -OPENCV3_CONF_ENV += $(PKG_PYTHON_DISTUTILS_ENV) +OPENCV3_CONF_ENV += $(PKG_PYTHON_SETUPTOOLS_ENV) OPENCV3_DEPENDENCIES += python-numpy else OPENCV3_CONF_OPTS += \ diff --git a/package/opencv4-contrib/Config.in b/package/opencv4-contrib/Config.in index 98003330352..261d4148698 100644 --- a/package/opencv4-contrib/Config.in +++ b/package/opencv4-contrib/Config.in @@ -17,6 +17,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_ALPHAMAT config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_ARUCO bool "aruco" + select BR2_PACKAGE_OPENCV4_LIB_CALIB3D help ArUco and ChArUco Markers -- Augmented reality ArUco marker and "ChARUco" markers where ArUco markers embedded inside the @@ -29,6 +30,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_BARCODE config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_BGSEGM bool "bgsegm" + select BR2_PACKAGE_OPENCV4_LIB_VIDEO help Background segmentation algorithm combining statistical background image estimation and per-pixel Bayesian @@ -43,6 +45,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_BIOINSPIRED config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_CCALIB bool "ccalib" + select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI help Custom Calibration -- Patterns for 3D reconstruction, omnidirectional camera calibration, random pattern calibration @@ -71,17 +74,31 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DATASETS config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNN_OBJDETECT bool "dnn_objdetect" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 dnn + depends on !BR2_TOOLCHAIN_USES_UCLIBC # opencv4 dnn + select BR2_PACKAGE_OPENCV4_LIB_DNN help Object Detection using CNNs -- Implements compact CNN Model for object detection. Trained using Caffe but uses opencv_dnn module. +comment "dnn_objdetect needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_UCLIBC + config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNN_SUPERRES bool "dnn_superres" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 dnn + depends on !BR2_TOOLCHAIN_USES_UCLIBC # opencv4 dnn + select BR2_PACKAGE_OPENCV4_LIB_DNN help Superresolution using CNNs -- Contains four trained convolutional neural networks to upscale images. +comment "dnn_superres needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_USES_UCLIBC + config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNNS_EASILY_FOOLED bool "dnns_easily_fooled" help @@ -90,16 +107,30 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DNNS_EASILY_FOOLED config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_DPM bool "dpm" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 objdetect + depends on !BR2_TOOLCHAIN_USES_UCLIBC # opencv4 objdetect + select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT help Deformable Part Model -- Felzenszwalb's Cascade with deformable parts object recognition code. +comment "dpm needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 objdetect + depends on BR2_TOOLCHAIN_USES_UCLIBC # opencv4 objdetect + config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_FACE bool "face" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 objdetect + depends on !BR2_TOOLCHAIN_USES_UCLIBC # opencv4 objdetect + select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT help Face Recognition -- Face recognition techniques: Eigen, Fisher and Local Binary Pattern Histograms LBPH methods. +comment "face needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 objdetect + depends on BR2_TOOLCHAIN_USES_UCLIBC # opencv4 objdetect + config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_FREETYPE bool "freetype" help @@ -165,6 +196,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_MCC config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_OPTFLOW bool "optflow" + select BR2_PACKAGE_OPENCV4_LIB_VIDEO help Optical Flow -- Algorithms for running and evaluating deepflow, simpleflow, sparsetodenseflow and motion @@ -219,6 +251,11 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SALIENCY config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SFM bool "sfm" + select BR2_PACKAGE_OPENCV4_LIB_IMGPROC + select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS + select BR2_PACKAGE_EIGEN + select BR2_PACKAGE_GLOG + select BR2_PACKAGE_GFLAGS help Structure from Motion -- This module contains algorithms to perform 3d reconstruction from 2d images. The core of @@ -231,6 +268,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SHAPE config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_STEREO bool "stereo" + select BR2_PACKAGE_OPENCV4_CONTRIB_LIB_TRACKING help Stereo Correspondence -- Stereo matching done with different descriptors: Census / CS-Census / MCT / BRIEF / MV and dense @@ -244,6 +282,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_STRUCTURED_LIGHT config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SUPERRES bool "superres" + select BR2_PACKAGE_OPENCV4_LIB_VIDEO help Super Resolution @@ -262,12 +301,15 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_TEXT config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_TRACKING bool "tracking" + select BR2_PACKAGE_OPENCV4_LIB_VIDEO help Vision Based Object Tracking -- Use and/or evaluate different visual object tracking techniques. config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_VIDEOSTAB bool "videostab" + select BR2_PACKAGE_OPENCV4_LIB_VIDEO + select BR2_PACKAGE_OPENCV4_LIB_PHOTO help Video Stabilization @@ -299,13 +341,21 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XIMGPROC config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XOBJDETECT bool "xobjdetect" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 objdetect + depends on !BR2_TOOLCHAIN_USES_UCLIBC # opencv4 objdetect + select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT help Boosted 2D Object Detection -- Uses a Waldboost cascade and local binary patterns computed as integral features for 2D object detection. +comment "xobjdetect needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # opencv4 objdetect + depends on BR2_TOOLCHAIN_USES_UCLIBC # opencv4 objdetect + config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XPHOTO bool "xphoto" + select BR2_PACKAGE_OPENCV4_LIB_PHOTO help Extra Computational Photography -- Additional photo processing algorithms: Color balance / Denoising / Inpainting. diff --git a/package/opencv4-contrib/opencv4-contrib.hash b/package/opencv4-contrib/opencv4-contrib.hash index 4f15162e507..2e20717c763 100644 --- a/package/opencv4-contrib/opencv4-contrib.hash +++ b/package/opencv4-contrib/opencv4-contrib.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1777d5fd2b59029cf537e5fd6f8aa68d707075822f90bde683fcde086f85f7a7 opencv4-contrib-4.6.0.tar.gz +sha256 8952c45a73b75676c522dd574229f563e43c271ae1d5bbbd26f8e2b6bc1a4dae opencv4-contrib-4.9.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/opencv4-contrib/opencv4-contrib.mk b/package/opencv4-contrib/opencv4-contrib.mk index 81c45c6e02c..a4d0179472d 100644 --- a/package/opencv4-contrib/opencv4-contrib.mk +++ b/package/opencv4-contrib/opencv4-contrib.mk @@ -4,9 +4,9 @@ # ################################################################################ -OPENCV4_CONTRIB_VERSION = 4.6.0 +OPENCV4_CONTRIB_VERSION = 4.9.0 OPENCV4_CONTRIB_SITE = $(call github,opencv,opencv_contrib,$(OPENCV4_CONTRIB_VERSION)) -OPENCV4_CONTRIB_INSTALL_TARGET = FALSE +OPENCV4_CONTRIB_INSTALL_TARGET = NO OPENCV4_CONTRIB_LICENSE = Apache-2.0 OPENCV4_CONTRIB_LICENSE_FILES = LICENSE diff --git a/package/opencv4/Config.in b/package/opencv4/Config.in index 286a7ebf9d9..f1a2d02d501 100644 --- a/package/opencv4/Config.in +++ b/package/opencv4/Config.in @@ -180,15 +180,17 @@ config BR2_PACKAGE_OPENCV4_LIB_PYTHON depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy select BR2_PACKAGE_PYTHON_NUMPY help Include opencv_python module into the OpenCV build. No python example is installed. -comment "python support needs glibc or musl" +comment "python support needs a glibc or musl toolchain w/ gcc >= 9" depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_9 ||\ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) config BR2_PACKAGE_OPENCV4_LIB_SHAPE bool "shape" @@ -201,6 +203,8 @@ config BR2_PACKAGE_OPENCV4_LIB_SHAPE config BR2_PACKAGE_OPENCV4_LIB_STITCHING bool "stitching" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # objdetect + depends on !BR2_TOOLCHAIN_USES_UCLIBC # objdetect select BR2_PACKAGE_OPENCV4_LIB_CALIB3D select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D select BR2_PACKAGE_OPENCV4_LIB_IMGPROC @@ -209,6 +213,10 @@ config BR2_PACKAGE_OPENCV4_LIB_STITCHING Include opencv_stitching (images stitching) module into the OpenCV build. +comment "stitching needs a glibc or musl toolchain" + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_UCLIBC + config BR2_PACKAGE_OPENCV4_LIB_SUPERRES bool "superres" select BR2_PACKAGE_OPENCV4_LIB_IMGPROC diff --git a/package/opencv4/opencv4.hash b/package/opencv4/opencv4.hash index 419b420917f..15f5e372786 100644 --- a/package/opencv4/opencv4.hash +++ b/package/opencv4/opencv4.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277 opencv4-4.6.0.tar.gz +sha256 ddf76f9dffd322c7c3cb1f721d0887f62d747b82059342213138dc190f28bc6c opencv4-4.9.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/opencv4/opencv4.mk b/package/opencv4/opencv4.mk index a665793ad9b..e50e0f99a9a 100644 --- a/package/opencv4/opencv4.mk +++ b/package/opencv4/opencv4.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENCV4_VERSION = 4.6.0 +OPENCV4_VERSION = 4.9.0 OPENCV4_SITE = $(call github,opencv,opencv,$(OPENCV4_VERSION)) OPENCV4_INSTALL_STAGING = YES OPENCV4_LICENSE = Apache-2.0 @@ -203,12 +203,10 @@ OPENCV4_CONF_OPTS += \ -DINSTALL_PYTHON_EXAMPLES=OFF \ -DINSTALL_TO_MANGLED_PATHS=OFF -# Disabled features (mostly because they are not available in Buildroot), but -# - eigen: OpenCV does not use it, not take any benefit from it. +# Disabled features (mostly because they are not available in Buildroot) OPENCV4_CONF_OPTS += \ -DWITH_1394=OFF \ -DWITH_CLP=OFF \ - -DWITH_EIGEN=OFF \ -DWITH_GDAL=OFF \ -DWITH_GPHOTO2=OFF \ -DWITH_GSTREAMER_0_10=OFF \ @@ -284,6 +282,11 @@ OPENCV4_CONF_OPTS += \ -DBUILD_opencv_xphoto=$(if $(BR2_PACKAGE_OPENCV4_CONTRIB_LIB_XPHOTO),ON,OFF) endif +ifeq ($(BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SFM),y) +OPENCV4_DEPENDENCIES += eigen glog gflags +OPENCV4_CONF_OPTS += -DWITH_EIGEN=ON +endif + ifeq ($(BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER),y) OPENCV4_CONF_OPTS += -DWITH_JASPER=ON OPENCV4_DEPENDENCIES += jasper @@ -407,7 +410,7 @@ OPENCV4_CONF_OPTS += \ -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) OPENCV4_DEPENDENCIES += python3 OPENCV4_KEEP_PY_FILES += usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/cv2/config*.py -OPENCV4_CONF_ENV += $(PKG_PYTHON_DISTUTILS_ENV) +OPENCV4_CONF_ENV += $(PKG_PYTHON_SETUPTOOLS_ENV) OPENCV4_DEPENDENCIES += python-numpy else OPENCV4_CONF_OPTS += \ diff --git a/package/openfpgaloader/Config.in b/package/openfpgaloader/Config.in index 054278c256d..bd83ad415ba 100644 --- a/package/openfpgaloader/Config.in +++ b/package/openfpgaloader/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_OPENFPGALOADER if BR2_PACKAGE_OPENFPGALOADER -config BR2_PACAKGE_OPENFPGALOADER_CMSIS +config BR2_PACKAGE_OPENFPGALOADER_CMSIS bool "CMSIS-DAP support" depends on BR2_PACKAGE_HAS_UDEV # hidapi depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # hidapi @@ -24,6 +24,16 @@ config BR2_PACAKGE_OPENFPGALOADER_CMSIS comment "openfpgaloader CMSIS-DAP needs udev /dev management and a toolchain w/ NPTL threads" depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS_NPTL +config BR2_PACKAGE_OPENFPGALOADER_LIBGPIOD + bool "libgpiod support" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 # libgpiod + select BR2_PACKAGE_LIBGPIOD + help + openfpgaloader libgpiod support + +comment "openfpgaloader libgpiod needs kernel headers >= 4.8" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + endif comment "openfpgaloader needs a toolchain w/ threads, C++, gcc >= 4.9" diff --git a/package/openfpgaloader/openfpgaloader.hash b/package/openfpgaloader/openfpgaloader.hash index 6c9d8a2b913..6fa81a98a22 100644 --- a/package/openfpgaloader/openfpgaloader.hash +++ b/package/openfpgaloader/openfpgaloader.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a862a209d696becff915a77512e6a8c22f92d73480a45cc12273d9ad1db60d23 openfpgaloader-0.6.1.tar.gz +sha256 a463690358d2510919472c2f460039a304d016a08a45970821e667eea1c48cc8 openfpgaloader-0.11.0.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/openfpgaloader/openfpgaloader.mk b/package/openfpgaloader/openfpgaloader.mk index 0c39aad6871..0fd172b5326 100644 --- a/package/openfpgaloader/openfpgaloader.mk +++ b/package/openfpgaloader/openfpgaloader.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENFPGALOADER_VERSION = 0.6.1 +OPENFPGALOADER_VERSION = 0.11.0 OPENFPGALOADER_SITE = $(call github,trabucayre,openFPGALoader,v$(OPENFPGALOADER_VERSION)) OPENFPGALOADER_LICENSE = Apache-2.0 OPENFPGALOADER_LICENSE_FILES = LICENSE @@ -17,11 +17,18 @@ else OPENFPGALOADER_CONF_OPTS += -DENABLE_UDEV=OFF endif -ifeq ($(BR2_PACAKGE_OPENFPGALOADER_CMSIS),y) +ifeq ($(BR2_PACKAGE_OPENFPGALOADER_CMSIS),y) OPENFPGALOADER_DEPENDENCIES += hidapi OPENFPGALOADER_CONF_OPTS += -DENABLE_CMSISDAP=ON else OPENFPGALOADER_CONF_OPTS += -DENABLE_CMSISDAP=OFF endif +ifeq ($(BR2_PACKAGE_OPENFPGALOADER_LIBGPIOD),y) +OPENFPGALOADER_DEPENDENCIES += libgpiod +OPENFPGALOADER_CONF_OPTS += -DENABLE_LIBGPIOD=ON +else +OPENFPGALOADER_CONF_OPTS += -DENABLE_LIBGPIOD=OFF +endif + $(eval $(cmake-package)) diff --git a/package/openipmi/0001-Avoid-searching-host-library-path.patch b/package/openipmi/0001-Avoid-searching-host-library-path.patch deleted file mode 100644 index 15b4510f675..00000000000 --- a/package/openipmi/0001-Avoid-searching-host-library-path.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Wed, 22 Jul 2015 07:04:33 +0300 -Subject: [PATCH] Avoid searching host library path - -The $(libdir) variable points to the location of the directory on the target -system, /usr/lib by default. When cross compiling this directory contains the -host libraries which may be different than target libraries. Don't use -$(libdir) in the library search path. - -Signed-off-by: Baruch Siach -Signed-off-by: Joel Stanley -[Fabrice: refresh patch for 2.0.32] -Signed-off-by: Fabrice Fontaine -[Upstream status: https://sourceforge.net/p/openipmi/patches/35] ---- - cmdlang/Makefile.am | 3 +-- - unix/Makefile.am | 6 ++---- - 2 files changed, 3 insertions(+), 6 deletions(-) - -diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am -index 264ee12be79f..0b3843784656 100644 ---- a/cmdlang/Makefile.am -+++ b/cmdlang/Makefile.am -@@ -15,7 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \ - $(top_builddir)/utils/libOpenIPMIutils.la \ - $(top_builddir)/lib/libOpenIPMI.la - libOpenIPMIcmdlang_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -L$(libdir) -no-undefined -+ -no-undefined - - bin_PROGRAMS = openipmish - -diff --git a/unix/Makefile.am b/unix/Makefile.am -index 5128839dad13..bd0f897ba8d6 100644 ---- a/unix/Makefile.am -+++ b/unix/Makefile.am -@@ -10,12 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la - libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \ - $(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB) - libOpenIPMIpthread_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -L$(libdir) -no-undefined -+ -no-undefined - - libOpenIPMIposix_la_SOURCES = posix_os_hnd.c selector.c - libOpenIPMIposix_la_LIBADD = $(top_builddir)/utils/libOpenIPMIutils.la \ - $(GDBM_LIB) $(RT_LIB) - libOpenIPMIposix_la_LDFLAGS = -rdynamic -version-info $(LD_VERSION) \ -- -L$(libdir) -no-undefined -+ -no-undefined - - noinst_HEADERS = heap.h - diff --git a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch b/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch deleted file mode 100644 index e1838a06f45..00000000000 --- a/package/openipmi/0002-configure.ac-add-without-execinfo-option.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 388033e3d0129510c3884333bc428cefeb75e0b8 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 3 Jan 2022 23:27:21 +0100 -Subject: [PATCH] configure.ac: add --without-execinfo option - -Add an option to allow the user to disable execinfo to avoid the -following build failure on musl with -https://github.com/mikroskeem/libexecinfo: - -/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/10.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/openipmi-2.0.28/utils/.libs/libOpenIPMIutils.so: undefined reference to `backtrace' - -Fixes: - - http://autobuild.buildroot.org/results/dcc33c5cca97d538231647a94212450f043974b3 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://sourceforge.net/p/openipmi/patches/36] ---- - configure.ac | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 607864b9..f369166f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -77,6 +77,16 @@ AC_ARG_WITH(poptlibs, - POPTLIBS="$withval" - ) - -+tryexecinfo=yes -+AC_ARG_WITH(execinfo, -+[ --with-execinfo[[=yes|no]] Look for execinfo.], -+ if test "x$withval" = "xyes"; then -+ tryexecinfo=yes -+ elif test "x$withval" = "xno"; then -+ tryexecinfo=no -+ fi, -+) -+ - # If UCD SNMP requires OpenSSL, this tells where to find the crypto lib - tryopenssl=yes - AC_ARG_WITH(openssl, -@@ -275,7 +285,9 @@ AM_PROG_CC_C_O - AC_PROG_LIBTOOL - AC_STDC_HEADERS - --AC_CHECK_HEADERS(execinfo.h) -+if test "x$tryexecinfo" != "xno"; then -+ AC_CHECK_HEADERS(execinfo.h) -+fi - AC_CHECK_HEADERS([netinet/ether.h]) - AC_CHECK_HEADERS([sys/ethernet.h]) - --- -2.34.1 - diff --git a/package/openipmi/openipmi.hash b/package/openipmi/openipmi.hash index eded076ade1..fdba9518c78 100644 --- a/package/openipmi/openipmi.hash +++ b/package/openipmi/openipmi.hash @@ -1,8 +1,8 @@ # From http://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library/ -sha1 73d7dce4312b006983b11367e4a43d4ec52cf888 OpenIPMI-2.0.32.tar.gz -md5 532404c9df7d0e8bde975b95b9e6775b OpenIPMI-2.0.32.tar.gz +sha1 bc910d5d682710e9ff290c33e0780a71edba29d4 OpenIPMI-2.0.34.tar.gz +md5 9d27cc86b95a29251009db96452e7213 OpenIPMI-2.0.34.tar.gz # Locally computed -sha256 f6d0fd4c0a74b05f80907229d0b270f54ca23294bcc11979f8b8d12766786945 OpenIPMI-2.0.32.tar.gz +sha256 93227e43c72b5c3bd5949323e0669aa5527d1a971473a3a365af03fb8284a95f OpenIPMI-2.0.34.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 185323a62589e7ee80f86bf2ea29caad9a09fdda0ea3f1c00db8b778c7edf60e COPYING.BSD sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LIB diff --git a/package/openipmi/openipmi.mk b/package/openipmi/openipmi.mk index b3a4d90d4b1..1c406879e38 100644 --- a/package/openipmi/openipmi.mk +++ b/package/openipmi/openipmi.mk @@ -4,18 +4,15 @@ # ################################################################################ -OPENIPMI_VERSION = 2.0.32 +OPENIPMI_VERSION = 2.0.34 OPENIPMI_SITE = https://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library OPENIPMI_SOURCE = OpenIPMI-$(OPENIPMI_VERSION).tar.gz OPENIPMI_LICENSE = LGPL-2.0+, GPL-2.0+, BSD-3-Clause OPENIPMI_LICENSE_FILES = COPYING.LIB COPYING COPYING.BSD OPENIPMI_DEPENDENCIES = popt ncurses readline host-pkgconf OPENIPMI_INSTALL_STAGING = YES -# Patching Makefile.am -OPENIPMI_AUTORECONF = YES OPENIPMI_CONF_ENV = ac_cv_path_pkgprog="$(PKG_CONFIG_HOST_BINARY)" OPENIPMI_CONF_OPTS = \ - --with-execinfo=no \ --with-glib=no \ --with-tcl=no \ --with-perl=no \ @@ -26,6 +23,11 @@ ifeq ($(BR2_PACKAGE_GDBM),y) OPENIPMI_DEPENDENCIES += gdbm endif +ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) +OPENIPMI_DEPENDENCIES += libexecinfo +OPENIPMI_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lexecinfo" +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) OPENIPMI_DEPENDENCIES += openssl OPENIPMI_CONF_OPTS += --with-openssl=yes diff --git a/package/openjdk-bin/17.0.9_9/openjdk-bin.hash b/package/openjdk-bin/17.0.9_9/openjdk-bin.hash new file mode 100644 index 00000000000..29f39c5d364 --- /dev/null +++ b/package/openjdk-bin/17.0.9_9/openjdk-bin.hash @@ -0,0 +1,7 @@ +# https://github.com/adoptium/temurin17-binaries/releases +sha256 7b175dbe0d6e3c9c23b6ed96449b018308d8fc94a5ecd9c0df8b8bc376c3c18a OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz +sha256 e2c5e26f8572544b201bc22a9b28f2b1a3147ab69be111cea07c7f52af252e75 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.9_9.tar.gz + +# Locally calculated +sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE +sha256 a44eb7b5caf5534c6ef536b21edb40b4d6babf91bf97d9d45596868618b2c6fb legal/java.prefs/ASSEMBLY_EXCEPTION diff --git a/package/openjdk-bin/21.0.1_12/openjdk-bin.hash b/package/openjdk-bin/21.0.1_12/openjdk-bin.hash new file mode 100644 index 00000000000..35be28bb4f1 --- /dev/null +++ b/package/openjdk-bin/21.0.1_12/openjdk-bin.hash @@ -0,0 +1,7 @@ +# From https://github.com/adoptium/temurin21-binaries/releases +sha256 1a6fa8abda4c5caed915cfbeeb176e7fbd12eb6b222f26e290ee45808b529aa1 OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz +sha256 e184dc29a6712c1f78754ab36fb48866583665fa345324f1a79e569c064f95e9 OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.1_12.tar.gz + +# Locally calculated +sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE +sha256 75292f03bf23d3db7c985aecc191029b93883200721ed23ed34a2e601463df33 legal/java.prefs/ASSEMBLY_EXCEPTION diff --git a/package/openjdk-bin/openjdk-bin.hash b/package/openjdk-bin/openjdk-bin.hash deleted file mode 100644 index 4d3942125f6..00000000000 --- a/package/openjdk-bin/openjdk-bin.hash +++ /dev/null @@ -1,11 +0,0 @@ -# https://github.com/adoptium/temurin17-binaries/releases -sha256 288f34e3ba8a4838605636485d0365ce23e57d5f2f68997ac4c2e4c01967cd48 OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz -sha256 302caf29f73481b2b914ba2b89705036010c65eb9bc8d7712b27d6e9bedf6200 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.2_8.tar.gz - -# From https://github.com/adoptium/temurin11-binaries/releases -sha256 43fb84f8063ad9bf6b6d694a67b8f64c8827552b920ec5ce794dfe5602edffe7 OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz -sha256 79572f5172c6a040591d34632f98a20ed148702bbce2f57649e8ac01c0d2e3db OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.14.1_1.tar.gz - -# Locally calculated -sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE -sha256 a44eb7b5caf5534c6ef536b21edb40b4d6babf91bf97d9d45596868618b2c6fb legal/java.prefs/ASSEMBLY_EXCEPTION diff --git a/package/openjdk-bin/openjdk-bin.mk b/package/openjdk-bin/openjdk-bin.mk index 608a0bc3ac1..0280151fba1 100644 --- a/package/openjdk-bin/openjdk-bin.mk +++ b/package/openjdk-bin/openjdk-bin.mk @@ -4,12 +4,12 @@ # ################################################################################ -ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_17),y) -HOST_OPENJDK_BIN_VERSION_MAJOR = 17 -HOST_OPENJDK_BIN_VERSION_MINOR = 0.2_8 +ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y) +HOST_OPENJDK_BIN_VERSION_MAJOR = 21 +HOST_OPENJDK_BIN_VERSION_MINOR = 0.1_12 else -HOST_OPENJDK_BIN_VERSION_MAJOR = 11 -HOST_OPENJDK_BIN_VERSION_MINOR = 0.14.1_1 +HOST_OPENJDK_BIN_VERSION_MAJOR = 17 +HOST_OPENJDK_BIN_VERSION_MINOR = 0.9_9 endif ifeq ($(HOSTARCH),x86_64) diff --git a/package/openjdk/17.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/17.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch deleted file mode 100644 index 1ef523a4196..00000000000 --- a/package/openjdk/17.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 9a3c2a0714420186ae8d5159d5416c6fa2009ad9 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Mon, 18 Oct 2021 05:20:05 -0700 -Subject: [PATCH] Add ARCv2 ISA processors support to Zero - -This adds ARCv2 processors support in OpenJDK via -"Zero Assembly Project" (see https://openjdk.java.net/projects/zero). - -That' a purely interpretive mode, so likely not that fast -as JIT'ed version, but for starters it's much better than nothing. - -Once all the logistical problems are solved hopefully this -change will be accepted upstream. - -Signed-off-by: Alexey Brodkin ---- - make/autoconf/libraries.m4 | 8 ++++++++ - make/autoconf/platform.m4 | 8 ++++++++ - src/hotspot/os/linux/os_linux.cpp | 8 +++++++- - 3 files changed, 23 insertions(+), 1 deletion(-) - -diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4 -index 5120918aed2..f7a99955874 100644 ---- a/make/autoconf/libraries.m4 -+++ b/make/autoconf/libraries.m4 -@@ -122,6 +122,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], - BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread" - fi - -+ # Libatomic library -+ # 32-bit ARC needs fallback library for 8-byte atomic ops -+ # Inspired by a fix for MIPS, see https://github.com/openjdk/jdk/commit/1b3aa3af -+ if test "x$OPENJDK_TARGET_OS" = xlinux && -+ (test "x$OPENJDK_TARGET_CPU" = xarc); then -+ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic" -+ fi -+ - # perfstat lib - if test "x$OPENJDK_TARGET_OS" = xaix; then - BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat" -diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4 -index c0f2446dbd7..dc416ece885 100644 ---- a/make/autoconf/platform.m4 -+++ b/make/autoconf/platform.m4 -@@ -54,6 +54,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU], - VAR_CPU_BITS=64 - VAR_CPU_ENDIAN=little - ;; -+ arc) -+ VAR_CPU=arc -+ VAR_CPU_ARCH=arc -+ VAR_CPU_BITS=32 -+ VAR_CPU_ENDIAN=little -+ ;; - arm*) - VAR_CPU=arm - VAR_CPU_ARCH=arm -@@ -478,6 +484,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER], - HOTSPOT_$1_CPU_DEFINE=PPC64 - - # The cpu defines below are for zero, we don't support them directly. -+ elif test "x$OPENJDK_$1_CPU" = xarc; then -+ HOTSPOT_$1_CPU_DEFINE=ARC - elif test "x$OPENJDK_$1_CPU" = xsparc; then - HOTSPOT_$1_CPU_DEFINE=SPARC - elif test "x$OPENJDK_$1_CPU" = xppc; then -diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp -index b08caf4d5d3..2bf084895ba 100644 ---- a/src/hotspot/os/linux/os_linux.cpp -+++ b/src/hotspot/os/linux/os_linux.cpp -@@ -1858,6 +1858,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { - #ifndef EM_AARCH64 - #define EM_AARCH64 183 /* ARM AARCH64 */ - #endif -+#ifndef EM_ARC_COMPACT2 -+ #define EM_ARC_COMPACT2 195 /* ARC ARCv2 ISA */ -+#endif - #ifndef EM_RISCV - #define EM_RISCV 243 /* RISC-V */ - #endif -@@ -1879,6 +1882,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { - {EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"}, - #endif - {EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"}, -+ {EM_ARC_COMPACT2, EM_ARC_COMPACT2, ELFCLASS32, ELFDATA2LSB, (char*)"ARC"}, - // we only support 64 bit z architecture - {EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"}, - {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"}, -@@ -1906,6 +1910,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { - static Elf32_Half running_arch_code=EM_PPC; - #elif (defined AARCH64) - static Elf32_Half running_arch_code=EM_AARCH64; -+#elif (defined ARC) -+ static Elf32_Half running_arch_code=EM_ARC_COMPACT2; - #elif (defined ARM) - static Elf32_Half running_arch_code=EM_ARM; - #elif (defined S390) -@@ -1926,7 +1932,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { - static Elf32_Half running_arch_code=EM_RISCV; - #else - #error Method os::dll_load requires that one of following is defined:\ -- AARCH64, ALPHA, ARM, AMD64, IA32, IA64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc -+ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, IA64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc - #endif - - // Identify compatibility class for VM's architecture and library's architecture --- -2.16.2 - diff --git a/package/openjdk/17.0.9+9/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/17.0.9+9/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch new file mode 100644 index 00000000000..afec2772c09 --- /dev/null +++ b/package/openjdk/17.0.9+9/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch @@ -0,0 +1,109 @@ +From 9a3c2a0714420186ae8d5159d5416c6fa2009ad9 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Mon, 18 Oct 2021 05:20:05 -0700 +Subject: [PATCH] Add ARCv2 ISA processors support to Zero + +This adds ARCv2 processors support in OpenJDK via +"Zero Assembly Project" (see https://openjdk.java.net/projects/zero). + +That' a purely interpretive mode, so likely not that fast +as JIT'ed version, but for starters it's much better than nothing. + +Once all the logistical problems are solved hopefully this +change will be accepted upstream. + +Signed-off-by: Alexey Brodkin +--- + make/autoconf/libraries.m4 | 8 ++++++++ + make/autoconf/platform.m4 | 8 ++++++++ + src/hotspot/os/linux/os_linux.cpp | 8 +++++++- + 3 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4 +index 5120918aed2..f7a99955874 100644 +--- a/make/autoconf/libraries.m4 ++++ b/make/autoconf/libraries.m4 +@@ -152,6 +152,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic" + fi + ++ # Libatomic library ++ # 32-bit ARC needs fallback library for 8-byte atomic ops ++ # Inspired by a fix for MIPS, see https://github.com/openjdk/jdk/commit/1b3aa3af ++ if test "x$OPENJDK_TARGET_OS" = xlinux && ++ (test "x$OPENJDK_TARGET_CPU" = xarc); then ++ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic" ++ fi ++ + # perfstat lib + if test "x$OPENJDK_TARGET_OS" = xaix; then + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat" +diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4 +index c0f2446dbd7..dc416ece885 100644 +--- a/make/autoconf/platform.m4 ++++ b/make/autoconf/platform.m4 +@@ -54,6 +54,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU], + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; ++ arc) ++ VAR_CPU=arc ++ VAR_CPU_ARCH=arc ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm +@@ -565,6 +571,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER], + HOTSPOT_$1_CPU_DEFINE=RISCV64 + + # The cpu defines below are for zero, we don't support them directly. ++ elif test "x$OPENJDK_$1_CPU" = xarc; then ++ HOTSPOT_$1_CPU_DEFINE=ARC + elif test "x$OPENJDK_$1_CPU" = xsparc; then + HOTSPOT_$1_CPU_DEFINE=SPARC + elif test "x$OPENJDK_$1_CPU" = xppc; then +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index b08caf4d5d3..2bf084895ba 100644 +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -1721,6 +1721,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + #ifndef EM_AARCH64 + #define EM_AARCH64 183 /* ARM AARCH64 */ + #endif ++#ifndef EM_ARC_COMPACT2 ++ #define EM_ARC_COMPACT2 195 /* ARC ARCv2 ISA */ ++#endif + #ifndef EM_RISCV + #define EM_RISCV 243 /* RISC-V */ + #endif +@@ -1745,6 +1748,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + {EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"}, + #endif + {EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"}, ++ {EM_ARC_COMPACT2, EM_ARC_COMPACT2, ELFCLASS32, ELFDATA2LSB, (char*)"ARC"}, + // we only support 64 bit z architecture + {EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"}, + {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"}, +@@ -1773,6 +1777,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + static Elf32_Half running_arch_code=EM_PPC; + #elif (defined AARCH64) + static Elf32_Half running_arch_code=EM_AARCH64; ++#elif (defined ARC) ++ static Elf32_Half running_arch_code=EM_ARC_COMPACT2; + #elif (defined ARM) + static Elf32_Half running_arch_code=EM_ARM; + #elif (defined S390) +@@ -1795,7 +1801,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + static Elf32_Half running_arch_code=EM_LOONGARCH; + #else + #error Method os::dll_load requires that one of following is defined:\ +- AARCH64, ALPHA, ARM, AMD64, IA32, IA64, LOONGARCH, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc ++ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, IA64, LOONGARCH, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc + #endif + + // Identify compatibility class for VM's architecture and library's architecture +-- +2.16.2 + diff --git a/package/openjdk/21.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/21.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch new file mode 100644 index 00000000000..6c46ec7b428 --- /dev/null +++ b/package/openjdk/21.0.1+12/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch @@ -0,0 +1,109 @@ +From 9a3c2a0714420186ae8d5159d5416c6fa2009ad9 Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Mon, 18 Oct 2021 05:20:05 -0700 +Subject: [PATCH] Add ARCv2 ISA processors support to Zero + +This adds ARCv2 processors support in OpenJDK via +"Zero Assembly Project" (see https://openjdk.java.net/projects/zero). + +That' a purely interpretive mode, so likely not that fast +as JIT'ed version, but for starters it's much better than nothing. + +Once all the logistical problems are solved hopefully this +change will be accepted upstream. + +Signed-off-by: Alexey Brodkin +--- + make/autoconf/libraries.m4 | 8 ++++++++ + make/autoconf/platform.m4 | 8 ++++++++ + src/hotspot/os/linux/os_linux.cpp | 8 +++++++- + 3 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4 +index 5120918aed2..f7a99955874 100644 +--- a/make/autoconf/libraries.m4 ++++ b/make/autoconf/libraries.m4 +@@ -163,6 +163,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt" + fi + ++ # Libatomic library ++ # 32-bit ARC needs fallback library for 8-byte atomic ops ++ # Inspired by a fix for MIPS, see https://github.com/openjdk/jdk/commit/1b3aa3af ++ if test "x$OPENJDK_TARGET_OS" = xlinux && ++ (test "x$OPENJDK_TARGET_CPU" = xarc); then ++ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic" ++ fi ++ + # perfstat lib + if test "x$OPENJDK_TARGET_OS" = xaix; then + BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat" +diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4 +index c0f2446dbd7..dc416ece885 100644 +--- a/make/autoconf/platform.m4 ++++ b/make/autoconf/platform.m4 +@@ -54,6 +54,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU], + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; ++ arc) ++ VAR_CPU=arc ++ VAR_CPU_ARCH=arc ++ VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm +@@ -571,6 +577,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER], + HOTSPOT_$1_CPU_DEFINE=RISCV64 + + # The cpu defines below are for zero, we don't support them directly. ++ elif test "x$OPENJDK_$1_CPU" = xarc; then ++ HOTSPOT_$1_CPU_DEFINE=ARC + elif test "x$OPENJDK_$1_CPU" = xsparc; then + HOTSPOT_$1_CPU_DEFINE=SPARC + elif test "x$OPENJDK_$1_CPU" = xppc; then +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index b08caf4d5d3..2bf084895ba 100644 +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -1653,6 +1653,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + #ifndef EM_AARCH64 + #define EM_AARCH64 183 /* ARM AARCH64 */ + #endif ++#ifndef EM_ARC_COMPACT2 ++ #define EM_ARC_COMPACT2 195 /* ARC ARCv2 ISA */ ++#endif + #ifndef EM_RISCV + #define EM_RISCV 243 /* RISC-V */ + #endif +@@ -1677,6 +1680,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + {EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"}, + #endif + {EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"}, ++ {EM_ARC_COMPACT2, EM_ARC_COMPACT2, ELFCLASS32, ELFDATA2LSB, (char*)"ARC"}, + // we only support 64 bit z architecture + {EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"}, + {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"}, +@@ -1709,6 +1713,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + static Elf32_Half running_arch_code=EM_PPC; + #elif (defined AARCH64) + static Elf32_Half running_arch_code=EM_AARCH64; ++#elif (defined ARC) ++ static Elf32_Half running_arch_code=EM_ARC_COMPACT2; + #elif (defined ARM) + static Elf32_Half running_arch_code=EM_ARM; + #elif (defined S390) +@@ -1731,7 +1737,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + static Elf32_Half running_arch_code=EM_LOONGARCH; + #else + #error Method os::dll_load requires that one of following is defined:\ +- AARCH64, ALPHA, ARM, AMD64, IA32, IA64, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc ++ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, IA64, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc + #endif + + // Identify compatibility class for VM's architecture and library's architecture +-- +2.16.2 + diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in index 8fbe51a27f3..25d6960ecf1 100644 --- a/package/openjdk/Config.in +++ b/package/openjdk/Config.in @@ -57,18 +57,18 @@ if BR2_PACKAGE_OPENJDK choice prompt "openjdk version" - default BR2_PACKAGE_OPENJDK_VERSION_17 + default BR2_PACKAGE_OPENJDK_VERSION_17 if BR2_OPENJDK_VERSION_LTS # legacy + default BR2_PACKAGE_OPENJDK_VERSION_21 if BR2_OPENJDK_VERSION_LATEST # legacy + default BR2_PACKAGE_OPENJDK_VERSION_21 help Select the version of OpenJDK you wish to use. -config BR2_PACKAGE_OPENJDK_VERSION_11 - bool "OpenJDK 11" - # The ARC-specific OpenJDK patch only applies to OpenJDK 17. - depends on !BR2_arc - config BR2_PACKAGE_OPENJDK_VERSION_17 bool "OpenJDK 17" +config BR2_PACKAGE_OPENJDK_VERSION_21 + bool "OpenJDK 21" + endchoice config BR2_PACKAGE_OPENJDK_FULL_JDK diff --git a/package/openjdk/openjdk.hash b/package/openjdk/openjdk.hash index 293787792d7..949a62e5275 100644 --- a/package/openjdk/openjdk.hash +++ b/package/openjdk/openjdk.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 2fdd23261526362d4aaf58323441d4c31d29de2e374ba94bbf2727a00adc0ea7 openjdk-17.0.2+8.tar.gz -sha256 0e859cc03378439023e17ee82aecee5a52265fb38906a8bebf16027aa2b2bcf5 openjdk-11.0.14.1+1.tar.gz +sha256 9943e3814d3c1a31f1449f09a8b67df54841944f855a1d372be892c5e6b19217 openjdk-21.0.1+12.tar.gz +sha256 836adb5fec5a58ce2f49a0faeaf9e69a3cb89865f4d855c6098f0264843672ad openjdk-17.0.9+9.tar.gz sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 LICENSE diff --git a/package/openjdk/openjdk.mk b/package/openjdk/openjdk.mk index 42d52d57c47..f4e1920e6c8 100644 --- a/package/openjdk/openjdk.mk +++ b/package/openjdk/openjdk.mk @@ -4,12 +4,12 @@ # ################################################################################ -ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_17),y) -OPENJDK_VERSION_MAJOR = 17 -OPENJDK_VERSION_MINOR = 0.2+8 +ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y) +OPENJDK_VERSION_MAJOR = 21 +OPENJDK_VERSION_MINOR = 0.1+12 else -OPENJDK_VERSION_MAJOR = 11 -OPENJDK_VERSION_MINOR = 0.14.1+1 +OPENJDK_VERSION_MAJOR = 17 +OPENJDK_VERSION_MINOR = 0.9+9 endif OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR).$(OPENJDK_VERSION_MINOR) OPENJDK_SITE = $(call github,openjdk,jdk$(OPENJDK_VERSION_MAJOR)u,jdk-$(OPENJDK_VERSION)) @@ -83,7 +83,6 @@ OPENJDK_CONF_ENV = \ OPENJDK_CONF_OPTS = \ --disable-full-docs \ - --disable-hotspot-gtest \ --disable-manpages \ --disable-warnings-as-errors \ --enable-headless-only \ diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index cfa0e01b7d7..1e720547242 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a openjpeg-2.5.0.tar.gz +sha256 90e3896fed910c376aaf79cdd98bdfdaf98c6472efd8e1debf0a854938cbda6a openjpeg-2.5.2.tar.gz sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index 5b03a6cf587..e7cb7505e92 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENJPEG_VERSION = 2.5.0 +OPENJPEG_VERSION = 2.5.2 OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE diff --git a/package/openlayers/openlayers.hash b/package/openlayers/openlayers.hash index 1b3f3cce51e..af9087ede26 100644 --- a/package/openlayers/openlayers.hash +++ b/package/openlayers/openlayers.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 37a0e5fde4df3db6e6c11ed0ceb8e20608121afe5f8f7f91cf03990e89a919ca v7.1.0-package.zip +sha256 867778afdd66cd29fe0f14ac4ed316a0ab393f5dccfd2219450848cd0347f1d6 v8.1.0-package.zip sha256 6c4347b83a8c9feef18d57b18e3b6c44cf901b3c344a4a1fbd837e421555ab8e LICENSE.md diff --git a/package/openlayers/openlayers.mk b/package/openlayers/openlayers.mk index 7396e38fb93..fde83d6e844 100644 --- a/package/openlayers/openlayers.mk +++ b/package/openlayers/openlayers.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLAYERS_VERSION = 7.1.0 +OPENLAYERS_VERSION = 8.1.0 OPENLAYERS_SOURCE = v$(OPENLAYERS_VERSION)-package.zip OPENLAYERS_SITE = https://github.com/openlayers/openlayers/releases/download/v$(OPENLAYERS_VERSION) OPENLAYERS_LICENSE = BSD-2-Clause diff --git a/package/openldap/0001-fix-bignum.patch b/package/openldap/0001-fix-bignum.patch new file mode 100644 index 00000000000..ec38ee3df05 --- /dev/null +++ b/package/openldap/0001-fix-bignum.patch @@ -0,0 +1,37 @@ +configure: correctly detect bignum + +Building with bignum is currently not possible, since we're checking +ol_with_tls against a value it is never assigned in any case. + +Since bignum is from openssl, and openssl is the preferred TLS +implementation, if the bignum headers are found, it means we do have +TLS and it is opensl. + +So, keep the check for the bignum header, but check against ol_link_tls +which means that openssl is enabled when we find the bignum headers. + +Signed-off-by: "Yann E. MORIN" + +diff -durN openldap-2.4.40.orig/configure openldap-2.4.40/configure +--- openldap-2.4.40.orig/configure 2014-09-19 03:48:49.000000000 +0200 ++++ openldap-2.4.40/configure 2015-01-25 18:44:54.216879362 +0100 +@@ -23431,7 +23431,7 @@ + + if test "$ac_cv_header_openssl_bn_h" = "yes" && + test "$ac_cv_header_openssl_crypto_h" = "yes" && +- test "$ol_with_tls" = "found" ; then ++ test "$ol_link_tls" = "yes" ; then + ol_with_mp=bignum + + $as_echo "#define USE_MP_BIGNUM 1" >>confdefs.h +--- openldap-2.5.15.orig/configure.ac 2023-10-23 11:03:46.292215101 +0200 ++++ openldap-2.5.16/configure.ac 2023-10-23 11:05:07.245355497 +0200 +@@ -2323,7 +2323,7 @@ + AC_CHECK_HEADERS(openssl/crypto.h) + if test "$ac_cv_header_openssl_bn_h" = "yes" && + test "$ac_cv_header_openssl_crypto_h" = "yes" && +- test "$ol_with_tls" = "found" ; then ++ test "$ol_link_tls" = "yes" ; then + ol_with_mp=bignum + AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP]) + elif test $ol_with_mp = bignum ; then diff --git a/package/openldap/0001-fix_cross_strip.patch b/package/openldap/0001-fix_cross_strip.patch deleted file mode 100644 index d9d6f9d5051..00000000000 --- a/package/openldap/0001-fix_cross_strip.patch +++ /dev/null @@ -1,74 +0,0 @@ -Fix stripping when cross-compiling - -Probably-Signed-off-by: Dave Bender -[yann.morin.1998@free.fr: patch was made by Dave, but he - forgot his SoB line, so I added it] -Signed-off-by: "Yann E. MORIN" - -diff -rupN openldap-2.4.40/build/shtool openldap-2.4.40-br/build/shtool ---- openldap-2.4.40/build/shtool 2014-09-18 21:48:49.000000000 -0400 -+++ openldap-2.4.40-br/build/shtool 2015-01-21 13:21:35.689829372 -0500 -@@ -981,7 +981,7 @@ install ) - if [ ".$opt_t" = .yes ]; then - echo "strip $dsttmp" 1>&2 - fi -- strip $dsttmp || shtool_exit $? -+ $STRIP $dsttmp || shtool_exit $? - fi - if [ ".$opt_o" != . ]; then - if [ ".$opt_t" = .yes ]; then -diff -rupN openldap-2.4.40/build/top.mk openldap-2.4.40-br/build/top.mk ---- openldap-2.4.40/build/top.mk 2014-09-18 21:48:49.000000000 -0400 -+++ openldap-2.4.40-br/build/top.mk 2015-01-21 13:23:41.027810097 -0500 -@@ -59,7 +59,7 @@ INSTALL_PROGRAM = $(INSTALL) - INSTALL_DATA = $(INSTALL) -m 644 - INSTALL_SCRIPT = $(INSTALL) - --STRIP = -s -+STRIP_OPTS = -s - - LINT = lint - 5LINT = 5lint -diff -rupN openldap-2.4.40/clients/tools/Makefile.in openldap-2.4.40-br/clients/tools/Makefile.in ---- openldap-2.4.40/clients/tools/Makefile.in 2014-09-18 21:48:49.000000000 -0400 -+++ openldap-2.4.40-br/clients/tools/Makefile.in 2015-01-21 13:23:35.827727946 -0500 -@@ -120,7 +120,7 @@ install-local: FORCE - -$(MKDIR) $(DESTDIR)$(bindir) - @( \ - for prg in $(PROGRAMS); do \ -- $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 $$prg$(EXEEXT) \ -+ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP_OPTS) -m 755 $$prg$(EXEEXT) \ - $(DESTDIR)$(bindir); \ - done \ - ) -diff -rupN openldap-2.4.40/configure.in openldap-2.4.40-br/configure.in ---- openldap-2.4.40/configure.in 2014-09-18 21:48:49.000000000 -0400 -+++ openldap-2.4.40-br/configure.in 2015-01-16 15:50:48.874816786 -0500 -@@ -668,6 +668,15 @@ if test -z "${AR}"; then - fi - fi - -+if test -z "${STRIP}"; then -+ AC_CHECK_PROGS(STRIP,strip,missing) -+ -+ if test "${STRIP}" = "missing" ; then -+ AC_MSG_ERROR([Unable to locate strip(1) or suitable replacement. Check PATH or set STRIP.]) -+ fi -+fi -+ -+ - AC_LIBTOOL_WIN32_DLL - AC_LIBTOOL_DLOPEN - AC_PROG_LIBTOOL -diff -rupN openldap-2.4.40/servers/slapd/Makefile.in openldap-2.4.40-br/servers/slapd/Makefile.in ---- openldap-2.4.40/servers/slapd/Makefile.in 2015-01-16 15:04:52.507473256 -0500 -+++ openldap-2.4.40-br/servers/slapd/Makefile.in 2015-01-16 15:05:02.299627229 -0500 -@@ -378,7 +378,7 @@ install-local-srv: install-slapd install - install-slapd: FORCE - -$(MKDIR) $(DESTDIR)$(libexecdir) - -$(MKDIR) $(DESTDIR)$(localstatedir)/run -- $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 \ -+ $(LTINSTALL) $(INSTALLFLAGS) $(STRIP_OPTS) -m 755 \ - slapd$(EXEEXT) $(DESTDIR)$(libexecdir) - @for i in $(SUBDIRS); do \ - if test -d $$i && test -f $$i/Makefile ; then \ diff --git a/package/openldap/0003-disable-docs.patch b/package/openldap/0002-disable-docs.patch similarity index 100% rename from package/openldap/0003-disable-docs.patch rename to package/openldap/0002-disable-docs.patch diff --git a/package/openldap/0002-fix-bignum.patch b/package/openldap/0002-fix-bignum.patch deleted file mode 100644 index 159ea8e2281..00000000000 --- a/package/openldap/0002-fix-bignum.patch +++ /dev/null @@ -1,38 +0,0 @@ -configure: correctly detect bignum - -Building with bignum is currently not possible, since we're checking -ol_with_tls against a value it is never assigned in any case. - -Since bignum is from openssl, and openssl is the preferred TLS -implementation, if the bignum headers are found, it means we do have -TLS and it is opensl. - -So, keep the check for the bignum header, but check against ol_link_tls -which means that openssl is enabled when we find the bignum headers. - -Signed-off-by: "Yann E. MORIN" - -diff -durN openldap-2.4.40.orig/configure openldap-2.4.40/configure ---- openldap-2.4.40.orig/configure 2014-09-19 03:48:49.000000000 +0200 -+++ openldap-2.4.40/configure 2015-01-25 18:44:54.216879362 +0100 -@@ -23431,7 +23431,7 @@ - - if test "$ac_cv_header_openssl_bn_h" = "yes" && - test "$ac_cv_header_openssl_crypto_h" = "yes" && -- test "$ol_with_tls" = "found" ; then -+ test "$ol_link_tls" = "yes" ; then - ol_with_mp=bignum - - $as_echo "#define USE_MP_BIGNUM 1" >>confdefs.h -diff -durN openldap-2.4.40.orig/configure.in openldap-2.4.40/configure.in ---- openldap-2.4.40.orig/configure.in 2014-09-19 03:48:49.000000000 +0200 -+++ openldap-2.4.40/configure.in 2015-01-25 18:44:37.628676446 +0100 -@@ -2383,7 +2383,7 @@ - AC_CHECK_HEADERS(openssl/crypto.h) - if test "$ac_cv_header_openssl_bn_h" = "yes" && - test "$ac_cv_header_openssl_crypto_h" = "yes" && -- test "$ol_with_tls" = "found" ; then -+ test "$ol_link_tls" = "yes" ; then - ol_with_mp=bignum - AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP]) - elif test $ol_with_mp = bignum ; then diff --git a/package/openldap/0004-revert-ITS-3977-fix-libtool-static-behavior-to-match.patch b/package/openldap/0004-revert-ITS-3977-fix-libtool-static-behavior-to-match.patch deleted file mode 100644 index 3a901c910d3..00000000000 --- a/package/openldap/0004-revert-ITS-3977-fix-libtool-static-behavior-to-match.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 88a0442a0f01076914af80db40571fd52914ffa3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 28 Mar 2019 23:52:38 +0100 -Subject: [PATCH] revert ITS#3977, fix libtool -static behavior to match docs - -Revert -https://github.com/openldap/openldap/commit/7b6a088a2590fdad10286d10050b769e48554e13 -as this patch does not work with our buildroot patches - -Fixes: - - http://autobuild.buildroot.org/results/ab4f85fd21cacfaef6b0b43a38da6a4a1d32ecb6 - -Signed-off-by: Fabrice Fontaine -[Upstream status: Not upstreamable] ---- - build/ltmain.sh | 9 ++------- - 1 file changed, 2 insertions(+), 7 deletions(-) - -diff --git a/build/ltmain.sh b/build/ltmain.sh -index 1d079b91e..996dc7dad 100755 ---- a/build/ltmain.sh -+++ b/build/ltmain.sh -@@ -1190,15 +1190,14 @@ EOF - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi -- prefer_static_libs=yes - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi -- prefer_static_libs=built - fi - build_libtool_libs=no - build_old_libs=yes -+ prefer_static_libs=yes - break - ;; - esac -@@ -2602,12 +2601,8 @@ EOF - fi - - link_static=no # Whether the deplib will be linked statically -- use_static_libs=$prefer_static_libs -- if test "$use_static_libs" = built && test "$installed" = yes ; then -- use_static_libs=no -- fi - if test -n "$library_names" && -- { test "$use_static_libs" = no || test -z "$old_library"; }; then -+ { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes --- -2.14.1 - diff --git a/package/openldap/openldap.hash b/package/openldap/openldap.hash index 71092c93d00..1383c6aef88 100644 --- a/package/openldap/openldap.hash +++ b/package/openldap/openldap.hash @@ -1,7 +1,5 @@ -# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.59.md5 -md5 6036a03b3a67b4a1fe1246e0a2c7265a openldap-2.4.59.tgz -# From https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.59.sha1 -sha1 b154d06bbf40fafafb34fffc4b116946d931efef openldap-2.4.59.tgz +# Verified by locally checking against the SHA3-512 hash available in +# https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.16.sha3-512 # Locally computed -sha256 99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34 openldap-2.4.59.tgz +sha256 546ba591822e8bb0e467d40c4d4a30f89d937c3a507fe83a578f582f6a211327 openldap-2.5.16.tgz sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/openldap/openldap.mk b/package/openldap/openldap.mk index b5373544ab6..9cebff99dcb 100644 --- a/package/openldap/openldap.mk +++ b/package/openldap/openldap.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLDAP_VERSION = 2.4.59 +OPENLDAP_VERSION = 2.5.16 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = https://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_LICENSE = OpenLDAP Public License diff --git a/package/openmpi/Config.in b/package/openmpi/Config.in index 4413c55f9c5..e64eb81c3e3 100644 --- a/package/openmpi/Config.in +++ b/package/openmpi/Config.in @@ -1,5 +1,6 @@ comment "openmpi needs a toolchain w/ dynamic library, NPTL, wchar, C++" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_sparc depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP @@ -8,6 +9,7 @@ config BR2_PACKAGE_OPENMPI bool "openmpi" depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # dlfcn.h diff --git a/package/openmpi/openmpi.hash b/package/openmpi/openmpi.hash index a399adc7587..567ffe48333 100644 --- a/package/openmpi/openmpi.hash +++ b/package/openmpi/openmpi.hash @@ -1,6 +1,6 @@ -# From: https://www.open-mpi.org/software/ompi/v4.0/ -md5 e3da67df1e968c8798827e0e5fe9a510 openmpi-4.0.0.tar.bz2 -sha1 fee1d0287abfb150bae16957de342752c9bdd4e8 openmpi-4.0.0.tar.bz2 +# From: https://www.open-mpi.org/software/ompi/v4.1/ +md5 bb045df2d600744c2231c78b31a20da3 openmpi-4.1.5.tar.bz2 +sha1 eba2e6f9ee0c39fbca0a8cf53a79c9ed29643284 openmpi-4.1.5.tar.bz2 +sha256 a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3 openmpi-4.1.5.tar.bz2 # Locally computed -sha256 2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b openmpi-4.0.0.tar.bz2 -sha256 8298a80ed5f09cfd007bae1c0e7d67d1c2810c6389876778dad070c31a691dac LICENSE +sha256 2db71de9577ebfe15c186605844c470dcecd3717f4ef0118c9440d801c0f58f8 LICENSE diff --git a/package/openmpi/openmpi.mk b/package/openmpi/openmpi.mk index 8bdc3fa188f..82a4b3eb1ca 100644 --- a/package/openmpi/openmpi.mk +++ b/package/openmpi/openmpi.mk @@ -4,14 +4,21 @@ # ################################################################################ -OPENMPI_VERSION_MAJOR = 4.0 -OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).0 +OPENMPI_VERSION_MAJOR = 4.1 +OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).5 OPENMPI_SITE = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2 OPENMPI_LICENSE = BSD-3-Clause OPENMPI_LICENSE_FILES = LICENSE OPENMPI_INSTALL_STAGING = YES +# The macro searching for IME (Infinite Memory Engine) filesystem +# brings "-I/usr/local/include" in the CPPFLAGS, even if not +# found. This makes the configuration fail. See: +# https://github.com/open-mpi/ompi/blob/v4.1.5/config/ompi_check_ime.m4#L35 +# Disable explicitly to avoid the issue. +OPENMPI_CONF_OPTS = --without-ime + # Enabling Fortran support requires pre-seeding the configure script # with various values that cannot be guessed, so we provide cache # files for various architectures. @@ -43,6 +50,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) OPENMPI_CFLAGS += -O0 endif -OPENMPI_CONF_ENV = CFLAGS="$(OPENMPI_CFLAGS)" +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +OPENMPI_LIBS += -latomic +endif + +OPENMPI_CONF_ENV = CFLAGS="$(OPENMPI_CFLAGS)" LIBS="$(OPENMPI_LIBS)" $(eval $(autotools-package)) diff --git a/package/openocd/0002-configure.ac-fix-autoreconf-with-autoconf-2.70.patch b/package/openocd/0002-configure.ac-fix-autoreconf-with-autoconf-2.70.patch deleted file mode 100644 index ecb716b6fa0..00000000000 --- a/package/openocd/0002-configure.ac-fix-autoreconf-with-autoconf-2.70.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3106d16bbc45de52bc0a8b638a84aa9d7c9abc46 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 6 Oct 2021 17:43:16 +0200 -Subject: [PATCH] configure.ac: fix autoreconf with autoconf >= 2.70 - -Fix the following build failure raised with openocd and autoconf >= 2.70 -due to -http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=aba75f6d4a9c875a9d5d90a07c6b3678db66a4bf: - ->>> openocd 0.11.0 Autoreconfiguring -autoreconf: error: configure.ac: AC_INIT not found; not an autoconf script? - -Fixes: - - http://autobuild.buildroot.org/results/5fb7aa28703aff61ba850eac11bd35c8804528ae - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/msteveb/jimtcl/pull/209] ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/jimtcl/configure.ac b/jimtcl/configure.ac -index b70b5d8..8c45114 100644 ---- a/jimtcl/configure.ac -+++ b/jimtcl/configure.ac -@@ -1 +1,3 @@ - # Dummy configure.ac to make automake happy -+AC_INIT([jimtcl], [0.80]) -+AC_OUTPUT --- -2.33.0 - diff --git a/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch b/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch deleted file mode 100644 index 776816892b3..00000000000 --- a/package/openocd/0003-stlink-fix-SIGSEGV-with-libusb-v1.0.24-33-g32a2206-1.patch +++ /dev/null @@ -1,89 +0,0 @@ -From cff0e417da58adef1ceef9a63a99412c2cc87ff3 Mon Sep 17 00:00:00 2001 -From: Antonio Borneo -Date: Wed, 23 Jun 2021 16:52:16 +0200 -Subject: [PATCH] stlink: fix SIGSEGV with libusb v1.0.24-33-g32a2206 (11618) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The stlink driver incorrectly uses a NULL pointer for libusb's -struct libusb_context. -The correct value to be used is local in libusb_helper.c. - -Move in the helper file, in a wrapper function, the only call that -requires the above value, and let stlink driver to use this -wrapper. - -This issue has not triggered any visible problem until a code -refactoring [1] in libusb has made OpenOCD crashing on Windows and -on MacOS. - -Change-Id: Id1818c8af7cf0d4d17dfa1d22aad079da01ef740 -Signed-off-by: Antonio Borneo -Fixes: https://sourceforge.net/p/openocd/tickets/308/ -Fixes: https://github.com/libusb/libusb/issues/928/ -Fixes: 42d8fa899c6a ("stlink_usb: Submit multiple USB URBs at once to improve performance") -Link: [1] https://github.com/libusb/libusb/commit/32a22069428c -Reported-by: Andrzej Sierżęga -Co-developed-by: Andrzej Sierżęga -Co-developed-by: Xiaofan Chen -Reviewed-on: http://openocd.zylin.com/6331 -Tested-by: jenkins -Reviewed-by: Marc Schink -Reviewed-by: Xiaofan -Reviewed-by: Andrzej Sierżęga -Reviewed-by: Oleksij Rempel -Reviewed-by: Andreas Fritiofson -Signed-off-by: Yannick Brosseau ---- - src/jtag/drivers/libusb_helper.c | 5 +++++ - src/jtag/drivers/libusb_helper.h | 1 + - src/jtag/drivers/stlink_usb.c | 7 +------ - 3 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/src/jtag/drivers/libusb_helper.c b/src/jtag/drivers/libusb_helper.c -index f0122d534..18fe4bad4 100644 ---- a/src/jtag/drivers/libusb_helper.c -+++ b/src/jtag/drivers/libusb_helper.c -@@ -363,3 +363,8 @@ int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid) - - return ERROR_FAIL; - } -+ -+int jtag_libusb_handle_events_completed(int *completed) -+{ -+ return libusb_handle_events_completed(jtag_libusb_context, completed); -+} -diff --git a/src/jtag/drivers/libusb_helper.h b/src/jtag/drivers/libusb_helper.h -index fa7d06e28..3e77865d6 100644 ---- a/src/jtag/drivers/libusb_helper.h -+++ b/src/jtag/drivers/libusb_helper.h -@@ -60,5 +60,6 @@ int jtag_libusb_choose_interface(struct libusb_device_handle *devh, - unsigned int *usb_write_ep, - int bclass, int subclass, int protocol, int trans_type); - int jtag_libusb_get_pid(struct libusb_device *dev, uint16_t *pid); -+int jtag_libusb_handle_events_completed(int *completed); - - #endif /* OPENOCD_JTAG_DRIVERS_LIBUSB_HELPER_H */ -diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c -index c68bbb3ca..7b1932b9f 100644 ---- a/src/jtag/drivers/stlink_usb.c -+++ b/src/jtag/drivers/stlink_usb.c -@@ -497,13 +497,8 @@ static void sync_transfer_wait_for_completion(struct libusb_transfer *transfer) - { - int r, *completed = transfer->user_data; - -- /* Assuming a single libusb context exists. There no existing interface into this -- * module to pass a libusb context. -- */ -- struct libusb_context *ctx = NULL; -- - while (!*completed) { -- r = libusb_handle_events_completed(ctx, completed); -+ r = jtag_libusb_handle_events_completed(completed); - if (r < 0) { - if (r == LIBUSB_ERROR_INTERRUPTED) - continue; --- -2.35.1 - diff --git a/package/openocd/openocd.hash b/package/openocd/openocd.hash index 91eb56d930e..938711d86c0 100644 --- a/package/openocd/openocd.hash +++ b/package/openocd/openocd.hash @@ -1,3 +1,15 @@ -# From http://sourceforge.net/projects/openocd/files/openocd/0.11.0/ -sha256 43a3ce734aff1d3706ad87793a9f3a5371cb0e357f0ffd0a151656b06b3d1e7d openocd-0.11.0.tar.bz2 -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +# From http://sourceforge.net/projects/openocd/files/openocd/0.12.0/ +sha256 af254788be98861f2bd9103fe6e60a774ec96a8c374744eef9197f6043075afa openocd-0.12.0.tar.bz2 +sha256 1b8f7e37ee5afbbf95c2a4d62b12b25232e29538692663b434318503a9a88419 COPYING +sha256 034da732b4f3079b8783fff756613c1cff89dec5ac80c5cdd90532b7539922a1 LICENSES/exceptions/eCos-exception-2.0 +sha256 0a37155eb8bc0cb94477a0cae4f030e39da9317374e8a9f597e9229fd09aff78 LICENSES/license-rules.txt +sha256 f3ba76203a7b6993db31f987559cc4c621ae1ff78119ced2a669756c2c5fd3b1 LICENSES/preferred/BSD-1-Clause +sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd LICENSES/preferred/BSD-2-Clause +sha256 1483f15e9fddc73b5df0acab1c42d21ecd0bf6ade8a79179fb90c09f13d03dcd LICENSES/preferred/BSD-2-Clause-Views +sha256 7a83b1aeb460458db9a4bd521d7f237c45b1650f6e60ea5ffc71e49472454de3 LICENSES/preferred/BSD-3-Clause +sha256 5cf024f6e3611d5c6fb98748d1a0ad99b8cf9ffe46f2d60fa10c299cd29e0a75 LICENSES/preferred/BSD-Source-Code +sha256 f35396f4095619f986736ca5e2976b313d381463a35c921c9ae677cc7eb83e28 LICENSES/preferred/GFDL-1.2 +sha256 76515be2d7334a1a038f775238c9a4c2b37e19514248e5eea0434cdfee526f9d LICENSES/preferred/gfdl-1.2.texi.readme +sha256 7d35bc44da7bb763022e3c2c32cfc0125dd222060bc50992420599d8e65f6c0a LICENSES/preferred/GPL-2.0 +sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f LICENSES/preferred/MIT +sha256 9a41b56594cd89743ca72f188318c9871661847074dd16497ae0c695fe3ab9c9 LICENSES/stand-alone/GPL-3.0 diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 37a06ca848b..b24d1eacf0b 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -4,12 +4,36 @@ # ################################################################################ -OPENOCD_VERSION = 0.11.0 +OPENOCD_VERSION = 0.12.0 OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2 OPENOCD_SITE = http://sourceforge.net/projects/openocd/files/openocd/$(OPENOCD_VERSION) -OPENOCD_LICENSE = GPL-2.0+ -OPENOCD_LICENSE_FILES = COPYING -# 0002-configure-enable-build-on-uclinux.patch patches configure.ac +OPENOCD_LICENSE = \ + BSD-1-clause, \ + BSD-2-clause, \ + BSD-2-Clause-Views, \ + BSD-3-clause, \ + BSD-Source-Code, \ + GFDL-1.2-no-invariants-or-later (docs), \ + GPL-2.0+ with eCos-exception-2.0 (code), \ + GPL-3.0+ (stand-alone code), \ + MIT + +OPENOCD_LICENSE_FILES = \ + COPYING \ + LICENSES/license-rules.txt \ + LICENSES/exceptions/eCos-exception-2.0 \ + LICENSES/preferred/BSD-1-Clause \ + LICENSES/preferred/BSD-2-Clause \ + LICENSES/preferred/BSD-2-Clause-Views \ + LICENSES/preferred/BSD-3-Clause \ + LICENSES/preferred/BSD-Source-Code \ + LICENSES/preferred/GFDL-1.2 \ + LICENSES/preferred/gfdl-1.2.texi.readme \ + LICENSES/preferred/GPL-2.0 \ + LICENSES/preferred/MIT \ + LICENSES/stand-alone/GPL-3.0 + +# 0001-configure-enable-build-on-uclinux.patch patches configure.ac OPENOCD_AUTORECONF = YES OPENOCD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" @@ -32,8 +56,14 @@ OPENOCD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBUSB),libusb) \ $(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \ $(if $(BR2_PACKAGE_LIBHID),libhid) \ - $(if $(BR2_PACKAGE_HIDAPI),hidapi) \ - $(if $(BR2_PACKAGE_LIBGPIOD),libgpiod) + $(if $(BR2_PACKAGE_HIDAPI),hidapi) + +ifeq ($(BR2_PACKAGE_LIBGPIOD),y) +OPENOCD_DEPENDENCIES += libgpiod +OPENOCD_CONF_OPTS += --enable-linuxgpiod +else +OPENOCD_CONF_OPTS += --disable-linuxgpiod +endif # Adapters OPENOCD_CONF_OPTS += \ diff --git a/package/openpowerlink/Config.in b/package/openpowerlink/Config.in index 1a3dd62acdf..ef59a04bafe 100644 --- a/package/openpowerlink/Config.in +++ b/package/openpowerlink/Config.in @@ -38,6 +38,8 @@ endchoice choice prompt "stack type" + default BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB if BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE # legacy + default BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB if BR2_PACKAGE_OPENPOWERLINK_LIBPCAP # legacy config BR2_PACKAGE_OPENPOWERLINK_STACK_MONOLITHIC_USER_STACK_LIB bool "linked into application" diff --git a/package/openpowerlink/openpowerlink.hash b/package/openpowerlink/openpowerlink.hash index 2d8683f09c4..b6ae8edcd8e 100644 --- a/package/openpowerlink/openpowerlink.hash +++ b/package/openpowerlink/openpowerlink.hash @@ -1,6 +1,6 @@ -# From https://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.1/ -md5 04524d1b1f9946176dce0ccb0eecf537 openPOWERLINK_V2.7.1.tar.gz -sha1 4ee9c6e26bbc729fdbbb272155b093ffa0d9cefd openPOWERLINK_V2.7.1.tar.gz +# From https://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.2/ +md5 80a64b0a2c2dec1e7aff22a06000b3d6 openPOWERLINK_V2.7.2.tar.gz +sha1 09dcb5bd7cb9d59cb9e60230ae09c558996be25b openPOWERLINK_V2.7.2.tar.gz # sha256 locally computed -sha256 d0d65f4fb8f2ad209cf9575714f88f33168a1cf71e8f1801e1e1ac4df6a37ffd openPOWERLINK_V2.7.1.tar.gz +sha256 2cc660e0f8a939bd65c9f46176d18882dbe1017cbb2567b414a8a7c9af41a356 openPOWERLINK_V2.7.2.tar.gz sha256 348e31e9e5094104463d58d33abd31049fdf209afbc12ea7abb7fd4b4a147429 license.md diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk index 46dc3d10cde..c8dbb66d052 100644 --- a/package/openpowerlink/openpowerlink.mk +++ b/package/openpowerlink/openpowerlink.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENPOWERLINK_VERSION = 2.7.1 +OPENPOWERLINK_VERSION = 2.7.2 OPENPOWERLINK_SITE = https://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/V$(OPENPOWERLINK_VERSION) OPENPOWERLINK_SOURCE = openPOWERLINK_V$(OPENPOWERLINK_VERSION).tar.gz OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0 diff --git a/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch b/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch index 457fbacb5bd..2f0a81bbd36 100644 --- a/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch +++ b/package/openrc/0002-sh-init.sh.Linux.in-change-run-lock-from-root-uucp-t.patch @@ -22,7 +22,7 @@ diff --git a/sh/init.sh.Linux.in b/sh/init.sh.Linux.in index 222bbd3b..7f1a88db 100644 --- a/sh/init.sh.Linux.in +++ b/sh/init.sh.Linux.in -@@ -85,7 +85,7 @@ fi +@@ -83,7 +83,7 @@ fi fi checkpath -d "$RC_SVCDIR" diff --git a/package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch b/package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch index 733506ada9b..42f77ffdea6 100644 --- a/package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch +++ b/package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch @@ -8,27 +8,28 @@ Also tty[1-6] may not exist (e.g. embedded devices with serial consoles only). Signed-off-by: Carlos Santos +[Adam: update for 0.50] +Signed-off-by: Adam Duskett --- - runlevels/Makefile | 6 ------ + tools/meson_runlevels.sh | 6 ------ 1 file changed, 6 deletions(-) -diff --git a/runlevels/Makefile b/runlevels/Makefile -index 73843d8b..dbfb59ca 100644 ---- a/runlevels/Makefile -+++ b/runlevels/Makefile -@@ -90,12 +90,6 @@ install: - fi; \ - ln -snf ${INITDIR}/"$$x" ${SHUTDOWNDIR}/"$$x" || exit $$?; done \ - fi -- if test "${MKSYSVINIT}" = yes && test "${OS}" = Linux; then \ -- for x in tty1 tty2 tty3 tty4 tty5 tty6; do \ -- ln -snf ${INITDIR}/agetty ${DESTDIR}/${INITDIR}/"agetty.$$x" || exit $$?; \ -- ln -snf ${INITDIR}/agetty.$$x ${DEFAULTDIR}/"agetty.$$x" || exit $$?; \ -- done; \ -- fi - - check test:: +diff --git a/tools/meson_runlevels.sh b/tools/meson_runlevels.sh +index 1473d4e..eee256b 100755 +--- a/tools/meson_runlevels.sh ++++ b/tools/meson_runlevels.sh +@@ -91,11 +91,5 @@ if ! test -d "${DESTDIR}${shutdowndir}"; then + ln -snf "${init_d_dir}/$x" "${DESTDIR}${shutdowndir}/$x" + done + fi +-if test "${sysvinit}" = yes && test "${os}" = Linux; then \ +- for x in tty1 tty2 tty3 tty4 tty5 tty6; do +- ln -snf "${init_d_dir}/agetty" "${DESTDIR}/${init_d_dir}/agetty.$x" +- ln -snf "${init_d_dir}/agetty.$x" "${DESTDIR}/${defaultdir}/agetty.$x" +- done; +-fi + ln -snf "${rc_libexecdir}"/sh/functions.sh "${DESTDIR}/${init_d_dir}" -- 2.18.2 diff --git a/package/openrc/0006-Also-create-run-lock-subsys-directory.patch b/package/openrc/0006-Also-create-run-lock-subsys-directory.patch index cf592a88b06..ad78a4b8f7e 100644 --- a/package/openrc/0006-Also-create-run-lock-subsys-directory.patch +++ b/package/openrc/0006-Also-create-run-lock-subsys-directory.patch @@ -15,7 +15,7 @@ diff --git a/sh/init.sh.Linux.in b/sh/init.sh.Linux.in index e8afc1fb..662ab223 100644 --- a/sh/init.sh.Linux.in +++ b/sh/init.sh.Linux.in -@@ -82,7 +82,7 @@ elif ! mountinfo -q /run; then +@@ -83,7 +83,7 @@ elif ! mountinfo -q /run; then fi checkpath -d "$RC_SVCDIR" diff --git a/package/openrc/0007-allow-setting-rc_libexecdir-path.patch b/package/openrc/0007-allow-setting-rc_libexecdir-path.patch new file mode 100644 index 00000000000..a11c7892754 --- /dev/null +++ b/package/openrc/0007-allow-setting-rc_libexecdir-path.patch @@ -0,0 +1,44 @@ +From 89c42e7e0d8d5913789a76b007ed6a0c43078c63 Mon Sep 17 00:00:00 2001 +From: artoo +Date: Wed, 8 Sep 2021 22:41:58 +0200 +Subject: [PATCH] allow setting rc_libexecdir path + + - Allow to change the rc dir name of the rc_libexecdir path + - Introduce a librcdir option for override with value 'rc' + +Upstream: https://github.com/OpenRC/openrc/pull/443 + +Signed-off-by: artoo +[Adam: update for 0.50] +Signed-off-by: Adam Duskett +--- + meson.build | 2 +- + meson_options.txt | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 5b3f8fa..40d4be1 100644 +--- a/meson.build ++++ b/meson.build +@@ -102,7 +102,7 @@ if os == 'Linux' and libexecdir == 'libexec' + libexecdir = 'lib' + endif + libexecdir = rootprefix / libexecdir +-rc_libexecdir = libexecdir / 'rc' ++rc_libexecdir = libexecdir / get_option('librcdir') + rc_bindir = rc_libexecdir / 'bin' + rc_sbindir = rc_libexecdir / 'sbin' + rc_shdir = rc_libexecdir / 'sh' +diff --git a/meson_options.txt b/meson_options.txt +index 2c74152..d2f67e4 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -37,3 +37,5 @@ option('termcap', type : 'combo', + description : 'the termcap library to use') + option('zsh-completions', type : 'boolean', + description : 'install zsh completions') ++option('librcdir', type : 'string', value : 'rc', ++ description : 'default location of rc libexec dir') +-- +2.41.0 + diff --git a/package/openrc/Config.in b/package/openrc/Config.in index 4691be63a28..adc61d2546f 100644 --- a/package/openrc/Config.in +++ b/package/openrc/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_OPENRC bool "openrc" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_INIT_OPENRC select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod tools select BR2_PACKAGE_KMOD # runtime @@ -23,7 +24,7 @@ config BR2_PACKAGE_OPENRC https://github.com/OpenRC/openrc -comment "openrc needs a toolchain w/ dynamic library" +comment "openrc needs a glibc or musl toolchain w/ dynamic library" depends on BR2_USE_MMU depends on BR2_INIT_OPENRC - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS && BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/openrc/openrc.hash b/package/openrc/openrc.hash index 4fcfa9132f1..c1c16a8c45e 100644 --- a/package/openrc/openrc.hash +++ b/package/openrc/openrc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 968e81743a1de7a2348590b3b3286d6af5baf96da28fa1e6364e24f8203fc3b6 openrc-0.43.3.tar.gz -sha256 96862463f4e77e2508e4fc2c83773fd24807cb699368b63fd93a5e2b466dd624 LICENSE +sha256 0b911eee4e64ad5e6945c6fed572220d537dfd0108838fa6d6797a2d7ff9f052 openrc-0.52.1.tar.gz +sha256 6ac2bf77510808fbec7dc86cbfbca98dfc4c6b47dc99e4ca77b5370e097d8e70 LICENSE diff --git a/package/openrc/openrc.mk b/package/openrc/openrc.mk index 1d4e70f7124..f8e51f67206 100644 --- a/package/openrc/openrc.mk +++ b/package/openrc/openrc.mk @@ -4,47 +4,53 @@ # ################################################################################ -OPENRC_VERSION = 0.43.3 +OPENRC_VERSION = 0.52.1 OPENRC_SITE = $(call github,OpenRC,openrc,$(OPENRC_VERSION)) OPENRC_LICENSE = BSD-2-Clause OPENRC_LICENSE_FILES = LICENSE -OPENRC_CPE_ID_VENDOR = openrc_project +OPENRC_CPE_ID_VALID = YES OPENRC_DEPENDENCIES = ncurses -# set LIBNAME so openrc puts files in proper directories and sets proper -# paths in installed files. Since in buildroot /lib64 and /lib32 always -# points to /lib, it's safe to hardcode it to "lib" -OPENRC_MAKE_OPTS = \ - LIBNAME=lib \ - LIBEXECDIR=/usr/libexec/rc \ - MKPKGCONFIG=no \ - MKSYSVINIT=yes \ - BRANDING="Buildroot $(BR2_VERSION_FULL)" \ - CC=$(TARGET_CC) +OPENRC_CONF_OPTS = \ + -Dos=Linux \ + -Dlibrcdir=/usr/libexec/rc \ + -Dpkgconfig=false \ + -Dsysvinit=true \ + -Drootprefix=/ \ + -Dbranding="\"Buildroot $(BR2_VERSION_FULL)\"" -ifeq ($(BR2_SHARED_LIBS),y) -OPENRC_MAKE_OPTS += MKSTATICLIBS=no +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +OPENRC_CONF_OPTS += -Dbash-completions=true else -OPENRC_MAKE_OPTS += MKSTATICLIBS=yes +OPENRC_CONF_OPTS += -Dbash-completions=false endif ifeq ($(BR2_PACKAGE_LIBSELINUX),y) -OPENRC_MAKE_OPTS += MKSELINUX=yes +OPENRC_CONF_OPTS += -Dselinux=enabled OPENRC_DEPENDENCIES += libselinux else -OPENRC_MAKE_OPTS += MKSELINUX=no +OPENRC_CONF_OPTS += -Dselinux=disabled endif -define OPENRC_BUILD_CMDS - $(MAKE) $(OPENRC_MAKE_OPTS) -C $(@D) -endef +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +OPENRC_CONF_OPTS += -Dpam=true +OPENRC_DEPENDENCIES += linux-pam +else +OPENRC_CONF_OPTS += -Dpam=false +endif + +ifeq ($(BR2_ROOTFS_MERGED_USR),y) +OPENRC_CONF_OPTS += -Dsplit-usr=false +else +OPENRC_CONF_OPTS += -Dsplit-usr=true +endif -define OPENRC_INSTALL_TARGET_CMDS - $(MAKE) $(OPENRC_MAKE_OPTS) DESTDIR=$(TARGET_DIR) -C $(@D) install +define OPENRC_INSTALL_SYSV_RCS_SCRIPT $(INSTALL) -D -m 0755 $(OPENRC_PKGDIR)/sysv-rcs \ $(TARGET_DIR)/etc/init.d/sysv-rcs endef +OPENRC_POST_INSTALL_TARGET_HOOKS += OPENRC_INSTALL_SYSV_RCS_SCRIPT ifeq ($(BR2_PACKAGE_KBD),) # keymaps and save-keymaps require kbd_mode and dumpkeys, respectively, so @@ -90,4 +96,4 @@ endef OPENRC_TARGET_FINALIZE_HOOKS += OPENRC_SET_GETTY endif # BR2_TARGET_GENERIC_GETTY -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/package/openresolv/openresolv.hash b/package/openresolv/openresolv.hash index 7a5fb0e1407..c32b856de91 100644 --- a/package/openresolv/openresolv.hash +++ b/package/openresolv/openresolv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 96b573e26d145f208d3758c2cd6fbf824b01005fc4cb7cedbdae29b3a3c8cb02 openresolv-3.12.0.tar.gz +sha256 36b5bcbe257a940c884f0d74321a47407baabab9e265e38859851c8311f6f0b0 openresolv-3.13.2.tar.xz sha256 384740bf5e19e7628d20f4dcc22925062fdc6020e9a6f074e567d4d797be57a0 LICENSE diff --git a/package/openresolv/openresolv.mk b/package/openresolv/openresolv.mk index 3857ab833db..8a8b5787815 100644 --- a/package/openresolv/openresolv.mk +++ b/package/openresolv/openresolv.mk @@ -4,11 +4,12 @@ # ################################################################################ -OPENRESOLV_VERSION = 3.12.0 -OPENRESOLV_SITE = $(call github,rsmarples,openresolv,openresolv-$(OPENRESOLV_VERSION)) +OPENRESOLV_VERSION = 3.13.2 +OPENRESOLV_SITE = https://github.com/rsmarples/openresolv/releases/download/v$(OPENRESOLV_VERSION) +OPENRESOLV_SOURCE = openresolv-$(OPENRESOLV_VERSION).tar.xz OPENRESOLV_LICENSE = BSD-2-Clause OPENRESOLV_LICENSE_FILES = LICENSE -OPENRESOLV_CPE_ID_VENDOR = openresolv_project +OPENRESOLV_CPE_ID_VALID = YES define OPENRESOLV_CONFIGURE_CMDS cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure --sysconfdir=/etc diff --git a/package/opensc/0001-Fix-maybe-uninitialized-errors.patch b/package/opensc/0001-Fix-maybe-uninitialized-errors.patch deleted file mode 100644 index 671d92c150d..00000000000 --- a/package/opensc/0001-Fix-maybe-uninitialized-errors.patch +++ /dev/null @@ -1,82 +0,0 @@ -From bcb39d6f4d2dee6beb035cb2f3618174ec1cb2b0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jos=C3=A9=20Pekkarinen?= -Date: Fri, 10 Dec 2021 13:54:26 +0200 -Subject: [PATCH] Fix maybe uninitialized errors -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: José Pekkarinen -Upstream: https://github.com/OpenSC/OpenSC/commit/05ec8c7fe785a2b9aeaac1164adb349df42b7f80 ---- - src/libopensc/pkcs15-coolkey.c | 12 ++++++------ - src/pkcs15init/pkcs15-asepcos.c | 2 +- - src/tools/opensc-explorer.c | 2 +- - 3 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/libopensc/pkcs15-coolkey.c b/src/libopensc/pkcs15-coolkey.c -index 586475dd..15684cef 100644 ---- a/src/libopensc/pkcs15-coolkey.c -+++ b/src/libopensc/pkcs15-coolkey.c -@@ -147,9 +147,9 @@ coolkey_find_matching_cert(sc_card_t *card, sc_cardctl_coolkey_object_t *in_obj, - static int - coolkey_get_attribute_ulong(sc_card_t *card, sc_cardctl_coolkey_object_t *obj, CK_ATTRIBUTE_TYPE type, CK_ULONG *value) - { -- const u8 *val; -- size_t val_len; -- u8 data_type; -+ const u8 *val = NULL; -+ size_t val_len = 0; -+ u8 data_type = 0; - int r; - - r = coolkey_get_attribute(card, obj, type, &val, &val_len, &data_type); -@@ -168,8 +168,8 @@ static int - coolkey_get_attribute_boolean(sc_card_t *card, sc_cardctl_coolkey_object_t *obj, CK_ATTRIBUTE_TYPE attr_type) - { - int r; -- const u8 *val; -- size_t val_len; -+ const u8 *val = NULL; -+ size_t val_len = 0; - - r = coolkey_get_attribute(card, obj, attr_type, &val, &val_len, NULL); - if (r < 0) { -@@ -186,7 +186,7 @@ static int - coolkey_get_attribute_bytes(sc_card_t *card, sc_cardctl_coolkey_object_t *obj, CK_ATTRIBUTE_TYPE type, u8 *data, size_t *data_len, size_t max_data_len) - { - const u8 *val; -- size_t val_len; -+ size_t val_len = 0; - int r; - - r = coolkey_get_attribute(card, obj, type, &val, &val_len, NULL); -diff --git a/src/pkcs15init/pkcs15-asepcos.c b/src/pkcs15init/pkcs15-asepcos.c -index d7122012..bc0efb5c 100644 ---- a/src/pkcs15init/pkcs15-asepcos.c -+++ b/src/pkcs15init/pkcs15-asepcos.c -@@ -221,7 +221,7 @@ static int asepcos_do_store_pin(sc_profile_t *profile, sc_card_t *card, - { - sc_file_t *nfile = NULL; - u8 buf[64], sbuf[64], *p = buf, *q = sbuf; -- int r, akn; -+ int r, akn = 0; - - if (auth_info->auth_type != SC_PKCS15_PIN_AUTH_TYPE_PIN) - return SC_ERROR_OBJECT_NOT_VALID; -diff --git a/src/tools/opensc-explorer.c b/src/tools/opensc-explorer.c -index 9ec4daa1..04efdf8f 100644 ---- a/src/tools/opensc-explorer.c -+++ b/src/tools/opensc-explorer.c -@@ -2472,7 +2472,7 @@ int main(int argc, char *argv[]) - char *line; - int cargc; - char *cargv[260]; -- int multiple; -+ int multiple = 0; - struct command *cmd; - char prompt[3*SC_MAX_PATH_STRING_SIZE]; - --- -2.25.1 - diff --git a/package/opensc/0002-added-compatibility-with-LibreSSL.patch b/package/opensc/0002-added-compatibility-with-LibreSSL.patch deleted file mode 100644 index 86a17448f85..00000000000 --- a/package/opensc/0002-added-compatibility-with-LibreSSL.patch +++ /dev/null @@ -1,173 +0,0 @@ -From 302ad70471efa279b033d4d5511d979ec5d965fe Mon Sep 17 00:00:00 2001 -From: Frank Morgner -Date: Thu, 20 Jan 2022 17:01:46 +0100 -Subject: [PATCH] added compatibility with LibreSSL - -[Retrieved (and backported) from: -https://github.com/OpenSC/OpenSC/commit/302ad70471efa279b033d4d5511d979ec5d965fe] -Signed-off-by: Fabrice Fontaine ---- - src/libopensc/sc-ossl-compat.h | 7 +++++++ - src/tests/p11test/p11test_case_common.c | 14 ++++++++++++++ - src/tests/p11test/p11test_case_ec_derive.c | 4 ++++ - src/tests/p11test/p11test_case_readonly.c | 9 +++++++-- - 4 files changed, 32 insertions(+), 2 deletions(-) - -diff --git a/src/libopensc/sc-ossl-compat.h b/src/libopensc/sc-ossl-compat.h -index f885f85bb9..ec694ad48d 100644 ---- a/src/libopensc/sc-ossl-compat.h -+++ b/src/libopensc/sc-ossl-compat.h -@@ -105,6 +105,13 @@ extern "C" { - /* workaround unused value warning for a macro that does nothing */ - #if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L - #define OPENSSL_malloc_init() -+#define FIPS_mode() (0) -+#define EVP_sha3_224() (NULL) -+#define EVP_sha3_256() (NULL) -+#define EVP_sha3_384() (NULL) -+#define EVP_sha3_512() (NULL) -+#define EVP_PKEY_new_raw_public_key(t, e, p, l) (NULL) -+#define EVP_PKEY_get_raw_public_key(p, pu, l) (0) - #endif - - #if OPENSSL_VERSION_NUMBER >= 0x30000000L -diff --git a/src/tests/p11test/p11test_case_common.c b/src/tests/p11test/p11test_case_common.c -index e432f8f4ed..f091dbcc10 100644 ---- a/src/tests/p11test/p11test_case_common.c -+++ b/src/tests/p11test/p11test_case_common.c -@@ -164,6 +164,7 @@ add_supported_mechs(test_cert_t *o) - o->mechs[0].result_flags = 0; - o->mechs[0].usage_flags = CKF_SIGN | CKF_VERIFY; - } -+#ifdef EVP_PKEY_ED25519 - } else if (o->type == EVP_PKEY_ED25519) { - if (token.num_ed_mechs > 0 ) { - o->num_mechs = token.num_ed_mechs; -@@ -184,6 +185,8 @@ add_supported_mechs(test_cert_t *o) - o->mechs[0].result_flags = 0; - o->mechs[0].usage_flags = CKF_SIGN | CKF_VERIFY; - } -+#endif -+#ifdef EVP_PKEY_X25519 - } else if (o->type == EVP_PKEY_X25519) { - if (token.num_montgomery_mechs > 0 ) { - o->num_mechs = token.num_montgomery_mechs; -@@ -204,6 +207,7 @@ add_supported_mechs(test_cert_t *o) - o->mechs[0].result_flags = 0; - o->mechs[0].usage_flags = CKF_DERIVE; - } -+#endif - } - } - -@@ -601,6 +605,7 @@ int callback_public_keys(test_certs_t *objects, - a = template[6].pValue; - if (d2i_ASN1_PRINTABLESTRING(&curve, &a, (long)template[6].ulValueLen) != NULL) { - switch (o->key_type) { -+#ifdef EVP_PKEY_ED25519 - case CKK_EC_EDWARDS: - if (strcmp((char *)curve->data, "edwards25519")) { - debug_print(" [WARN %s ] Unknown curve name. " -@@ -608,6 +613,8 @@ int callback_public_keys(test_certs_t *objects, - } - evp_type = EVP_PKEY_ED25519; - break; -+#endif -+#ifdef EVP_PKEY_X25519 - case CKK_EC_MONTGOMERY: - if (strcmp((char *)curve->data, "curve25519")) { - debug_print(" [WARN %s ] Unknown curve name. " -@@ -615,16 +622,20 @@ int callback_public_keys(test_certs_t *objects, - } - evp_type = EVP_PKEY_X25519; - break; -+#endif - default: - debug_print(" [WARN %s ] Unknown key type %lu", o->id_str, o->key_type); - return -1; - } - ASN1_PRINTABLESTRING_free(curve); - } else if (d2i_ASN1_OBJECT(&obj, &a, (long)template[6].ulValueLen) != NULL) { -+#if defined(EVP_PKEY_ED25519) || defined (EVP_PKEY_X25519) - int nid = OBJ_obj2nid(obj); -+#endif - ASN1_OBJECT_free(obj); - - switch (o->key_type) { -+#ifdef EVP_PKEY_ED25519 - case CKK_EC_EDWARDS: - if (nid != NID_ED25519) { - debug_print(" [WARN %s ] Unknown OID. " -@@ -632,6 +643,8 @@ int callback_public_keys(test_certs_t *objects, - } - evp_type = EVP_PKEY_ED25519; - break; -+#endif -+#ifdef EVP_PKEY_X25519 - case CKK_EC_MONTGOMERY: - if (nid != NID_X25519) { - debug_print(" [WARN %s ] Unknown OID. " -@@ -639,6 +652,7 @@ int callback_public_keys(test_certs_t *objects, - } - evp_type = EVP_PKEY_X25519; - break; -+#endif - default: - debug_print(" [WARN %s ] Unknown key type %lu", o->id_str, o->key_type); - return -1; -diff --git a/src/tests/p11test/p11test_case_ec_derive.c b/src/tests/p11test/p11test_case_ec_derive.c -index 9f13b3e9d6..f7a5f92f9e 100644 ---- a/src/tests/p11test/p11test_case_ec_derive.c -+++ b/src/tests/p11test/p11test_case_ec_derive.c -@@ -89,6 +89,7 @@ pkcs11_derive(test_cert_t *o, token_info_t * info, - - int test_derive_x25519(test_cert_t *o, token_info_t *info, test_mech_t *mech) - { -+#ifdef EVP_PKEY_X25519 - unsigned char *secret = NULL, *pkcs11_secret = NULL; - EVP_PKEY_CTX *pctx = NULL; - EVP_PKEY *pkey = NULL; /* This is peer key */ -@@ -210,6 +211,9 @@ int test_derive_x25519(test_cert_t *o, token_info_t *info, test_mech_t *mech) - free(secret); - free(pkcs11_secret); - return 1; -+#else -+ return 0; -+#endif - } - - int test_derive(test_cert_t *o, token_info_t *info, test_mech_t *mech) -diff --git a/src/tests/p11test/p11test_case_readonly.c b/src/tests/p11test/p11test_case_readonly.c -index 624bd6a54d..2aefdc7a70 100644 ---- a/src/tests/p11test/p11test_case_readonly.c -+++ b/src/tests/p11test/p11test_case_readonly.c -@@ -522,6 +522,7 @@ int verify_message_openssl(test_cert_t *o, token_info_t *info, CK_BYTE *message, - rv, ERR_error_string(ERR_peek_last_error(), NULL)); - return -1; - } -+#ifdef EVP_PKEY_ED25519 - } else if (o->type == EVP_PKEY_ED25519) { - /* need to be created even though we do not do any MD */ - EVP_MD_CTX *ctx = EVP_MD_CTX_create(); -@@ -547,7 +548,7 @@ int verify_message_openssl(test_cert_t *o, token_info_t *info, CK_BYTE *message, - EVP_MD_CTX_free(ctx); - return -1; - } -- -+#endif - } else { - fprintf(stderr, " [ KEY %s ] Unknown type. Not verifying\n", o->id_str); - } -@@ -641,7 +642,11 @@ int sign_verify_test(test_cert_t *o, token_info_t *info, test_mech_t *mech, - return 0; - } - -- if (o->type != EVP_PK_EC && o->type != EVP_PK_RSA && o->type != EVP_PKEY_ED25519) { -+ if (o->type != EVP_PK_EC && o->type != EVP_PK_RSA -+#ifdef EVP_PKEY_ED25519 -+ && o->type != EVP_PKEY_ED25519 -+#endif -+ ) { - debug_print(" [SKIP %s ] Skip non-RSA and non-EC key", o->id_str); - return 0; - } diff --git a/package/opensc/0003-Fix-build-with-libressl-3.5.0.patch b/package/opensc/0003-Fix-build-with-libressl-3.5.0.patch deleted file mode 100644 index 1d262362d66..00000000000 --- a/package/opensc/0003-Fix-build-with-libressl-3.5.0.patch +++ /dev/null @@ -1,47 +0,0 @@ -From d13059d1ec2bbb8fe7068db0d66d521daa4b71ce Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 13 Aug 2022 14:27:22 +0200 -Subject: [PATCH] Fix build with libressl >= 3.5.0 - -libressl added back FIPS_mode since version 3.5.0 and -https://github.com/libressl-portable/openbsd/commit/a97eabc90d7647e374c1c6da686aeec63c49ff14 - -libressl provides X509_get_extension_flags since version 3.5.0 and -https://github.com/libressl-portable/openbsd/commit/3180723224c1b2c7856a110b8213e4966995d7e0 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/OpenSC/OpenSC/pull/2593 & - https://github.com/OpenSC/OpenSC/pull/2595 (merged)] ---- - src/libopensc/sc-ossl-compat.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/libopensc/sc-ossl-compat.h b/src/libopensc/sc-ossl-compat.h -index f0d55279..2c42794c 100644 ---- a/src/libopensc/sc-ossl-compat.h -+++ b/src/libopensc/sc-ossl-compat.h -@@ -86,9 +86,11 @@ extern "C" { - #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - #define RSA_PKCS1_OpenSSL RSA_PKCS1_SSLeay - -+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L - #define X509_get_extension_flags(x) (x->ex_flags) - #define X509_get_key_usage(x) (x->ex_kusage) - #define X509_get_extended_key_usage(x) (x->ex_xkusage) -+#endif - #if !defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2050300fL - #define X509_up_ref(cert) CRYPTO_add(&cert->references, 1, CRYPTO_LOCK_X509) - #endif -@@ -104,7 +106,9 @@ extern "C" { - /* workaround unused value warning for a macro that does nothing */ - #if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L - #define OPENSSL_malloc_init() -+#if LIBRESSL_VERSION_NUMBER < 0x30500000L - #define FIPS_mode() (0) -+#endif - #define EVP_sha3_224() (NULL) - #define EVP_sha3_256() (NULL) - #define EVP_sha3_384() (NULL) --- -2.35.1 - diff --git a/package/opensc/Config.in b/package/opensc/Config.in index 8c6a95a41d0..13b085f3894 100644 --- a/package/opensc/Config.in +++ b/package/opensc/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_OPENSC depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pcsc-lite select BR2_PACKAGE_PCSC_LITE - select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL help diff --git a/package/opensc/opensc.hash b/package/opensc/opensc.hash index 517cfe503a3..232222062c7 100644 --- a/package/opensc/opensc.hash +++ b/package/opensc/opensc.hash @@ -1,5 +1,5 @@ # Computed locally from https://https://github.com/OpenSC/OpenSC/releases/ -sha256 8d4e5347195ebea332be585df61dcc470331c26969e4b0447c851fb0844c7186 opensc-0.22.0.tar.gz +sha256 24d03c69287291da32a30c4c38a304ad827f56cb85d83619e1f5403ab6480ef8 opensc-0.24.0.tar.gz # Computed locally sha256 376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14 COPYING diff --git a/package/opensc/opensc.mk b/package/opensc/opensc.mk index f9e2f5083e5..008de9d4c28 100644 --- a/package/opensc/opensc.mk +++ b/package/opensc/opensc.mk @@ -4,13 +4,27 @@ # ################################################################################ -OPENSC_VERSION = 0.22.0 +OPENSC_VERSION = 0.24.0 OPENSC_SITE = https://github.com/OpenSC/OpenSC/releases/download/$(OPENSC_VERSION) OPENSC_LICENSE = LGPL-2.1+ OPENSC_LICENSE_FILES = COPYING -OPENSC_CPE_ID_VENDOR = opensc_project -OPENSC_DEPENDENCIES = openssl pcsc-lite +OPENSC_CPE_ID_VALID = YES +OPENSC_DEPENDENCIES = pcsc-lite OPENSC_INSTALL_STAGING = YES -OPENSC_CONF_OPTS = --disable-cmocka --disable-strict +OPENSC_CONF_OPTS = --disable-cmocka --disable-strict --disable-tests + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OPENSC_DEPENDENCIES += openssl +OPENSC_CONF_OPTS += --enable-openssl +else +OPENSC_CONF_OPTS += --disable-openssl +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +OPENSC_DEPENDENCIES += zlib +OPENSC_CONF_OPTS += --enable-zlib +else +OPENSC_CONF_OPTS += --disable-zlib +endif $(eval $(autotools-package)) diff --git a/package/openssh/openssh.hash b/package/openssh/openssh.hash index eefb11ec15e..58297aa6949 100644 --- a/package/openssh/openssh.hash +++ b/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From https://www.openssh.com/txt/release-9.1 (base64 encoded) -sha256 19f85009c7e3e23787f0236fbb1578392ab4d4bf9f8ec5fe6bc1cd7e8bfdd288 openssh-9.1p1.tar.gz +# From https://www.openssh.com/txt/release-9.7 +sha256 490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd openssh-9.7p1.tar.gz # Locally calculated sha256 05c30446ba738934b3f1efa965b454c122ca26cc4b268e5ae6843f58ccd1b16d LICENCE diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk index b70e327620a..f0b499590a5 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENSSH_VERSION_MAJOR = 9.1 +OPENSSH_VERSION_MAJOR = 9.7 OPENSSH_VERSION_MINOR = p1 OPENSSH_VERSION = $(OPENSSH_VERSION_MAJOR)$(OPENSSH_VERSION_MINOR) OPENSSH_CPE_ID_VERSION = $(OPENSSH_VERSION_MAJOR) @@ -35,6 +35,10 @@ define OPENSSH_PERMISSIONS /var/empty d 755 root root - - - - - endef +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_110934),y) +OPENSSH_CONF_OPTS += --without-hardening +endif + ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) OPENSSH_CONF_OPTS += --without-pie endif diff --git a/package/openswan/openswan.mk b/package/openswan/openswan.mk index bb56e4516c7..4c6a779f0da 100644 --- a/package/openswan/openswan.mk +++ b/package/openswan/openswan.mk @@ -25,9 +25,6 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) OPENSWAN_DEPENDENCIES += openssl OPENSWAN_MAKE_OPTS += HAVE_OPENSSL=true -ifeq ($(BR2_PACKAGE_OCF_LINUX),y) -OPENSWAN_MAKE_OPTS += HAVE_OCF=true -endif endif define OPENSWAN_BUILD_CMDS diff --git a/package/openvmtools/Config.in b/package/openvmtools/Config.in index 67855f50e0b..b62e5d03614 100644 --- a/package/openvmtools/Config.in +++ b/package/openvmtools/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_OPENVMTOOLS depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_ENABLE_LOCALE + depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_UCLIBC select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBDNET @@ -30,15 +31,15 @@ if BR2_PACKAGE_OPENVMTOOLS config BR2_PACKAGE_OPENVMTOOLS_PAM bool "PAM support" - # linux-pam needs locale and wchar, but we already have this - # dependency on the main symbol, above. - depends on !BR2_STATIC_LIBS + # linux-pam needs locale, dynamic library and wchar, but we + # already have these dependencies on the main symbol, above. + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM help Support for PAM in openvmtools -comment "PAM support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "PAM support needs a toolchain w/ gcc >= 4.9" + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_OPENVMTOOLS_RESOLUTIONKMS bool "resolutionkms support" @@ -56,9 +57,9 @@ comment "resolutionkms needs udev, a toolchain w/ threads" endif -comment "openvmtools needs a glibc or musl toolchain w/ wchar, threads, locale" +comment "openvmtools needs a glibc or musl toolchain w/ wchar, threads, locale, dynamic library" depends on BR2_PACKAGE_OPENVMTOOLS_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_ENABLE_LOCALE || \ + !BR2_ENABLE_LOCALE || BR2_STATIC_LIBS || \ BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/openvpn/Config.in b/package/openvpn/Config.in index cd8b1db9966..5aa2386d362 100644 --- a/package/openvpn/Config.in +++ b/package/openvpn/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_OPENVPN bool "openvpn" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_LIBCAP_NG select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL help diff --git a/package/openvpn/S60openvpn b/package/openvpn/S60openvpn index f097cf11ecb..00156c80dba 100644 --- a/package/openvpn/S60openvpn +++ b/package/openvpn/S60openvpn @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/sh # # Original version by Robert Leslie # , edited by iwj and cs diff --git a/package/openvpn/openvpn.hash b/package/openvpn/openvpn.hash index 0959b7f8380..932483507e7 100644 --- a/package/openvpn/openvpn.hash +++ b/package/openvpn/openvpn.hash @@ -1,3 +1,3 @@ # Locally calculated after checking signature -sha256 08340a389905c84196b6cd750add1bc0fa2d46a1afebfd589c24120946c13e68 openvpn-2.5.7.tar.gz +sha256 1993bbb7b9edb430626eaa24573f881fd3df642f427fcb824b1aed1fca1bcc9b openvpn-2.6.10.tar.gz sha256 1fcb78d7e478bb8a9408010bdc91b36e213b1facfad093df3f7ce7e28af19043 COPYRIGHT.GPL diff --git a/package/openvpn/openvpn.mk b/package/openvpn/openvpn.mk index 5c602e0448f..abcb123eeab 100644 --- a/package/openvpn/openvpn.mk +++ b/package/openvpn/openvpn.mk @@ -4,9 +4,9 @@ # ################################################################################ -OPENVPN_VERSION = 2.5.7 +OPENVPN_VERSION = 2.6.10 OPENVPN_SITE = https://swupdate.openvpn.net/community/releases -OPENVPN_DEPENDENCIES = host-pkgconf +OPENVPN_DEPENDENCIES = host-pkgconf libcap-ng OPENVPN_LICENSE = GPL-2.0 OPENVPN_LICENSE_FILES = COPYRIGHT.GPL OPENVPN_CPE_ID_VENDOR = openvpn @@ -16,6 +16,13 @@ OPENVPN_CONF_OPTS = \ $(if $(BR2_STATIC_LIBS),--disable-plugins) OPENVPN_CONF_ENV = NETSTAT=/bin/netstat +ifeq ($(BR2_PACKAGE_LIBNL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16),yy) +OPENVPN_CONF_OPTS += --enable-dco +OPENVPN_DEPENDENCIES += libnl +else +OPENVPN_CONF_OPTS += --disable-dco +endif + ifeq ($(BR2_PACKAGE_OPENVPN_SMALL),y) OPENVPN_CONF_OPTS += \ --enable-small \ diff --git a/package/opkg-utils/opkg-utils.hash b/package/opkg-utils/opkg-utils.hash index 29671f9609c..7aabe4d1a18 100644 --- a/package/opkg-utils/opkg-utils.hash +++ b/package/opkg-utils/opkg-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e0fcaab51bff2149bd6560fb4238319d502dd99b581f66763d702e75c224736d opkg-utils-0.4.5-br1.tar.gz +sha256 ad4fb6d01f2f18e986c556cca1ade584b109c277794af15977c354d2ecef9b52 opkg-utils-0.6.2-br1.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/opkg-utils/opkg-utils.mk b/package/opkg-utils/opkg-utils.mk index ad267c5c943..b077e0dcce0 100644 --- a/package/opkg-utils/opkg-utils.mk +++ b/package/opkg-utils/opkg-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPKG_UTILS_VERSION = 0.4.5 +OPKG_UTILS_VERSION = 0.6.2 OPKG_UTILS_SITE = https://git.yoctoproject.org/git/opkg-utils OPKG_UTILS_SITE_METHOD = git OPKG_UTILS_LICENSE = GPL-2.0+ @@ -16,7 +16,7 @@ HOST_OPKG_UTILS_DEPENDENCIES = \ host-xz # Nothing to build; only scripts to install. -define OPKG_UTILS_INSTALL_CMDS +define OPKG_UTILS_INSTALL_TARGET_CMDS $(MAKE) -C $(@D) PREFIX=$(TARGET_DIR) install-utils endef diff --git a/package/opkg/opkg.hash b/package/opkg/opkg.hash index b0c0ba65740..c6ecefba21e 100644 --- a/package/opkg/opkg.hash +++ b/package/opkg/opkg.hash @@ -1,4 +1,4 @@ # From http://downloads.yoctoproject.org/releases/opkg/SHA256SUMS -sha256 a1214a75fa34fb9228db8da47308e0e711b1c93fd8938cf164c10fd28eb50f1e opkg-0.4.5.tar.gz +sha256 ac73a90a2549cd04948e563d915912c78e1b8ba0f43af75c5a53fcca474adbd5 opkg-0.6.2.tar.gz # Locally calculated sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/opkg/opkg.mk b/package/opkg/opkg.mk index 501edcf8af4..a550543f3ea 100644 --- a/package/opkg/opkg.mk +++ b/package/opkg/opkg.mk @@ -4,18 +4,13 @@ # ################################################################################ -OPKG_VERSION = 0.4.5 +OPKG_VERSION = 0.6.2 OPKG_SITE = https://downloads.yoctoproject.org/releases/opkg OPKG_DEPENDENCIES = host-pkgconf libarchive OPKG_LICENSE = GPL-2.0+ OPKG_LICENSE_FILES = COPYING OPKG_INSTALL_STAGING = YES -OPKG_CONF_OPTS = --disable-curl - -# Ensure directory for lockfile exists -define OPKG_CREATE_LOCKDIR - mkdir -p $(TARGET_DIR)/usr/lib/opkg -endef +OPKG_CONF_OPTS = --enable-sha256 ifeq ($(BR2_PACKAGE_OPKG_GPG_SIGN),y) OPKG_CONF_OPTS += --enable-gpg @@ -27,6 +22,50 @@ else OPKG_CONF_OPTS += --disable-gpg endif +ifeq ($(BR2_PACKAGE_LIBCURL),y) +OPKG_DEPENDENCIES += libcurl +OPKG_CONF_OPTS += --enable-curl +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OPKG_CONF_OPTS += --enable-ssl-curl +else +OPKG_CONF_OPTS += --disable-ssl-curl +endif +else +OPKG_CONF_OPTS += --disable-curl --disable-ssl-curl +endif + +ifeq ($(BR2_PACKAGE_BZIP2),y) +OPKG_DEPENDENCIES += bzip2 +OPKG_CONF_OPTS += --enable-bzip2 +else +OPKG_CONF_OPTS += --disable-bzip2 +endif + +ifeq ($(BR2_PACKAGE_LZ4),y) +OPKG_DEPENDENCIES += lz4 +OPKG_CONF_OPTS += --enable-lz4 +else +OPKG_CONF_OPTS += --disable-lz4 +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +OPKG_DEPENDENCIES += xz +OPKG_CONF_OPTS += --enable-xz +else +OPKG_CONF_OPTS += --disable-xz +endif + +ifeq ($(BR2_PACKAGE_ZSTD),y) +OPKG_DEPENDENCIES += zstd +OPKG_CONF_OPTS += --enable-zstd +else +OPKG_CONF_OPTS += --disable-zstd +endif + +# Ensure directory for lockfile exists +define OPKG_CREATE_LOCKDIR + mkdir -p $(TARGET_DIR)/usr/lib/opkg +endef OPKG_POST_INSTALL_TARGET_HOOKS += OPKG_CREATE_LOCKDIR $(eval $(autotools-package)) diff --git a/package/oprofile/0002-fix-static-build-with-binutils-2.40.patch b/package/oprofile/0002-fix-static-build-with-binutils-2.40.patch new file mode 100644 index 00000000000..3134363abcc --- /dev/null +++ b/package/oprofile/0002-fix-static-build-with-binutils-2.40.patch @@ -0,0 +1,62 @@ +From 1e4cd78bca2bd6e0d17b6cb9caf1b172d7bac564 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 May 2024 08:41:49 +0200 +Subject: [PATCH] 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' + +[...] + +configure: error: bfd library not found + +Fixes: + - http://autobuild.buildroot.org/results/a9f3e09e6543b3773440c011e93bd41e357691e4 + +Signed-off-by: Fabrice Fontaine +Upstream: https://sourceforge.net/p/oprofile/bugs/295 +--- + configure.ac | 2 +- + m4/binutils.m4 | 7 +++++-- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dc447f89..72ef0a21 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -334,7 +334,7 @@ AX_CHECK_DOCBOOK + dnl finally restore the original libs setting + LIBS="$ORIG_SAVE_LIBS" + LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB" +-BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $Z_LIB" ++BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $SFRAME_LIB $Z_LIB" + POPT_LIBS="-lpopt" + AC_SUBST(LIBERTY_LIBS) + AC_SUBST(BFD_LIBS) +diff --git a/m4/binutils.m4 b/m4/binutils.m4 +index c50e2f3c..e1ccd8e7 100644 +--- a/m4/binutils.m4 ++++ b/m4/binutils.m4 +@@ -10,11 +10,14 @@ AC_CHECK_FUNCS(xmemdup) + AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl"; DL_LIB="-ldl", DL_LIB="") + AC_CHECK_LIB(intl, main, LIBS="$LIBS -lintl"; INTL_LIB="-lintl", INTL_LIB="") + +-AC_CHECK_LIB(bfd, bfd_openr, LIBS="-lbfd $LIBS"; Z_LIB="", ++AC_CHECK_LIB(bfd, bfd_openr, LIBS="-lbfd $LIBS"; SFRAME_LIB=""; Z_LIB="", + [AC_CHECK_LIB(z, compress, + dnl Use a different bfd function here so as not to use cached result from above + [AC_CHECK_LIB(bfd, bfd_fdopenr, LIBS="-lbfd -lz $LIBS"; Z_LIB="-lz", +- [AC_MSG_ERROR([bfd library not found])], -lz) ++dnl Use a different bfd function here so as not to use cached result from above ++ [AC_CHECK_LIB(bfd, bfd_close, LIBS="-lbfd -lsframe -lz $LIBS"; SFRAME_LIB="-lsframe"; Z_LIB="-lz", ++ [AC_MSG_ERROR([bfd library not found])], -lsframe -lz) ++ ], -lz) + ], + [AC_MSG_ERROR([libz library not found; required by libbfd])]) + ] +-- +2.43.0 + diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk index 265d6ebd18d..590e63b4ac0 100644 --- a/package/oprofile/oprofile.mk +++ b/package/oprofile/oprofile.mk @@ -11,8 +11,14 @@ OPROFILE_LICENSE_FILES = COPYING OPROFILE_CPE_ID_VENDOR = maynard_johnson OPROFILE_CONF_OPTS = \ --disable-account-check \ - --enable-gui=no \ --with-kernel=$(STAGING_DIR)/usr +# 0002-fix-static-build-with-binutils-2.40.patch +OPROFILE_AUTORECONF = YES + +define OPROFILE_CREATE_MISSING_FILES + touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/ChangeLog +endef +OPROFILE_POST_EXTRACT_HOOKS += OPROFILE_CREATE_MISSING_FILES OPROFILE_DEPENDENCIES = popt binutils host-pkgconf diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in deleted file mode 100644 index 2070582fbbb..00000000000 --- a/package/optee-benchmark/Config.in +++ /dev/null @@ -1,20 +0,0 @@ -config BR2_PACKAGE_OPTEE_BENCHMARK - bool "optee-benchmark" - depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client - depends on !BR2_STATIC_LIBS # optee-client - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # optee-client - select BR2_PACKAGE_OPTEE_CLIENT - select BR2_PACKAGE_LIBYAML - help - Enable the OP-TEE benchmark package that brings facilities - for profiling traversal and execution timings when - invoking OP-TEE. OP-TEE benchmark is a component delivered - by the OP-TEE project. - - http://github.com/linaro-swg/optee_benchmark - -comment "optee-benchmark needs a toolchain w/ threads, dynamic library, headers >= 4.3" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 diff --git a/package/optee-benchmark/optee-benchmark.hash b/package/optee-benchmark/optee-benchmark.hash deleted file mode 100644 index d74a24c8abe..00000000000 --- a/package/optee-benchmark/optee-benchmark.hash +++ /dev/null @@ -1,4 +0,0 @@ -# From https://github.com/linaro-swg/optee_benchmark/archive/3.19.0/optee-benchmark-3.19.0.tar.gz -sha256 32f41854bf07eb7bb89dfc702da023c3a99518c33fbe7edf0e1f004e29a8c90c optee-benchmark-3.19.0.tar.gz -# Locally computed -sha256 0571be5b739142dc3e40e0a4e7e30d4ab8bff0d4d606a3f2db2010745587d383 LICENSE diff --git a/package/optee-benchmark/optee-benchmark.mk b/package/optee-benchmark/optee-benchmark.mk deleted file mode 100644 index 338a51ada47..00000000000 --- a/package/optee-benchmark/optee-benchmark.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# optee-benchmark -# -################################################################################ - -OPTEE_BENCHMARK_VERSION = 3.19.0 -OPTEE_BENCHMARK_SITE = $(call github,linaro-swg,optee_benchmark,$(OPTEE_BENCHMARK_VERSION)) -OPTEE_BENCHMARK_LICENSE = BSD-2-Clause -OPTEE_BENCHMARK_LICENSE_FILES = LICENSE - -OPTEE_BENCHMARK_DEPENDENCIES = optee-client libyaml - -$(eval $(cmake-package)) diff --git a/package/optee-client/0001-libteeacl-condition-libteeacl-with-WITH_TEEACL.patch b/package/optee-client/0001-libteeacl-condition-libteeacl-with-WITH_TEEACL.patch deleted file mode 100644 index 4fdf9afc944..00000000000 --- a/package/optee-client/0001-libteeacl-condition-libteeacl-with-WITH_TEEACL.patch +++ /dev/null @@ -1,105 +0,0 @@ -From bbdf665aba39c29a3ce7bd06e4554c62a416ebaa Mon Sep 17 00:00:00 2001 -From: Etienne Carriere -Date: Thu, 10 Nov 2022 12:05:24 +0100 -Subject: [PATCH] libteeacl: condition libteeacl with WITH_TEEACL - -Build and embed libteeacl upon WITH_TEEACL=1 (default configuration). -This configuration switch allows one to build OP-TEE client without -dependencies on pkg-config and libuuid when OP-TEE ACL for -PKCS11 is not needed: - cmake -DWITH_TEEACL=0 ... -or - make WITH_TEEACL=0 ... - -With the comments below addressed, LGTM. - -Acked-by: Jerome Forissier -Acked-by: Jens Wiklander -Reviewed-by: Eero Aaltonen -[etienne.carriere@linaro.org: backport upstream commit] -Signed-off-by: Etienne Carriere -[yann.morin.1998@free.fr: actually do a backport of bbdf665] -Signed-off-by: Yann E. MORIN ---- - CMakeLists.txt | 9 ++++++--- - Makefile | 15 ++++++++++++--- - 2 files changed, 18 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0786752..9fb5c6a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,6 +5,7 @@ project (optee_client C) - set (CMAKE_TOOLCHAIN_FILE CMakeToolchain.txt) - - set (CFG_WERROR 1 CACHE BOOL "Build with -Werror") -+option (WITH_TEEACL "Build libteeacl" TRUE) - - include(GNUInstallDirs) - -@@ -37,7 +38,9 @@ add_subdirectory (libteec) - add_subdirectory (tee-supplicant) - add_subdirectory (public) - add_subdirectory (libckteec) --find_package (PkgConfig REQUIRED) --pkg_check_modules(uuid REQUIRED IMPORTED_TARGET uuid) --add_subdirectory (libteeacl) -+if(WITH_TEEACL) -+ find_package (PkgConfig REQUIRED) -+ pkg_check_modules(uuid REQUIRED IMPORTED_TARGET uuid) -+ add_subdirectory (libteeacl) -+endif(WITH_TEEACL) - add_subdirectory (libseteec) -diff --git a/Makefile b/Makefile -index 90b487e..2ee5621 100644 ---- a/Makefile -+++ b/Makefile -@@ -16,6 +16,8 @@ SBINDIR ?= /usr/sbin - LIBDIR ?= /usr/lib - INCLUDEDIR ?= /usr/include - -+WITH_TEEACL ?= 1 -+ - .PHONY: all build build-libteec build-libckteec build-libseteec \ - build-libteeacl check-libuuid install copy_export clean cscope \ - clean-cscope \ -@@ -35,8 +37,10 @@ build-tee-supplicant: build-libteec - @echo "Building tee-supplicant" - $(MAKE) --directory=tee-supplicant --no-print-directory --no-builtin-variables CFG_TEE_SUPP_LOG_LEVEL=$(CFG_TEE_SUPP_LOG_LEVEL) - --build: build-libteec build-tee-supplicant build-libckteec build-libseteec \ -- build-libteeacl -+build: build-libteec build-tee-supplicant build-libckteec build-libseteec -+ifeq ($(WITH_TEEACL),1) -+build: build-libteeacl -+endif - - build-libckteec: build-libteec - @echo "Building libckteec.so" -@@ -57,7 +61,10 @@ check-libuuid: - install: copy_export - - clean: clean-libteec clean-tee-supplicant clean-cscope clean-libckteec \ -- clean-libseteec clean-libteeacl -+ clean-libseteec -+ifeq ($(WITH_TEEACL),1) -+clean: clean-libteeacl -+endif - - clean-libteec: - @$(MAKE) --directory=libteec --no-print-directory clean -@@ -158,9 +165,11 @@ copy_export: build - cp libckteec/include/*.h $(DESTDIR)$(INCLUDEDIR) - cp -d ${O}/libckteec/libckteec.so* $(DESTDIR)$(LIBDIR) - cp -d ${O}/libckteec/libckteec.a $(DESTDIR)$(LIBDIR) -+ifeq ($(WITH_TEEACL),1) - cp libteeacl/include/*.h $(DESTDIR)$(INCLUDEDIR) - cp -d ${O}/libteeacl/libteeacl.so* $(DESTDIR)$(LIBDIR) - cp -d ${O}/libteeacl/libteeacl.a $(DESTDIR)$(LIBDIR) -+endif - cp libseteec/include/*.h $(DESTDIR)$(INCLUDEDIR) - cp -d ${O}/libseteec/libseteec.so* $(DESTDIR)$(LIBDIR) - cp -d ${O}/libseteec/libseteec.a $(DESTDIR)$(LIBDIR) --- -2.25.1 - diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in index 538948b72c1..e5decd4d58f 100644 --- a/package/optee-client/Config.in +++ b/package/optee-client/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_OPTEE_CLIENT bool "optee-client" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # MMC_IOC_MULTI_CMD + depends on BR2_USE_MMU # fork() help Enable the OP-TEE client package that brings non-secure client application resources for OP-TEE support. OP-TEE @@ -16,6 +17,44 @@ config BR2_PACKAGE_OPTEE_CLIENT if BR2_PACKAGE_OPTEE_CLIENT +choice + prompt "optee-client version" + default BR2_PACKAGE_OPTEE_CLIENT_LATEST + help + Select the version of optee-client you want to use + +config BR2_PACKAGE_OPTEE_CLIENT_LATEST + bool "4.0.0" + help + Use the latest release tag from the optee-client official Git + repository. + +config BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL + bool "Custom tarball" + help + This option allows to specify a URL pointing to an + optee-client source tarball. This URL can use any protocol + recognized by Buildroot, like http://, ftp://, file:// + or scp://. + + When pointing to a local tarball using file://, you may want + to use a make variable like $(TOPDIR) to reference the root of + the Buildroot tree. + +endchoice + +if BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL + +config BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL_LOCATION + string "URL of custom optee-client tarball" + +endif + +config BR2_PACKAGE_OPTEE_CLIENT_VERSION + string + default "4.0.0" if BR2_PACKAGE_OPTEE_CLIENT_LATEST + default "custom" if BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL + config BR2_PACKAGE_OPTEE_CLIENT_TEE_FS_PATH string "Path for normal world OS secure storage" default "/data/tee" @@ -48,5 +87,6 @@ config BR2_PACKAGE_OPTEE_CLIENT_TEEACL endif comment "optee-client needs a toolchain w/ threads, headers >= 4.3" + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 diff --git a/package/optee-client/optee-client.hash b/package/optee-client/optee-client.hash index c067e26f4e6..bb97820ab11 100644 --- a/package/optee-client/optee-client.hash +++ b/package/optee-client/optee-client.hash @@ -1,4 +1,4 @@ -# From https://github.com/OP-TEE/optee_client/archive/3.19.0/optee-client-3.19.0.tar.gz -sha256 5f0d02efa0e496964e86ca9dd2461ada923d1f9e11a4b9cafb5393bd08337644 optee-client-3.19.0.tar.gz +# From https://github.com/OP-TEE/optee_client/archive/4.0.0/optee-client-4.0.0.tar.gz +sha256 bcdac9c3a9f2e93c64d114667cc6d1feddf9f978992cdc2d59745885f9bd8fbe optee-client-4.0.0.tar.gz # Locally computed sha256 fda8385993f112d7ca61b88b54ba5b4cbeec7e43a0f9b317d5186703c1985e8f LICENSE diff --git a/package/optee-client/optee-client.mk b/package/optee-client/optee-client.mk index 311ca191b03..a91548a43b6 100644 --- a/package/optee-client/optee-client.mk +++ b/package/optee-client/optee-client.mk @@ -4,10 +4,24 @@ # ################################################################################ -OPTEE_CLIENT_VERSION = 3.19.0 -OPTEE_CLIENT_SITE = $(call github,OP-TEE,optee_client,$(OPTEE_CLIENT_VERSION)) +OPTEE_CLIENT_VERSION = $(call qstrip,$(BR2_PACKAGE_OPTEE_CLIENT_VERSION)) OPTEE_CLIENT_LICENSE = BSD-2-Clause +ifeq ($(BR2_PACKAGE_OPTEE_CLIENT_LATEST),y) OPTEE_CLIENT_LICENSE_FILES = LICENSE +endif + +ifeq ($(BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL),y) +OPTEE_CLIENT_TARBALL = $(call qstrip,$(BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL_LOCATION)) +OPTEE_CLIENT_SITE = $(patsubst %/,%,$(dir $(OPTEE_CLIENT_TARBALL))) +OPTEE_CLIENT_SOURCE = $(notdir $(OPTEE_CLIENT_TARBALL)) +else +OPTEE_CLIENT_SITE = $(call github,OP-TEE,optee_client,$(OPTEE_CLIENT_VERSION)) +endif + +ifeq ($(BR2_PACKAGE_OPTEE_CLIENT):$(BR2_PACKAGE_OPTEE_CLIENT_LATEST),y:) +BR_NO_CHECK_HASH_FOR += $(OPTEE_CLIENT_SOURCE) +endif + OPTEE_CLIENT_INSTALL_STAGING = YES OPTEE_CLIENT_CONF_OPTS = \ @@ -27,7 +41,7 @@ OPTEE_CLIENT_CONF_OPTS += -DCFG_TEE_SUPP_PLUGINS=OFF endif ifeq ($(BR2_PACKAGE_OPTEE_CLIENT_TEEACL),y) -OPTEE_CLIENT_EXT_DEPENDENCIES += host-pkgconf util-linux +OPTEE_CLIENT_DEPENDENCIES += host-pkgconf util-linux OPTEE_CLIENT_CONF_OPTS += -DWITH_TEEACL=ON else OPTEE_CLIENT_CONF_OPTS += -DWITH_TEEACL=OFF @@ -38,4 +52,10 @@ define OPTEE_CLIENT_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S30tee-supplicant endef +ifeq ($(BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL)$(BR_BUILDING),yy) +ifeq ($(call qstrip,$(BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_PACKAGE_OPTEE_CLIENT_CUSTOM_TARBALL_LOCATION) +endif +endif + $(eval $(cmake-package)) diff --git a/package/optee-examples/Config.in b/package/optee-examples/Config.in index 843981a4587..e085a9db1f2 100644 --- a/package/optee-examples/Config.in +++ b/package/optee-examples/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_OPTEE_EXAMPLES depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client depends on !BR2_STATIC_LIBS # optee-client depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # optee-client + depends on BR2_USE_MMU # optee-client select BR2_PACKAGE_OPTEE_CLIENT select BR2_TARGET_OPTEE_OS_SDK help @@ -22,5 +23,48 @@ config BR2_PACKAGE_OPTEE_EXAMPLES comment "optee-examples needs a toolchain w/ threads, dynamic library, headers >= 4.3" depends on BR2_TARGET_OPTEE_OS + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 + +if BR2_PACKAGE_OPTEE_EXAMPLES + +choice + prompt "optee-examples version" + default BR2_PACKAGE_OPTEE_EXAMPLES_LATEST + help + Select the version of optee-examples you want to use + +config BR2_PACKAGE_OPTEE_EXAMPLES_LATEST + bool "4.0.0" + help + Use the latest release tag from the optee-examples official + Git repository. + +config BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL + bool "Custom tarball" + help + This option allows to specify a URL pointing to an + optee-examples source tarball. This URL can use any protocol + recognized by Buildroot, like http://, ftp://, file:// or + scp://. + + When pointing to a local tarball using file://, you may want + to use a make variable like $(TOPDIR) to reference the root of + the Buildroot tree. + +endchoice + +if BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL + +config BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL_LOCATION + string "URL of custom optee-examples tarball" + +endif + +config BR2_PACKAGE_OPTEE_EXAMPLES_VERSION + string + default "4.0.0" if BR2_PACKAGE_OPTEE_EXAMPLES_LATEST + default "custom" if BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL + +endif # BR2_PACKAGE_OPTEE_EXAMPLES diff --git a/package/optee-examples/optee-examples.hash b/package/optee-examples/optee-examples.hash index 937dd44c8cb..71cd95605d7 100644 --- a/package/optee-examples/optee-examples.hash +++ b/package/optee-examples/optee-examples.hash @@ -1,4 +1,4 @@ -# From https://github.com/linaro-swg/optee_examples/archive/3.19.0/optee-examples-3.19.0.tar.gz -sha256 545f9438885220e890a4f785249a586a957b22dacc31a3cbafa4656f8e9db349 optee-examples-3.19.0.tar.gz +# From https://github.com/linaro-swg/optee_examples/archive/4.0.0/optee-examples-4.0.0.tar.gz +sha256 4e21455c889ffb93085eb76f76ce191e24f394b3fa8f1d2429cad38a36e4f6e5 optee-examples-4.0.0.tar.gz # Locally computed sha256 6f1ef8449cb82ae79d2155605f7985bdf0f08e7ab5007de9b4362e8bf28733b9 LICENSE diff --git a/package/optee-examples/optee-examples.mk b/package/optee-examples/optee-examples.mk index bb2b208583e..2e20dc4dd44 100644 --- a/package/optee-examples/optee-examples.mk +++ b/package/optee-examples/optee-examples.mk @@ -4,10 +4,26 @@ # ################################################################################ -OPTEE_EXAMPLES_VERSION = 3.19.0 -OPTEE_EXAMPLES_SITE = $(call github,linaro-swg,optee_examples,$(OPTEE_EXAMPLES_VERSION)) +OPTEE_EXAMPLES_VERSION = $(call qstrip,$(BR2_PACKAGE_OPTEE_EXAMPLES_VERSION)) OPTEE_EXAMPLES_LICENSE = BSD-2-Clause +ifeq ($(BR2_PACKAGE_OPTEE_EXAMPLES_LATEST),y) OPTEE_EXAMPLES_LICENSE_FILES = LICENSE +endif + +ifeq ($(BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL),y) +OPTEE_EXAMPLES_TARBALL = $(call qstrip,$(BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL_LOCATION)) +OPTEE_EXAMPLES_SITE = $(patsubst %/,%,$(dir $(OPTEE_EXAMPLES_TARBALL))) +OPTEE_EXAMPLES_SOURCE = $(notdir $(OPTEE_EXAMPLES_TARBALL)) +else ifeq ($(BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_GIT),y) +OPTEE_EXAMPLES_SITE = $(call qstrip,$(BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_REPO_URL)) +OPTEE_EXAMPLES_SITE_METHOD = git +else +OPTEE_EXAMPLES_SITE = $(call github,linaro-swg,optee_examples,$(OPTEE_EXAMPLES_VERSION)) +endif + +ifeq ($(BR2_PACKAGE_OPTEE_EXAMPLES):$(BR2_PACKAGE_OPTEE_EXAMPLES_LATEST),y:) +BR_NO_CHECK_HASH_FOR += $(OPTEE_EXAMPLES_SOURCE) +endif OPTEE_EXAMPLES_DEPENDENCIES = optee-client optee-os @@ -28,4 +44,10 @@ endef OPTEE_EXAMPLES_POST_BUILD_HOOKS += OPTEE_EXAMPLES_BUILD_TAS OPTEE_EXAMPLES_POST_INSTALL_TARGET_HOOKS += OPTEE_EXAMPLES_INSTALL_TAS +ifeq ($(BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL)$(BR_BUILDING),yy) +ifeq ($(call qstrip,$(BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_PACKAGE_OPTEE_EXAMPLES_CUSTOM_TARBALL_LOCATION) +endif +endif + $(eval $(cmake-package)) diff --git a/package/optee-test/Config.in b/package/optee-test/Config.in index cf36d19fab0..a93676b783b 100644 --- a/package/optee-test/Config.in +++ b/package/optee-test/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_OPTEE_TEST depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # optee-client depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 # optee-client + depends on BR2_USE_MMU # optee-client select BR2_PACKAGE_OPTEE_CLIENT select BR2_TARGET_OPTEE_OS_SDK help @@ -27,5 +28,47 @@ config BR2_PACKAGE_OPTEE_TEST comment "optee-test needs a toolchain w/ threads, C++, dynamic library, headers >= 4.3" depends on BR2_TARGET_OPTEE_OS + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 + +if BR2_PACKAGE_OPTEE_TEST + +choice + prompt "optee-test version" + default BR2_PACKAGE_OPTEE_TEST_LATEST if BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + help + Select the version of optee-test you want to use + +config BR2_PACKAGE_OPTEE_TEST_LATEST + bool "4.0.0" + help + Use the latest release tag from the optee-test official Git + repository. + +config BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL + bool "Custom tarball" + help + This option allows to specify a URL pointing to an optee-test + source tarball. This URL can use any protocol recognized by + Buildroot, like http://, ftp://, file:// or scp://. + + When pointing to a local tarball using file://, you may want + to use a make variable like $(TOPDIR) to reference the root of + the Buildroot tree. + +endchoice + +if BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL + +config BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL_LOCATION + string "URL of custom optee-test tarball" + +endif + +config BR2_PACKAGE_OPTEE_TEST_VERSION + string + default "4.0.0" if BR2_PACKAGE_OPTEE_TEST_LATEST + default "custom" if BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL + +endif # BR2_PACKAGE_OPTEE_TEST diff --git a/package/optee-test/optee-test.hash b/package/optee-test/optee-test.hash index 4da3807bb53..9744ab6d92c 100644 --- a/package/optee-test/optee-test.hash +++ b/package/optee-test/optee-test.hash @@ -1,4 +1,4 @@ -# From https://github.com/OP-TEE/optee_test/archive/3.19.0/optee-test-3.19.0.tar.gz -sha256 9435901e9329a25ef4de3904e27d80377b8bb4dd6b215e8fb29d66a7b76afa11 optee-test-3.19.0.tar.gz +# From https://github.com/OP-TEE/optee_test/archive/4.0.0/optee-test-4.0.0.tar.gz +sha256 dc37b90c98db54068e61b31e20378878e2cfdf3c71f90c8a635786164651c62f optee-test-4.0.0.tar.gz # Locally computed sha256 6e6810981f0ddab9e0d44399d0700a15d9f760a3c2843cc866659c2074139ae7 LICENSE.md diff --git a/package/optee-test/optee-test.mk b/package/optee-test/optee-test.mk index 7b065b6123e..9bc074b2151 100644 --- a/package/optee-test/optee-test.mk +++ b/package/optee-test/optee-test.mk @@ -4,10 +4,23 @@ # ################################################################################ -OPTEE_TEST_VERSION = 3.19.0 -OPTEE_TEST_SITE = $(call github,OP-TEE,optee_test,$(OPTEE_TEST_VERSION)) +OPTEE_TEST_VERSION = $(call qstrip,$(BR2_PACKAGE_OPTEE_TEST_VERSION)) OPTEE_TEST_LICENSE = GPL-2.0, BSD-2-Clause, +ifeq ($(BR2_PACKAGE_OPTEE_TEST_LATEST),y) OPTEE_TEST_LICENSE_FILES = LICENSE.md +endif + +ifeq ($(BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL),y) +OPTEE_TEST_TARBALL = $(call qstrip,$(BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL_LOCATION)) +OPTEE_TEST_SITE = $(patsubst %/,%,$(dir $(OPTEE_TEST_TARBALL))) +OPTEE_TEST_SOURCE = $(notdir $(OPTEE_TEST_TARBALL)) +else +OPTEE_TEST_SITE = $(call github,OP-TEE,optee_test,$(OPTEE_TEST_VERSION)) +endif + +ifeq ($(BR2_PACKAGE_OPTEE_TEST):$(BR2_PACKAGE_OPTEE_TEST_LATEST),y:) +BR_NO_CHECK_HASH_FOR += $(OPTEE_TEST_SOURCE) +endif OPTEE_TEST_DEPENDENCIES = optee-client optee-os @@ -34,4 +47,10 @@ endef OPTEE_TEST_POST_BUILD_HOOKS += OPTEE_TEST_BUILD_TAS OPTEE_TEST_POST_INSTALL_TARGET_HOOKS += OPTEE_TEST_INSTALL_TAS +ifeq ($(BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL)$(BR_BUILDING),yy) +ifeq ($(call qstrip,$(BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL_LOCATION)),) +$(error No tarball location specified. Please check BR2_PACKAGE_OPTEE_TEST_CUSTOM_TARBALL_LOCATION) +endif +endif + $(eval $(cmake-package)) diff --git a/package/opus/opus.hash b/package/opus/opus.hash index 2365e47c7d9..7569ee08d1f 100644 --- a/package/opus/opus.hash +++ b/package/opus/opus.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz +sha256 c9b32b4253be5ae63d1ff16eea06b94b5f0f2951b7a02aceef58e3a3ce49c51f opus-1.4.tar.gz # Hash for license file sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 COPYING diff --git a/package/opus/opus.mk b/package/opus/opus.mk index 2fa929c7df3..cbc07a091b5 100644 --- a/package/opus/opus.mk +++ b/package/opus/opus.mk @@ -4,14 +4,22 @@ # ################################################################################ -OPUS_VERSION = 1.3.1 +OPUS_VERSION = 1.4 OPUS_SITE = https://downloads.xiph.org/releases/opus OPUS_LICENSE = BSD-3-Clause OPUS_LICENSE_FILES = COPYING +OPUS_CPE_ID_VENDOR = opus-codec OPUS_INSTALL_STAGING = YES OPUS_CFLAGS = $(TARGET_CFLAGS) +# opus has ARM assembly optimizations not compatible with thumb1: +# Error: selected processor does not support `smull r6,ip,r5,r0' in Thumb mode +# so force ARM mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +OPUS_CFLAGS += -marm +endif + ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) OPUS_CFLAGS += -O0 endif diff --git a/package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch b/package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch new file mode 100644 index 00000000000..2ef08502abb --- /dev/null +++ b/package/opusfile/0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch @@ -0,0 +1,44 @@ +From 0a4cd796df5b030cb866f3f4a5e41a4b92caddf5 Mon Sep 17 00:00:00 2001 +From: Ralph Giles +Date: Tue, 6 Sep 2022 19:04:31 -0700 +Subject: [PATCH] Propagate allocation failure from ogg_sync_buffer. + +Instead of segfault, report OP_EFAULT if ogg_sync_buffer returns +a null pointer. This allows more graceful recovery by the caller +in the unlikely event of a fallible ogg_malloc call. + +We do check the return value elsewhere in the code, so the new +checks make the code more consistent. + +Thanks to https://github.com/xiph/opusfile/issues/36 for reporting. + +Signed-off-by: Timothy B. Terriberry +Signed-off-by: Mark Harris + +[Retrieved from: +https://github.com/xiph/opusfile/commit/0a4cd796df5b030cb866f3f4a5e41a4b92caddf5] +Signed-off-by: Fabrice Fontaine +--- + src/opusfile.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/opusfile.c b/src/opusfile.c +index ca219b2..3c3c81e 100644 +--- a/src/opusfile.c ++++ b/src/opusfile.c +@@ -148,6 +148,7 @@ static int op_get_data(OggOpusFile *_of,int _nbytes){ + int nbytes; + OP_ASSERT(_nbytes>0); + buffer=(unsigned char *)ogg_sync_buffer(&_of->oy,_nbytes); ++ if(OP_UNLIKELY(buffer==NULL))return OP_EFAULT; + nbytes=(int)(*_of->callbacks.read)(_of->stream,buffer,_nbytes); + OP_ASSERT(nbytes<=_nbytes); + if(OP_LIKELY(nbytes>0))ogg_sync_wrote(&_of->oy,nbytes); +@@ -1527,6 +1528,7 @@ static int op_open1(OggOpusFile *_of, + if(_initial_bytes>0){ + char *buffer; + buffer=ogg_sync_buffer(&_of->oy,(long)_initial_bytes); ++ if(OP_UNLIKELY(buffer==NULL))return OP_EFAULT; + memcpy(buffer,_initial_data,_initial_bytes*sizeof(*buffer)); + ogg_sync_wrote(&_of->oy,(long)_initial_bytes); + } diff --git a/package/opusfile/opusfile.mk b/package/opusfile/opusfile.mk index 72ae82e8017..efd38c542c9 100644 --- a/package/opusfile/opusfile.mk +++ b/package/opusfile/opusfile.mk @@ -9,8 +9,12 @@ OPUSFILE_SITE = https://downloads.xiph.org/releases/opus OPUSFILE_DEPENDENCIES = host-pkgconf libogg opus OPUSFILE_LICENSE = BSD-3-Clause OPUSFILE_LICENSE_FILES = COPYING +OPUSFILE_CPE_ID_VENDOR = xiph OPUSFILE_INSTALL_STAGING = YES +# 0001-Propagate-allocation-failure-from-ogg_sync_buffer.patch +OPUSFILE_IGNORE_CVES += CVE-2022-47021 + ifeq ($(BR2_PACKAGE_OPENSSL),y) OPUSFILE_DEPENDENCIES += openssl else diff --git a/package/oracle-mysql/0000-ac_cache_check.patch b/package/oracle-mysql/0000-ac_cache_check.patch deleted file mode 100644 index c3b55ba8d39..00000000000 --- a/package/oracle-mysql/0000-ac_cache_check.patch +++ /dev/null @@ -1,156 +0,0 @@ -Patch borrowed from -http://code.google.com/p/minimyth/source/browse/trunk/gar-minimyth/script/db/mysql/files/mysql-5.1.47-ac_cache_check.patch?r=6493. - -It allows to override through ac_cv_* variables various checks that -cannot be performed when cross-compiling. - -Signed-off-by: Thomas Petazzoni - ---- - storage/innodb_plugin/plug.in | 59 ++++++++++++++++++++++++++++-------------- - 1 file changed, 40 insertions(+), 19 deletions(-) - -Index: mysql-5.1.53/storage/innodb_plugin/plug.in -=================================================================== ---- mysql-5.1.53.orig/storage/innodb_plugin/plug.in -+++ mysql-5.1.53/storage/innodb_plugin/plug.in -@@ -53,9 +53,10 @@ - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) - -- AC_MSG_CHECKING(whether GCC atomic builtins are available) -+ AC_CACHE_CHECK([whether GCC atomic builtins are available], -+ [ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS], - # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not -- AC_TRY_RUN( -+ [AC_TRY_RUN( - [ - int main() - { -@@ -95,18 +96,23 @@ - } - ], - [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], -- [GCC atomic builtins are available]) - AC_MSG_RESULT(yes) -+ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes - ], - [ - AC_MSG_RESULT(no) -+ ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=no - ] -- ) -+ )]) -+ if test "x$ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS"= "xyes" ; then -+ AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], -+ [GCC atomic builtins are available]) -+ fi - -- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins) -+ AC_CACHE_CHECK([whether pthread_t can be used by GCC atomic builtins], -+ [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC], - # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not -- AC_TRY_RUN( -+ [AC_TRY_RUN( - [ - #include - #include -@@ -126,14 +132,18 @@ - } - ], - [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], -- [pthread_t can be used by GCC atomic builtins]) - AC_MSG_RESULT(yes) -+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes - ], - [ - AC_MSG_RESULT(no) -+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=no - ] -- ) -+ )]) -+ if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC"= "xyes" ; then -+ AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], -+ [pthread_t can be used by GCC atomic builtins]) -+ fi - - AC_MSG_CHECKING(whether Solaris libc atomic functions are available) - # either define HAVE_IB_SOLARIS_ATOMICS or not -@@ -148,9 +158,10 @@ - are available]) - ) - -- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions) -+ AC_CACHE_CHECK([whether pthread_t can be used by Solaris libc atomic functions], -+ [ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], - # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not -- AC_TRY_RUN( -+ [AC_TRY_RUN( - [ - #include - #include -@@ -181,28 +192,33 @@ - } - ], - [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], -- [pthread_t can be used by solaris atomics]) - AC_MSG_RESULT(yes) -+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=yes - ], - [ - AC_MSG_RESULT(no) -+ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no - ] -- ) -+ )]) -+ if test "x$ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS"= "xyes" ; then -+ AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], -+ [pthread_t can be used by solaris atomics]) -+ fi - - # this is needed to know which one of atomic_cas_32() or atomic_cas_64() - # to use in the source - AC_CHECK_SIZEOF([pthread_t], [], [#include ]) - - # Check for x86 PAUSE instruction -- AC_MSG_CHECKING(for x86 PAUSE instruction) -+ AC_CACHE_CHECK([for x86 PAUSE instruction], -+ [ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION], - # We have to actually try running the test program, because of a bug - # in Solaris on x86_64, where it wrongly reports that PAUSE is not - # supported when trying to run an application. See - # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 - # We use ib_ prefix to avoid collisoins if this code is added to - # mysql's configure.in. -- AC_TRY_RUN( -+ [AC_TRY_RUN( - [ - int main() { - __asm__ __volatile__ ("pause"); -@@ -210,16 +226,21 @@ - } - ], - [ -- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) - AC_MSG_RESULT(yes) -+ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=yes - ], - [ - AC_MSG_RESULT(no) -+ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no - ], - [ - AC_MSG_RESULT(no) -+ ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION=no - ] -- ) -+ )]) -+ if test "x$ac_cv_have_decl_HAVE_IB_PAUSE_INSTRUCTION"= "xyes" ; then -+ AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) -+ fi - ]) - - # vim: set ft=config: diff --git a/package/oracle-mysql/0001-configure-ps-cache-check.patch b/package/oracle-mysql/0001-configure-ps-cache-check.patch deleted file mode 100644 index 336e80e0b75..00000000000 --- a/package/oracle-mysql/0001-configure-ps-cache-check.patch +++ /dev/null @@ -1,39 +0,0 @@ -Patch borrowed from -http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/mysql/files/configure-ps-cache-check.patch - -It allows to specify through ac_cv_FIND_PROC how ps should be used on -the target to find the PID of a program. - -Signed-off-by: Thomas Petazzoni - ---- - configure.in | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -Index: mysql-5.1.53/configure.in -=================================================================== ---- mysql-5.1.53.orig/configure.in -+++ mysql-5.1.53/configure.in -@@ -462,8 +462,8 @@ - # then Make, then shell. The autoconf substitution uses single quotes, so - # no unprotected single quotes should appear in the expression. - AC_PATH_PROG(PS, ps, ps) --AC_MSG_CHECKING("how to check if pid exists") --PS=$ac_cv_path_PS -+AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC], -+[ - # Linux style - if $PS wwwp $$ 2> /dev/null | grep -- "$0" > /dev/null - then -@@ -502,8 +502,9 @@ - AC_MSG_ERROR([Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual.]) - esac - fi --AC_SUBST(FIND_PROC) --AC_MSG_RESULT("$FIND_PROC") -+ac_cv_FIND_PROC="$FIND_PROC" -+]) -+AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC]) - - # Check if a pid is valid - AC_PATH_PROG(KILL, kill, kill) diff --git a/package/oracle-mysql/0002-use-new-readline-iface.patch b/package/oracle-mysql/0002-use-new-readline-iface.patch deleted file mode 100644 index c5906563cee..00000000000 --- a/package/oracle-mysql/0002-use-new-readline-iface.patch +++ /dev/null @@ -1,21 +0,0 @@ -Tell MySQL to use the new readline interface even when an external -readline is being used. - -Signed-off-by: Thomas Petazzoni - ---- - configure.in | 1 + - 1 file changed, 1 insertion(+) - -Index: mysql-5.1.53/configure.in -=================================================================== ---- mysql-5.1.53.orig/configure.in -+++ mysql-5.1.53/configure.in -@@ -2689,6 +2689,7 @@ - # this way we avoid linking commercial source with GPL readline - readline_link="-lreadline" - want_to_use_readline="yes" -+ AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1) - elif [test "$mysql_cv_libedit_interface" = "yes"] - then - # Use libedit diff --git a/package/oracle-mysql/0003-ac_stack_direction-is-unset.patch b/package/oracle-mysql/0003-ac_stack_direction-is-unset.patch deleted file mode 100644 index 6fef0a9acf8..00000000000 --- a/package/oracle-mysql/0003-ac_stack_direction-is-unset.patch +++ /dev/null @@ -1,15 +0,0 @@ -misc.m4: ac_cv_c_stack_direction is unset. - -Signed-off-by: Marcelo Gutierrez (UTN/FRH) - ---- mysql-5.1.70.orig/config/ac-macros/misc.m4 -+++ mysql-5.1.70/config/ac-macros/misc.m4 -@@ -477,7 +477,7 @@ - exit(ptr_f(&a) < 0); - } - ], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1, -- ac_cv_c_stack_direction=)]) -+ ac_cv_c_stack_direction=0)]) - AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) - ])dnl - diff --git a/package/oracle-mysql/0004-Fix-gen_lex_hash-execution.patch b/package/oracle-mysql/0004-Fix-gen_lex_hash-execution.patch deleted file mode 100644 index b91ed4fef90..00000000000 --- a/package/oracle-mysql/0004-Fix-gen_lex_hash-execution.patch +++ /dev/null @@ -1,32 +0,0 @@ -Makefile: fix cross-compiling the server - -MySQL Makefile believes it can run code it just compiled, to -generate a header. This does not work for cross-compilation. - -Instead, use a pre-installed host-version of the required tool. - -Signed-off-by: Marcelo Gutierrez (UTN/FRH) - ---- mysql-5.1.70/sql/Makefile.am -+++ mysql-5.1.70.patch/sql/Makefile.am -@@ -177,7 +177,7 @@ - # this avoid the rebuild of the built files in a source dist - lex_hash.h: gen_lex_hash.cc lex.h - $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT) -- ./gen_lex_hash$(EXEEXT) > $@-t -+ gen_lex_hash$(EXEEXT) > $@-t - $(MV) $@-t $@ - - # For testing of udf_example.so - ---- mysql-5.1.70/sql/Makefile.in -+++ mysql-5.1.70.patch/sql/Makefile.in -@@ -1310,7 +1310,7 @@ - # this avoid the rebuild of the built files in a source dist - lex_hash.h: gen_lex_hash.cc lex.h - $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT) -- ./gen_lex_hash$(EXEEXT) > $@-t -+ gen_lex_hash$(EXEEXT) > $@-t - $(MV) $@-t $@ - - # We might have some stuff not built in this build, but that we want to install diff --git a/package/oracle-mysql/0005-bison_3_breaks_mysql_server_build.patch b/package/oracle-mysql/0005-bison_3_breaks_mysql_server_build.patch deleted file mode 100644 index 918fe2456a4..00000000000 --- a/package/oracle-mysql/0005-bison_3_breaks_mysql_server_build.patch +++ /dev/null @@ -1,3310 +0,0 @@ -fix the yacc code in mysql - -Signed-off-by: Marcelo Gutierrez (UTN/FRH) ---- -diff -uNr mysql-5.1.73.orig/sql/sql_lex.cc mysql-5.1.73/sql/sql_lex.cc ---- mysql-5.1.73.orig/sql/sql_lex.cc 2013-11-04 18:52:27.000000000 +0000 -+++ mysql-5.1.73/sql/sql_lex.cc 2014-02-12 14:12:04.244111625 +0000 -@@ -775,14 +775,13 @@ - (which can't be followed by a signed number) - */ - --int MYSQLlex(void *arg, void *yythd) -+int MYSQLlex(void *arg, THD *thd) - { - reg1 uchar c= 0; - bool comment_closed; - int tokval, result_state; - uint length; - enum my_lex_states state; -- THD *thd= (THD *)yythd; - Lex_input_stream *lip= & thd->m_parser_state->m_lip; - LEX *lex= thd->lex; - YYSTYPE *yylval=(YYSTYPE*) arg; -diff -uNr mysql-5.1.73.orig/sql/sql_lex.h mysql-5.1.73/sql/sql_lex.h ---- mysql-5.1.73.orig/sql/sql_lex.h 2013-11-04 18:52:27.000000000 +0000 -+++ mysql-5.1.73/sql/sql_lex.h 2014-02-12 14:17:19.424106423 +0000 -@@ -2072,7 +2072,7 @@ - extern void lex_free(void); - extern void lex_start(THD *thd); - extern void lex_end(LEX *lex); --extern int MYSQLlex(void *arg, void *yythd); -+extern int MYSQLlex(void *arg, THD *thd); - - extern void trim_whitespace(CHARSET_INFO *cs, LEX_STRING *str); - -diff -uNr mysql-5.1.73.orig/sql/sql_parse.cc mysql-5.1.73/sql/sql_parse.cc ---- mysql-5.1.73.orig/sql/sql_parse.cc 2013-11-04 18:52:27.000000000 +0000 -+++ mysql-5.1.73/sql/sql_parse.cc 2014-02-12 14:19:20.424104427 +0000 -@@ -8012,7 +8012,7 @@ - } - - --extern int MYSQLparse(void *thd); // from sql_yacc.cc -+extern int MYSQLparse(THD *thd); // from sql_yacc.cc - - - /** -diff -uNr mysql-5.1.73.orig/sql/sql_yacc.yy mysql-5.1.73/sql/sql_yacc.yy ---- mysql-5.1.73.orig/sql/sql_yacc.yy 2013-11-04 18:52:27.000000000 +0000 -+++ mysql-5.1.73/sql/sql_yacc.yy 2014-02-12 20:17:06.707750140 +0000 -@@ -23,19 +23,13 @@ - */ - - %{ --/* thd is passed as an argument to yyparse(), and subsequently to yylex(). --** The type will be void*, so it must be cast to (THD*) when used. --** Use the YYTHD macro for this. --*/ --#define YYPARSE_PARAM yythd --#define YYLEX_PARAM yythd --#define YYTHD ((THD *)yythd) --#define YYLIP (& YYTHD->m_parser_state->m_lip) -+ -+#define YYLIP (& thd->m_parser_state->m_lip) - - #define MYSQL_YACC - #define YYINITDEPTH 100 - #define YYMAXDEPTH 3200 /* Because of 64K stack */ --#define Lex (YYTHD->lex) -+#define Lex (thd->lex) - #define Select Lex->current_select - #include "mysql_priv.h" - #include "slave.h" -@@ -55,7 +49,7 @@ - #pragma warning (disable : 4065) - #endif - --int yylex(void *yylval, void *yythd); -+int yylex(void *yylval, THD *thd); - - const LEX_STRING null_lex_str= {0,0}; - -@@ -64,7 +58,7 @@ - ulong val= *(F); \ - if (my_yyoverflow((B), (D), &val)) \ - { \ -- yyerror((char*) (A)); \ -+ yyerror(current_thd, (char*) (A)); \ - return 2; \ - } \ - else \ -@@ -76,7 +70,7 @@ - #define MYSQL_YYABORT \ - do \ - { \ -- LEX::cleanup_lex_after_parse_error(YYTHD);\ -+ LEX::cleanup_lex_after_parse_error(thd);\ - YYABORT; \ - } while (0) - -@@ -159,9 +153,8 @@ - to abort from the parser. - */ - --void MYSQLerror(const char *s) -+void MYSQLerror(THD *thd, const char *s) - { -- THD *thd= current_thd; - - /* - Restore the original LEX if it was replaced when parsing -@@ -675,7 +668,10 @@ - bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); - %} - --%pure_parser /* We have threads */ -+/* We have threads */ -+%define api.pure -+%parse-param { THD *thd } -+%lex-param { THD *thd } - /* - Currently there are 169 shift/reduce conflicts. - We should not introduce new conflicts any more. -@@ -1516,7 +1512,6 @@ - query: - END_OF_INPUT - { -- THD *thd= YYTHD; - if (!thd->bootstrap && - (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT))) - { -@@ -1530,7 +1525,7 @@ - { - Lex_input_stream *lip = YYLIP; - -- if ((YYTHD->client_capabilities & CLIENT_MULTI_QUERIES) && -+ if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) && - ! lip->stmt_prepare_mode && - ! lip->eof()) - { -@@ -1626,7 +1621,6 @@ - deallocate: - deallocate_or_drop PREPARE_SYM ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->sql_command= SQLCOM_DEALLOCATE_PREPARE; - lex->prepared_stmt_name= $3; -@@ -1641,7 +1635,6 @@ - prepare: - PREPARE_SYM ident FROM prepare_src - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->sql_command= SQLCOM_PREPARE; - lex->prepared_stmt_name= $2; -@@ -1651,14 +1644,12 @@ - prepare_src: - TEXT_STRING_sys - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->prepared_stmt_code= $1; - lex->prepared_stmt_code_is_varref= FALSE; - } - | '@' ident_or_text - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->prepared_stmt_code= $2; - lex->prepared_stmt_code_is_varref= TRUE; -@@ -1668,7 +1659,6 @@ - execute: - EXECUTE_SYM ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->sql_command= SQLCOM_EXECUTE; - lex->prepared_stmt_name= $2; -@@ -1826,7 +1816,6 @@ - create: - CREATE opt_table_options TABLE_SYM opt_if_not_exists table_ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->sql_command= SQLCOM_CREATE_TABLE; - if (!lex->select_lex.add_table_to_list(thd, $5, NULL, -@@ -1844,13 +1833,13 @@ - } - create2 - { -- LEX *lex= YYTHD->lex; -+ LEX *lex= thd->lex; - lex->current_select= &lex->select_lex; - if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) && - !lex->create_info.db_type) - { -- lex->create_info.db_type= ha_default_handlerton(YYTHD); -- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, -+ lex->create_info.db_type= ha_default_handlerton(thd); -+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, - ER_WARN_USING_OTHER_HANDLER, - ER(ER_WARN_USING_OTHER_HANDLER), - ha_resolve_storage_engine_name(lex->create_info.db_type), -@@ -1979,7 +1968,7 @@ - event_tail: - remember_name EVENT_SYM opt_if_not_exists sp_name - { -- THD *thd= YYTHD; -+ THD *thd= thd; - LEX *lex=Lex; - - lex->stmt_definition_begin= $1; -@@ -2046,7 +2035,7 @@ - ev_starts: - /* empty */ - { -- Item *item= new (YYTHD->mem_root) Item_func_now_local(); -+ Item *item= new (thd->mem_root) Item_func_now_local(); - if (item == NULL) - MYSQL_YYABORT; - Lex->event_parse_data->item_starts= item; -@@ -2096,7 +2085,6 @@ - - ev_sql_stmt: - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - -@@ -2139,7 +2127,6 @@ - } - ev_sql_stmt_inner - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - - /* return back to the original memory root ASAP */ -@@ -2198,11 +2185,10 @@ - $$= new sp_name($1, $3, true); - if ($$ == NULL) - MYSQL_YYABORT; -- $$->init_qname(YYTHD); -+ $$->init_qname(thd); - } - | ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - LEX_STRING db; - if (check_routine_name(&$1)) -@@ -2272,7 +2258,7 @@ - lex->sql_command= SQLCOM_CALL; - lex->spname= $2; - lex->value_list.empty(); -- sp_add_used_routine(lex, YYTHD, $2, TYPE_ENUM_PROCEDURE); -+ sp_add_used_routine(lex, thd, $2, TYPE_ENUM_PROCEDURE); - } - opt_sp_cparam_list {} - ; -@@ -2345,7 +2331,7 @@ - (enum enum_field_types)$3, - sp_param_in); - -- if (lex->sphead->fill_field_definition(YYTHD, lex, -+ if (lex->sphead->fill_field_definition(thd, lex, - (enum enum_field_types) $3, - &spvar->field_def)) - { -@@ -2382,7 +2368,7 @@ - (enum enum_field_types)$4, - (sp_param_mode_t)$1); - -- if (lex->sphead->fill_field_definition(YYTHD, lex, -+ if (lex->sphead->fill_field_definition(thd, lex, - (enum enum_field_types) $4, - &spvar->field_def)) - { -@@ -2445,13 +2431,12 @@ - { - LEX *lex= Lex; - -- lex->sphead->reset_lex(YYTHD); -+ lex->sphead->reset_lex(thd); - lex->spcont->declare_var_boundary($2); - } - type - sp_opt_default - { -- THD *thd= YYTHD; - LEX *lex= Lex; - sp_pcontext *pctx= lex->spcont; - uint num_vars= pctx->context_var_count(); -@@ -2477,7 +2462,7 @@ - spvar->type= var_type; - spvar->dflt= dflt_value_item; - -- if (lex->sphead->fill_field_definition(YYTHD, lex, var_type, -+ if (lex->sphead->fill_field_definition(thd, lex, var_type, - &spvar->field_def)) - { - MYSQL_YYABORT; -@@ -2501,7 +2486,7 @@ - } - - pctx->declare_var_boundary(0); -- if (lex->sphead->restore_lex(YYTHD)) -+ if (lex->sphead->restore_lex(thd)) - MYSQL_YYABORT; - $$.vars= $2; - $$.conds= $$.hndlrs= $$.curs= 0; -@@ -2516,7 +2501,7 @@ - my_error(ER_SP_DUP_COND, MYF(0), $2.str); - MYSQL_YYABORT; - } -- if(YYTHD->lex->spcont->push_cond(&$2, $5)) -+ if(thd->lex->spcont->push_cond(&$2, $5)) - MYSQL_YYABORT; - $$.vars= $$.hndlrs= $$.curs= 0; - $$.conds= 1; -@@ -2602,7 +2587,7 @@ - - sp_cursor_stmt: - { -- Lex->sphead->reset_lex(YYTHD); -+ Lex->sphead->reset_lex(thd); - } - select - { -@@ -2618,7 +2603,7 @@ - } - lex->sp_lex_in_use= TRUE; - $$= lex; -- if (lex->sphead->restore_lex(YYTHD)) -+ if (lex->sphead->restore_lex(thd)) - MYSQL_YYABORT; - } - ; -@@ -2662,7 +2647,7 @@ - sp_cond: - ulong_num - { /* mysql errno */ -- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); -+ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t)); - if ($$ == NULL) - MYSQL_YYABORT; - $$->type= sp_cond_type_t::number; -@@ -2675,7 +2660,7 @@ - my_error(ER_SP_BAD_SQLSTATE, MYF(0), $3.str); - MYSQL_YYABORT; - } -- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); -+ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t)); - if ($$ == NULL) - MYSQL_YYABORT; - $$->type= sp_cond_type_t::state; -@@ -2705,21 +2690,21 @@ - } - | SQLWARNING_SYM /* SQLSTATEs 01??? */ - { -- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); -+ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t)); - if ($$ == NULL) - MYSQL_YYABORT; - $$->type= sp_cond_type_t::warning; - } - | not FOUND_SYM /* SQLSTATEs 02??? */ - { -- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); -+ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t)); - if ($$ == NULL) - MYSQL_YYABORT; - $$->type= sp_cond_type_t::notfound; - } - | SQLEXCEPTION_SYM /* All other SQLSTATEs */ - { -- $$= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); -+ $$= (sp_cond_type_t *)thd->alloc(sizeof(sp_cond_type_t)); - if ($$ == NULL) - MYSQL_YYABORT; - $$->type= sp_cond_type_t::exception; -@@ -2789,7 +2774,6 @@ - - sp_proc_stmt_statement: - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - -@@ -2798,7 +2782,6 @@ - } - statement - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - sp_head *sp= lex->sphead; -@@ -2845,7 +2828,7 @@ - - sp_proc_stmt_return: - RETURN_SYM -- { Lex->sphead->reset_lex(YYTHD); } -+ { Lex->sphead->reset_lex(thd); } - expr - { - LEX *lex= Lex; -@@ -2867,7 +2850,7 @@ - MYSQL_YYABORT; - sp->m_flags|= sp_head::HAS_RETURN; - } -- if (sp->restore_lex(YYTHD)) -+ if (sp->restore_lex(thd)) - MYSQL_YYABORT; - } - ; -@@ -3094,7 +3077,7 @@ - ; - - sp_if: -- { Lex->sphead->reset_lex(YYTHD); } -+ { Lex->sphead->reset_lex(thd); } - expr THEN_SYM - { - LEX *lex= Lex; -@@ -3108,7 +3091,7 @@ - sp->add_cont_backpatch(i) || - sp->add_instr(i)) - MYSQL_YYABORT; -- if (sp->restore_lex(YYTHD)) -+ if (sp->restore_lex(thd)) - MYSQL_YYABORT; - } - sp_proc_stmts1 -@@ -3147,7 +3130,7 @@ - { - LEX *lex= Lex; - case_stmt_action_case(lex); -- lex->sphead->reset_lex(YYTHD); /* For expr $3 */ -+ lex->sphead->reset_lex(thd); /* For expr $3 */ - } - expr - { -@@ -3156,7 +3139,7 @@ - MYSQL_YYABORT; - - /* For expr $3 */ -- if (lex->sphead->restore_lex(YYTHD)) -+ if (lex->sphead->restore_lex(thd)) - MYSQL_YYABORT; - } - simple_when_clause_list -@@ -3198,7 +3181,7 @@ - simple_when_clause: - WHEN_SYM - { -- Lex->sphead->reset_lex(YYTHD); /* For expr $3 */ -+ Lex->sphead->reset_lex(thd); /* For expr $3 */ - } - expr - { -@@ -3208,7 +3191,7 @@ - if (case_stmt_action_when(lex, $3, true)) - MYSQL_YYABORT; - /* For expr $3 */ -- if (lex->sphead->restore_lex(YYTHD)) -+ if (lex->sphead->restore_lex(thd)) - MYSQL_YYABORT; - } - THEN_SYM -@@ -3223,7 +3206,7 @@ - searched_when_clause: - WHEN_SYM - { -- Lex->sphead->reset_lex(YYTHD); /* For expr $3 */ -+ Lex->sphead->reset_lex(thd); /* For expr $3 */ - } - expr - { -@@ -3231,7 +3214,7 @@ - if (case_stmt_action_when(lex, $3, false)) - MYSQL_YYABORT; - /* For expr $3 */ -- if (lex->sphead->restore_lex(YYTHD)) -+ if (lex->sphead->restore_lex(thd)) - MYSQL_YYABORT; - } - THEN_SYM -@@ -3395,7 +3378,7 @@ - MYSQL_YYABORT; - } - | WHILE_SYM -- { Lex->sphead->reset_lex(YYTHD); } -+ { Lex->sphead->reset_lex(thd); } - expr DO_SYM - { - LEX *lex= Lex; -@@ -3409,7 +3392,7 @@ - sp->new_cont_backpatch(i) || - sp->add_instr(i)) - MYSQL_YYABORT; -- if (sp->restore_lex(YYTHD)) -+ if (sp->restore_lex(thd)) - MYSQL_YYABORT; - } - sp_proc_stmts1 END WHILE_SYM -@@ -3424,7 +3407,7 @@ - lex->sphead->do_cont_backpatch(); - } - | REPEAT_SYM sp_proc_stmts1 UNTIL_SYM -- { Lex->sphead->reset_lex(YYTHD); } -+ { Lex->sphead->reset_lex(thd); } - expr END REPEAT_SYM - { - LEX *lex= Lex; -@@ -3436,7 +3419,7 @@ - if (i == NULL || - lex->sphead->add_instr(i)) - MYSQL_YYABORT; -- if (lex->sphead->restore_lex(YYTHD)) -+ if (lex->sphead->restore_lex(thd)) - MYSQL_YYABORT; - /* We can shortcut the cont_backpatch here */ - i->m_cont_dest= ip+1; -@@ -3859,7 +3842,6 @@ - create3 {} - | LIKE table_ident - { -- THD *thd= YYTHD; - TABLE_LIST *src_table; - LEX *lex= thd->lex; - -@@ -3873,7 +3855,6 @@ - } - | '(' LIKE table_ident ')' - { -- THD *thd= YYTHD; - TABLE_LIST *src_table; - LEX *lex= thd->lex; - -@@ -4342,7 +4323,6 @@ - bit_expr - { - Item *part_expr= $1; -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Name_resolution_context *context= &lex->current_select->context; - TABLE_LIST *save_list= context->table_list; -@@ -4364,7 +4344,7 @@ - my_error(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED, MYF(0)); - MYSQL_YYABORT; - } -- if (part_expr->fix_fields(YYTHD, (Item**)0) || -+ if (part_expr->fix_fields(thd, (Item**)0) || - ((context->table_list= save_list), FALSE) || - (!part_expr->const_item()) || - (!lex->safe_to_cache_query)) -@@ -4629,7 +4609,7 @@ - | TYPE_SYM opt_equal storage_engines - { - Lex->create_info.db_type= $3; -- WARN_DEPRECATED(yythd, "6.0", "TYPE=storage_engine", -+ WARN_DEPRECATED(thd, "6.0", "TYPE=storage_engine", - "'ENGINE=storage_engine'"); - Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE; - } -@@ -4791,19 +4771,19 @@ - storage_engines: - ident_or_text - { -- plugin_ref plugin= ha_resolve_by_name(YYTHD, &$1); -+ plugin_ref plugin= ha_resolve_by_name(thd, &$1); - - if (plugin) - $$= plugin_data(plugin, handlerton*); - else - { -- if (YYTHD->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION) -+ if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION) - { - my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), $1.str); - MYSQL_YYABORT; - } - $$= 0; -- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, -+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN, - ER_UNKNOWN_STORAGE_ENGINE, - ER(ER_UNKNOWN_STORAGE_ENGINE), - $1.str); -@@ -4815,7 +4795,7 @@ - ident_or_text - { - plugin_ref plugin; -- if ((plugin= ha_resolve_by_name(YYTHD, &$1))) -+ if ((plugin= ha_resolve_by_name(thd, &$1))) - $$= plugin_data(plugin, handlerton*); - else - { -@@ -5043,7 +5023,7 @@ - { - char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1]; - my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length); -- push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_NOTE, -+ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, - ER_WARN_DEPRECATED_SYNTAX, - ER(ER_WARN_DEPRECATED_SYNTAX), - buff, "YEAR(4)"); -@@ -5057,7 +5037,7 @@ - { $$=MYSQL_TYPE_TIME; } - | TIMESTAMP opt_field_length - { -- if (YYTHD->variables.sql_mode & MODE_MAXDB) -+ if (thd->variables.sql_mode & MODE_MAXDB) - $$=MYSQL_TYPE_DATETIME; - else - { -@@ -5189,7 +5169,7 @@ - real_type: - REAL - { -- $$= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ? -+ $$= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ? - MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE; - } - | DOUBLE_SYM -@@ -5263,7 +5243,7 @@ - | DEFAULT now_or_signed_literal { Lex->default_value=$2; } - | ON UPDATE_SYM NOW_SYM optional_braces - { -- Item *item= new (YYTHD->mem_root) Item_func_now_local(); -+ Item *item= new (thd->mem_root) Item_func_now_local(); - if (item == NULL) - MYSQL_YYABORT; - Lex->on_update_value= item; -@@ -5312,7 +5292,7 @@ - now_or_signed_literal: - NOW_SYM optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_now_local(); -+ $$= new (thd->mem_root) Item_func_now_local(); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -5673,7 +5653,6 @@ - alter: - ALTER opt_ignore TABLE_SYM table_ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->name.str= 0; - lex->name.length= 0; -@@ -5799,7 +5778,7 @@ - Event_parse_data. - */ - -- if (!(Lex->event_parse_data= Event_parse_data::new_instance(YYTHD))) -+ if (!(Lex->event_parse_data= Event_parse_data::new_instance(thd))) - MYSQL_YYABORT; - Lex->event_parse_data->identifier= $4; - -@@ -6192,7 +6171,6 @@ - { - if (!$4) - { -- THD *thd= YYTHD; - $4= thd->variables.collation_database; - } - $5= $5 ? $5 : $4; -@@ -6556,7 +6534,7 @@ - assign_to_keycache: - table_ident cache_keys_spec - { -- if (!Select->add_table_to_list(YYTHD, $1, NULL, 0, TL_READ, -+ if (!Select->add_table_to_list(thd, $1, NULL, 0, TL_READ, - Select->pop_index_hints())) - MYSQL_YYABORT; - } -@@ -6585,7 +6563,7 @@ - preload_keys: - table_ident cache_keys_spec opt_ignore_leaves - { -- if (!Select->add_table_to_list(YYTHD, $1, NULL, $3, TL_READ, -+ if (!Select->add_table_to_list(thd, $1, NULL, $3, TL_READ, - Select->pop_index_hints())) - MYSQL_YYABORT; - } -@@ -6593,7 +6571,7 @@ - - cache_keys_spec: - { -- Lex->select_lex.alloc_index_hints(YYTHD); -+ Lex->select_lex.alloc_index_hints(thd); - Select->set_index_hint_type(INDEX_HINT_USE, - global_system_variables.old_mode ? - INDEX_HINT_MASK_JOIN : -@@ -6813,7 +6791,6 @@ - | select_item - | '*' - { -- THD *thd= YYTHD; - Item *item= new (thd->mem_root) - Item_field(&thd->lex->current_select->context, - NULL, NULL, "*"); -@@ -6828,7 +6805,6 @@ - select_item: - remember_name select_item2 remember_end select_alias - { -- THD *thd= YYTHD; - DBUG_ASSERT($1 < $3); - - if (add_item_to_list(thd, $2)) -@@ -6929,7 +6905,7 @@ - else - { - /* X OR Y */ -- $$ = new (YYTHD->mem_root) Item_cond_or($1, $3); -+ $$ = new (thd->mem_root) Item_cond_or($1, $3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -6937,7 +6913,7 @@ - | expr XOR expr %prec XOR - { - /* XOR is a proprietary extension */ -- $$ = new (YYTHD->mem_root) Item_cond_xor($1, $3); -+ $$ = new (thd->mem_root) Item_cond_xor($1, $3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -6979,50 +6955,50 @@ - else - { - /* X AND Y */ -- $$ = new (YYTHD->mem_root) Item_cond_and($1, $3); -+ $$ = new (thd->mem_root) Item_cond_and($1, $3); - if ($$ == NULL) - MYSQL_YYABORT; - } - } - | NOT_SYM expr %prec NOT_SYM - { -- $$= negate_expression(YYTHD, $2); -+ $$= negate_expression(thd, $2); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS TRUE_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_istrue($1); -+ $$= new (thd->mem_root) Item_func_istrue($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS not TRUE_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isnottrue($1); -+ $$= new (thd->mem_root) Item_func_isnottrue($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS FALSE_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isfalse($1); -+ $$= new (thd->mem_root) Item_func_isfalse($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS not FALSE_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isnotfalse($1); -+ $$= new (thd->mem_root) Item_func_isnotfalse($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS UNKNOWN_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isnull($1); -+ $$= new (thd->mem_root) Item_func_isnull($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS not UNKNOWN_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isnotnull($1); -+ $$= new (thd->mem_root) Item_func_isnotnull($1); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7032,19 +7008,19 @@ - bool_pri: - bool_pri IS NULL_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isnull($1); -+ $$= new (thd->mem_root) Item_func_isnull($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri IS not NULL_SYM %prec IS - { -- $$= new (YYTHD->mem_root) Item_func_isnotnull($1); -+ $$= new (thd->mem_root) Item_func_isnotnull($1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bool_pri EQUAL_SYM predicate %prec EQUAL_SYM - { -- $$= new (YYTHD->mem_root) Item_func_equal($1,$3); -+ $$= new (thd->mem_root) Item_func_equal($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7066,13 +7042,12 @@ - predicate: - bit_expr IN_SYM '(' subselect ')' - { -- $$= new (YYTHD->mem_root) Item_in_subselect($1, $4); -+ $$= new (thd->mem_root) Item_in_subselect($1, $4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr not IN_SYM '(' subselect ')' - { -- THD *thd= YYTHD; - Item *item= new (thd->mem_root) Item_in_subselect($1, $5); - if (item == NULL) - MYSQL_YYABORT; -@@ -7082,7 +7057,7 @@ - } - | bit_expr IN_SYM '(' expr ')' - { -- $$= handle_sql2003_note184_exception(YYTHD, $1, true, $4); -+ $$= handle_sql2003_note184_exception(thd, $1, true, $4); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7090,13 +7065,13 @@ - { - $6->push_front($4); - $6->push_front($1); -- $$= new (YYTHD->mem_root) Item_func_in(*$6); -+ $$= new (thd->mem_root) Item_func_in(*$6); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr not IN_SYM '(' expr ')' - { -- $$= handle_sql2003_note184_exception(YYTHD, $1, false, $5); -+ $$= handle_sql2003_note184_exception(thd, $1, false, $5); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7104,7 +7079,7 @@ - { - $7->push_front($5); - $7->push_front($1); -- Item_func_in *item = new (YYTHD->mem_root) Item_func_in(*$7); -+ Item_func_in *item = new (thd->mem_root) Item_func_in(*$7); - if (item == NULL) - MYSQL_YYABORT; - item->negate(); -@@ -7112,14 +7087,14 @@ - } - | bit_expr BETWEEN_SYM bit_expr AND_SYM predicate - { -- $$= new (YYTHD->mem_root) Item_func_between($1,$3,$5); -+ $$= new (thd->mem_root) Item_func_between($1,$3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr not BETWEEN_SYM bit_expr AND_SYM predicate - { - Item_func_between *item; -- item= new (YYTHD->mem_root) Item_func_between($1,$4,$6); -+ item= new (thd->mem_root) Item_func_between($1,$4,$6); - if (item == NULL) - MYSQL_YYABORT; - item->negate(); -@@ -7127,42 +7102,42 @@ - } - | bit_expr SOUNDS_SYM LIKE bit_expr - { -- Item *item1= new (YYTHD->mem_root) Item_func_soundex($1); -- Item *item4= new (YYTHD->mem_root) Item_func_soundex($4); -+ Item *item1= new (thd->mem_root) Item_func_soundex($1); -+ Item *item4= new (thd->mem_root) Item_func_soundex($4); - if ((item1 == NULL) || (item4 == NULL)) - MYSQL_YYABORT; -- $$= new (YYTHD->mem_root) Item_func_eq(item1, item4); -+ $$= new (thd->mem_root) Item_func_eq(item1, item4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr LIKE simple_expr opt_escape - { -- $$= new (YYTHD->mem_root) Item_func_like($1,$3,$4,Lex->escape_used); -+ $$= new (thd->mem_root) Item_func_like($1,$3,$4,Lex->escape_used); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr not LIKE simple_expr opt_escape - { -- Item *item= new (YYTHD->mem_root) Item_func_like($1,$4,$5, -+ Item *item= new (thd->mem_root) Item_func_like($1,$4,$5, - Lex->escape_used); - if (item == NULL) - MYSQL_YYABORT; -- $$= new (YYTHD->mem_root) Item_func_not(item); -+ $$= new (thd->mem_root) Item_func_not(item); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr REGEXP bit_expr - { -- $$= new (YYTHD->mem_root) Item_func_regex($1,$3); -+ $$= new (thd->mem_root) Item_func_regex($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr not REGEXP bit_expr - { -- Item *item= new (YYTHD->mem_root) Item_func_regex($1,$4); -+ Item *item= new (thd->mem_root) Item_func_regex($1,$4); - if (item == NULL) - MYSQL_YYABORT; -- $$= negate_expression(YYTHD, item); -+ $$= negate_expression(thd, item); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7172,85 +7147,85 @@ - bit_expr: - bit_expr '|' bit_expr %prec '|' - { -- $$= new (YYTHD->mem_root) Item_func_bit_or($1,$3); -+ $$= new (thd->mem_root) Item_func_bit_or($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '&' bit_expr %prec '&' - { -- $$= new (YYTHD->mem_root) Item_func_bit_and($1,$3); -+ $$= new (thd->mem_root) Item_func_bit_and($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr SHIFT_LEFT bit_expr %prec SHIFT_LEFT - { -- $$= new (YYTHD->mem_root) Item_func_shift_left($1,$3); -+ $$= new (thd->mem_root) Item_func_shift_left($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr SHIFT_RIGHT bit_expr %prec SHIFT_RIGHT - { -- $$= new (YYTHD->mem_root) Item_func_shift_right($1,$3); -+ $$= new (thd->mem_root) Item_func_shift_right($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '+' bit_expr %prec '+' - { -- $$= new (YYTHD->mem_root) Item_func_plus($1,$3); -+ $$= new (thd->mem_root) Item_func_plus($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '-' bit_expr %prec '-' - { -- $$= new (YYTHD->mem_root) Item_func_minus($1,$3); -+ $$= new (thd->mem_root) Item_func_minus($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '+' INTERVAL_SYM expr interval %prec '+' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($1,$4,$5,0); -+ $$= new (thd->mem_root) Item_date_add_interval($1,$4,$5,0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '-' INTERVAL_SYM expr interval %prec '-' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($1,$4,$5,1); -+ $$= new (thd->mem_root) Item_date_add_interval($1,$4,$5,1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '*' bit_expr %prec '*' - { -- $$= new (YYTHD->mem_root) Item_func_mul($1,$3); -+ $$= new (thd->mem_root) Item_func_mul($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '/' bit_expr %prec '/' - { -- $$= new (YYTHD->mem_root) Item_func_div($1,$3); -+ $$= new (thd->mem_root) Item_func_div($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '%' bit_expr %prec '%' - { -- $$= new (YYTHD->mem_root) Item_func_mod($1,$3); -+ $$= new (thd->mem_root) Item_func_mod($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr DIV_SYM bit_expr %prec DIV_SYM - { -- $$= new (YYTHD->mem_root) Item_func_int_div($1,$3); -+ $$= new (thd->mem_root) Item_func_int_div($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr MOD_SYM bit_expr %prec MOD_SYM - { -- $$= new (YYTHD->mem_root) Item_func_mod($1,$3); -+ $$= new (thd->mem_root) Item_func_mod($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | bit_expr '^' bit_expr - { -- $$= new (YYTHD->mem_root) Item_func_bit_xor($1,$3); -+ $$= new (thd->mem_root) Item_func_bit_xor($1,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7299,7 +7274,6 @@ - | function_call_conflict - | simple_expr COLLATE_SYM ident_or_text %prec NEG - { -- THD *thd= YYTHD; - Item *i1= new (thd->mem_root) Item_string($3.str, - $3.length, - thd->charset()); -@@ -7315,7 +7289,7 @@ - | sum_expr - | simple_expr OR_OR_SYM simple_expr - { -- $$= new (YYTHD->mem_root) Item_func_concat($1, $3); -+ $$= new (thd->mem_root) Item_func_concat($1, $3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7325,25 +7299,25 @@ - } - | '-' simple_expr %prec NEG - { -- $$= new (YYTHD->mem_root) Item_func_neg($2); -+ $$= new (thd->mem_root) Item_func_neg($2); - if ($$ == NULL) - MYSQL_YYABORT; - } - | '~' simple_expr %prec NEG - { -- $$= new (YYTHD->mem_root) Item_func_bit_neg($2); -+ $$= new (thd->mem_root) Item_func_bit_neg($2); - if ($$ == NULL) - MYSQL_YYABORT; - } - | not2 simple_expr %prec NEG - { -- $$= negate_expression(YYTHD, $2); -+ $$= negate_expression(thd, $2); - if ($$ == NULL) - MYSQL_YYABORT; - } - | '(' subselect ')' - { -- $$= new (YYTHD->mem_root) Item_singlerow_subselect($2); -+ $$= new (thd->mem_root) Item_singlerow_subselect($2); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7352,20 +7326,20 @@ - | '(' expr ',' expr_list ')' - { - $4->push_front($2); -- $$= new (YYTHD->mem_root) Item_row(*$4); -+ $$= new (thd->mem_root) Item_row(*$4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | ROW_SYM '(' expr ',' expr_list ')' - { - $5->push_front($3); -- $$= new (YYTHD->mem_root) Item_row(*$5); -+ $$= new (thd->mem_root) Item_row(*$5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | EXISTS '(' subselect ')' - { -- $$= new (YYTHD->mem_root) Item_exists_subselect($3); -+ $$= new (thd->mem_root) Item_exists_subselect($3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7374,7 +7348,7 @@ - | MATCH ident_list_arg AGAINST '(' bit_expr fulltext_options ')' - { - $2->push_front($5); -- Item_func_match *i1= new (YYTHD->mem_root) Item_func_match(*$2, $6); -+ Item_func_match *i1= new (thd->mem_root) Item_func_match(*$2, $6); - if (i1 == NULL) - MYSQL_YYABORT; - Select->add_ftfunc_to_list(i1); -@@ -7382,7 +7356,7 @@ - } - | BINARY simple_expr %prec NEG - { -- $$= create_func_cast(YYTHD, $2, ITEM_CAST_CHAR, NULL, NULL, -+ $$= create_func_cast(thd, $2, ITEM_CAST_CHAR, NULL, NULL, - &my_charset_bin); - if ($$ == NULL) - MYSQL_YYABORT; -@@ -7390,27 +7364,27 @@ - | CAST_SYM '(' expr AS cast_type ')' - { - LEX *lex= Lex; -- $$= create_func_cast(YYTHD, $3, $5, lex->length, lex->dec, -+ $$= create_func_cast(thd, $3, $5, lex->length, lex->dec, - lex->charset); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CASE_SYM opt_expr when_list opt_else END - { -- $$= new (YYTHD->mem_root) Item_func_case(* $3, $2, $4 ); -+ $$= new (thd->mem_root) Item_func_case(* $3, $2, $4 ); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CONVERT_SYM '(' expr ',' cast_type ')' - { -- $$= create_func_cast(YYTHD, $3, $5, Lex->length, Lex->dec, -+ $$= create_func_cast(thd, $3, $5, Lex->length, Lex->dec, - Lex->charset); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CONVERT_SYM '(' expr USING charset_name ')' - { -- $$= new (YYTHD->mem_root) Item_func_conv_charset($3,$5); -+ $$= new (thd->mem_root) Item_func_conv_charset($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7423,14 +7397,14 @@ - my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str); - MYSQL_YYABORT; - } -- $$= new (YYTHD->mem_root) Item_default_value(Lex->current_context(), -+ $$= new (thd->mem_root) Item_default_value(Lex->current_context(), - $3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | VALUES '(' simple_ident_nospvar ')' - { -- $$= new (YYTHD->mem_root) Item_insert_value(Lex->current_context(), -+ $$= new (thd->mem_root) Item_insert_value(Lex->current_context(), - $3); - if ($$ == NULL) - MYSQL_YYABORT; -@@ -7438,7 +7412,7 @@ - | INTERVAL_SYM expr interval '+' expr %prec INTERVAL_SYM - /* we cannot put interval before - */ - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($5,$2,$3,0); -+ $$= new (thd->mem_root) Item_date_add_interval($5,$2,$3,0); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7453,19 +7427,19 @@ - function_call_keyword: - CHAR_SYM '(' expr_list ')' - { -- $$= new (YYTHD->mem_root) Item_func_char(*$3); -+ $$= new (thd->mem_root) Item_func_char(*$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CHAR_SYM '(' expr_list USING charset_name ')' - { -- $$= new (YYTHD->mem_root) Item_func_char(*$3, $5); -+ $$= new (thd->mem_root) Item_func_char(*$3, $5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CURRENT_USER optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_current_user(Lex->current_context()); -+ $$= new (thd->mem_root) Item_func_current_user(Lex->current_context()); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->set_stmt_unsafe(); -@@ -7473,31 +7447,30 @@ - } - | DATE_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_date_typecast($3); -+ $$= new (thd->mem_root) Item_date_typecast($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | DAY_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_dayofmonth($3); -+ $$= new (thd->mem_root) Item_func_dayofmonth($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | HOUR_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_hour($3); -+ $$= new (thd->mem_root) Item_func_hour($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | INSERT '(' expr ',' expr ',' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_insert($3,$5,$7,$9); -+ $$= new (thd->mem_root) Item_func_insert($3,$5,$7,$9); - if ($$ == NULL) - MYSQL_YYABORT; - } - | INTERVAL_SYM '(' expr ',' expr ')' %prec INTERVAL_SYM - { -- THD *thd= YYTHD; - List *list= new (thd->mem_root) List; - if (list == NULL) - MYSQL_YYABORT; -@@ -7512,7 +7485,6 @@ - } - | INTERVAL_SYM '(' expr ',' expr ',' expr_list ')' %prec INTERVAL_SYM - { -- THD *thd= YYTHD; - $7->push_front($5); - $7->push_front($3); - Item_row *item= new (thd->mem_root) Item_row(*$7); -@@ -7524,103 +7496,103 @@ - } - | LEFT '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_left($3,$5); -+ $$= new (thd->mem_root) Item_func_left($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MINUTE_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_minute($3); -+ $$= new (thd->mem_root) Item_func_minute($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MONTH_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_month($3); -+ $$= new (thd->mem_root) Item_func_month($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | RIGHT '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_right($3,$5); -+ $$= new (thd->mem_root) Item_func_right($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SECOND_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_second($3); -+ $$= new (thd->mem_root) Item_func_second($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TIME_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_time_typecast($3); -+ $$= new (thd->mem_root) Item_time_typecast($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TIMESTAMP '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_datetime_typecast($3); -+ $$= new (thd->mem_root) Item_datetime_typecast($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TIMESTAMP '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_add_time($3, $5, 1, 0); -+ $$= new (thd->mem_root) Item_func_add_time($3, $5, 1, 0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_trim($3); -+ $$= new (thd->mem_root) Item_func_trim($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' LEADING expr FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_ltrim($6,$4); -+ $$= new (thd->mem_root) Item_func_ltrim($6,$4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' TRAILING expr FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_rtrim($6,$4); -+ $$= new (thd->mem_root) Item_func_rtrim($6,$4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' BOTH expr FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_trim($6,$4); -+ $$= new (thd->mem_root) Item_func_trim($6,$4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' LEADING FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_ltrim($5); -+ $$= new (thd->mem_root) Item_func_ltrim($5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' TRAILING FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_rtrim($5); -+ $$= new (thd->mem_root) Item_func_rtrim($5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' BOTH FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_trim($5); -+ $$= new (thd->mem_root) Item_func_trim($5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRIM '(' expr FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_trim($5,$3); -+ $$= new (thd->mem_root) Item_func_trim($5,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | USER '(' ')' - { -- $$= new (YYTHD->mem_root) Item_func_user(); -+ $$= new (thd->mem_root) Item_func_user(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->set_stmt_unsafe(); -@@ -7628,7 +7600,7 @@ - } - | YEAR_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_year($3); -+ $$= new (thd->mem_root) Item_func_year($3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7649,34 +7621,34 @@ - function_call_nonkeyword: - ADDDATE_SYM '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $5, -+ $$= new (thd->mem_root) Item_date_add_interval($3, $5, - INTERVAL_DAY, 0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | ADDDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $6, $7, 0); -+ $$= new (thd->mem_root) Item_date_add_interval($3, $6, $7, 0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CURDATE optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_curdate_local(); -+ $$= new (thd->mem_root) Item_func_curdate_local(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | CURTIME optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_curtime_local(); -+ $$= new (thd->mem_root) Item_func_curtime_local(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | CURTIME '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_curtime_local($3); -+ $$= new (thd->mem_root) Item_func_curtime_local($3); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; -@@ -7684,83 +7656,83 @@ - | DATE_ADD_INTERVAL '(' expr ',' INTERVAL_SYM expr interval ')' - %prec INTERVAL_SYM - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($3,$6,$7,0); -+ $$= new (thd->mem_root) Item_date_add_interval($3,$6,$7,0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | DATE_SUB_INTERVAL '(' expr ',' INTERVAL_SYM expr interval ')' - %prec INTERVAL_SYM - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($3,$6,$7,1); -+ $$= new (thd->mem_root) Item_date_add_interval($3,$6,$7,1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | EXTRACT_SYM '(' interval FROM expr ')' - { -- $$=new (YYTHD->mem_root) Item_extract( $3, $5); -+ $$=new (thd->mem_root) Item_extract( $3, $5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | GET_FORMAT '(' date_time_type ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_get_format($3, $5); -+ $$= new (thd->mem_root) Item_func_get_format($3, $5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | NOW_SYM optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_now_local(); -+ $$= new (thd->mem_root) Item_func_now_local(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | NOW_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_now_local($3); -+ $$= new (thd->mem_root) Item_func_now_local($3); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | POSITION_SYM '(' bit_expr IN_SYM expr ')' - { -- $$ = new (YYTHD->mem_root) Item_func_locate($5,$3); -+ $$ = new (thd->mem_root) Item_func_locate($5,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUBDATE_SYM '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $5, -+ $$= new (thd->mem_root) Item_date_add_interval($3, $5, - INTERVAL_DAY, 1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUBDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($3, $6, $7, 1); -+ $$= new (thd->mem_root) Item_date_add_interval($3, $6, $7, 1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUBSTRING '(' expr ',' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_substr($3,$5,$7); -+ $$= new (thd->mem_root) Item_func_substr($3,$5,$7); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUBSTRING '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_substr($3,$5); -+ $$= new (thd->mem_root) Item_func_substr($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUBSTRING '(' expr FROM expr FOR_SYM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_substr($3,$5,$7); -+ $$= new (thd->mem_root) Item_func_substr($3,$5,$7); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUBSTRING '(' expr FROM expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_substr($3,$5); -+ $$= new (thd->mem_root) Item_func_substr($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7775,9 +7747,9 @@ - */ - Lex->set_stmt_unsafe(); - if (global_system_variables.sysdate_is_now == 0) -- $$= new (YYTHD->mem_root) Item_func_sysdate_local(); -+ $$= new (thd->mem_root) Item_func_sysdate_local(); - else -- $$= new (YYTHD->mem_root) Item_func_now_local(); -+ $$= new (thd->mem_root) Item_func_now_local(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; -@@ -7785,42 +7757,42 @@ - | SYSDATE '(' expr ')' - { - if (global_system_variables.sysdate_is_now == 0) -- $$= new (YYTHD->mem_root) Item_func_sysdate_local($3); -+ $$= new (thd->mem_root) Item_func_sysdate_local($3); - else -- $$= new (YYTHD->mem_root) Item_func_now_local($3); -+ $$= new (thd->mem_root) Item_func_now_local($3); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | TIMESTAMP_ADD '(' interval_time_stamp ',' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_date_add_interval($7,$5,$3,0); -+ $$= new (thd->mem_root) Item_date_add_interval($7,$5,$3,0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TIMESTAMP_DIFF '(' interval_time_stamp ',' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_timestamp_diff($5,$7,$3); -+ $$= new (thd->mem_root) Item_func_timestamp_diff($5,$7,$3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | UTC_DATE_SYM optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_curdate_utc(); -+ $$= new (thd->mem_root) Item_func_curdate_utc(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | UTC_TIME_SYM optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_curtime_utc(); -+ $$= new (thd->mem_root) Item_func_curtime_utc(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | UTC_TIMESTAMP_SYM optional_braces - { -- $$= new (YYTHD->mem_root) Item_func_now_utc(); -+ $$= new (thd->mem_root) Item_func_now_utc(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; -@@ -7835,62 +7807,61 @@ - function_call_conflict: - ASCII_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_ascii($3); -+ $$= new (thd->mem_root) Item_func_ascii($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | CHARSET '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_charset($3); -+ $$= new (thd->mem_root) Item_func_charset($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | COALESCE '(' expr_list ')' - { -- $$= new (YYTHD->mem_root) Item_func_coalesce(* $3); -+ $$= new (thd->mem_root) Item_func_coalesce(* $3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | COLLATION_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_collation($3); -+ $$= new (thd->mem_root) Item_func_collation($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | DATABASE '(' ')' - { -- $$= new (YYTHD->mem_root) Item_func_database(); -+ $$= new (thd->mem_root) Item_func_database(); - if ($$ == NULL) - MYSQL_YYABORT; - Lex->safe_to_cache_query=0; - } - | IF '(' expr ',' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_if($3,$5,$7); -+ $$= new (thd->mem_root) Item_func_if($3,$5,$7); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MICROSECOND_SYM '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_microsecond($3); -+ $$= new (thd->mem_root) Item_func_microsecond($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MOD_SYM '(' expr ',' expr ')' - { -- $$ = new (YYTHD->mem_root) Item_func_mod($3, $5); -+ $$ = new (thd->mem_root) Item_func_mod($3, $5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | OLD_PASSWORD '(' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_old_password($3); -+ $$= new (thd->mem_root) Item_func_old_password($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | PASSWORD '(' expr ')' - { -- THD *thd= YYTHD; - Item* i1; - if (thd->variables.old_passwords) - i1= new (thd->mem_root) Item_func_old_password($3); -@@ -7902,31 +7873,30 @@ - } - | QUARTER_SYM '(' expr ')' - { -- $$ = new (YYTHD->mem_root) Item_func_quarter($3); -+ $$ = new (thd->mem_root) Item_func_quarter($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | REPEAT_SYM '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_repeat($3,$5); -+ $$= new (thd->mem_root) Item_func_repeat($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | REPLACE '(' expr ',' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_replace($3,$5,$7); -+ $$= new (thd->mem_root) Item_func_replace($3,$5,$7); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRUNCATE_SYM '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_round($3,$5,1); -+ $$= new (thd->mem_root) Item_func_round($3,$5,1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | WEEK_SYM '(' expr ')' - { -- THD *thd= YYTHD; - Item *i1= new (thd->mem_root) Item_int((char*) "0", - thd->variables.default_week_format, - 1); -@@ -7938,7 +7908,7 @@ - } - | WEEK_SYM '(' expr ',' expr ')' - { -- $$= new (YYTHD->mem_root) Item_func_week($3,$5); -+ $$= new (thd->mem_root) Item_func_week($3,$5); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -7960,52 +7930,52 @@ - geometry_function: - CONTAINS_SYM '(' expr ',' expr ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_rel($3, $5, - Item_func::SP_CONTAINS_FUNC)); - } - | GEOMETRYCOLLECTION '(' expr_list ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_collection(* $3, - Geometry::wkb_geometrycollection, - Geometry::wkb_point)); - } - | LINESTRING '(' expr_list ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_collection(* $3, - Geometry::wkb_linestring, - Geometry::wkb_point)); - } - | MULTILINESTRING '(' expr_list ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_collection(* $3, - Geometry::wkb_multilinestring, - Geometry::wkb_linestring)); - } - | MULTIPOINT '(' expr_list ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_collection(* $3, - Geometry::wkb_multipoint, - Geometry::wkb_point)); - } - | MULTIPOLYGON '(' expr_list ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_collection(* $3, - Geometry::wkb_multipolygon, - Geometry::wkb_polygon)); - } - | POINT_SYM '(' expr ',' expr ')' - { -- $$= GEOM_NEW(YYTHD, Item_func_point($3,$5)); -+ $$= GEOM_NEW(thd, Item_func_point($3,$5)); - } - | POLYGON '(' expr_list ')' - { -- $$= GEOM_NEW(YYTHD, -+ $$= GEOM_NEW(thd, - Item_func_spatial_collection(* $3, - Geometry::wkb_polygon, - Geometry::wkb_linestring)); -@@ -8043,7 +8013,6 @@ - } - opt_udf_expr_list ')' - { -- THD *thd= YYTHD; - Create_func *builder; - Item *item= NULL; - -@@ -8097,7 +8066,6 @@ - } - | ident '.' ident '(' opt_expr_list ')' - { -- THD *thd= YYTHD; - Create_qfunc *builder; - Item *item= NULL; - -@@ -8161,7 +8129,7 @@ - udf_expr_list: - udf_expr - { -- $$= new (YYTHD->mem_root) List; -+ $$= new (thd->mem_root) List; - if ($$ == NULL) - MYSQL_YYABORT; - $$->push_back($1); -@@ -8194,7 +8162,7 @@ - remember_name we may get quoted or escaped names. - */ - else if ($2->type() != Item::FIELD_ITEM) -- $2->set_name($1, (uint) ($3 - $1), YYTHD->charset()); -+ $2->set_name($1, (uint) ($3 - $1), thd->charset()); - $$= $2; - } - ; -@@ -8202,46 +8170,46 @@ - sum_expr: - AVG_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_avg($3); -+ $$= new (thd->mem_root) Item_sum_avg($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | AVG_SYM '(' DISTINCT in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_avg_distinct($4); -+ $$= new (thd->mem_root) Item_sum_avg_distinct($4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | BIT_AND '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_and($3); -+ $$= new (thd->mem_root) Item_sum_and($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | BIT_OR '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_or($3); -+ $$= new (thd->mem_root) Item_sum_or($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | BIT_XOR '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_xor($3); -+ $$= new (thd->mem_root) Item_sum_xor($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | COUNT_SYM '(' opt_all '*' ')' - { -- Item *item= new (YYTHD->mem_root) Item_int((int32) 0L,1); -+ Item *item= new (thd->mem_root) Item_int((int32) 0L,1); - if (item == NULL) - MYSQL_YYABORT; -- $$= new (YYTHD->mem_root) Item_sum_count(item); -+ $$= new (thd->mem_root) Item_sum_count(item); - if ($$ == NULL) - MYSQL_YYABORT; - } - | COUNT_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_count($3); -+ $$= new (thd->mem_root) Item_sum_count($3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -8251,13 +8219,13 @@ - { Select->in_sum_expr--; } - ')' - { -- $$= new (YYTHD->mem_root) Item_sum_count_distinct(* $5); -+ $$= new (thd->mem_root) Item_sum_count_distinct(* $5); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MIN_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_min($3); -+ $$= new (thd->mem_root) Item_sum_min($3); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -8268,55 +8236,55 @@ - */ - | MIN_SYM '(' DISTINCT in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_min($4); -+ $$= new (thd->mem_root) Item_sum_min($4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MAX_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_max($3); -+ $$= new (thd->mem_root) Item_sum_max($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | MAX_SYM '(' DISTINCT in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_max($4); -+ $$= new (thd->mem_root) Item_sum_max($4); - if ($$ == NULL) - MYSQL_YYABORT; - } - | STD_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_std($3, 0); -+ $$= new (thd->mem_root) Item_sum_std($3, 0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | VARIANCE_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_variance($3, 0); -+ $$= new (thd->mem_root) Item_sum_variance($3, 0); - if ($$ == NULL) - MYSQL_YYABORT; - } - | STDDEV_SAMP_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_std($3, 1); -+ $$= new (thd->mem_root) Item_sum_std($3, 1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | VAR_SAMP_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_variance($3, 1); -+ $$= new (thd->mem_root) Item_sum_variance($3, 1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUM_SYM '(' in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_sum($3); -+ $$= new (thd->mem_root) Item_sum_sum($3); - if ($$ == NULL) - MYSQL_YYABORT; - } - | SUM_SYM '(' DISTINCT in_sum_expr ')' - { -- $$= new (YYTHD->mem_root) Item_sum_sum_distinct($4); -+ $$= new (thd->mem_root) Item_sum_sum_distinct($4); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -8328,7 +8296,7 @@ - { - SELECT_LEX *sel= Select; - sel->in_sum_expr--; -- $$= new (YYTHD->mem_root) -+ $$= new (thd->mem_root) - Item_func_group_concat(Lex->current_context(), $3, $5, - sel->gorder_list, $7); - if ($$ == NULL) -@@ -8357,7 +8325,7 @@ - ident_or_text SET_VAR expr - { - Item_func_set_user_var *item; -- $$= item= new (YYTHD->mem_root) Item_func_set_user_var($1, $3); -+ $$= item= new (thd->mem_root) Item_func_set_user_var($1, $3); - if ($$ == NULL) - MYSQL_YYABORT; - LEX *lex= Lex; -@@ -8366,7 +8334,7 @@ - } - | ident_or_text - { -- $$= new (YYTHD->mem_root) Item_func_get_user_var($1); -+ $$= new (thd->mem_root) Item_func_get_user_var($1); - if ($$ == NULL) - MYSQL_YYABORT; - LEX *lex= Lex; -@@ -8380,7 +8348,7 @@ - my_parse_error(ER(ER_SYNTAX_ERROR)); - MYSQL_YYABORT; - } -- if (!($$= get_system_var(YYTHD, $2, $3, $4))) -+ if (!($$= get_system_var(thd, $2, $3, $4))) - MYSQL_YYABORT; - if (!((Item_func_get_system_var*) $$)->is_written_to_binlog()) - Lex->set_stmt_unsafe(); -@@ -8395,7 +8363,7 @@ - opt_gconcat_separator: - /* empty */ - { -- $$= new (YYTHD->mem_root) String(",", 1, &my_charset_latin1); -+ $$= new (thd->mem_root) String(",", 1, &my_charset_latin1); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -8422,9 +8390,9 @@ - - gorder_list: - gorder_list ',' order_ident order_dir -- { if (add_gorder_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; } -+ { if (add_gorder_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; } - | order_ident order_dir -- { if (add_gorder_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; } -+ { if (add_gorder_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; } - ; - - in_sum_expr: -@@ -8477,7 +8445,7 @@ - expr_list: - expr - { -- $$= new (YYTHD->mem_root) List; -+ $$= new (thd->mem_root) List; - if ($$ == NULL) - MYSQL_YYABORT; - $$->push_back($1); -@@ -8497,7 +8465,7 @@ - ident_list: - simple_ident - { -- $$= new (YYTHD->mem_root) List; -+ $$= new (thd->mem_root) List; - if ($$ == NULL) - MYSQL_YYABORT; - $$->push_back($1); -@@ -8595,7 +8563,7 @@ - { - MYSQL_YYABORT_UNLESS($1 && $3); - /* Change the current name resolution context to a local context. */ -- if (push_new_name_resolution_context(YYTHD, $1, $3)) -+ if (push_new_name_resolution_context(thd, $1, $3)) - MYSQL_YYABORT; - Select->parsing_place= IN_ON; - } -@@ -8610,7 +8578,7 @@ - { - MYSQL_YYABORT_UNLESS($1 && $3); - /* Change the current name resolution context to a local context. */ -- if (push_new_name_resolution_context(YYTHD, $1, $3)) -+ if (push_new_name_resolution_context(thd, $1, $3)) - MYSQL_YYABORT; - Select->parsing_place= IN_ON; - } -@@ -8640,7 +8608,7 @@ - { - MYSQL_YYABORT_UNLESS($1 && $5); - /* Change the current name resolution context to a local context. */ -- if (push_new_name_resolution_context(YYTHD, $1, $5)) -+ if (push_new_name_resolution_context(thd, $1, $5)) - MYSQL_YYABORT; - Select->parsing_place= IN_ON; - } -@@ -8676,7 +8644,7 @@ - { - MYSQL_YYABORT_UNLESS($1 && $5); - /* Change the current name resolution context to a local context. */ -- if (push_new_name_resolution_context(YYTHD, $1, $5)) -+ if (push_new_name_resolution_context(thd, $1, $5)) - MYSQL_YYABORT; - Select->parsing_place= IN_ON; - } -@@ -8724,7 +8692,7 @@ - } - table_ident opt_table_alias opt_key_definition - { -- if (!($$= Select->add_table_to_list(YYTHD, $2, $3, -+ if (!($$= Select->add_table_to_list(thd, $2, $3, - Select->get_table_join_options(), - Lex->lock_option, - Select->pop_index_hints()))) -@@ -8922,7 +8890,7 @@ - - opt_index_hints_list: - /* empty */ -- | { Select->alloc_index_hints(YYTHD); } index_hints_list -+ | { Select->alloc_index_hints(thd); } index_hints_list - ; - - opt_key_definition: -@@ -8931,15 +8899,15 @@ - ; - - opt_key_usage_list: -- /* empty */ { Select->add_index_hint(YYTHD, NULL, 0); } -+ /* empty */ { Select->add_index_hint(thd, NULL, 0); } - | key_usage_list {} - ; - - key_usage_element: - ident -- { Select->add_index_hint(YYTHD, $1.str, $1.length); } -+ { Select->add_index_hint(thd, $1.str, $1.length); } - | PRIMARY_SYM -- { Select->add_index_hint(YYTHD, (char *)"PRIMARY", 7); } -+ { Select->add_index_hint(thd, (char *)"PRIMARY", 7); } - ; - - key_usage_list: -@@ -8952,7 +8920,7 @@ - { - if (!($$= new List)) - MYSQL_YYABORT; -- String *s= new (YYTHD->mem_root) String((const char *) $1.str, -+ String *s= new (thd->mem_root) String((const char *) $1.str, - $1.length, - system_charset_info); - if (s == NULL) -@@ -8961,7 +8929,7 @@ - } - | using_list ',' ident - { -- String *s= new (YYTHD->mem_root) String((const char *) $3.str, -+ String *s= new (thd->mem_root) String((const char *) $3.str, - $3.length, - system_charset_info); - if (s == NULL) -@@ -9002,7 +8970,7 @@ - implementation without changing its - resolution. - */ -- WARN_DEPRECATED(yythd, VER_CELOSIA, "FRAC_SECOND", "MICROSECOND"); -+ WARN_DEPRECATED(thd, VER_CELOSIA, "FRAC_SECOND", "MICROSECOND"); - } - ; - -@@ -9086,7 +9054,6 @@ - } - | /* empty */ - { -- THD *thd= YYTHD; - Lex->escape_used= FALSE; - $$= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ? - new (thd->mem_root) Item_string("", 0, &my_charset_latin1) : -@@ -9107,9 +9074,9 @@ - - group_list: - group_list ',' order_ident order_dir -- { if (add_group_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; } -+ { if (add_group_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; } - | order_ident order_dir -- { if (add_group_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; } -+ { if (add_group_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; } - ; - - olap_opt: -@@ -9156,7 +9123,6 @@ - alter_order_item: - simple_ident_nospvar order_dir - { -- THD *thd= YYTHD; - bool ascending= ($2 == 1) ? true : false; - if (add_order_to_list(thd, $1, ascending)) - MYSQL_YYABORT; -@@ -9209,9 +9175,9 @@ - - order_list: - order_list ',' order_ident order_dir -- { if (add_order_to_list(YYTHD, $3,(bool) $4)) MYSQL_YYABORT; } -+ { if (add_order_to_list(thd, $3,(bool) $4)) MYSQL_YYABORT; } - | order_ident order_dir -- { if (add_order_to_list(YYTHD, $1,(bool) $2)) MYSQL_YYABORT; } -+ { if (add_order_to_list(thd, $1,(bool) $2)) MYSQL_YYABORT; } - ; - - order_dir: -@@ -9271,19 +9237,19 @@ - } - | ULONGLONG_NUM - { -- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length); -+ $$= new (thd->mem_root) Item_uint($1.str, $1.length); - if ($$ == NULL) - MYSQL_YYABORT; - } - | LONG_NUM - { -- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length); -+ $$= new (thd->mem_root) Item_uint($1.str, $1.length); - if ($$ == NULL) - MYSQL_YYABORT; - } - | NUM - { -- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length); -+ $$= new (thd->mem_root) Item_uint($1.str, $1.length); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -9365,7 +9331,7 @@ - lex->proc_list.elements=0; - lex->proc_list.first=0; - lex->proc_list.next= &lex->proc_list.first; -- Item_field *item= new (YYTHD->mem_root) -+ Item_field *item= new (thd->mem_root) - Item_field(&lex->current_select->context, - NULL, NULL, $2.str); - if (item == NULL) -@@ -9390,8 +9356,7 @@ - procedure_item: - remember_name expr remember_end - { -- THD *thd= YYTHD; -- -+ - if (add_proc_to_list(thd, $2)) - MYSQL_YYABORT; - if (!$2->name) -@@ -9560,7 +9525,6 @@ - } - | DROP FUNCTION_SYM if_exists ident '.' ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - sp_name *spname; - if ($4.str && check_db_name(&$4)) -@@ -9583,7 +9547,6 @@ - } - | DROP FUNCTION_SYM if_exists ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - LEX_STRING db= {0, 0}; - sp_name *spname; -@@ -9664,7 +9627,7 @@ - table_name: - table_ident - { -- if (!Select->add_table_to_list(YYTHD, $1, NULL, TL_OPTION_UPDATING)) -+ if (!Select->add_table_to_list(thd, $1, NULL, TL_OPTION_UPDATING)) - MYSQL_YYABORT; - } - ; -@@ -9677,7 +9640,7 @@ - table_alias_ref: - table_ident_opt_wild - { -- if (!Select->add_table_to_list(YYTHD, $1, NULL, -+ if (!Select->add_table_to_list(thd, $1, NULL, - TL_OPTION_UPDATING | TL_OPTION_ALIAS, - Lex->lock_option )) - MYSQL_YYABORT; -@@ -9868,7 +9831,7 @@ - expr { $$= $1;} - | DEFAULT - { -- $$= new (YYTHD->mem_root) Item_default_value(Lex->current_context()); -+ $$= new (thd->mem_root) Item_default_value(Lex->current_context()); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -9922,7 +9885,7 @@ - update_elem: - simple_ident_nospvar equal expr_or_default - { -- if (add_item_to_list(YYTHD, $1) || add_value_to_list(YYTHD, $3)) -+ if (add_item_to_list(thd, $1) || add_value_to_list(thd, $3)) - MYSQL_YYABORT; - } - ; -@@ -9965,7 +9928,7 @@ - single_multi: - FROM table_ident - { -- if (!Select->add_table_to_list(YYTHD, $2, NULL, TL_OPTION_UPDATING, -+ if (!Select->add_table_to_list(thd, $2, NULL, TL_OPTION_UPDATING, - Lex->lock_option)) - MYSQL_YYABORT; - } -@@ -9998,7 +9961,7 @@ - Table_ident *ti= new Table_ident($1); - if (ti == NULL) - MYSQL_YYABORT; -- if (!Select->add_table_to_list(YYTHD, -+ if (!Select->add_table_to_list(thd, - ti, - $3, - TL_OPTION_UPDATING | TL_OPTION_ALIAS, -@@ -10007,10 +9970,10 @@ - } - | ident '.' ident opt_wild opt_table_alias - { -- Table_ident *ti= new Table_ident(YYTHD, $1, $3, 0); -+ Table_ident *ti= new Table_ident(thd, $1, $3, 0); - if (ti == NULL) - MYSQL_YYABORT; -- if (!Select->add_table_to_list(YYTHD, -+ if (!Select->add_table_to_list(thd, - ti, - $5, - TL_OPTION_UPDATING | TL_OPTION_ALIAS, -@@ -10130,7 +10093,7 @@ - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_DATABASES; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_SCHEMATA)) -+ if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA)) - MYSQL_YYABORT; - } - | opt_full TABLES opt_db wild_and_where -@@ -10138,7 +10101,7 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_TABLES; - lex->select_lex.db= $3; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLE_NAMES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES)) - MYSQL_YYABORT; - } - | opt_full TRIGGERS_SYM opt_db wild_and_where -@@ -10146,7 +10109,7 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_TRIGGERS; - lex->select_lex.db= $3; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_TRIGGERS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS)) - MYSQL_YYABORT; - } - | EVENTS_SYM opt_db wild_and_where -@@ -10154,7 +10117,7 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_EVENTS; - lex->select_lex.db= $2; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_EVENTS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_EVENTS)) - MYSQL_YYABORT; - } - | TABLE_SYM STATUS_SYM opt_db wild_and_where -@@ -10162,7 +10125,7 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; - lex->select_lex.db= $3; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_TABLES)) - MYSQL_YYABORT; - } - | OPEN_SYM TABLES opt_db wild_and_where -@@ -10170,22 +10133,22 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; - lex->select_lex.db= $3; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES)) - MYSQL_YYABORT; - } - | opt_full PLUGIN_SYM - { - LEX *lex= Lex; -- WARN_DEPRECATED(yythd, "6.0", "SHOW PLUGIN", "'SHOW PLUGINS'"); -+ WARN_DEPRECATED(thd, "6.0", "SHOW PLUGIN", "'SHOW PLUGINS'"); - lex->sql_command= SQLCOM_SHOW_PLUGINS; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS)) - MYSQL_YYABORT; - } - | PLUGINS_SYM - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_PLUGINS; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS)) - MYSQL_YYABORT; - } - | ENGINE_SYM known_storage_engines show_engine_param -@@ -10198,7 +10161,7 @@ - lex->sql_command= SQLCOM_SHOW_FIELDS; - if ($5) - $4->change_db($5); -- if (prepare_schema_table(YYTHD, lex, $4, SCH_COLUMNS)) -+ if (prepare_schema_table(thd, lex, $4, SCH_COLUMNS)) - MYSQL_YYABORT; - } - | NEW_SYM MASTER_SYM FOR_SYM SLAVE -@@ -10233,7 +10196,7 @@ - lex->sql_command= SQLCOM_SHOW_KEYS; - if ($4) - $3->change_db($4); -- if (prepare_schema_table(YYTHD, lex, $3, SCH_STATISTICS)) -+ if (prepare_schema_table(thd, lex, $3, SCH_STATISTICS)) - MYSQL_YYABORT; - } - | COLUMN_SYM TYPES_SYM -@@ -10245,15 +10208,15 @@ - { - LEX *lex=Lex; - lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; -- WARN_DEPRECATED(yythd, "6.0", "SHOW TABLE TYPES", "'SHOW [STORAGE] ENGINES'"); -- if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES)) -+ WARN_DEPRECATED(thd, "6.0", "SHOW TABLE TYPES", "'SHOW [STORAGE] ENGINES'"); -+ if (prepare_schema_table(thd, lex, 0, SCH_ENGINES)) - MYSQL_YYABORT; - } - | opt_storage ENGINES_SYM - { - LEX *lex=Lex; - lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_ENGINES)) - MYSQL_YYABORT; - } - | AUTHORS_SYM -@@ -10285,7 +10248,7 @@ - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_PROFILE; -- if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0) -+ if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0) - YYABORT; - } - | opt_var_type STATUS_SYM wild_and_where -@@ -10293,7 +10256,7 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_STATUS; - lex->option_type= $1; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_STATUS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_STATUS)) - MYSQL_YYABORT; - } - | INNOBASE_SYM STATUS_SYM -@@ -10301,24 +10264,24 @@ - LEX *lex= Lex; - lex->sql_command = SQLCOM_SHOW_ENGINE_STATUS; - if (!(lex->create_info.db_type= -- ha_resolve_by_legacy_type(YYTHD, DB_TYPE_INNODB))) -+ ha_resolve_by_legacy_type(thd, DB_TYPE_INNODB))) - { - my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), "InnoDB"); - MYSQL_YYABORT; - } -- WARN_DEPRECATED(yythd, "6.0", "SHOW INNODB STATUS", "'SHOW ENGINE INNODB STATUS'"); -+ WARN_DEPRECATED(thd, "6.0", "SHOW INNODB STATUS", "'SHOW ENGINE INNODB STATUS'"); - } - | MUTEX_SYM STATUS_SYM - { - LEX *lex= Lex; - lex->sql_command = SQLCOM_SHOW_ENGINE_MUTEX; - if (!(lex->create_info.db_type= -- ha_resolve_by_legacy_type(YYTHD, DB_TYPE_INNODB))) -+ ha_resolve_by_legacy_type(thd, DB_TYPE_INNODB))) - { - my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), "InnoDB"); - MYSQL_YYABORT; - } -- WARN_DEPRECATED(yythd, "6.0", "SHOW MUTEX STATUS", "'SHOW ENGINE INNODB MUTEX'"); -+ WARN_DEPRECATED(thd, "6.0", "SHOW MUTEX STATUS", "'SHOW ENGINE INNODB MUTEX'"); - } - | opt_full PROCESSLIST_SYM - { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} -@@ -10327,21 +10290,21 @@ - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_VARIABLES; - lex->option_type= $1; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_VARIABLES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_VARIABLES)) - MYSQL_YYABORT; - } - | charset wild_and_where - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_CHARSETS; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_CHARSETS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS)) - MYSQL_YYABORT; - } - | COLLATION_SYM wild_and_where - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_COLLATIONS; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_COLLATIONS)) -+ if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS)) - MYSQL_YYABORT; - } - | GRANTS -@@ -10371,7 +10334,7 @@ - { - LEX *lex= Lex; - lex->sql_command = SQLCOM_SHOW_CREATE; -- if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL,0)) -+ if (!lex->select_lex.add_table_to_list(thd, $3, NULL,0)) - MYSQL_YYABORT; - lex->only_view= 0; - lex->create_info.storage_media= HA_SM_DEFAULT; -@@ -10380,7 +10343,7 @@ - { - LEX *lex= Lex; - lex->sql_command = SQLCOM_SHOW_CREATE; -- if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL, 0)) -+ if (!lex->select_lex.add_table_to_list(thd, $3, NULL, 0)) - MYSQL_YYABORT; - lex->only_view= 1; - } -@@ -10416,14 +10379,14 @@ - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_STATUS_PROC; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES)) - MYSQL_YYABORT; - } - | FUNCTION_SYM STATUS_SYM wild_and_where - { - LEX *lex= Lex; - lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; -- if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES)) -+ if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES)) - MYSQL_YYABORT; - } - | PROCEDURE CODE_SYM sp_name -@@ -10501,7 +10464,7 @@ - /* empty */ - | LIKE TEXT_STRING_sys - { -- Lex->wild= new (YYTHD->mem_root) String($2.str, $2.length, -+ Lex->wild= new (thd->mem_root) String($2.str, $2.length, - system_charset_info); - if (Lex->wild == NULL) - MYSQL_YYABORT; -@@ -10525,7 +10488,7 @@ - lex->sql_command= SQLCOM_SHOW_FIELDS; - lex->select_lex.db= 0; - lex->verbose= 0; -- if (prepare_schema_table(YYTHD, lex, $2, SCH_COLUMNS)) -+ if (prepare_schema_table(thd, lex, $2, SCH_COLUMNS)) - MYSQL_YYABORT; - } - opt_describe_column {} -@@ -10554,7 +10517,7 @@ - | text_string { Lex->wild= $1; } - | ident - { -- Lex->wild= new (YYTHD->mem_root) String((const char*) $1.str, -+ Lex->wild= new (thd->mem_root) String((const char*) $1.str, - $1.length, - system_charset_info); - if (Lex->wild == NULL) -@@ -10697,7 +10660,6 @@ - load: - LOAD DATA_SYM - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - - if (lex->sphead) -@@ -10711,7 +10673,7 @@ - | LOAD TABLE_SYM table_ident FROM MASTER_SYM - { - LEX *lex=Lex; -- WARN_DEPRECATED(yythd, "6.0", "LOAD TABLE FROM MASTER", -+ WARN_DEPRECATED(thd, "6.0", "LOAD TABLE FROM MASTER", - "MySQL Administrator (mysqldump, mysql)"); - if (lex->sphead) - { -@@ -10719,7 +10681,7 @@ - MYSQL_YYABORT; - } - lex->sql_command = SQLCOM_LOAD_MASTER_TABLE; -- if (!Select->add_table_to_list(YYTHD, $3, NULL, TL_OPTION_UPDATING)) -+ if (!Select->add_table_to_list(thd, $3, NULL, TL_OPTION_UPDATING)) - MYSQL_YYABORT; - } - ; -@@ -10739,7 +10701,7 @@ - opt_duplicate INTO TABLE_SYM table_ident - { - LEX *lex=Lex; -- if (!Select->add_table_to_list(YYTHD, $9, NULL, TL_OPTION_UPDATING, -+ if (!Select->add_table_to_list(thd, $9, NULL, TL_OPTION_UPDATING, - lex->lock_option)) - MYSQL_YYABORT; - lex->field_list.empty(); -@@ -10754,7 +10716,7 @@ - | FROM MASTER_SYM - { - Lex->sql_command = SQLCOM_LOAD_MASTER_DATA; -- WARN_DEPRECATED(yythd, "6.0", "LOAD DATA FROM MASTER", -+ WARN_DEPRECATED(thd, "6.0", "LOAD DATA FROM MASTER", - "mysqldump or future " - "BACKUP/RESTORE DATABASE facility"); - } -@@ -10872,7 +10834,7 @@ - simple_ident_nospvar {$$= $1;} - | '@' ident_or_text - { -- $$= new (YYTHD->mem_root) Item_user_var_as_out_param($2); -+ $$= new (thd->mem_root) Item_user_var_as_out_param($2); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -10889,7 +10851,6 @@ - TEXT_STRING - { - LEX_STRING tmp; -- THD *thd= YYTHD; - CHARSET_INFO *cs_con= thd->variables.collation_connection; - CHARSET_INFO *cs_cli= thd->variables.character_set_client; - uint repertoire= thd->lex->text_string_is_7bit && -@@ -10915,7 +10876,7 @@ - uint repertoire= Lex->text_string_is_7bit ? - MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30; - DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info)); -- $$= new (YYTHD->mem_root) Item_string($1.str, $1.length, -+ $$= new (thd->mem_root) Item_string($1.str, $1.length, - national_charset_info, - DERIVATION_COERCIBLE, - repertoire); -@@ -10924,7 +10885,7 @@ - } - | UNDERSCORE_CHARSET TEXT_STRING - { -- Item_string *str= new (YYTHD->mem_root) Item_string($2.str, -+ Item_string *str= new (thd->mem_root) Item_string($2.str, - $2.length, $1); - if (str == NULL) - MYSQL_YYABORT; -@@ -10943,7 +10904,7 @@ - If the string has been pure ASCII so far, - check the new part. - */ -- CHARSET_INFO *cs= YYTHD->variables.collation_connection; -+ CHARSET_INFO *cs= thd->variables.collation_connection; - item->collation.repertoire|= my_string_repertoire(cs, - $2.str, - $2.length); -@@ -10954,15 +10915,15 @@ - text_string: - TEXT_STRING_literal - { -- $$= new (YYTHD->mem_root) String($1.str, -+ $$= new (thd->mem_root) String($1.str, - $1.length, -- YYTHD->variables.collation_connection); -+ thd->variables.collation_connection); - if ($$ == NULL) - MYSQL_YYABORT; - } - | HEX_NUM - { -- Item *tmp= new (YYTHD->mem_root) Item_hex_string($1.str, $1.length); -+ Item *tmp= new (thd->mem_root) Item_hex_string($1.str, $1.length); - if (tmp == NULL) - MYSQL_YYABORT; - /* -@@ -10974,7 +10935,7 @@ - } - | BIN_NUM - { -- Item *tmp= new (YYTHD->mem_root) Item_bin_string($1.str, $1.length); -+ Item *tmp= new (thd->mem_root) Item_bin_string($1.str, $1.length); - if (tmp == NULL) - MYSQL_YYABORT; - /* -@@ -10989,7 +10950,6 @@ - param_marker: - PARAM_MARKER - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - Item_param *item; -@@ -11022,38 +10982,38 @@ - | NUM_literal { $$ = $1; } - | NULL_SYM - { -- $$ = new (YYTHD->mem_root) Item_null(); -+ $$ = new (thd->mem_root) Item_null(); - if ($$ == NULL) - MYSQL_YYABORT; - YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT; - } - | FALSE_SYM - { -- $$= new (YYTHD->mem_root) Item_int((char*) "FALSE",0,1); -+ $$= new (thd->mem_root) Item_int((char*) "FALSE",0,1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | TRUE_SYM - { -- $$= new (YYTHD->mem_root) Item_int((char*) "TRUE",1,1); -+ $$= new (thd->mem_root) Item_int((char*) "TRUE",1,1); - if ($$ == NULL) - MYSQL_YYABORT; - } - | HEX_NUM - { -- $$ = new (YYTHD->mem_root) Item_hex_string($1.str, $1.length); -+ $$ = new (thd->mem_root) Item_hex_string($1.str, $1.length); - if ($$ == NULL) - MYSQL_YYABORT; - } - | BIN_NUM - { -- $$= new (YYTHD->mem_root) Item_bin_string($1.str, $1.length); -+ $$= new (thd->mem_root) Item_bin_string($1.str, $1.length); - if ($$ == NULL) - MYSQL_YYABORT; - } - | UNDERSCORE_CHARSET HEX_NUM - { -- Item *tmp= new (YYTHD->mem_root) Item_hex_string($2.str, $2.length); -+ Item *tmp= new (thd->mem_root) Item_hex_string($2.str, $2.length); - if (tmp == NULL) - MYSQL_YYABORT; - /* -@@ -11064,7 +11024,7 @@ - String *str= tmp->val_str((String*) 0); - - Item_string *item_str; -- item_str= new (YYTHD->mem_root) -+ item_str= new (thd->mem_root) - Item_string(NULL, /* name will be set in select_item */ - str ? str->ptr() : "", - str ? str->length() : 0, -@@ -11082,7 +11042,7 @@ - } - | UNDERSCORE_CHARSET BIN_NUM - { -- Item *tmp= new (YYTHD->mem_root) Item_bin_string($2.str, $2.length); -+ Item *tmp= new (thd->mem_root) Item_bin_string($2.str, $2.length); - if (tmp == NULL) - MYSQL_YYABORT; - /* -@@ -11093,7 +11053,7 @@ - String *str= tmp->val_str((String*) 0); - - Item_string *item_str; -- item_str= new (YYTHD->mem_root) -+ item_str= new (thd->mem_root) - Item_string(NULL, /* name will be set in select_item */ - str ? str->ptr() : "", - str ? str->length() : 0, -@@ -11117,7 +11077,7 @@ - NUM - { - int error; -- $$= new (YYTHD->mem_root) -+ $$= new (thd->mem_root) - Item_int($1.str, - (longlong) my_strtoll10($1.str, NULL, &error), - $1.length); -@@ -11127,7 +11087,7 @@ - | LONG_NUM - { - int error; -- $$= new (YYTHD->mem_root) -+ $$= new (thd->mem_root) - Item_int($1.str, - (longlong) my_strtoll10($1.str, NULL, &error), - $1.length); -@@ -11136,23 +11096,23 @@ - } - | ULONGLONG_NUM - { -- $$= new (YYTHD->mem_root) Item_uint($1.str, $1.length); -+ $$= new (thd->mem_root) Item_uint($1.str, $1.length); - if ($$ == NULL) - MYSQL_YYABORT; - } - | DECIMAL_NUM - { -- $$= new (YYTHD->mem_root) Item_decimal($1.str, $1.length, -- YYTHD->charset()); -- if (($$ == NULL) || (YYTHD->is_error())) -+ $$= new (thd->mem_root) Item_decimal($1.str, $1.length, -+ thd->charset()); -+ if (($$ == NULL) || (thd->is_error())) - { - MYSQL_YYABORT; - } - } - | FLOAT_NUM - { -- $$= new (YYTHD->mem_root) Item_float($1.str, $1.length); -- if (($$ == NULL) || (YYTHD->is_error())) -+ $$= new (thd->mem_root) Item_float($1.str, $1.length); -+ if (($$ == NULL) || (thd->is_error())) - { - MYSQL_YYABORT; - } -@@ -11172,7 +11132,7 @@ - ident '.' '*' - { - SELECT_LEX *sel= Select; -- $$= new (YYTHD->mem_root) Item_field(Lex->current_context(), -+ $$= new (thd->mem_root) Item_field(Lex->current_context(), - NullS, $1.str, "*"); - if ($$ == NULL) - MYSQL_YYABORT; -@@ -11180,7 +11140,6 @@ - } - | ident '.' ident '.' '*' - { -- THD *thd= YYTHD; - SELECT_LEX *sel= Select; - const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ? - NullS : $1.str; -@@ -11200,7 +11159,6 @@ - simple_ident: - ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - sp_variable_t *spv; -@@ -11251,7 +11209,6 @@ - simple_ident_nospvar: - ident - { -- THD *thd= YYTHD; - SELECT_LEX *sel=Select; - if ((sel->parsing_place != IN_HAVING) || - (sel->get_in_sum_expr() > 0)) -@@ -11273,7 +11230,6 @@ - simple_ident_q: - ident '.' ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - - /* -@@ -11352,7 +11308,6 @@ - } - | '.' ident '.' ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - SELECT_LEX *sel= lex->current_select; - if (sel->no_table_names_allowed) -@@ -11377,7 +11332,6 @@ - } - | ident '.' ident '.' ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - SELECT_LEX *sel= lex->current_select; - const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ? -@@ -11445,7 +11399,7 @@ - } - | ident '.' ident - { -- $$= new Table_ident(YYTHD, $1,$3,0); -+ $$= new Table_ident(thd, $1,$3,0); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -11467,7 +11421,7 @@ - } - | ident '.' ident opt_wild - { -- $$= new Table_ident(YYTHD, $1,$3,0); -+ $$= new Table_ident(thd, $1,$3,0); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -11477,7 +11431,7 @@ - ident - { - LEX_STRING db={(char*) any_db,3}; -- $$= new Table_ident(YYTHD, db,$1,0); -+ $$= new Table_ident(thd, db,$1,0); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -11487,8 +11441,7 @@ - IDENT { $$= $1; } - | IDENT_QUOTED - { -- THD *thd= YYTHD; -- -+ - if (thd->charset_is_system_charset) - { - CHARSET_INFO *cs= system_charset_info; -@@ -11516,8 +11469,6 @@ - TEXT_STRING_sys: - TEXT_STRING - { -- THD *thd= YYTHD; -- - if (thd->charset_is_system_charset) - $$= $1; - else -@@ -11532,8 +11483,6 @@ - TEXT_STRING_literal: - TEXT_STRING - { -- THD *thd= YYTHD; -- - if (thd->charset_is_collation_connection) - $$= $1; - else -@@ -11548,8 +11497,6 @@ - TEXT_STRING_filesystem: - TEXT_STRING - { -- THD *thd= YYTHD; -- - if (thd->charset_is_character_set_filesystem) - $$= $1; - else -@@ -11566,7 +11513,6 @@ - IDENT_sys { $$=$1; } - | keyword - { -- THD *thd= YYTHD; - $$.str= thd->strmake($1.str, $1.length); - if ($$.str == NULL) - MYSQL_YYABORT; -@@ -11578,7 +11524,6 @@ - IDENT_sys { $$=$1; } - | keyword_sp - { -- THD *thd= YYTHD; - $$.str= thd->strmake($1.str, $1.length); - if ($$.str == NULL) - MYSQL_YYABORT; -@@ -11595,7 +11540,6 @@ - user: - ident_or_text - { -- THD *thd= YYTHD; - if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) - MYSQL_YYABORT; - $$->user = $1; -@@ -11609,7 +11553,6 @@ - } - | ident_or_text '@' ident_or_text - { -- THD *thd= YYTHD; - if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) - MYSQL_YYABORT; - $$->user = $1; $$->host=$3; -@@ -11628,7 +11571,7 @@ - } - | CURRENT_USER optional_braces - { -- if (!($$=(LEX_USER*) YYTHD->alloc(sizeof(st_lex_user)))) -+ if (!($$=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) - MYSQL_YYABORT; - /* - empty LEX_USER means current_user and -@@ -11991,7 +11934,6 @@ - - option_type_value: - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - -@@ -12022,7 +11964,6 @@ - } - ext_option_value - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - -@@ -12105,7 +12046,6 @@ - sys_option_value: - option_type internal_variable_name equal set_expr_or_default - { -- THD *thd= YYTHD; - LEX *lex= Lex; - LEX_STRING *name= &$2.base_name; - -@@ -12117,7 +12057,7 @@ - my_parse_error(ER(ER_SYNTAX_ERROR)); - MYSQL_YYABORT; - } -- if (set_trigger_new_row(YYTHD, name, $4)) -+ if (set_trigger_new_row(thd, name, $4)) - MYSQL_YYABORT; - } - else if ($2.var) -@@ -12147,7 +12087,6 @@ - } - | option_type TRANSACTION_SYM ISOLATION LEVEL_SYM isolation_types - { -- THD *thd= YYTHD; - LEX *lex=Lex; - lex->option_type= $1; - Item *item= new (thd->mem_root) Item_int((int32) $5); -@@ -12167,7 +12106,7 @@ - '@' ident_or_text equal expr - { - Item_func_set_user_var *item; -- item= new (YYTHD->mem_root) Item_func_set_user_var($2, $4); -+ item= new (thd->mem_root) Item_func_set_user_var($2, $4); - if (item == NULL) - MYSQL_YYABORT; - set_var_user *var= new set_var_user(item); -@@ -12177,7 +12116,6 @@ - } - | '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default - { -- THD *thd= YYTHD; - struct sys_var_with_base tmp= $4; - /* Lookup if necessary: must be a system variable. */ - if (tmp.var == NULL) -@@ -12190,7 +12128,6 @@ - } - | charset old_or_new_charset_name_or_default - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - CHARSET_INFO *cs2; - cs2= $2 ? $2: global_system_variables.character_set_client; -@@ -12238,7 +12175,6 @@ - } - | PASSWORD equal text_or_password - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - LEX_USER *user; - sp_pcontext *spc= lex->spcont; -@@ -12278,7 +12214,6 @@ - internal_variable_name: - ident - { -- THD *thd= YYTHD; - sp_pcontext *spc= thd->lex->spcont; - sp_variable_t *spv; - -@@ -12337,7 +12272,7 @@ - } - else - { -- sys_var *tmp=find_sys_var(YYTHD, $3.str, $3.length); -+ sys_var *tmp=find_sys_var(thd, $3.str, $3.length); - if (!tmp) - MYSQL_YYABORT; - if (!tmp->is_struct()) -@@ -12348,7 +12283,7 @@ - } - | DEFAULT '.' ident - { -- sys_var *tmp=find_sys_var(YYTHD, $3.str, $3.length); -+ sys_var *tmp=find_sys_var(thd, $3.str, $3.length); - if (!tmp) - MYSQL_YYABORT; - if (!tmp->is_struct()) -@@ -12370,16 +12305,16 @@ - TEXT_STRING { $$=$1.str;} - | PASSWORD '(' TEXT_STRING ')' - { -- $$= $3.length ? YYTHD->variables.old_passwords ? -- Item_func_old_password::alloc(YYTHD, $3.str, $3.length) : -- Item_func_password::alloc(YYTHD, $3.str, $3.length) : -+ $$= $3.length ? thd->variables.old_passwords ? -+ Item_func_old_password::alloc(thd, $3.str, $3.length) : -+ Item_func_password::alloc(thd, $3.str, $3.length) : - $3.str; - if ($$ == NULL) - MYSQL_YYABORT; - } - | OLD_PASSWORD '(' TEXT_STRING ')' - { -- $$= $3.length ? Item_func_old_password::alloc(YYTHD, $3.str, -+ $$= $3.length ? Item_func_old_password::alloc(thd, $3.str, - $3.length) : - $3.str; - if ($$ == NULL) -@@ -12393,19 +12328,19 @@ - | DEFAULT { $$=0; } - | ON - { -- $$=new (YYTHD->mem_root) Item_string("ON", 2, system_charset_info); -+ $$=new (thd->mem_root) Item_string("ON", 2, system_charset_info); - if ($$ == NULL) - MYSQL_YYABORT; - } - | ALL - { -- $$=new (YYTHD->mem_root) Item_string("ALL", 3, system_charset_info); -+ $$=new (thd->mem_root) Item_string("ALL", 3, system_charset_info); - if ($$ == NULL) - MYSQL_YYABORT; - } - | BINARY - { -- $$=new (YYTHD->mem_root) Item_string("binary", 6, system_charset_info); -+ $$=new (thd->mem_root) Item_string("binary", 6, system_charset_info); - if ($$ == NULL) - MYSQL_YYABORT; - } -@@ -12443,7 +12378,7 @@ - table_ident opt_table_alias lock_option - { - thr_lock_type lock_type= (thr_lock_type) $3; -- if (!Select->add_table_to_list(YYTHD, $1, $2, 0, lock_type)) -+ if (!Select->add_table_to_list(thd, $1, $2, 0, lock_type)) - MYSQL_YYABORT; - /* If table is to be write locked, protect from a impending GRL. */ - if (lock_type >= TL_WRITE_ALLOW_WRITE) -@@ -12514,7 +12449,7 @@ - lex->expr_allows_subselect= FALSE; - lex->sql_command = SQLCOM_HA_READ; - lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */ -- Item *one= new (YYTHD->mem_root) Item_int((int32) 1); -+ Item *one= new (thd->mem_root) Item_int((int32) 1); - if (one == NULL) - MYSQL_YYABORT; - lex->current_select->select_limit= one; -@@ -12836,10 +12771,10 @@ - $$=$1; $1->password=$4; - if ($4.length) - { -- if (YYTHD->variables.old_passwords) -+ if (thd->variables.old_passwords) - { - char *buff= -- (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1); -+ (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1); - if (buff == NULL) - MYSQL_YYABORT; - my_make_scrambled_password_323(buff, $4.str, $4.length); -@@ -12849,7 +12784,7 @@ - else - { - char *buff= -- (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1); -+ (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1); - if (buff == NULL) - MYSQL_YYABORT; - my_make_scrambled_password(buff, $4.str, $4.length); -@@ -12881,7 +12816,7 @@ - column_list_id: - ident - { -- String *new_str = new (YYTHD->mem_root) String((const char*) $1.str,$1.length,system_charset_info); -+ String *new_str = new (thd->mem_root) String((const char*) $1.str,$1.length,system_charset_info); - if (new_str == NULL) - MYSQL_YYABORT; - List_iterator iter(Lex->columns); -@@ -12981,14 +12916,14 @@ - - opt_chain: - /* empty */ -- { $$= (YYTHD->variables.completion_type == 1); } -+ { $$= (thd->variables.completion_type == 1); } - | AND_SYM NO_SYM CHAIN_SYM { $$=0; } - | AND_SYM CHAIN_SYM { $$=1; } - ; - - opt_release: - /* empty */ -- { $$= (YYTHD->variables.completion_type == 2); } -+ { $$= (thd->variables.completion_type == 2); } - | RELEASE_SYM { $$=1; } - | NO_SYM RELEASE_SYM { $$=0; } - ; -@@ -13102,7 +13037,6 @@ - - union_order_or_limit: - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE); - SELECT_LEX *sel= lex->current_select; -@@ -13118,7 +13052,6 @@ - } - order_or_limit - { -- THD *thd= YYTHD; - thd->lex->current_select->no_table_names_allowed= 0; - thd->where= ""; - } -@@ -13255,14 +13188,14 @@ - from older master servers (i.e. to create non-suid trigger in this - case). - */ -- YYTHD->lex->definer= 0; -+ thd->lex->definer= 0; - } - ; - - definer: - DEFINER_SYM EQ user - { -- YYTHD->lex->definer= get_current_user(YYTHD, $3); -+ thd->lex->definer= get_current_user(thd, $3); - } - ; - -@@ -13307,7 +13240,6 @@ - view_tail: - view_suid VIEW_SYM table_ident - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - lex->sql_command= SQLCOM_CREATE_VIEW; - /* first table in list is target VIEW name */ -@@ -13347,7 +13279,6 @@ - } - view_select_aux view_check_option - { -- THD *thd= YYTHD; - LEX *lex= Lex; - uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str; - void *create_view_select= thd->memdup(lex->create_view_select.str, len); -@@ -13403,7 +13334,6 @@ - EACH_SYM - ROW_SYM - { /* $15 */ -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - sp_head *sp; -@@ -13437,8 +13367,8 @@ - sp_head *sp= lex->sphead; - - lex->sql_command= SQLCOM_CREATE_TRIGGER; -- sp->set_stmt_end(YYTHD); -- sp->restore_thd_mem_root(YYTHD); -+ sp->set_stmt_end(thd); -+ sp->restore_thd_mem_root(thd); - - if (sp->is_not_allowed_in_function("trigger")) - MYSQL_YYABORT; -@@ -13448,7 +13378,7 @@ - sp_proc_stmt alternatives are not saving/restoring LEX, so - lex->query_tables can be wiped out. - */ -- if (!lex->select_lex.add_table_to_list(YYTHD, $9, -+ if (!lex->select_lex.add_table_to_list(thd, $9, - (LEX_STRING*) 0, - TL_OPTION_UPDATING, - TL_IGNORE)) -@@ -13466,7 +13396,6 @@ - AGGREGATE_SYM remember_name FUNCTION_SYM ident - RETURNS_SYM udf_type SONAME_SYM TEXT_STRING_sys - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - if (is_native_function(thd, & $4)) - { -@@ -13484,7 +13413,6 @@ - | remember_name FUNCTION_SYM ident - RETURNS_SYM udf_type SONAME_SYM TEXT_STRING_sys - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - if (is_native_function(thd, & $3)) - { -@@ -13507,7 +13435,6 @@ - sp_name /* $3 */ - '(' /* $4 */ - { /* $5 */ -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - sp_head *sp; -@@ -13565,7 +13492,7 @@ - MYSQL_YYABORT; - } - -- if (sp->fill_field_definition(YYTHD, lex, -+ if (sp->fill_field_definition(thd, lex, - (enum enum_field_types) $11, - &sp->m_return_field_def)) - MYSQL_YYABORT; -@@ -13574,7 +13501,6 @@ - } - sp_c_chistics /* $13 */ - { /* $14 */ -- THD *thd= YYTHD; - LEX *lex= thd->lex; - Lex_input_stream *lip= YYLIP; - -@@ -13583,7 +13509,6 @@ - } - sp_proc_stmt /* $15 */ - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - sp_head *sp= lex->sphead; - -@@ -13654,10 +13579,10 @@ - sp= new sp_head(); - if (sp == NULL) - MYSQL_YYABORT; -- sp->reset_thd_mem_root(YYTHD); -+ sp->reset_thd_mem_root(thd); - sp->init(lex); - sp->m_type= TYPE_ENUM_PROCEDURE; -- sp->init_sp_name(YYTHD, $3); -+ sp->init_sp_name(thd, $3); - - lex->sphead= sp; - } -@@ -13672,7 +13597,6 @@ - sp_pdparam_list - ')' - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - - lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); -@@ -13680,7 +13604,6 @@ - } - sp_c_chistics - { -- THD *thd= YYTHD; - LEX *lex= thd->lex; - - lex->sphead->m_chistics= &lex->sp_chistics; -@@ -13691,9 +13614,9 @@ - LEX *lex= Lex; - sp_head *sp= lex->sphead; - -- sp->set_stmt_end(YYTHD); -+ sp->set_stmt_end(thd); - lex->sql_command= SQLCOM_CREATE_PROCEDURE; -- sp->restore_thd_mem_root(YYTHD); -+ sp->restore_thd_mem_root(thd); - } - ; - -@@ -13730,21 +13653,21 @@ - text_string - { - MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE); -- if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) -+ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID)))) - MYSQL_YYABORT; - Lex->xid->set(1L, $1->ptr(), $1->length(), 0, 0); - } - | text_string ',' text_string - { - MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE && $3->length() <= MAXBQUALSIZE); -- if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) -+ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID)))) - MYSQL_YYABORT; - Lex->xid->set(1L, $1->ptr(), $1->length(), $3->ptr(), $3->length()); - } - | text_string ',' text_string ',' ulong_num - { - MYSQL_YYABORT_UNLESS($1->length() <= MAXGTRIDSIZE && $3->length() <= MAXBQUALSIZE); -- if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) -+ if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID)))) - MYSQL_YYABORT; - Lex->xid->set($5, $1->ptr(), $1->length(), $3->ptr(), $3->length()); - } diff --git a/package/oracle-mysql/0006-no-force-static-build.patch b/package/oracle-mysql/0006-no-force-static-build.patch deleted file mode 100644 index 8172a9848e7..00000000000 --- a/package/oracle-mysql/0006-no-force-static-build.patch +++ /dev/null @@ -1,18 +0,0 @@ -configure: do not force a static link for non-installed programs - -Otherwise, it tries to link against a static libz, which may not exist -in a shared-only system. - -Signed-off-by: "Yann E. MORIN" - -diff -durN mysql-5.1.73.orig/configure.in mysql-5.1.73/configure.in ---- mysql-5.1.73.orig/configure.in 2014-12-22 00:04:46.550508208 +0100 -+++ mysql-5.1.73/configure.in 2014-12-22 00:05:56.415307480 +0100 -@@ -562,7 +562,6 @@ - AC_MSG_ERROR([MySQL requires an ANSI C compiler (and a C++ compiler). Try gcc. See the Installation chapter in the Reference Manual.]) - fi - --NOINST_LDFLAGS="-static" - - static_nss="" - STATIC_NSS_FLAGS="" diff --git a/package/oracle-mysql/0007-dont-install-in-mysql-directory.patch b/package/oracle-mysql/0007-dont-install-in-mysql-directory.patch deleted file mode 100644 index 971b9ceeb51..00000000000 --- a/package/oracle-mysql/0007-dont-install-in-mysql-directory.patch +++ /dev/null @@ -1,182 +0,0 @@ -Don't install in mysql directory - -Installing libraries in a subdirectory of /usr/lib leads to no end of -trouble. It requires either setting a RUN_PATH in the ELF files linked -with it or adding the path to ld.so.conf and calling ldconfig on the -target. - -So to simplify things, put everything in /usr/lib instead of -/usr/lib/mysql - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) - -diff -Nrup mysql-5.1.73.orig/dbug/Makefile.am mysql-5.1.73/dbug/Makefile.am ---- mysql-5.1.73.orig/dbug/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/dbug/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -17,7 +17,7 @@ - - INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include - LDADD = libdbug.a ../mysys/libmysys.a ../strings/libmystrings.a --pkglib_LIBRARIES = libdbug.a -+lib_LIBRARIES = libdbug.a - noinst_HEADERS = dbug_long.h - libdbug_a_SOURCES = dbug.c sanity.c - EXTRA_DIST = CMakeLists.txt example1.c example2.c example3.c \ -diff -Nrup mysql-5.1.73.orig/libmysql/Makefile.shared mysql-5.1.73/libmysql/Makefile.shared ---- mysql-5.1.73.orig/libmysql/Makefile.shared 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/libmysql/Makefile.shared 2015-12-14 00:34:58.567937603 +0100 -@@ -25,7 +25,7 @@ MYSQLBASEdir= $(prefix) - ## We'll use CLIENT_EXTRA_LDFLAGS for threaded and non-threaded - ## until someone complains that they need separate options. - LDADD = @CLIENT_EXTRA_LDFLAGS@ $(target) --pkglib_LTLIBRARIES = $(target) -+lib_LTLIBRARIES = $(target) - - noinst_PROGRAMS = conf_to_src - -diff -Nrup mysql-5.1.73.orig/libmysqld/Makefile.am mysql-5.1.73/libmysqld/Makefile.am ---- mysql-5.1.73.orig/libmysqld/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/libmysqld/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -38,7 +38,7 @@ INCLUDES= -I$(top_builddir)/include -I$ - @condition_dependent_plugin_includes@ - - noinst_LIBRARIES = libmysqld_int.a --pkglib_LIBRARIES = libmysqld.a -+lib_LIBRARIES = libmysqld.a - SUBDIRS = . examples - libmysqld_sources= libmysqld.c lib_sql.cc emb_qcache.cc - libmysqlsources = errmsg.c get_password.c libmysql.c client.c pack.c \ -diff -Nrup mysql-5.1.73.orig/mysys/Makefile.am mysql-5.1.73/mysys/Makefile.am ---- mysql-5.1.73.orig/mysys/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/mysys/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -18,7 +18,7 @@ MYSQLSHAREdir = $(pkgdatadir) - MYSQLBASEdir= $(prefix) - INCLUDES = @ZLIB_INCLUDES@ -I$(top_builddir)/include \ - -I$(top_srcdir)/include -I$(srcdir) --pkglib_LIBRARIES = libmysys.a -+lib_LIBRARIES = libmysys.a - LDADD = libmysys.a $(top_builddir)/strings/libmystrings.a $(top_builddir)/dbug/libdbug.a - noinst_HEADERS = mysys_priv.h my_static.h my_handler_errors.h - libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c my_mmap.c \ -diff -Nrup mysql-5.1.73.orig/storage/csv/Makefile.am mysql-5.1.73/storage/csv/Makefile.am ---- mysql-5.1.73.orig/storage/csv/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/storage/csv/Makefile.am 2015-12-14 00:34:58.563937596 +0100 -@@ -30,7 +30,7 @@ DEFS = @DEFS@ - noinst_HEADERS = ha_tina.h transparent_file.h - - EXTRA_LTLIBRARIES = ha_csv.la --pkglib_LTLIBRARIES = @plugin_csv_shared_target@ -+lib_LTLIBRARIES = @plugin_csv_shared_target@ - ha_csv_la_LDFLAGS = -module -rpath $(MYSQLLIBdir) - ha_csv_la_CXXFLAGS = $(AM_CXXFLAGS) -DMYSQL_PLUGIN - ha_csv_la_SOURCES = transparent_file.cc ha_tina.cc -diff -Nrup mysql-5.1.73.orig/storage/heap/Makefile.am mysql-5.1.73/storage/heap/Makefile.am ---- mysql-5.1.73.orig/storage/heap/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/storage/heap/Makefile.am 2015-12-14 00:34:58.563937596 +0100 -@@ -26,7 +26,7 @@ WRAPLIBS= - LDADD = - - DEFS = @DEFS@ --pkglib_LIBRARIES = libheap.a -+lib_LIBRARIES = libheap.a - noinst_PROGRAMS = hp_test1 hp_test2 - noinst_LIBRARIES = libheap.a - hp_test1_LDFLAGS = @NOINST_LDFLAGS@ -diff -Nrup mysql-5.1.73.orig/storage/myisam/Makefile.am mysql-5.1.73/storage/myisam/Makefile.am ---- mysql-5.1.73.orig/storage/myisam/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/storage/myisam/Makefile.am 2015-12-14 00:34:58.563937596 +0100 -@@ -30,7 +30,7 @@ DEFS = @DEFS@ - EXTRA_DIST = mi_test_all.sh mi_test_all.res ft_stem.c CMakeLists.txt plug.in - pkgdata_DATA = mi_test_all mi_test_all.res - --pkglib_LIBRARIES = libmyisam.a -+lib_LIBRARIES = libmyisam.a - bin_PROGRAMS = myisamchk myisamlog myisampack myisam_ftdump - myisamchk_DEPENDENCIES= $(LIBRARIES) - myisamchk_LDADD= @CLIENT_EXTRA_LDFLAGS@ libmyisam.a \ -diff -Nrup mysql-5.1.73.orig/storage/myisammrg/Makefile.am mysql-5.1.73/storage/myisammrg/Makefile.am ---- mysql-5.1.73.orig/storage/myisammrg/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/storage/myisammrg/Makefile.am 2015-12-14 00:34:58.563937596 +0100 -@@ -26,7 +26,7 @@ WRAPLIBS= - LDADD = - - DEFS = @DEFS@ --pkglib_LIBRARIES = libmyisammrg.a -+lib_LIBRARIES = libmyisammrg.a - noinst_HEADERS = myrg_def.h ha_myisammrg.h - noinst_LIBRARIES = libmyisammrg.a - libmyisammrg_a_SOURCES = myrg_open.c myrg_extra.c myrg_info.c myrg_locking.c \ -diff -Nrup mysql-5.1.73.orig/strings/Makefile.am mysql-5.1.73/strings/Makefile.am ---- mysql-5.1.73.orig/strings/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/strings/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -16,7 +16,7 @@ - # This file is public domain and comes with NO WARRANTY of any kind - - INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include --pkglib_LIBRARIES = libmystrings.a -+lib_LIBRARIES = libmystrings.a - - # Exact one of ASSEMBLER_X - if ASSEMBLER_x86 -@@ -69,15 +69,15 @@ conf_to_src_LDFLAGS= @NOINST_LDFLAGS@ - - FLAGS=$(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) @NOINST_LDFLAGS@ - --str_test: str_test.c $(pkglib_LIBRARIES) -- $(LINK) $(FLAGS) -DMAIN $(INCLUDES) $(srcdir)/str_test.c $(LDADD) $(pkglib_LIBRARIES) -+str_test: str_test.c $(lib_LIBRARIES) -+ $(LINK) $(FLAGS) -DMAIN $(INCLUDES) $(srcdir)/str_test.c $(LDADD) $(lib_LIBRARIES) - - uctypedump: uctypedump.c - $(LINK) $(INCLUDES) $(srcdir)/uctypedump.c - --test_decimal$(EXEEXT): decimal.c $(pkglib_LIBRARIES) -+test_decimal$(EXEEXT): decimal.c $(lib_LIBRARIES) - $(CP) $(srcdir)/decimal.c ./test_decimal.c -- $(LINK) $(FLAGS) -DMAIN ./test_decimal.c $(LDADD) $(pkglib_LIBRARIES) -+ $(LINK) $(FLAGS) -DMAIN ./test_decimal.c $(LDADD) $(lib_LIBRARIES) - $(RM) -f ./test_decimal.c - - # Don't update the files from bitkeeper -diff -Nrup mysql-5.1.73.orig/tests/Makefile.am mysql-5.1.73/tests/Makefile.am ---- mysql-5.1.73.orig/tests/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/tests/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -51,11 +51,11 @@ mysql_client_test.o: mysql_client_fw.c - - insert_test_SOURCES= insert_test.c - select_test_SOURCES= select_test.c --insert_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) --select_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) -+insert_test_DEPENDENCIES= $(LIBRARIES) $(lib_LTLIBRARIES) -+select_test_DEPENDENCIES= $(LIBRARIES) $(lib_LTLIBRARIES) - - bug25714_SOURCES= bug25714.c --bug25714_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) -+bug25714_DEPENDENCIES= $(LIBRARIES) $(lib_LTLIBRARIES) - - # Fix for mit-threads - DEFS = -DMYSQL_CLIENT_NO_THREADS -diff -Nrup mysql-5.1.73.orig/vio/Makefile.am mysql-5.1.73/vio/Makefile.am ---- mysql-5.1.73.orig/vio/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/vio/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -16,7 +16,7 @@ - INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ - $(openssl_includes) - LDADD = @CLIENT_EXTRA_LDFLAGS@ $(openssl_libs) $(yassl_libs) --pkglib_LIBRARIES = libvio.a -+lib_LIBRARIES = libvio.a - - noinst_HEADERS = vio_priv.h - -diff -Nrup mysql-5.1.73.orig/zlib/Makefile.am mysql-5.1.73/zlib/Makefile.am ---- mysql-5.1.73.orig/zlib/Makefile.am 2013-11-04 19:52:27.000000000 +0100 -+++ mysql-5.1.73/zlib/Makefile.am 2015-12-14 00:34:58.567937603 +0100 -@@ -19,7 +19,7 @@ INCLUDES= -I$(top_builddir)/include -I$ - - LIBS= $(NON_THREADED_LIBS) - --pkglib_LTLIBRARIES = libz.la -+lib_LTLIBRARIES = libz.la - noinst_LTLIBRARIES = libzlt.la - - libz_la_LDFLAGS = -static diff --git a/package/oracle-mysql/0008-fix-type-conversion.patch b/package/oracle-mysql/0008-fix-type-conversion.patch deleted file mode 100644 index 65babf4f202..00000000000 --- a/package/oracle-mysql/0008-fix-type-conversion.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix type conversion - -Fixes the following build error with gcc 6.x: - -protocol.cc:27:40: error: narrowing conversion of ''\37777777776'' from 'char' to 'uchar {aka unsigned char}' inside { } [-Wnarrowing] - static uchar eof_buff[1]= { (char) 254 }; /* Marker for end of fields */ - -Signed-off-by: Thomas Petazzoni - -Index: b/server-tools/instance-manager/protocol.cc -=================================================================== ---- a/server-tools/instance-manager/protocol.cc -+++ b/server-tools/instance-manager/protocol.cc -@@ -24,7 +24,7 @@ - #include - - --static uchar eof_buff[1]= { (char) 254 }; /* Marker for end of fields */ -+static uchar eof_buff[1]= { (uchar) 254 }; /* Marker for end of fields */ - static const char ERROR_PACKET_CODE= (char) 255; - - diff --git a/package/oracle-mysql/0009-gcc7.patch b/package/oracle-mysql/0009-gcc7.patch deleted file mode 100644 index 321112d6358..00000000000 --- a/package/oracle-mysql/0009-gcc7.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fix gcc7 compile - -mysql.cc: In function 'void build_completion_hash(bool, bool)': -mysql.cc:2687:37: error: invalid conversion from 'char' to 'char*' [-fpermissive] - field_names[i][num_fields*2]= '\0'; - ^~~~ -Patch was partly backported from upstream commit: -https://github.com/mysql/mysql-server/commit/ae21683d980d5fe9e39bd0193827ea3604256eb9 - -Signed-off-by: Bernd Kuhls -[Thomas: add more gcc 7.x fixes in instance_map.cc.] -Signed-off-by: Thomas Petazzoni - -Index: b/client/mysql.cc -=================================================================== ---- a/client/mysql.cc -+++ b/client/mysql.cc -@@ -2684,7 +2684,7 @@ - mysql_free_result(fields); - break; - } -- field_names[i][num_fields*2]= '\0'; -+ field_names[i][num_fields*2]= NULL; - j=0; - while ((sql_field=mysql_fetch_field(fields))) - { -Index: b/server-tools/instance-manager/instance_map.cc -=================================================================== ---- a/server-tools/instance-manager/instance_map.cc -+++ b/server-tools/instance-manager/instance_map.cc -@@ -526,12 +526,12 @@ - Options::Main::config_file); - - argv_options[1]= defaults_file_arg; -- argv_options[2]= '\0'; -+ argv_options[2]= NULL; - - argc= 2; - } - else -- argv_options[1]= '\0'; -+ argv_options[1]= NULL; - - /* - If the routine failed, we'll simply fallback to defaults in diff --git a/package/oracle-mysql/0010-fix-build-without-zlib.patch b/package/oracle-mysql/0010-fix-build-without-zlib.patch deleted file mode 100644 index b6e64e6bdd0..00000000000 --- a/package/oracle-mysql/0010-fix-build-without-zlib.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix build without zlib - -Don't include unconditionally zlib.h, and compile out code that -requires zlib support. - -Signed-off-by: Fabrice Fontaine - -diff -durN mysql-5.1.73.orig/mysys/checksum.c mysql-5.1.73/mysys/checksum.c ---- mysql-5.1.73.orig/mysys/checksum.c 2020-07-14 17:34:38.212304432 +0200 -+++ mysql-5.1.73/mysys/checksum.c 2020-07-14 18:06:45.076342493 +0200 -@@ -16,7 +16,9 @@ - - #include - #include -+#ifdef HAVE_COMPRESS - #include -+#endif - - /* - Calculate a long checksum for a memoryblock. -diff -durN mysql-5.1.73.orig/sql/item_strfunc.cc mysql-5.1.73/sql/item_strfunc.cc ---- mysql-5.1.73.orig/sql/item_strfunc.cc 2020-07-14 17:34:38.160304431 +0200 -+++ mysql-5.1.73/sql/item_strfunc.cc 2020-07-14 18:04:36.956339962 +0200 -@@ -35,7 +35,9 @@ - #include "my_md5.h" - #include "sha1.h" - #include "my_aes.h" -+#ifdef HAVE_COMPRESS - #include -+#endif - C_MODE_START - #include "../mysys/my_static.h" // For soundex_map - C_MODE_END -diff -durN mysql-5.1.73.orig/sql/sql_table.cc mysql-5.1.73/sql/sql_table.cc ---- mysql-5.1.73.orig/sql/sql_table.cc 2020-07-14 17:34:38.156304431 +0200 -+++ mysql-5.1.73/sql/sql_table.cc 2020-07-14 18:14:48.628352044 +0200 -@@ -1681,6 +1681,7 @@ - goto end; - } - } -+#ifdef HAVE_COMPRESS - if (flags & WFRM_PACK_FRM) - { - /* -@@ -1702,6 +1703,7 @@ - } - error= my_delete(shadow_frm_name, MYF(MY_WME)); - } -+#endif - if (flags & WFRM_INSTALL_SHADOW) - { - #ifdef WITH_PARTITION_STORAGE_ENGINE diff --git a/package/oracle-mysql/0011-config-ac-macros-alloca.m4-Remove-obsolete-Cray-supp.patch b/package/oracle-mysql/0011-config-ac-macros-alloca.m4-Remove-obsolete-Cray-supp.patch deleted file mode 100644 index 492e01bffe3..00000000000 --- a/package/oracle-mysql/0011-config-ac-macros-alloca.m4-Remove-obsolete-Cray-supp.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0d8ab9b020870c62c216fca77e7f8bd3eeb710c3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 9 Oct 2021 19:23:46 +0200 -Subject: [PATCH] config/ac-macros/alloca.m4: Remove obsolete Cray support - -Remove obsolete Cray support to avoid the following build failure since -autoconf >= 2.70 and -http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=15edf7fd8094fd14a89d9891dd72a9624762597a: - -autoheader: warning: missing template: CRAY_STACKSEG_END -autoheader: warning: Use AC_DEFINE([CRAY_STACKSEG_END], [], [Description]) -autoreconf: error: /home/buildroot/autobuild/instance-2/output-1/host/bin/autoheader failed with exit status: 1 -package/pkg-generic.mk:273: recipe for target '/home/buildroot/autobuild/instance-2/output-1/build/oracle-mysql-5.1.73/.stamp_configured' failed - -Fixes: - - http://autobuild.buildroot.org/results/e5329bcf166d46b2eb17f2bc727c0307bef5ed02 - -Upstream: switched to CMake a very long time ago, so not sent upstream -Signed-off-by: Fabrice Fontaine ---- - config/ac-macros/alloca.m4 | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/config/ac-macros/alloca.m4 b/config/ac-macros/alloca.m4 -index 8c730dd671f..eecb8249573 100644 ---- a/config/ac-macros/alloca.m4 -+++ b/config/ac-macros/alloca.m4 -@@ -46,20 +46,6 @@ then - ALLOCA=alloca.o - AC_DEFINE(C_ALLOCA, 1) - -- AC_CACHE_CHECK(whether alloca needs Cray hooks, ac_cv_os_cray, -- [AC_EGREP_CPP(webecray, -- [#if defined(CRAY) && ! defined(CRAY2) -- webecray -- #else -- wenotbecray -- #endif -- ], ac_cv_os_cray=yes, ac_cv_os_cray=no)]) -- if test "$ac_cv_os_cray" = "yes"; then -- for ac_func in _getb67 GETB67 getb67; do -- AC_CHECK_FUNC($ac_func, [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func) -- break]) -- done -- fi - fi - AC_SUBST(ALLOCA)dnl - else --- -2.33.0 - diff --git a/package/oracle-mysql/S97mysqld b/package/oracle-mysql/S97mysqld deleted file mode 100644 index 110ca2cd12d..00000000000 --- a/package/oracle-mysql/S97mysqld +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -MYSQL_DIR="/var/mysql" -MYSQL_USER="mysql" - -[ -r /etc/default/mysql ] && . /etc/default/mysql - -case "$1" in - start) - if [ ! -d $MYSQL_DIR/mysql ] ; then - echo "Creating MySQL system tables..." - mysql_install_db --user=$MYSQL_USER --ldata=$MYSQL_DIR - fi - - # mysqld runs as user mysql, but /run is only writable by root - # so create a subdirectory for mysql. - install -d -o mysql -g root -m 0755 /run/mysql - - # We don't use start-stop-daemon because mysqld has - # its own wrapper script. - printf "Starting mysql..." - /usr/bin/mysqld_safe --pid-file=/run/mysql/mysqld.pid & - echo "done." - ;; - stop) - printf "Stopping mysql..." - if test -f /run/mysql/mysqld.pid ; then - kill `cat /run/mysql/mysqld.pid` - fi - echo "done." - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage: /etc/init.d/mysqld {start|stop|restart}" - ;; -esac diff --git a/package/oracle-mysql/mysqld.service b/package/oracle-mysql/mysqld.service deleted file mode 100644 index c9e5e42f715..00000000000 --- a/package/oracle-mysql/mysqld.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=MySQL database server - -[Service] -ExecStartPre=/bin/sh -c 'test -d /var/mysql/mysql || mysql_install_db --user=mysql --ldata=/var/mysql' -ExecStart=/usr/bin/mysqld_safe -Restart=always -User=mysql -RuntimeDirectory=mysql -RuntimeDirectoryMode=0755 - -[Install] -WantedBy=multi-user.target diff --git a/package/oracle-mysql/oracle-mysql.hash b/package/oracle-mysql/oracle-mysql.hash deleted file mode 100644 index c4ce39437e6..00000000000 --- a/package/oracle-mysql/oracle-mysql.hash +++ /dev/null @@ -1,6 +0,0 @@ -# From https://downloads.mariadb.com/archives/mysql-5.1/mysql-5.1.73.tar.gz.md5 -md5 887f869bcc757957067b9198f707f32f mysql-5.1.73.tar.gz -# Locally computed -sha256 05ebe21305408b24407d14b77607a3e5ffa3c300e03f1359d3066f301989dcb5 mysql-5.1.73.tar.gz -sha256 cbf0dbf56528a629f4358a1339f981202f1a9a0d9542c092b03f486064ced2db README -sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/oracle-mysql/oracle-mysql.mk b/package/oracle-mysql/oracle-mysql.mk deleted file mode 100644 index 1086e4125f2..00000000000 --- a/package/oracle-mysql/oracle-mysql.mk +++ /dev/null @@ -1,140 +0,0 @@ -################################################################################ -# -# oracle-mysql -# -################################################################################ - -ORACLE_MYSQL_VERSION_MAJOR = 5.1 -ORACLE_MYSQL_VERSION = $(ORACLE_MYSQL_VERSION_MAJOR).73 -ORACLE_MYSQL_SOURCE = mysql-$(ORACLE_MYSQL_VERSION).tar.gz -ORACLE_MYSQL_SITE = http://dev.mysql.com/get/Downloads/MySQL-$(ORACLE_MYSQL_VERSION_MAJOR) -ORACLE_MYSQL_INSTALL_STAGING = YES -ORACLE_MYSQL_DEPENDENCIES = ncurses -ORACLE_MYSQL_AUTORECONF = YES -ORACLE_MYSQL_LICENSE = GPL-2.0 -ORACLE_MYSQL_LICENSE_FILES = README COPYING -ORACLE_MYSQL_CPE_ID_VENDOR = oracle -ORACLE_MYSQL_CPE_ID_PRODUCT = mysql -ORACLE_MYSQL_SELINUX_MODULES = mysql -ORACLE_MYSQL_PROVIDES = mysql -ORACLE_MYSQL_CONFIG_SCRIPTS = mysql_config - -# Unix socket. This variable can also be consulted by other buildroot packages -MYSQL_SOCKET = /run/mysql/mysql.sock - -ORACLE_MYSQL_CONF_ENV = \ - ac_cv_sys_restartable_syscalls=yes \ - ac_cv_path_PS=/bin/ps \ - ac_cv_path_HOSTNAME=/bin/hostname \ - ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \ - ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \ - ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \ - ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \ - mysql_cv_new_rl_interface=yes - -ORACLE_MYSQL_CONF_OPTS = \ - --without-ndb-binlog \ - --without-docs \ - --without-man \ - --without-libedit \ - --with-readline \ - --with-low-memory \ - --enable-thread-safe-client \ - --with-unix-socket-path=$(MYSQL_SOCKET) \ - --disable-mysql-maintainer-mode - -# host-oracle-mysql only installs what is needed to build mysql, i.e. the -# gen_lex_hash tool, and it only builds the parts that are needed to -# create this tool -HOST_ORACLE_MYSQL_DEPENDENCIES = host-zlib host-ncurses - -HOST_ORACLE_MYSQL_CONF_OPTS = \ - --with-embedded-server \ - --disable-mysql-maintainer-mode - -define HOST_ORACLE_MYSQL_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/include my_config.h - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/mysys libmysys.a - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/strings libmystrings.a - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/vio libvio.a - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/dbug libdbug.a - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/regex libregex.a - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/sql gen_lex_hash -endef - -define HOST_ORACLE_MYSQL_INSTALL_CMDS - $(INSTALL) -m 0755 $(@D)/sql/gen_lex_hash $(HOST_DIR)/bin/ -endef - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -ORACLE_MYSQL_DEPENDENCIES += openssl -endif - -ifeq ($(BR2_PACKAGE_ZLIB),y) -ORACLE_MYSQL_DEPENDENCIES += zlib -ORACLE_MYSQL_CONF_OPTS += --with-zlib-dir=$(STAGING_DIR)/usr -else -ORACLE_MYSQL_CONF_OPTS += --without-zlib-dir -endif - -ifeq ($(BR2_PACKAGE_ORACLE_MYSQL_SERVER),y) -ORACLE_MYSQL_DEPENDENCIES += host-oracle-mysql host-bison - -ORACLE_MYSQL_CONF_OPTS += \ - --localstatedir=/var/mysql \ - --with-atomic-ops=up \ - --with-embedded-server \ - --without-query-cache \ - --without-plugin-partition \ - --without-plugin-daemon_example \ - --without-plugin-ftexample \ - --without-plugin-archive \ - --without-plugin-blackhole \ - --without-plugin-example \ - --without-plugin-federated \ - --without-plugin-ibmdb2i \ - --without-plugin-innobase \ - --without-plugin-innodb_plugin \ - --without-plugin-ndbcluster - -# Debugging is only available for the server, so no need for -# this if-block outside of the server if-block -ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) -ORACLE_MYSQL_CONF_OPTS += --with-debug=full -else -ORACLE_MYSQL_CONF_OPTS += --without-debug -endif - -define ORACLE_MYSQL_USERS - mysql -1 nobody -1 * /var/mysql - - MySQL daemon -endef - -define ORACLE_MYSQL_ADD_FOLDER - $(INSTALL) -d $(TARGET_DIR)/var/mysql -endef - -ORACLE_MYSQL_POST_INSTALL_TARGET_HOOKS += ORACLE_MYSQL_ADD_FOLDER - -define ORACLE_MYSQL_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 $(ORACLE_MYSQL_PKGDIR)/S97mysqld \ - $(TARGET_DIR)/etc/init.d/S97mysqld -endef - -define ORACLE_MYSQL_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 $(ORACLE_MYSQL_PKGDIR)/mysqld.service \ - $(TARGET_DIR)/usr/lib/systemd/system/mysqld.service -endef - -else -ORACLE_MYSQL_CONF_OPTS += \ - --without-server -endif - -define ORACLE_MYSQL_REMOVE_TEST_PROGS - rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench -endef - -ORACLE_MYSQL_POST_INSTALL_TARGET_HOOKS += ORACLE_MYSQL_REMOVE_TEST_PROGS - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/package/orc/0001-orc-orccpu-powerpc.c-fix-build-with-kernel-4.11.patch b/package/orc/0001-orc-orccpu-powerpc.c-fix-build-with-kernel-4.11.patch deleted file mode 100644 index 0a4e7010f2d..00000000000 --- a/package/orc/0001-orc-orccpu-powerpc.c-fix-build-with-kernel-4.11.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a45f6d49ec090ad94333c0865c378d2d96ab2af4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 15 Feb 2021 20:17:43 +0100 -Subject: [PATCH] orc/orccpu-powerpc.c: fix build with kernel < 4.11 - -Build with powerpc and kernel < 4.11 is broken since version 0.4.30 and -https://gitlab.freedesktop.org/gstreamer/orc/-/commit/a999325abea6a5549d60d99ddeb0271d2aa00235: - -FAILED: orc/liborc-0.4.so.0.32.0.p/orccpu-powerpc.c.o -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/bin/powerpc-linux-gcc -Iorc/liborc-0.4.so.0.32.0.p -Iorc -I../orc -I. -I.. -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -std=gnu99 -O3 -DHAVE_CONFIG_H -fvisibility=hidden -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -fPIC -pthread -DORC_ENABLE_UNSTABLE_API -D_GNU_SOURCE -DBUILDING_ORC -MD -MQ orc/liborc-0.4.so.0.32.0.p/orccpu-powerpc.c.o -MF orc/liborc-0.4.so.0.32.0.p/orccpu-powerpc.c.o.d -o orc/liborc-0.4.so.0.32.0.p/orccpu-powerpc.c.o -c ../orc/orccpu-powerpc.c -../orc/orccpu-powerpc.c: In function 'orc_check_powerpc_proc_auxv': -../orc/orccpu-powerpc.c:164:21: error: 'AT_L1D_CACHESIZE' undeclared (first use in this function); did you mean 'AT_DCACHEBSIZE'? - 164 | if (buf[i] == AT_L1D_CACHESIZE) { - | ^~~~~~~~~~~~~~~~ - | AT_DCACHEBSIZE -../orc/orccpu-powerpc.c:164:21: note: each undeclared identifier is reported only once for each function it appears in -../orc/orccpu-powerpc.c:168:21: error: 'AT_L2_CACHESIZE' undeclared (first use in this function); did you mean 'AT_ICACHEBSIZE'? - 168 | if (buf[i] == AT_L2_CACHESIZE) { - | ^~~~~~~~~~~~~~~ - | AT_ICACHEBSIZE -../orc/orccpu-powerpc.c:172:21: error: 'AT_L3_CACHESIZE' undeclared (first use in this function); did you mean 'AT_ICACHEBSIZE'? - 172 | if (buf[i] == AT_L3_CACHESIZE) { - | ^~~~~~~~~~~~~~~ - | AT_ICACHEBSIZE - -Indeed, AT_{L1D,L2,L3}_CACHESIZE is only defined since kernel 4.11 and -https://github.com/torvalds/linux/commit/98a5f361b8625c6f4841d6ba013bbf0e80d08147 - -Fixes: - - http://autobuild.buildroot.org/results/0821e96cba3e455edd47b87485501d892fc7ac6a - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/56] ---- - orc/orccpu-powerpc.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/orc/orccpu-powerpc.c b/orc/orccpu-powerpc.c -index 6796f17..340cf05 100644 ---- a/orc/orccpu-powerpc.c -+++ b/orc/orccpu-powerpc.c -@@ -161,18 +161,24 @@ orc_check_powerpc_proc_auxv (void) - _orc_cpu_name = (char*)buf[i + 1]; - found++; - } -+#ifdef AT_L1D_CACHESIZE - if (buf[i] == AT_L1D_CACHESIZE) { - _orc_data_cache_size_level1 = buf[i + 1]; - found++; - } -+#endif -+#ifdef AT_L2_CACHESIZE - if (buf[i] == AT_L2_CACHESIZE) { - _orc_data_cache_size_level2 = buf[i + 1]; - found++; - } -+#endif -+#ifdef AT_L3_CACHESIZE - if (buf[i] == AT_L3_CACHESIZE) { - _orc_data_cache_size_level3 = buf[i + 1]; - found++; - } -+#endif - if (found == 6) - break; - } --- -2.30.0 - diff --git a/package/orc/orc.hash b/package/orc/orc.hash index f48c2932ab6..1e584c1190f 100644 --- a/package/orc/orc.hash +++ b/package/orc/orc.hash @@ -1,5 +1,5 @@ -# From https://gstreamer.freedesktop.org/data/src/orc/orc-0.4.32.tar.xz.sha256sum -sha256 a66e3d8f2b7e65178d786a01ef61f2a0a0b4d0b8370de7ce134ba73da4af18f0 orc-0.4.32.tar.xz +# From https://gstreamer.freedesktop.org/data/src/orc/orc-0.4.34.tar.xz.sha256sum +sha256 8f47abb3f097171e44eb807adcdabd860fba2effd37d8d3c4fbd5f341cadd41f orc-0.4.34.tar.xz # Locally calculated sha256 4f5dabb1b44bb6fc5cd53820b1f103147ad61b395a57903991325bd1b85d97bf COPYING diff --git a/package/orc/orc.mk b/package/orc/orc.mk index a93a4f875af..b2d2bb461b5 100644 --- a/package/orc/orc.mk +++ b/package/orc/orc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ORC_VERSION = 0.4.32 +ORC_VERSION = 0.4.34 ORC_SOURCE = orc-$(ORC_VERSION).tar.xz ORC_SITE = http://gstreamer.freedesktop.org/data/src/orc ORC_LICENSE = BSD-2-Clause, BSD-3-Clause diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in index e903e92c49e..439309df951 100644 --- a/package/osm2pgsql/Config.in +++ b/package/osm2pgsql/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_OSM2PGSQL bool "osm2pgsql" + depends on BR2_ARCH_IS_64 depends on BR2_INSTALL_LIBSTDCPP # boost, libosmium, protozero depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium @@ -11,6 +12,7 @@ config BR2_PACKAGE_OSM2PGSQL select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_JSON_FOR_MODERN_CPP select BR2_PACKAGE_LIBOSMIUM select BR2_PACKAGE_PROTOZERO select BR2_PACKAGE_ZLIB @@ -22,10 +24,12 @@ config BR2_PACKAGE_OSM2PGSQL https://osm2pgsql.org -comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" +comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_ARCH_IS_64 depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS comment "osm2pgsql needs a toolchain not affected by GCC bug 64735" + depends on BR2_ARCH_IS_64 depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash index 505a4496c89..a93ceb6a7f9 100644 --- a/package/osm2pgsql/osm2pgsql.hash +++ b/package/osm2pgsql/osm2pgsql.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 94c72ceb3c401c816499339f8765c62efbf40685a798dcdf9a4bf7dbedf6c7a5 osm2pgsql-1.7.2.tar.gz +sha256 33849d8edacbca5ab5492fed32ac954de14f92ab6b3028c03ef88bb7ab596d20 osm2pgsql-1.10.0.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/osm2pgsql/osm2pgsql.mk b/package/osm2pgsql/osm2pgsql.mk index 2bc8d41e6ed..1565c2142ce 100644 --- a/package/osm2pgsql/osm2pgsql.mk +++ b/package/osm2pgsql/osm2pgsql.mk @@ -4,13 +4,13 @@ # ################################################################################ -OSM2PGSQL_VERSION = 1.7.2 +OSM2PGSQL_VERSION = 1.10.0 OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION)) OSM2PGSQL_LICENSE = GPL-2.0+ OSM2PGSQL_LICENSE_FILES = COPYING OSM2PGSQL_SUPPORTS_IN_SOURCE_BUILD = NO -OSM2PGSQL_DEPENDENCIES = boost bzip2 expat libosmium postgresql protozero zlib +OSM2PGSQL_DEPENDENCIES = boost bzip2 expat json-for-modern-cpp libosmium postgresql protozero zlib # fmt > 8.0 is not yet supported OSM2PGSQL_CONF_OPTS = \ diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk index 986dca921a2..6b22282486e 100644 --- a/package/owfs/owfs.mk +++ b/package/owfs/owfs.mk @@ -28,7 +28,7 @@ OWFS_CONF_OPTS += \ --with-fuseinclude=$(STAGING_DIR)/usr/include \ --with-fuselib=$(STAGING_DIR)/usr/lib define OWFS_INSTALL_FUSE_INIT_SYSV - $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S60owfs \ + $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)/S60owfs \ $(TARGET_DIR)/etc/init.d/S60owfs endef define OWFS_CREATE_MOUNTPOINT @@ -78,7 +78,7 @@ endif OWFS_MAKE = $(MAKE) $(OWFS_EXTRA_MAKE_OPTS) define OWFS_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S55owserver \ + $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)/S55owserver \ $(TARGET_DIR)/etc/init.d/S55owserver $(OWFS_INSTALL_FUSE_INIT_SYSV) endef diff --git a/package/p11-kit/p11-kit.hash b/package/p11-kit/p11-kit.hash index e950060c91e..81d209b2c21 100644 --- a/package/p11-kit/p11-kit.hash +++ b/package/p11-kit/p11-kit.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8 p11-kit-0.24.1.tar.xz +sha256 d8ddce1bb7e898986f9d250ccae7c09ce14d82f1009046d202a0eb1b428b2adc p11-kit-0.25.3.tar.xz # Locally computed sha256 2e1ba993904df807a10c3eda1e5c272338edc35674b679773a8b3ad460731054 COPYING diff --git a/package/p11-kit/p11-kit.mk b/package/p11-kit/p11-kit.mk index 868e3a7c9bf..53e953e0702 100644 --- a/package/p11-kit/p11-kit.mk +++ b/package/p11-kit/p11-kit.mk @@ -4,7 +4,7 @@ # ################################################################################ -P11_KIT_VERSION = 0.24.1 +P11_KIT_VERSION = 0.25.3 P11_KIT_SOURCE = p11-kit-$(P11_KIT_VERSION).tar.xz P11_KIT_SITE = https://github.com/p11-glue/p11-kit/releases/download/$(P11_KIT_VERSION) P11_KIT_INSTALL_STAGING = YES @@ -13,7 +13,7 @@ P11_KIT_CONF_ENV = ac_cv_have_decl_program_invocation_short_name=yes \ ac_cv_have_decl___progname=no P11_KIT_LICENSE = BSD-3-Clause P11_KIT_LICENSE_FILES = COPYING -P11_KIT_CPE_ID_VENDOR = p11-kit_project +P11_KIT_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_LIBFFI),y) P11_KIT_DEPENDENCIES += host-pkgconf libffi diff --git a/package/paho-mqtt-c/paho-mqtt-c.hash b/package/paho-mqtt-c/paho-mqtt-c.hash index 1949abdf1aa..d359edf36e9 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 d7bba3f8b8978802e11e2b1f28e96e6b7f4ed5d8a268af52a4d3b1bcbd1db16b paho-mqtt-c-1.3.11.tar.gz +sha256 47c77e95609812da82feee30db435c3b7c720d4fd3147d466ead126e657b6d9c paho-mqtt-c-1.3.13.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 0becf16567beb77fa252b7664631dd177c8f9a1889e48995b45379c7130e5303 epl-v20 sha256 bc0f3f447097eb82a29ad6c2f4929572bb548b6bd4c9e38fde1bf131a771b7a0 LICENSE diff --git a/package/paho-mqtt-c/paho-mqtt-c.mk b/package/paho-mqtt-c/paho-mqtt-c.mk index 30daf863ad8..ec4e96c77ff 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = 1.3.11 +PAHO_MQTT_C_VERSION = 1.3.13 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,v$(PAHO_MQTT_C_VERSION)) PAHO_MQTT_C_LICENSE = EPL-2.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v20 edl-v10 LICENSE diff --git a/package/pahole/pahole.hash b/package/pahole/pahole.hash index 5610b252a3e..9dc676d9f4d 100644 --- a/package/pahole/pahole.hash +++ b/package/pahole/pahole.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 eeb88a62c3aaa1f4c389117b7e7cc08a49acc8a0e7f165f76dd9c5ab9af2c266 pahole-1.24.tar.gz +sha256 db31d13c3dad8d9f4e38296bd35c4586e98b9c950e07dabba212985e6d051631 pahole-1.25.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/pahole/pahole.mk b/package/pahole/pahole.mk index 82bba2f7771..1a3e156ebbb 100644 --- a/package/pahole/pahole.mk +++ b/package/pahole/pahole.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHOLE_VERSION = 1.24 +PAHOLE_VERSION = 1.25 PAHOLE_SITE = https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot HOST_PAHOLE_DEPENDENCIES = \ host-elfutils \ diff --git a/package/pango/0001-Drop-Werror-array-bounds.patch b/package/pango/0001-Drop-Werror-array-bounds.patch new file mode 100644 index 00000000000..45821e85335 --- /dev/null +++ b/package/pango/0001-Drop-Werror-array-bounds.patch @@ -0,0 +1,40 @@ +From e93dbd66973040f1e0afcba0dc7c712c27d75d59 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Mon, 1 May 2023 23:27:52 -0400 +Subject: [PATCH] Drop -Werror=array-bounds + +gcc has strange issues with this and produces false +positives that recently started breaking the build of +pango as a subproject in gtk. + +See e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 + +Upstream: https://gitlab.gnome.org/GNOME/pango/-/commit/e93dbd66973040f1e0afcba0dc7c712c27d75d59 +Signed-off-by: Fabrice Fontaine +--- + meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 930f41082..2d30c0141 100644 +--- a/meson.build ++++ b/meson.build +@@ -89,7 +89,6 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang' + '-Wuninitialized', + '-Wunused', + '-Werror=address', +- '-Werror=array-bounds', + '-Werror=empty-body', + '-Werror=implicit', + '-Werror=implicit-fallthrough', +@@ -132,7 +131,6 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang' + '-Werror=sequence-point', + '-Werror=return-type', + '-Werror=trigraphs', +- '-Werror=array-bounds', + '-Werror=write-strings', + '-Werror=address', + '-Werror=int-to-pointer-cast', +-- +GitLab + diff --git a/package/pango/pango.hash b/package/pango/pango.hash index 60a6809ab5f..3e609e6e048 100644 --- a/package/pango/pango.hash +++ b/package/pango/pango.hash @@ -1,5 +1,5 @@ -# From https://ftp.acc.umu.se/pub/GNOME/sources/pango/1.50/pango-1.50.12.sha256sum -sha256 caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3 pango-1.50.12.tar.xz +# From https://download.gnome.org/sources/pango/1.50/pango-1.50.14.sha256sum +sha256 1d67f205bfc318c27a29cfdfb6828568df566795df0cb51d2189cde7f2d581e8 pango-1.50.14.tar.xz # Locally computed sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/pango/pango.mk b/package/pango/pango.mk index 698894d0c86..723e6d22889 100644 --- a/package/pango/pango.mk +++ b/package/pango/pango.mk @@ -5,9 +5,9 @@ ################################################################################ PANGO_VERSION_MAJOR = 1.50 -PANGO_VERSION = $(PANGO_VERSION_MAJOR).12 +PANGO_VERSION = $(PANGO_VERSION_MAJOR).14 PANGO_SOURCE = pango-$(PANGO_VERSION).tar.xz -PANGO_SITE = http://ftp.gnome.org/pub/GNOME/sources/pango/$(PANGO_VERSION_MAJOR) +PANGO_SITE = https://download.gnome.org/sources/pango/$(PANGO_VERSION_MAJOR) PANGO_INSTALL_STAGING = YES PANGO_LICENSE = LGPL-2.0+ PANGO_LICENSE_FILES = COPYING diff --git a/package/pangomm/Config.in b/package/pangomm/Config.in index c23ac4aaa8e..6ddad9e6efe 100644 --- a/package/pangomm/Config.in +++ b/package/pangomm/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_PANGOMM - bool "pangomm" + bool "pangomm (latest)" depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libsigc diff --git a/package/pangomm/pangomm.hash b/package/pangomm/pangomm.hash index 3fba695831c..dc606c5de96 100644 --- a/package/pangomm/pangomm.hash +++ b/package/pangomm/pangomm.hash @@ -1,5 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/pangomm/2.48/pangomm-2.48.2.sha256sum -sha256 e1d75522c53f462799875cd247f9b49c91ced4b1abe68387ac35b271392d4ea5 pangomm-2.48.2.tar.xz +# From https://download.gnome.org/sources/pangomm/2.50/pangomm-2.50.1.sha256sum +sha256 ccc9923413e408c2bff637df663248327d72822f11e394b423e1c5652b7d9214 pangomm-2.50.1.tar.xz # Locally computed sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/pangomm/pangomm.mk b/package/pangomm/pangomm.mk index af90d69c4e0..64ac625b7ff 100644 --- a/package/pangomm/pangomm.mk +++ b/package/pangomm/pangomm.mk @@ -4,10 +4,10 @@ # ################################################################################ -PANGOMM_VERSION_MAJOR = 2.48 -PANGOMM_VERSION = $(PANGOMM_VERSION_MAJOR).2 +PANGOMM_VERSION_MAJOR = 2.50 +PANGOMM_VERSION = $(PANGOMM_VERSION_MAJOR).1 PANGOMM_SOURCE = pangomm-$(PANGOMM_VERSION).tar.xz -PANGOMM_SITE = http://ftp.gnome.org/pub/gnome/sources/pangomm/$(PANGOMM_VERSION_MAJOR) +PANGOMM_SITE = https://download.gnome.org/sources/pangomm/$(PANGOMM_VERSION_MAJOR) PANGOMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) PANGOMM_LICENSE_FILES = COPYING COPYING.tools PANGOMM_INSTALL_STAGING = YES diff --git a/package/pangomm2_46/Config.in b/package/pangomm2_46/Config.in new file mode 100644 index 00000000000..772b523c83f --- /dev/null +++ b/package/pangomm2_46/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_PANGOMM2_46 + bool "pangomm (2.46.x)" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz + depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/pango -> libglib2 + depends on BR2_USE_MMU # *mm/pango -> libglib2 + depends on BR2_USE_WCHAR # *mm/pango -> libglib2 + select BR2_PACKAGE_CAIROMM1_14 + select BR2_PACKAGE_GLIBMM2_66 + select BR2_PACKAGE_PANGO + select BR2_PACKAGE_LIBSIGC2 + help + The pangomm package is a set of C++ bindings for Pango. + + This is the last version before the API and ABI change + introduced in 2.48.0 which requires C++17. + + http://www.gtkmm.org/ + +comment "pangomm (2.46.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/pangomm2_46/pangomm2_46.hash b/package/pangomm2_46/pangomm2_46.hash new file mode 100644 index 00000000000..8d05dbc2ffb --- /dev/null +++ b/package/pangomm2_46/pangomm2_46.hash @@ -0,0 +1,5 @@ +# From https://download.gnome.org/sources/pangomm/2.46/pangomm-2.46.3.sha256sum +sha256 410fe04d471a608f3f0273d3a17d840241d911ed0ff2c758a9859c66c6f24379 pangomm-2.46.3.tar.xz +# Locally computed +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/pangomm2_46/pangomm2_46.mk b/package/pangomm2_46/pangomm2_46.mk new file mode 100644 index 00000000000..17251584910 --- /dev/null +++ b/package/pangomm2_46/pangomm2_46.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# pangomm2_46 +# +################################################################################ + +PANGOMM2_46_VERSION_MAJOR = 2.46 +PANGOMM2_46_VERSION = $(PANGOMM2_46_VERSION_MAJOR).3 +PANGOMM2_46_SOURCE = pangomm-$(PANGOMM2_46_VERSION).tar.xz +PANGOMM2_46_SITE = https://download.gnome.org/sources/pangomm/$(PANGOMM2_46_VERSION_MAJOR) +PANGOMM2_46_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) +PANGOMM2_46_LICENSE_FILES = COPYING COPYING.tools +PANGOMM2_46_INSTALL_STAGING = YES +PANGOMM2_46_DEPENDENCIES = glibmm2_66 cairomm1_14 libsigc2 pango host-pkgconf + +$(eval $(meson-package)) diff --git a/package/parted/Config.in b/package/parted/Config.in index f48b365a2d7..ea6c3db2bf7 100644 --- a/package/parted/Config.in +++ b/package/parted/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PARTED bool "parted" depends on BR2_ENABLE_LOCALE depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID help @@ -9,5 +10,6 @@ config BR2_PACKAGE_PARTED http://www.gnu.org/software/parted/ -comment "parted needs a toolchain w/ locale, wchar" - depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR +comment "parted needs a toolchain w/ locale, wchar, gcc >=5" + depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/parted/parted.hash b/package/parted/parted.hash index 392436ec4b7..6643ba9fbe3 100644 --- a/package/parted/parted.hash +++ b/package/parted/parted.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 e1298022472da5589b7f2be1d5ee3c1b66ec3d96dfbad03dc642afd009da5342 parted-3.4.tar.xz +sha256 3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612 parted-3.6.tar.xz # Locally calculated sha256 0abbff814cd00e2b0b6d08395af2b419c1a92026c4b4adacbb65ccda45fa58cf COPYING diff --git a/package/parted/parted.mk b/package/parted/parted.mk index 23158179e4c..5b55a9f21e0 100644 --- a/package/parted/parted.mk +++ b/package/parted/parted.mk @@ -4,14 +4,14 @@ # ################################################################################ -PARTED_VERSION = 3.4 +PARTED_VERSION = 3.6 PARTED_SOURCE = parted-$(PARTED_VERSION).tar.xz PARTED_SITE = $(BR2_GNU_MIRROR)/parted PARTED_DEPENDENCIES = host-pkgconf util-linux PARTED_INSTALL_STAGING = YES PARTED_LICENSE = GPL-3.0+ PARTED_LICENSE_FILES = COPYING -PARTED_CPE_ID_VENDOR = parted_project +PARTED_CPE_ID_VALID = YES ifeq ($(BR2_PACKAGE_READLINE),y) PARTED_DEPENDENCIES += readline diff --git a/package/pax-utils/pax-utils.hash b/package/pax-utils/pax-utils.hash index 0ef8fad643a..464dd14a5b6 100644 --- a/package/pax-utils/pax-utils.hash +++ b/package/pax-utils/pax-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9742d2a31d53a4e0f6df0d3721ab6f7cf8b0404c95fee3b00e678c1ff6db7f21 pax-utils-1.2.6.tar.xz +sha256 907fdcfc6c6c2913a8e42847f8096027b0a953b9344208d14daf2324fd711638 pax-utils-1.3.7.tar.bz2 sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/pax-utils/pax-utils.mk b/package/pax-utils/pax-utils.mk index 704e50e7380..5dd1842df32 100644 --- a/package/pax-utils/pax-utils.mk +++ b/package/pax-utils/pax-utils.mk @@ -4,28 +4,31 @@ # ################################################################################ -PAX_UTILS_VERSION = 1.2.6 -PAX_UTILS_SITE = http://distfiles.gentoo.org/distfiles -PAX_UTILS_SOURCE = pax-utils-$(PAX_UTILS_VERSION).tar.xz +PAX_UTILS_VERSION = 1.3.7 +PAX_UTILS_SITE = https://gitweb.gentoo.org/proj/pax-utils.git/snapshot +PAX_UTILS_SOURCE = pax-utils-$(PAX_UTILS_VERSION).tar.bz2 PAX_UTILS_LICENSE = GPL-2.0 PAX_UTILS_LICENSE_FILES = COPYING PAX_UTILS_CPE_ID_VENDOR = gentoo PAX_UTILS_DEPENDENCIES = host-pkgconf -PAX_UTILS_CONF_OPTS = --without-python +PAX_UTILS_CONF_OPTS = \ + -Dbuild_manpages=disabled \ + -Dlddtree_implementation=sh \ + -Dtests=false ifeq ($(BR2_PACKAGE_LIBCAP),y) PAX_UTILS_DEPENDENCIES += libcap -PAX_UTILS_CONF_OPTS += --with-caps +PAX_UTILS_CONF_OPTS += -Duse_libcap=enabled else -PAX_UTILS_CONF_OPTS += --without-caps +PAX_UTILS_CONF_OPTS += -Duse_libcap=disabled endif ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) PAX_UTILS_DEPENDENCIES += libseccomp -PAX_UTILS_CONF_OPTS += --with-seccomp +PAX_UTILS_CONF_OPTS += -Duse_seccomp=true else -PAX_UTILS_CONF_OPTS += --without-seccomp +PAX_UTILS_CONF_OPTS += -Duse_seccomp=false endif # lddtree and symtree need bash @@ -36,5 +39,5 @@ endef endif PAX_UTILS_POST_INSTALL_TARGET_HOOKS += PAX_UTILS_REMOVE_BASH_TOOLS -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(meson-package)) +$(eval $(host-meson-package)) diff --git a/package/pciutils/0001-Workaround-build-failure-with-older-binutils.patch b/package/pciutils/0001-Workaround-build-failure-with-older-binutils.patch deleted file mode 100644 index 1590bc19c56..00000000000 --- a/package/pciutils/0001-Workaround-build-failure-with-older-binutils.patch +++ /dev/null @@ -1,57 +0,0 @@ -From fda20d4bcb91f0f9d0db294b4813264de2d88866 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 12 May 2022 16:16:21 +0300 -Subject: [PATCH] Workaround build failure with older binutils - -binutils releases older than 2.35 are affected by bug gas/23840[1] that -breaks the link of shared library: - -cc -O2 -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -fPIC -fvisibility=hidden -c -o filter.o filter.c -/tmp/ccLtucRG.s: Assembler messages: -/tmp/ccLtucRG.s:6: Error: multiple versions [`pci_filter_init@@LIBPCI_3.8'|`pci_filter_init@LIBPCI_3.3'] for symbol `pci_filter_init_v38' -/tmp/ccLtucRG.s:8: Error: multiple versions [`pci_filter_parse_slot@@LIBPCI_3.8'|`pci_filter_parse_slot@LIBPCI_3.3'] for symbol `pci_filter_parse_slot_v38' -/tmp/ccLtucRG.s:10: Error: multiple versions [`pci_filter_parse_id@@LIBPCI_3.8'|`pci_filter_parse_id@LIBPCI_3.3'] for symbol `pci_filter_parse_id_v38' -/tmp/ccLtucRG.s:12: Error: multiple versions [`pci_filter_match@@LIBPCI_3.8'|`pci_filter_match@LIBPCI_3.3'] for symbol `pci_filter_match_v38' - -The symbol versioning feature has little value in the context of -Buildroot. As a workaround remove one of each duplicated symbol. - -[1] https://sourceware.org/bugzilla/show_bug.cgi?id=23840 - -Signed-off-by: Baruch Siach ---- -Upstream status: not upstreamable - -Upstream bug report: https://lore.kernel.org/linux-pci/87mtfm7v58.fsf@tarshish/ ---- - lib/filter.c | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/lib/filter.c b/lib/filter.c -index b881b6bc9083..bc34e8c2bab9 100644 ---- a/lib/filter.c -+++ b/lib/filter.c -@@ -304,20 +304,16 @@ pci_filter_match_v30(struct pci_filter_v30 *f, struct pci_dev *d) - - STATIC_ALIAS(void pci_filter_init(struct pci_access *a, struct pci_filter *f), pci_filter_init_v38(a, f)); - SYMBOL_VERSION(pci_filter_init_v30, pci_filter_init@LIBPCI_3.0); --SYMBOL_VERSION(pci_filter_init_v38, pci_filter_init@LIBPCI_3.3); - SYMBOL_VERSION(pci_filter_init_v38, pci_filter_init@@LIBPCI_3.8); - - STATIC_ALIAS(char *pci_filter_parse_slot(struct pci_filter *f, char *str), pci_filter_parse_slot_v38(f, str)); - SYMBOL_VERSION(pci_filter_parse_slot_v30, pci_filter_parse_slot@LIBPCI_3.0); --SYMBOL_VERSION(pci_filter_parse_slot_v38, pci_filter_parse_slot@LIBPCI_3.3); - SYMBOL_VERSION(pci_filter_parse_slot_v38, pci_filter_parse_slot@@LIBPCI_3.8); - - STATIC_ALIAS(char *pci_filter_parse_id(struct pci_filter *f, char *str), pci_filter_parse_id_v38(f, str)); - SYMBOL_VERSION(pci_filter_parse_id_v30, pci_filter_parse_id@LIBPCI_3.0); --SYMBOL_VERSION(pci_filter_parse_id_v38, pci_filter_parse_id@LIBPCI_3.3); - SYMBOL_VERSION(pci_filter_parse_id_v38, pci_filter_parse_id@@LIBPCI_3.8); - - STATIC_ALIAS(int pci_filter_match(struct pci_filter *f, struct pci_dev *d), pci_filter_match_v38(f, d)); - SYMBOL_VERSION(pci_filter_match_v30, pci_filter_match@LIBPCI_3.0); --SYMBOL_VERSION(pci_filter_match_v38, pci_filter_match@LIBPCI_3.3); - SYMBOL_VERSION(pci_filter_match_v38, pci_filter_match@@LIBPCI_3.8); --- -2.35.1 - diff --git a/package/pciutils/Config.in b/package/pciutils/Config.in index a082f239977..d16c36340f4 100644 --- a/package/pciutils/Config.in +++ b/package/pciutils/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PCIUTILS Various utilities dealing with the PCI bus. Provides things like setpci and lspci. - http://atrey.karlin.mff.cuni.cz/~mj/pciutils.html + https://mj.ucw.cz/sw/pciutils/ diff --git a/package/pciutils/pciutils.hash b/package/pciutils/pciutils.hash index 0b66b825891..2ac28d327b5 100644 --- a/package/pciutils/pciutils.hash +++ b/package/pciutils/pciutils.hash @@ -1,3 +1,3 @@ # From https://www.kernel.org/pub/software/utils/pciutils/sha256sums.asc -sha256 91edbd0429a84705c9ad156d4ff38ccc724d41ea54c4c5b88e38e996f8a34f05 pciutils-3.8.0.tar.xz +sha256 238a2e27166730e53a17fe07bfad229e07fa39b618117e5944b6d7eda9fbb0e9 pciutils-3.10.0.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/pciutils/pciutils.mk b/package/pciutils/pciutils.mk index 140276dbc47..a6708ce94b9 100644 --- a/package/pciutils/pciutils.mk +++ b/package/pciutils/pciutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCIUTILS_VERSION = 3.8.0 +PCIUTILS_VERSION = 3.10.0 PCIUTILS_SITE = $(BR2_KERNEL_MIRROR)/software/utils/pciutils PCIUTILS_SOURCE = pciutils-$(PCIUTILS_VERSION).tar.xz PCIUTILS_INSTALL_STAGING = YES diff --git a/package/pcm-tools/Config.in b/package/pcm-tools/Config.in index ca9719dc5f4..6bf05f32d78 100644 --- a/package/pcm-tools/Config.in +++ b/package/pcm-tools/Config.in @@ -1,11 +1,13 @@ -comment "pcm-tools needs a toolchain w/ C++" +comment "pcm-tools needs a toolchain w/ C++, NPTL" depends on BR2_i386 || BR2_x86_64 - depends on !BR2_INSTALL_LIBSTDCPP + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL config BR2_PACKAGE_PCM_TOOLS bool "pcm-tools" depends on BR2_i386 || BR2_x86_64 depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_HWDATA select BR2_PACKAGE_HWDATA_PCI_IDS help diff --git a/package/pcm-tools/pcm-tools.hash b/package/pcm-tools/pcm-tools.hash index 1853dcebb57..cfa3faeff7b 100644 --- a/package/pcm-tools/pcm-tools.hash +++ b/package/pcm-tools/pcm-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 aa48ab1473720aeb7837b67bfc612100f484748720a8b8034daff00419709057 pcm-tools-202110.tar.gz +sha256 29416f83d1de95594d225f63af34f8f074ee4822010ce2e05b1fabc66933472a pcm-tools-93fc9193a70e2f1f054be554c48f4a4791be5032-br1.tar.gz sha256 0f476c77009f982dcc4bdff41e692ddd456a9862908e99f2ae3d57296decc649 LICENSE diff --git a/package/pcm-tools/pcm-tools.mk b/package/pcm-tools/pcm-tools.mk index d676df57f9a..c5304926964 100644 --- a/package/pcm-tools/pcm-tools.mk +++ b/package/pcm-tools/pcm-tools.mk @@ -4,8 +4,12 @@ # ################################################################################ -PCM_TOOLS_VERSION = 202110 -PCM_TOOLS_SITE = $(call github,opcm,pcm,$(PCM_TOOLS_VERSION)) +# Don't use the github helper, as pcm-tools uses git attributes that are +# replaced when gnerating the archive. +# 93fc9193a70e2f1f054be554c48f4a4791be5032 is the hash of the 202110 tag. +PCM_TOOLS_VERSION = 93fc9193a70e2f1f054be554c48f4a4791be5032 +PCM_TOOLS_SITE = https://github.com/opcm/pcm +PCM_TOOLS_SITE_METHOD = git PCM_TOOLS_LICENSE = BSD-3-Clause PCM_TOOLS_LICENSE_FILES = LICENSE @@ -13,6 +17,14 @@ PCM_TOOLS_EXE_FILES = \ pcm-core pcm-iio pcm-lspci pcm-memory pcm-msr pcm-numa \ pcm-pcicfg pcm-pcie pcm-power pcm-sensor pcm-tsx pcm +# version.h contains git attributes; replace them with the previously-known +# value. +define PCM_TOOLS_FIXUP_VERSION_H + $(SED) 's/\$$Format:%ci ID=%h\$$/2021-10-25 16:07:54 +0200 ID=93fc9193/' \ + $(@D)/version.h +endef +PCM_TOOLS_POST_EXTRACT_HOOKS += PCM_TOOLS_FIXUP_VERSION_H + define PCM_TOOLS_BUILD_CMDS touch $(@D)/daemon-binaries $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ diff --git a/package/pcmanfm/pcmanfm.mk b/package/pcmanfm/pcmanfm.mk index 1379b19f5d4..9b233f614d8 100644 --- a/package/pcmanfm/pcmanfm.mk +++ b/package/pcmanfm/pcmanfm.mk @@ -10,7 +10,7 @@ PCMANFM_SITE = http://sourceforge.net/projects/pcmanfm/files PCMANFM_DEPENDENCIES = libglib2 menu-cache libfm $(TARGET_NLS_DEPENDENCIES) PCMANFM_LICENSE = GPL-2.0+ PCMANFM_LICENSE_FILES = COPYING -PCMANFM_CPE_ID_VENDOR = pcmanfm_project +PCMANFM_CPE_ID_VALID = YES PCMANFM_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) diff --git a/package/pcre2/Config.in b/package/pcre2/Config.in index f06f1914f30..ba4719dd3d1 100644 --- a/package/pcre2/Config.in +++ b/package/pcre2/Config.in @@ -29,7 +29,6 @@ config BR2_PACKAGE_PCRE2_JIT_ARCH_SUPPORTS default y if BR2_i386 || BR2_x86_64 default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_powerpc - default y if BR2_sparc config BR2_PACKAGE_PCRE2_JIT bool "enable JIT support" diff --git a/package/pcre2/pcre2.hash b/package/pcre2/pcre2.hash index e3fe6b2d533..f609bdaee29 100644 --- a/package/pcre2/pcre2.hash +++ b/package/pcre2/pcre2.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature: -# https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2.sig -sha256 14e4b83c4783933dc17e964318e6324f7cae1bc75d8f3c79bc6969f00c159d68 pcre2-10.40.tar.bz2 +# https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2.sig +sha256 8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840 pcre2-10.42.tar.bz2 # Locally computed sha256 87d884eceb7fc54611470ce9f74280d28612b0c877adfc767e9676892a638987 LICENCE diff --git a/package/pcre2/pcre2.mk b/package/pcre2/pcre2.mk index 06a0afc9b8e..c35056f8a26 100644 --- a/package/pcre2/pcre2.mk +++ b/package/pcre2/pcre2.mk @@ -4,8 +4,8 @@ # ################################################################################ -PCRE2_VERSION = 10.40 -PCRE2_SITE = https://github.com/PhilipHazel/pcre2/releases/download/pcre2-$(PCRE2_VERSION) +PCRE2_VERSION = 10.42 +PCRE2_SITE = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$(PCRE2_VERSION) PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 PCRE2_LICENSE = BSD-3-Clause PCRE2_LICENSE_FILES = LICENCE diff --git a/package/pcsc-lite/pcsc-lite.hash b/package/pcsc-lite/pcsc-lite.hash index 4326822e41f..e0face9ddb2 100644 --- a/package/pcsc-lite/pcsc-lite.hash +++ b/package/pcsc-lite/pcsc-lite.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 cbcc3b34c61f53291cecc0d831423c94d437b188eb2b97b7febc08de1c914e8a pcsc-lite-1.9.9.tar.bz2 +sha256 d6c3e2b64510e5ed6fcd3323febf2cc2a8e5fda5a6588c7671f2d77f9f189356 pcsc-lite-2.0.0.tar.bz2 sha256 40d4358bb8dc8d30f5365ae6d999b6f820bbc051b292912482f2e4d0ebd837e1 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL-3.0.txt diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk index 0b92380ccb0..2b2114835ed 100644 --- a/package/pcsc-lite/pcsc-lite.mk +++ b/package/pcsc-lite/pcsc-lite.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCSC_LITE_VERSION = 1.9.9 +PCSC_LITE_VERSION = 2.0.0 PCSC_LITE_SOURCE = pcsc-lite-$(PCSC_LITE_VERSION).tar.bz2 PCSC_LITE_SITE = https://pcsclite.apdu.fr/files PCSC_LITE_INSTALL_STAGING = YES diff --git a/package/perftest/Config.in b/package/perftest/Config.in new file mode 100644 index 00000000000..6d291b0f721 --- /dev/null +++ b/package/perftest/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS + bool + # Accurate cycle measurement in perftest is implemented for a + # limited set of architectures, see: + # https://github.com/linux-rdma/perftest/blob/v4.5-0.20/src/get_clock.h + # Note: the package has also a fallback to use "asm/timex.h" + # from the Kernel, in + # "$(LINUX_DIR)/arch/$(KERNEL_ARCH)/include". It is not + # reflected here as this path is not well tested. + default y if BR2_i386 || BR2_x86_64 + default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && !BR2_ARM_CPU_ARMV6 + default y if BR2_aarch64 + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_s390x + default y if BR2_sparc || BR2_sparc64 + default y if BR2_riscv + depends on BR2_USE_MMU # rdma-core + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # rdma-core + +config BR2_PACKAGE_PERFTEST + bool "perftest" + depends on BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # rdma-core + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # rdma-core + depends on !BR2_STATIC_LIBS # rdma-core + # musl does not define sysconf(_SC_LEVEL1_DCACHE_LINESIZE) + depends on !BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_PCIUTILS + select BR2_PACKAGE_RDMA_CORE + help + Open Fabrics Performance Tests. + + This is a collection of tests written over uverbs intended + for use as a performance micro-benchmark. The tests may be + used for HW or SW tuning as well as for functional testing. + + https://github.com/linux-rdma/perftest + +comment "perftest needs a glibc or uClibc toolchain w/ threads, dynamic library" + depends on BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + || BR2_TOOLCHAIN_USES_MUSL diff --git a/package/perftest/perftest.hash b/package/perftest/perftest.hash new file mode 100644 index 00000000000..2fa8c63493d --- /dev/null +++ b/package/perftest/perftest.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 79bcbb4a62a578408379e89d73f4ceea8f272a139e8a634611f92b1d9ac911a0 perftest-23.10.0-0.29.tar.gz +sha256 763adb7d5094f2127b026adea8701f042d28d4b1f6fb8b6e828989227a9cf7f5 COPYING diff --git a/package/perftest/perftest.mk b/package/perftest/perftest.mk new file mode 100644 index 00000000000..9e0424e47ec --- /dev/null +++ b/package/perftest/perftest.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perftest +# +################################################################################ + +PERFTEST_VERSION = 23.10.0-0.29 +PERFTEST_SITE = $(call github,linux-rdma,perftest,$(PERFTEST_VERSION)) +PERFTEST_LICENSE = GPL-2.0 or BSD-2-Clause +PERFTEST_LICENSE_FILES = COPYING +PERFTEST_DEPENDENCIES = pciutils rdma-core +# Fetched from Github, with no configure script +PERFTEST_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/perl-class-method-modifiers/perl-class-method-modifiers.hash b/package/perl-class-method-modifiers/perl-class-method-modifiers.hash index ee0f5ec32c4..e3e88140bcf 100644 --- a/package/perl-class-method-modifiers/perl-class-method-modifiers.hash +++ b/package/perl-class-method-modifiers/perl-class-method-modifiers.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 b1398e3682aa2e075b913b9f9000b596 Class-Method-Modifiers-2.13.tar.gz -sha256 ab5807f71018a842de6b7a4826d6c1f24b8d5b09fcce5005a3309cf6ea40fd63 Class-Method-Modifiers-2.13.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 1aea89d0f23c3537580cae549b5c5864 Class-Method-Modifiers-2.15.tar.gz +sha256 65cd85bfe475d066e9186f7a8cc636070985b30b0ebb1cde8681cf062c2e15fc Class-Method-Modifiers-2.15.tar.gz # computed by scancpan -sha256 d17e5cba8d4039f6973d5873f73b0c8949c1cffb338fafe7a57e972767546561 LICENSE +sha256 3a4d15d78daa7fbb8b9f90da1b8cb60a6cd5275c6a5fdb0fca5db2e74b522dee LICENSE diff --git a/package/perl-class-method-modifiers/perl-class-method-modifiers.mk b/package/perl-class-method-modifiers/perl-class-method-modifiers.mk index ef688acf7e3..d4a7f11b85b 100644 --- a/package/perl-class-method-modifiers/perl-class-method-modifiers.mk +++ b/package/perl-class-method-modifiers/perl-class-method-modifiers.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_CLASS_METHOD_MODIFIERS_VERSION = 2.13 +PERL_CLASS_METHOD_MODIFIERS_VERSION = 2.15 PERL_CLASS_METHOD_MODIFIERS_SOURCE = Class-Method-Modifiers-$(PERL_CLASS_METHOD_MODIFIERS_VERSION).tar.gz PERL_CLASS_METHOD_MODIFIERS_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_CLASS_METHOD_MODIFIERS_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-clone/Config.in b/package/perl-clone/Config.in new file mode 100644 index 00000000000..78f13dfe6b0 --- /dev/null +++ b/package/perl-clone/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_CLONE + bool "perl-clone" + depends on !BR2_STATIC_LIBS + help + recursively copy Perl datatypes. + + https://metacpan.org/release/Clone + +comment "perl-clone needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/perl-clone/perl-clone.hash b/package/perl-clone/perl-clone.hash new file mode 100644 index 00000000000..7b69b97d065 --- /dev/null +++ b/package/perl-clone/perl-clone.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 cafa8984a2c2e005e54b27dd1e3f0afe Clone-0.46.tar.gz +sha256 aadeed5e4c8bd6bbdf68c0dd0066cb513e16ab9e5b4382dc4a0aafd55890697b Clone-0.46.tar.gz + +# computed by scancpan +sha256 40aa7eb133e97b075024380640528760a54aefc344781741ed02539a375db5ac README.md diff --git a/package/perl-clone/perl-clone.mk b/package/perl-clone/perl-clone.mk new file mode 100644 index 00000000000..9e04329eabd --- /dev/null +++ b/package/perl-clone/perl-clone.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-clone +# +################################################################################ + +PERL_CLONE_VERSION = 0.46 +PERL_CLONE_SOURCE = Clone-$(PERL_CLONE_VERSION).tar.gz +PERL_CLONE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GARU +PERL_CLONE_LICENSE = Artistic or GPL-1.0+ +PERL_CLONE_LICENSE_FILES = README.md +PERL_CLONE_DISTNAME = Clone + +$(eval $(perl-package)) diff --git a/package/perl-convert-asn1/perl-convert-asn1.hash b/package/perl-convert-asn1/perl-convert-asn1.hash index 644517af512..2d1b1faa3b8 100644 --- a/package/perl-convert-asn1/perl-convert-asn1.hash +++ b/package/perl-convert-asn1/perl-convert-asn1.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 80425835020da77c48c05a40e25bbf7e Convert-ASN1-0.33.tar.gz -sha256 1fdf004520c79e3a244cf9688616293516c11793d746c761f367496eb3d06076 Convert-ASN1-0.33.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 cca63088fdd5c3665a2119ee29133f6a Convert-ASN1-0.34.tar.gz +sha256 a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7 Convert-ASN1-0.34.tar.gz # computed by scancpan -sha256 70884b19a3537bf179538c3b7d7896a56ade509dafe6b8d545c5999a9c05f8a9 LICENSE +sha256 aa8ae28898a3e164ed5273c3e4fd4bd45b42f7958f282318df06773340e2c9d4 LICENSE diff --git a/package/perl-convert-asn1/perl-convert-asn1.mk b/package/perl-convert-asn1/perl-convert-asn1.mk index affe775aca9..07f9b1d1bbb 100644 --- a/package/perl-convert-asn1/perl-convert-asn1.mk +++ b/package/perl-convert-asn1/perl-convert-asn1.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_CONVERT_ASN1_VERSION = 0.33 +PERL_CONVERT_ASN1_VERSION = 0.34 PERL_CONVERT_ASN1_SOURCE = Convert-ASN1-$(PERL_CONVERT_ASN1_VERSION).tar.gz PERL_CONVERT_ASN1_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TI/TIMLEGGE -PERL_CONVERT_ASN1_LICENSE = Artistic or GPL-1.0+ +PERL_CONVERT_ASN1_LICENSE = Artistic-1.0-Perl or GPL-1.0+ PERL_CONVERT_ASN1_LICENSE_FILES = LICENSE PERL_CONVERT_ASN1_DISTNAME = Convert-ASN1 diff --git a/package/perl-cookie-baker/perl-cookie-baker.hash b/package/perl-cookie-baker/perl-cookie-baker.hash index cc2a84b1468..34bb4b143cf 100644 --- a/package/perl-cookie-baker/perl-cookie-baker.hash +++ b/package/perl-cookie-baker/perl-cookie-baker.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 bc8f95893d6ec3093a62d1957e1908f2 Cookie-Baker-0.11.tar.gz -sha256 59275f474e07c0aa3611e3e684b894e7db913333d8214420be63f12ec18cd7ab Cookie-Baker-0.11.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 7ab63698d2f24a8cfe31a7ea270e9d2d Cookie-Baker-0.12.tar.gz +sha256 9b04df5d47dcd45ac4299626a10ec990fb40c94ee5a6300c3a88bdfb3575ec29 Cookie-Baker-0.12.tar.gz # computed by scancpan sha256 b4ce94671fa219074d4e91e2268652d6bf9764cebcc7a5e27bfc14897745ca4c LICENSE diff --git a/package/perl-cookie-baker/perl-cookie-baker.mk b/package/perl-cookie-baker/perl-cookie-baker.mk index 27c88f3e57a..add5fcd0ed7 100644 --- a/package/perl-cookie-baker/perl-cookie-baker.mk +++ b/package/perl-cookie-baker/perl-cookie-baker.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_COOKIE_BAKER_VERSION = 0.11 +PERL_COOKIE_BAKER_VERSION = 0.12 PERL_COOKIE_BAKER_SOURCE = Cookie-Baker-$(PERL_COOKIE_BAKER_VERSION).tar.gz PERL_COOKIE_BAKER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO PERL_COOKIE_BAKER_DEPENDENCIES = host-perl-module-build-tiny diff --git a/package/perl-data-optlist/perl-data-optlist.hash b/package/perl-data-optlist/perl-data-optlist.hash index 1c805acef7f..6d55d6388d4 100644 --- a/package/perl-data-optlist/perl-data-optlist.hash +++ b/package/perl-data-optlist/perl-data-optlist.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 3b2cdb7846391f9acaf4e948a9a6b21b Data-OptList-0.112.tar.gz -sha256 62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab Data-OptList-0.112.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 d63ec5d446eff1aaa5ba92bc13a52b77 Data-OptList-0.114.tar.gz +sha256 9fd1093b917a21fb79ae1607db53d113b4e0ad8fe0ae776cb077a7e50044fdf3 Data-OptList-0.114.tar.gz # computed by scancpan sha256 712f3e40537810ba3046533fd71d877f69ab446d5e8e8a1135771804494b8b42 LICENSE diff --git a/package/perl-data-optlist/perl-data-optlist.mk b/package/perl-data-optlist/perl-data-optlist.mk index 8e089245f61..8c22cfe7883 100644 --- a/package/perl-data-optlist/perl-data-optlist.mk +++ b/package/perl-data-optlist/perl-data-optlist.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_DATA_OPTLIST_VERSION = 0.112 +PERL_DATA_OPTLIST_VERSION = 0.114 PERL_DATA_OPTLIST_SOURCE = Data-OptList-$(PERL_DATA_OPTLIST_VERSION).tar.gz PERL_DATA_OPTLIST_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS PERL_DATA_OPTLIST_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-date-manip/perl-date-manip.hash b/package/perl-date-manip/perl-date-manip.hash index 9762e7bc6c2..d055cb33cc1 100644 --- a/package/perl-date-manip/perl-date-manip.hash +++ b/package/perl-date-manip/perl-date-manip.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 f9fe372c7abaf90e9da2ee7c3a4d32ff Date-Manip-6.89.tar.gz -sha256 5caaa9cd1e2b0a1b84124c373e02e89b17c89fdb8fc5bc5f75ac41d304a37617 Date-Manip-6.89.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 74f127ff4c71fa1aff54dc55818b0c2e Date-Manip-6.94.tar.gz +sha256 0278eb62113618c8977d3d537433d85340c487cbdfd95dd3452e4d7217f48848 Date-Manip-6.94.tar.gz # computed by scancpan sha256 8ba2a138654f8b59b7e1e3ad0d4c81918b9148ff95078b172ccbb45fa241431d LICENSE diff --git a/package/perl-date-manip/perl-date-manip.mk b/package/perl-date-manip/perl-date-manip.mk index 6eab7790cfa..55d9cff6ef4 100644 --- a/package/perl-date-manip/perl-date-manip.mk +++ b/package/perl-date-manip/perl-date-manip.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_DATE_MANIP_VERSION = 6.89 +PERL_DATE_MANIP_VERSION = 6.94 PERL_DATE_MANIP_SOURCE = Date-Manip-$(PERL_DATE_MANIP_VERSION).tar.gz PERL_DATE_MANIP_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SB/SBECK PERL_DATE_MANIP_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch b/package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch new file mode 100644 index 00000000000..d7767c1f42e --- /dev/null +++ b/package/perl-dbd-mysql/0001-Use-net_buffer_length-macro-if-available.patch @@ -0,0 +1,41 @@ +From 9189ef77679c22de3bbd2142031858373236520b Mon Sep 17 00:00:00 2001 +From: Michiel Beijen +Date: Fri, 23 Feb 2018 07:52:33 +0000 +Subject: [PATCH] Use net_buffer_length macro if available + +Upstream: https://github.com/perl5-dbi/DBD-mysql/commit/0f0cebe87fab335873fd3701bc304922da826940 + +(cherry picked from commit 0f0cebe87fab335873fd3701bc304922da826940) +Signed-off-by: Romain Naour +--- + mysql.xs | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/mysql.xs b/mysql.xs +index 8edee55..9b4d60f 100644 +--- a/mysql.xs ++++ b/mysql.xs +@@ -819,15 +819,14 @@ dbd_mysql_get_info(dbh, sql_info_type) + retsv = newSVpvn("`", 1); + break; + case SQL_MAXIMUM_STATEMENT_LENGTH: +-#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 50709 +- /* MariaDB 10 is not MySQL source level compatible so this +- only applies to MySQL*/ +- /* mysql_get_option() was added in mysql 5.7.3 */ +- /* MYSQL_OPT_NET_BUFFER_LENGTH was added in mysql 5.7.9 */ ++ /* net_buffer_length macro is not defined in MySQL 5.7 and some MariaDB ++ versions - if it is not available, use newer mysql_get_option */ ++#if !defined(net_buffer_length) ++ ; ++ unsigned long buffer_len; + mysql_get_option(NULL, MYSQL_OPT_NET_BUFFER_LENGTH, &buffer_len); + retsv = newSViv(buffer_len); + #else +- /* before mysql 5.7.9 use net_buffer_length macro */ + retsv = newSViv(net_buffer_length); + #endif + break; +-- +2.44.0 + diff --git a/package/perl-dbd-mysql/Config.in b/package/perl-dbd-mysql/Config.in index 55bbc953477..eff76f5b619 100644 --- a/package/perl-dbd-mysql/Config.in +++ b/package/perl-dbd-mysql/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_PERL_DBD_MYSQL depends on BR2_INSTALL_LIBSTDCPP # mysql depends on BR2_USE_MMU # mysql depends on BR2_TOOLCHAIN_HAS_THREADS # mysql - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB select BR2_PACKAGE_PERL_DBI # runtime help A MySQL driver for the Perl5 Database Interface (DBI). diff --git a/package/perl-dbd-mysql/perl-dbd-mysql.mk b/package/perl-dbd-mysql/perl-dbd-mysql.mk index 98521a78cfb..e87e34100af 100644 --- a/package/perl-dbd-mysql/perl-dbd-mysql.mk +++ b/package/perl-dbd-mysql/perl-dbd-mysql.mk @@ -9,7 +9,7 @@ PERL_DBD_MYSQL_SOURCE = DBD-mysql-$(PERL_DBD_MYSQL_VERSION).tar.gz PERL_DBD_MYSQL_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPTTOFU PERL_DBD_MYSQL_DEPENDENCIES = \ host-perl-dbi \ - mysql + mariadb PERL_DBD_MYSQL_LICENSE = Artistic or GPL-1.0+ PERL_DBD_MYSQL_LICENSE_FILES = LICENSE PERL_DBD_MYSQL_DISTNAME = DBD-mysql diff --git a/package/perl-devel-stacktrace/perl-devel-stacktrace.hash b/package/perl-devel-stacktrace/perl-devel-stacktrace.hash index 4e64ef17164..7525ebbb9b0 100644 --- a/package/perl-devel-stacktrace/perl-devel-stacktrace.hash +++ b/package/perl-devel-stacktrace/perl-devel-stacktrace.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 a5b09f7be7f2b10b525a9740676906d8 Devel-StackTrace-2.04.tar.gz -sha256 cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855 Devel-StackTrace-2.04.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 b8ca19bb4c76e98a04373618db9c7c3c Devel-StackTrace-2.05.tar.gz +sha256 63cb6196e986a7e578c4d28b3c780e7194835bfc78b68eeb8f00599d4444888c Devel-StackTrace-2.05.tar.gz # computed by scancpan -sha256 dbd3162d261db5b40cac4d85afba619ec6a196398003c57b85c2333e7ef4c393 LICENSE +sha256 74f17bdbecbdfb75998f953c1dedb27d72199c8f0b612b1fca7834e4bfd87f90 LICENSE diff --git a/package/perl-devel-stacktrace/perl-devel-stacktrace.mk b/package/perl-devel-stacktrace/perl-devel-stacktrace.mk index 01783901413..557f21bb85d 100644 --- a/package/perl-devel-stacktrace/perl-devel-stacktrace.mk +++ b/package/perl-devel-stacktrace/perl-devel-stacktrace.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_DEVEL_STACKTRACE_VERSION = 2.04 +PERL_DEVEL_STACKTRACE_VERSION = 2.05 PERL_DEVEL_STACKTRACE_SOURCE = Devel-StackTrace-$(PERL_DEVEL_STACKTRACE_VERSION).tar.gz PERL_DEVEL_STACKTRACE_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DR/DROLSKY PERL_DEVEL_STACKTRACE_LICENSE = Artistic-2.0 diff --git a/package/perl-exporter-tiny/Config.in b/package/perl-exporter-tiny/Config.in index 04839ac15c4..c3ac89ba28d 100644 --- a/package/perl-exporter-tiny/Config.in +++ b/package/perl-exporter-tiny/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PERL_EXPORTER_TINY an exporter with the features of Sub::Exporter but only core dependencies. - https://metacpan.org/release/Exporter-Tiny + https://exportertiny.github.io/ diff --git a/package/perl-exporter-tiny/perl-exporter-tiny.hash b/package/perl-exporter-tiny/perl-exporter-tiny.hash index c714ef902e9..0e16f92b1e9 100644 --- a/package/perl-exporter-tiny/perl-exporter-tiny.hash +++ b/package/perl-exporter-tiny/perl-exporter-tiny.hash @@ -1,7 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 485897322a2514b4d6ca90b2daacb7cd Exporter-Tiny-1.002002.tar.gz -sha256 00f0b95716b18157132c6c118ded8ba31392563d19e490433e9a65382e707101 Exporter-Tiny-1.002002.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 0545ee8f4edcb9dc5a87b21ed25edd74 Exporter-Tiny-1.006002.tar.gz +sha256 6f295e2cbffb1dbc15bdb9dadc341671c1e0cd2bdf2d312b17526273c322638d Exporter-Tiny-1.006002.tar.gz # computed by scancpan -sha256 f4cb223c8ac37d6ccd0e78b2892ca54a48a6adbe6a271c3c17c0226646297e66 COPYRIGHT -sha256 1fb7395e76eabf94c421912d7d0a4f7fa745d49e1acb76b222c21d605b66bd25 LICENSE +sha256 1a2929dacaef239beca27a85f7f97b793628dfb22f07fdfb406cb6f3f0d22a6b LICENSE diff --git a/package/perl-exporter-tiny/perl-exporter-tiny.mk b/package/perl-exporter-tiny/perl-exporter-tiny.mk index c7abfbae2d7..715070623ed 100644 --- a/package/perl-exporter-tiny/perl-exporter-tiny.mk +++ b/package/perl-exporter-tiny/perl-exporter-tiny.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_EXPORTER_TINY_VERSION = 1.002002 +PERL_EXPORTER_TINY_VERSION = 1.006002 PERL_EXPORTER_TINY_SOURCE = Exporter-Tiny-$(PERL_EXPORTER_TINY_VERSION).tar.gz PERL_EXPORTER_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK PERL_EXPORTER_TINY_LICENSE = Artistic or GPL-1.0+ -PERL_EXPORTER_TINY_LICENSE_FILES = COPYRIGHT LICENSE +PERL_EXPORTER_TINY_LICENSE_FILES = LICENSE PERL_EXPORTER_TINY_DISTNAME = Exporter-Tiny $(eval $(perl-package)) diff --git a/package/perl-file-listing/Config.in b/package/perl-file-listing/Config.in index acca98be22c..4610618542a 100644 --- a/package/perl-file-listing/Config.in +++ b/package/perl-file-listing/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_PERL_FILE_LISTING bool "perl-file-listing" select BR2_PACKAGE_PERL_HTTP_DATE # runtime help - parse directory listing. + Parse directory listing. https://metacpan.org/release/File-Listing diff --git a/package/perl-file-listing/perl-file-listing.hash b/package/perl-file-listing/perl-file-listing.hash index 2358965714c..bd2ca473ba7 100644 --- a/package/perl-file-listing/perl-file-listing.hash +++ b/package/perl-file-listing/perl-file-listing.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 cf60a79563185391831613178a79b4cd File-Listing-6.14.tar.gz -sha256 15b3a4871e23164a36f226381b74d450af41f12cc94985f592a669fcac7b48ff File-Listing-6.14.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 d4fc8b0c86633d1fa5bf75323720eadc File-Listing-6.16.tar.gz +sha256 189b3a13fc0a1ba412b9d9ec5901e9e5e444cc746b9f0156d4399370d33655c6 File-Listing-6.16.tar.gz # computed by scancpan -sha256 7f0ccec295e6d7d2be1439cedd7caf6cc6247191f4c10ac56d91ee9bc265ba02 LICENSE +sha256 330a553de82a111970d17fdf302bfe4af055f61bfe83d1c5617d5c3f5525a226 LICENSE diff --git a/package/perl-file-listing/perl-file-listing.mk b/package/perl-file-listing/perl-file-listing.mk index 61bbc18eb82..583de605a46 100644 --- a/package/perl-file-listing/perl-file-listing.mk +++ b/package/perl-file-listing/perl-file-listing.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_FILE_LISTING_VERSION = 6.14 +PERL_FILE_LISTING_VERSION = 6.16 PERL_FILE_LISTING_SOURCE = File-Listing-$(PERL_FILE_LISTING_VERSION).tar.gz PERL_FILE_LISTING_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PL/PLICEASE PERL_FILE_LISTING_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-file-sharedir-install/perl-file-sharedir-install.hash b/package/perl-file-sharedir-install/perl-file-sharedir-install.hash index b462d8e683c..bfc06ab22aa 100644 --- a/package/perl-file-sharedir-install/perl-file-sharedir-install.hash +++ b/package/perl-file-sharedir-install/perl-file-sharedir-install.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 5eabd44a5d7d84bf2e8e502491226287 File-ShareDir-Install-0.13.tar.gz -sha256 45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9 File-ShareDir-Install-0.13.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 bac4d924f3d863b00648ab56ec0dcbdc File-ShareDir-Install-0.14.tar.gz +sha256 8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0 File-ShareDir-Install-0.14.tar.gz # computed by scancpan -sha256 c207ca1c71c16a443d875a78d8aeccfbe550da502cd7fda24819548afb04fb5c LICENSE +sha256 6b5ade128fd47c452beec6dc31b3386482379fafb88f7f1962c7355db322d2ac LICENSE diff --git a/package/perl-file-sharedir-install/perl-file-sharedir-install.mk b/package/perl-file-sharedir-install/perl-file-sharedir-install.mk index 3653a4badef..4f152e1b5df 100644 --- a/package/perl-file-sharedir-install/perl-file-sharedir-install.mk +++ b/package/perl-file-sharedir-install/perl-file-sharedir-install.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_FILE_SHAREDIR_INSTALL_VERSION = 0.13 +PERL_FILE_SHAREDIR_INSTALL_VERSION = 0.14 PERL_FILE_SHAREDIR_INSTALL_SOURCE = File-ShareDir-Install-$(PERL_FILE_SHAREDIR_INSTALL_VERSION).tar.gz PERL_FILE_SHAREDIR_INSTALL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_FILE_SHAREDIR_INSTALL_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-gd/Config.in b/package/perl-gd/Config.in index 044e6010213..bff6244d986 100644 --- a/package/perl-gd/Config.in +++ b/package/perl-gd/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_PERL_GD select BR2_PACKAGE_ZLIB select BR2_PACKAGE_GD help - Perl interface to the gd2 graphics library. + Perl interface to the libgd graphics library. https://metacpan.org/release/GD diff --git a/package/perl-gd/perl-gd.hash b/package/perl-gd/perl-gd.hash index 97f1da821ae..fd9321be604 100644 --- a/package/perl-gd/perl-gd.hash +++ b/package/perl-gd/perl-gd.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 fb4bacab10ed4f28d52c2aabdaf866bb GD-2.76.tar.gz -sha256 693d9e3d709e9188a682cb9090a77b70aac12a04e84128677577b94e4331775b GD-2.76.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 da3f969367ea2e6d217ec05d3b98bc6f GD-2.77.tar.gz +sha256 b56c88b8ef3be016ce29bb62dd1f1b6f6b5fbcaa57fea59e9468af6901016fb5 GD-2.77.tar.gz # computed by scancpan sha256 1e2250289d6df4ba1c24f7550982d7ffaff2c97cd02e847659406e1afd28e83f LICENSE diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk index cd32c7fb8f8..17c24bc9713 100644 --- a/package/perl-gd/perl-gd.mk +++ b/package/perl-gd/perl-gd.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_GD_VERSION = 2.76 +PERL_GD_VERSION = 2.77 PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN PERL_GD_DEPENDENCIES = host-perl-extutils-pkgconfig zlib gd diff --git a/package/perl-html-parser/perl-html-parser.hash b/package/perl-html-parser/perl-html-parser.hash index 36b094a7cbf..fbdffa03d68 100644 --- a/package/perl-html-parser/perl-html-parser.hash +++ b/package/perl-html-parser/perl-html-parser.hash @@ -1,6 +1,5 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 60e266d5a07fbea671a0383dd8af7b6c HTML-Parser-3.76.tar.gz -sha256 64d9e2eb2b420f1492da01ec0e6976363245b4be9290f03f10b7d2cb63fa2f61 HTML-Parser-3.76.tar.gz +sha256 c0910a5c8f92f8817edd06ccfd224ba1c2ebe8c10f551f032587a1fc83d62ff2 HTML-Parser-3.81.tar.gz # computed by scancpan -sha256 0e57338bc10d5fb8891012ebee65a7b504b247f5bb485e121b8b48d7a118a60b LICENSE +sha256 9081922eb873ec1809c20672a7385a65f3c6b1163166bf69b2bbe986fb5b0159 LICENSE diff --git a/package/perl-html-parser/perl-html-parser.mk b/package/perl-html-parser/perl-html-parser.mk index 097564dbcba..50efaa273a3 100644 --- a/package/perl-html-parser/perl-html-parser.mk +++ b/package/perl-html-parser/perl-html-parser.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_HTML_PARSER_VERSION = 3.76 +PERL_HTML_PARSER_VERSION = 3.81 PERL_HTML_PARSER_SOURCE = HTML-Parser-$(PERL_HTML_PARSER_VERSION).tar.gz PERL_HTML_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTML_PARSER_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-http-cookies/Config.in b/package/perl-http-cookies/Config.in index 3ca461bf833..147d9521bb7 100644 --- a/package/perl-http-cookies/Config.in +++ b/package/perl-http-cookies/Config.in @@ -1,8 +1,12 @@ config BR2_PACKAGE_PERL_HTTP_COOKIES bool "perl-http-cookies" + depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone select BR2_PACKAGE_PERL_HTTP_DATE # runtime select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime help HTTP cookie jars. https://github.com/libwww-perl/HTTP-Cookies + +comment "perl-http-cookies needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/perl-http-daemon/Config.in b/package/perl-http-daemon/Config.in index 0c7ffe723aa..4d6277a7996 100644 --- a/package/perl-http-daemon/Config.in +++ b/package/perl-http-daemon/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PERL_HTTP_DAEMON bool "perl-http-daemon" + depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone select BR2_PACKAGE_PERL_HTTP_DATE # runtime select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime select BR2_PACKAGE_PERL_LWP_MEDIATYPES # runtime @@ -7,3 +8,6 @@ config BR2_PACKAGE_PERL_HTTP_DAEMON A simple http server class. https://github.com/libwww-perl/HTTP-Daemon + +comment "perl-http-daemon needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/perl-http-daemon/perl-http-daemon.hash b/package/perl-http-daemon/perl-http-daemon.hash index f8272a4fceb..b1d92ad8e6e 100644 --- a/package/perl-http-daemon/perl-http-daemon.hash +++ b/package/perl-http-daemon/perl-http-daemon.hash @@ -1,6 +1,5 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 63674e3f81760a29075853413eb157d8 HTTP-Daemon-6.12.tar.gz -sha256 df47bed10c38670c780fd0116867d5fd4693604acde31ba63380dce04c4e1fa6 HTTP-Daemon-6.12.tar.gz +sha256 b38d092725e6fa4e0c4dc2a47e157070491bafa0dbe16c78a358e806aa7e173d HTTP-Daemon-6.16.tar.gz # computed by scancpan -sha256 e84ac5ab84ace59952d2640e0ca4522eb0aaa8c2aa696352d1252aa109ea20bc LICENCE +sha256 311f168ba9a7819ffab4fea19858f9e880737baf6d112929d11530205035a4cc LICENCE diff --git a/package/perl-http-daemon/perl-http-daemon.mk b/package/perl-http-daemon/perl-http-daemon.mk index e4750726286..c017c4e0991 100644 --- a/package/perl-http-daemon/perl-http-daemon.mk +++ b/package/perl-http-daemon/perl-http-daemon.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_HTTP_DAEMON_VERSION = 6.12 +PERL_HTTP_DAEMON_VERSION = 6.16 PERL_HTTP_DAEMON_SOURCE = HTTP-Daemon-$(PERL_HTTP_DAEMON_VERSION).tar.gz PERL_HTTP_DAEMON_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_HTTP_DAEMON_DEPENDENCIES = host-perl-module-build-tiny diff --git a/package/perl-http-date/perl-http-date.hash b/package/perl-http-date/perl-http-date.hash index b278423002f..a6f77018293 100644 --- a/package/perl-http-date/perl-http-date.hash +++ b/package/perl-http-date/perl-http-date.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 2ecbb3aedf6aef062605191813ca3027 HTTP-Date-6.05.tar.gz -sha256 365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b HTTP-Date-6.05.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 60462359bfeb1e6d14602508cfd07885 HTTP-Date-6.06.tar.gz +sha256 7b685191c6acc3e773d1fc02c95ee1f9fae94f77783175f5e78c181cc92d2b52 HTTP-Date-6.06.tar.gz # computed by scancpan -sha256 305b71c4d2fd6380585689c5f1c620737a36a318ce0f9c772badce0fe293a44e LICENSE +sha256 6186a79a305a0e62c5087f9737b4f66fa5793fa1b396da0126e3c8722c460245 LICENSE diff --git a/package/perl-http-date/perl-http-date.mk b/package/perl-http-date/perl-http-date.mk index 43583be3034..2f1aeb7da08 100644 --- a/package/perl-http-date/perl-http-date.mk +++ b/package/perl-http-date/perl-http-date.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_HTTP_DATE_VERSION = 6.05 +PERL_HTTP_DATE_VERSION = 6.06 PERL_HTTP_DATE_SOURCE = HTTP-Date-$(PERL_HTTP_DATE_VERSION).tar.gz PERL_HTTP_DATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_HTTP_DATE_LICENSE = Artistic or GPL-1.0+ +PERL_HTTP_DATE_LICENSE = Artistic-1.0-Perl or GPL-1.0+ PERL_HTTP_DATE_LICENSE_FILES = LICENSE PERL_HTTP_DATE_DISTNAME = HTTP-Date diff --git a/package/perl-http-message/Config.in b/package/perl-http-message/Config.in index 82538cfce81..e2cb42f9411 100644 --- a/package/perl-http-message/Config.in +++ b/package/perl-http-message/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PERL_HTTP_MESSAGE bool "perl-http-message" + depends on !BR2_STATIC_LIBS # perl-clone + select BR2_PACKAGE_PERL_CLONE # runtime select BR2_PACKAGE_PERL_ENCODE_LOCALE # runtime select BR2_PACKAGE_PERL_HTTP_DATE # runtime select BR2_PACKAGE_PERL_IO_HTML # runtime @@ -9,3 +11,6 @@ config BR2_PACKAGE_PERL_HTTP_MESSAGE HTTP style message (base class). https://github.com/libwww-perl/HTTP-Message + +comment "perl-http-message needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/perl-http-message/perl-http-message.hash b/package/perl-http-message/perl-http-message.hash index 0e05da644e9..b33e00e33eb 100644 --- a/package/perl-http-message/perl-http-message.hash +++ b/package/perl-http-message/perl-http-message.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 17ca8ec3be118d50c5299b232f3109d7 HTTP-Message-6.37.tar.gz -sha256 0e59da0a85e248831327ebfba66796314cb69f1bfeeff7a9da44ad766d07d802 HTTP-Message-6.37.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 86c386bcc85a63c8908e6ae9967b34ee HTTP-Message-6.45.tar.gz +sha256 01cb8406612a3f738842d1e97313ae4d874870d1b8d6d66331f16000943d4cbe HTTP-Message-6.45.tar.gz # computed by scancpan -sha256 f2f428b5f8a3bf4e6a71cd5ea92558a3d123d3d7c5075d34923e71e46dea94df LICENSE +sha256 553ecefc0ed6d4152809da8516960b9a12352c1c0d7d289ac4ab06d0bd0e67bb LICENSE diff --git a/package/perl-http-message/perl-http-message.mk b/package/perl-http-message/perl-http-message.mk index 79402c3298b..7fdba0b29e2 100644 --- a/package/perl-http-message/perl-http-message.mk +++ b/package/perl-http-message/perl-http-message.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_HTTP_MESSAGE_VERSION = 6.37 +PERL_HTTP_MESSAGE_VERSION = 6.45 PERL_HTTP_MESSAGE_SOURCE = HTTP-Message-$(PERL_HTTP_MESSAGE_VERSION).tar.gz PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_HTTP_MESSAGE_LICENSE = Artistic or GPL-1.0+ +PERL_HTTP_MESSAGE_LICENSE = Artistic-1.0-Perl or GPL-1.0+ PERL_HTTP_MESSAGE_LICENSE_FILES = LICENSE PERL_HTTP_MESSAGE_DISTNAME = HTTP-Message diff --git a/package/perl-http-negotiate/Config.in b/package/perl-http-negotiate/Config.in index c519ede2df0..2e82ce5ad27 100644 --- a/package/perl-http-negotiate/Config.in +++ b/package/perl-http-negotiate/Config.in @@ -1,7 +1,11 @@ config BR2_PACKAGE_PERL_HTTP_NEGOTIATE bool "perl-http-negotiate" + depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime help choose a variant to serve. https://metacpan.org/release/HTTP-Negotiate + +comment "perl-http-negotiate needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/perl-image-exiftool/Config.in b/package/perl-image-exiftool/Config.in new file mode 100644 index 00000000000..3bc72ba6349 --- /dev/null +++ b/package/perl-image-exiftool/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PERL_IMAGE_EXIFTOOL + bool "perl-image-exiftool" + help + ExifTool is a customizable set of Perl modules plus a + full-featured command-line application for reading and writing + meta information in a wide variety of image files. + + https://metacpan.org/release/Image-ExifTool diff --git a/package/perl-image-exiftool/perl-image-exiftool.hash b/package/perl-image-exiftool/perl-image-exiftool.hash new file mode 100644 index 00000000000..ac148aa89bc --- /dev/null +++ b/package/perl-image-exiftool/perl-image-exiftool.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 75dd9d375c1c4798a082dda79eaf6ba7 Image-ExifTool-12.50.tar.gz +sha256 bce841fc5c10302f0f3ef7678c3bf146953a8c065c0ba18c41f734007e2ec0a8 Image-ExifTool-12.50.tar.gz + +# computed by scancpan +sha256 63502bb7fd68b3b8265304d88932f70f1be82751cbc37936d1d62956582310fe README diff --git a/package/perl-image-exiftool/perl-image-exiftool.mk b/package/perl-image-exiftool/perl-image-exiftool.mk new file mode 100644 index 00000000000..42adb04d3af --- /dev/null +++ b/package/perl-image-exiftool/perl-image-exiftool.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-image-exiftool +# +################################################################################ + +PERL_IMAGE_EXIFTOOL_VERSION = 12.50 +PERL_IMAGE_EXIFTOOL_SOURCE = Image-ExifTool-$(PERL_IMAGE_EXIFTOOL_VERSION).tar.gz +PERL_IMAGE_EXIFTOOL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/EX/EXIFTOOL +PERL_IMAGE_EXIFTOOL_LICENSE = Artistic or GPL-1.0+ +PERL_IMAGE_EXIFTOOL_LICENSE_FILES = README +PERL_IMAGE_EXIFTOOL_DISTNAME = Image-ExifTool + +$(eval $(perl-package)) diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 8c6bb305238..a4abcc33cd7 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 8f0f6bff4db5e4be6e848aa49fd29380 IO-Socket-SSL-2.075.tar.gz -sha256 c30ee2220b1e181a968ebbc81861d0cadf334b001377a44105ae5a8637ddae8c IO-Socket-SSL-2.075.tar.gz +md5 eaea5b17592ccbd925aff47747f41dde IO-Socket-SSL-2.080.tar.gz +sha256 cd0ed303b08a72c5c256a9ec3bbb6ff61360be3a2ff6d775e4f6e25375fa8d1f IO-Socket-SSL-2.080.tar.gz # computed by scancpan sha256 090aff5421fd55a9dceeaf6c612c36360402e8d29c1284aef88c87be565ce032 README diff --git a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index daa46acf950..d5c09d90823 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_IO_SOCKET_SSL_VERSION = 2.075 +PERL_IO_SOCKET_SSL_VERSION = 2.080 PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-json-maybexs/perl-json-maybexs.hash b/package/perl-json-maybexs/perl-json-maybexs.hash index a53d4ec616e..3b603310f69 100644 --- a/package/perl-json-maybexs/perl-json-maybexs.hash +++ b/package/perl-json-maybexs/perl-json-maybexs.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 e46181e34588428d317932744597a7ab JSON-MaybeXS-1.004003.tar.gz -sha256 5bee3b17ff9dcffd6e99ab8cf7f35747650bfce1dc622e3ad10b85a194462fbf JSON-MaybeXS-1.004003.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 bee9d0cba3f87e05e9613684e4ee2159 JSON-MaybeXS-1.004005.tar.gz +sha256 f5b6bc19f579e66b7299f8748b8ac3e171936dc4e7fcb72a8a257a9bd482a331 JSON-MaybeXS-1.004005.tar.gz # computed by scancpan -sha256 0f2d6b537f7a735c981511875d832bc8ff767bf97d62848cf0bada964e40aadd LICENSE +sha256 de7a14750e81d97e19e111df58a3b51e3f2c8ec2d2dd90f576f54243251972c6 LICENSE diff --git a/package/perl-json-maybexs/perl-json-maybexs.mk b/package/perl-json-maybexs/perl-json-maybexs.mk index e6891f68087..13c9439ea62 100644 --- a/package/perl-json-maybexs/perl-json-maybexs.mk +++ b/package/perl-json-maybexs/perl-json-maybexs.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_JSON_MAYBEXS_VERSION = 1.004003 +PERL_JSON_MAYBEXS_VERSION = 1.004005 PERL_JSON_MAYBEXS_SOURCE = JSON-MaybeXS-$(PERL_JSON_MAYBEXS_VERSION).tar.gz PERL_JSON_MAYBEXS_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_JSON_MAYBEXS_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-lwp-protocol-https/Config.in b/package/perl-lwp-protocol-https/Config.in index 9793b6f5d05..fa429a2ce06 100644 --- a/package/perl-lwp-protocol-https/Config.in +++ b/package/perl-lwp-protocol-https/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PERL_LWP_PROTOCOL_HTTPS bool "perl-lwp-protocol-https" depends on !BR2_STATIC_LIBS select BR2_PACKAGE_PERL_IO_SOCKET_SSL # runtime - select BR2_PACKAGE_PERL_MOZILLA_CA # runtime select BR2_PACKAGE_PERL_NET_HTTP # runtime select BR2_PACKAGE_PERL_LIBWWW_PERL # runtime help diff --git a/package/perl-lwp-protocol-https/perl-lwp-protocol-https.hash b/package/perl-lwp-protocol-https/perl-lwp-protocol-https.hash index a3c011fe847..aac0abe3a75 100644 --- a/package/perl-lwp-protocol-https/perl-lwp-protocol-https.hash +++ b/package/perl-lwp-protocol-https/perl-lwp-protocol-https.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 cf64e4bc57a9266ac4343cdf0808c5c8 LWP-Protocol-https-6.10.tar.gz -sha256 cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c LWP-Protocol-https-6.10.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 62650d02150a157f486375ca588b6c9d LWP-Protocol-https-6.12.tar.gz +sha256 7dd36d3a4eacfa143a47a2bbbc56ea9413887e2d7376c1d35bbbb2be912b616c LWP-Protocol-https-6.12.tar.gz # computed by scancpan -sha256 294e73f9bd40ea600e9478cd57489a7da72558a83c6a66f37a82e4e0d5a706d9 LICENSE +sha256 e4def55436b2bd99fe2cdbf546a72ad5958327e28831db9b5adb497c6bd580ba LICENSE diff --git a/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk b/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk index 0663820b2e2..a2048e25a2e 100644 --- a/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk +++ b/package/perl-lwp-protocol-https/perl-lwp-protocol-https.mk @@ -4,11 +4,13 @@ # ################################################################################ -PERL_LWP_PROTOCOL_HTTPS_VERSION = 6.10 +PERL_LWP_PROTOCOL_HTTPS_VERSION = 6.12 PERL_LWP_PROTOCOL_HTTPS_SOURCE = LWP-Protocol-https-$(PERL_LWP_PROTOCOL_HTTPS_VERSION).tar.gz PERL_LWP_PROTOCOL_HTTPS_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_LWP_PROTOCOL_HTTPS_LICENSE = Artistic or GPL-1.0+ +PERL_LWP_PROTOCOL_HTTPS_LICENSE = Artistic-1.0-Perl or GPL-1.0+ PERL_LWP_PROTOCOL_HTTPS_LICENSE_FILES = LICENSE +PERL_LWP_PROTOCOL_HTTPS_CPE_ID_VENDOR = lwp\:\:protocol\:\:https_project +PERL_LWP_PROTOCOL_HTTPS_CPE_ID_PRODUCT = lwp\:\:protocol\:\:https PERL_LWP_PROTOCOL_HTTPS_DISTNAME = LWP-Protocol-https $(eval $(perl-package)) diff --git a/package/perl-mail-dkim/perl-mail-dkim.hash b/package/perl-mail-dkim/perl-mail-dkim.hash index e94adfc6ed3..5b0e77294d2 100644 --- a/package/perl-mail-dkim/perl-mail-dkim.hash +++ b/package/perl-mail-dkim/perl-mail-dkim.hash @@ -1,6 +1,5 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 9de35f8aa77a85dc17423cbcce2bf46d Mail-DKIM-1.20200824.tar.gz -sha256 871d329830acb4840423aa59036622fb2ee394efc1d09316dcc32ae94454e916 Mail-DKIM-1.20200824.tar.gz +sha256 0fa09a93a00f43ac91017a91628265ae7d47deb507e2770532bbb2597550d3d4 Mail-DKIM-1.20230630.tar.gz # computed by scancpan sha256 ffaa40feb768566e52d93879fedd2c5483828b6de483874f30a0a4425351555f LICENSE diff --git a/package/perl-mail-dkim/perl-mail-dkim.mk b/package/perl-mail-dkim/perl-mail-dkim.mk index e67bf5ee185..4f4d86ee104 100644 --- a/package/perl-mail-dkim/perl-mail-dkim.mk +++ b/package/perl-mail-dkim/perl-mail-dkim.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MAIL_DKIM_VERSION = 1.20200824 +PERL_MAIL_DKIM_VERSION = 1.20230630 PERL_MAIL_DKIM_SOURCE = Mail-DKIM-$(PERL_MAIL_DKIM_VERSION).tar.gz PERL_MAIL_DKIM_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MB/MBRADSHAW PERL_MAIL_DKIM_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-math-int64/perl-math-int64.hash b/package/perl-math-int64/perl-math-int64.hash index 4f2374b1075..7730b722a5e 100644 --- a/package/perl-math-int64/perl-math-int64.hash +++ b/package/perl-math-int64/perl-math-int64.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 1ad0ce8b5e903dfe9f7ffbabd8a43014 Math-Int64-0.54.tar.gz -sha256 dcfc51e698437ea6b9cefe0276215c56cdb6a7f85e3e24a2b6b4189f1960d351 Math-Int64-0.54.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 ed431cca1c403b1078fb1b3e2860d8de Math-Int64-0.57.tar.gz +sha256 12c60111c1cfceb257ac2ccc5b2e1721879efa09a1b0a73e8836afca107a7d75 Math-Int64-0.57.tar.gz # computed by scancpan sha256 59feedfdc4f99a746c54e06ac46c4627fb1e29be3bc71756184f92333600f72b COPYING diff --git a/package/perl-math-int64/perl-math-int64.mk b/package/perl-math-int64/perl-math-int64.mk index 749ff60c975..c0abcf48a18 100644 --- a/package/perl-math-int64/perl-math-int64.mk +++ b/package/perl-math-int64/perl-math-int64.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MATH_INT64_VERSION = 0.54 +PERL_MATH_INT64_VERSION = 0.57 PERL_MATH_INT64_SOURCE = Math-Int64-$(PERL_MATH_INT64_VERSION).tar.gz PERL_MATH_INT64_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SA/SALVA PERL_MATH_INT64_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-module-build-tiny/perl-module-build-tiny.hash b/package/perl-module-build-tiny/perl-module-build-tiny.hash index 7f03f96c184..7b503ff0614 100644 --- a/package/perl-module-build-tiny/perl-module-build-tiny.hash +++ b/package/perl-module-build-tiny/perl-module-build-tiny.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 2332c90c17454107fea3f2614e11a3a9 Module-Build-Tiny-0.039.tar.gz -sha256 7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c Module-Build-Tiny-0.039.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 de9814b3c22825837438fc70adad58ac Module-Build-Tiny-0.047.tar.gz +sha256 71260e9421b93c33dd1b3e7d0cf15f759c0ca7c753fa840279ec3be70f8f8c9d Module-Build-Tiny-0.047.tar.gz # computed by scancpan -sha256 09fd2bc0428920c455f10c5a6c52e2bb4615114e88966c75ce27a07af028c36b LICENSE +sha256 1ce3282467869416f29b0c5f7773d1b80181fb9e08bef64e3829e8c53e19b64e LICENSE diff --git a/package/perl-module-build-tiny/perl-module-build-tiny.mk b/package/perl-module-build-tiny/perl-module-build-tiny.mk index cdf6ac3ec4c..e2e3d83e7c3 100644 --- a/package/perl-module-build-tiny/perl-module-build-tiny.mk +++ b/package/perl-module-build-tiny/perl-module-build-tiny.mk @@ -4,14 +4,14 @@ # ################################################################################ -PERL_MODULE_BUILD_TINY_VERSION = 0.039 +PERL_MODULE_BUILD_TINY_VERSION = 0.047 PERL_MODULE_BUILD_TINY_SOURCE = Module-Build-Tiny-$(PERL_MODULE_BUILD_TINY_VERSION).tar.gz PERL_MODULE_BUILD_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT HOST_PERL_MODULE_BUILD_TINY_DEPENDENCIES = \ host-perl-extutils-config \ host-perl-extutils-helpers \ host-perl-extutils-installpaths -PERL_MODULE_BUILD_TINY_LICENSE = Artistic or GPL-1.0+ +PERL_MODULE_BUILD_TINY_LICENSE = Artistic-1.0-Perl or GPL-1.0+ PERL_MODULE_BUILD_TINY_LICENSE_FILES = LICENSE PERL_MODULE_BUILD_TINY_DISTNAME = Module-Build-Tiny diff --git a/package/perl-module-build/perl-module-build.hash b/package/perl-module-build/perl-module-build.hash index 09bc5f374ad..590307e7805 100644 --- a/package/perl-module-build/perl-module-build.hash +++ b/package/perl-module-build/perl-module-build.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 066b193e461d7dfe1eca17a139353001 Module-Build-0.4231.tar.gz -sha256 7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717 Module-Build-0.4231.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 0032d0c0bc36a3b68ef41c947829d5e3 Module-Build-0.4234.tar.gz +sha256 66aeac6127418be5e471ead3744648c766bd01482825c5b66652675f2bc86a8f Module-Build-0.4234.tar.gz # computed by scancpan -sha256 f35ac2cc6b808a38c42c2d230b875217b0a24bb51e5a497ebb630cbb3d806c3e LICENSE +sha256 af1570e8af55af52b4e86d040e2a993cb684566275c43c4d7a8b0cc5a90e08a4 LICENSE diff --git a/package/perl-module-build/perl-module-build.mk b/package/perl-module-build/perl-module-build.mk index f5cab36890a..972902e0475 100644 --- a/package/perl-module-build/perl-module-build.mk +++ b/package/perl-module-build/perl-module-build.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MODULE_BUILD_VERSION = 0.4231 +PERL_MODULE_BUILD_VERSION = 0.4234 PERL_MODULE_BUILD_SOURCE = Module-Build-$(PERL_MODULE_BUILD_VERSION).tar.gz PERL_MODULE_BUILD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT PERL_MODULE_BUILD_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash index 34362f5d8d0..fe39b093c71 100644 --- a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash +++ b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 c475f2d3962441698b178ad1bd7d2e29 Mojolicious-Plugin-Authentication-1.37.tar.gz -sha256 a7ed206725b7b395d4fca12e3f1d923da644d913333ff48ea231e064ecb1abb6 Mojolicious-Plugin-Authentication-1.37.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 141dd090f6d8470a0d3483dc1f7aaa20 Mojolicious-Plugin-Authentication-1.39.tar.gz +sha256 9f99cbdf5cacaa3fa3f961bee94de97226d177a36a15e7ba303ae79d132874d1 Mojolicious-Plugin-Authentication-1.39.tar.gz # computed by scancpan -sha256 37d219684a6c5f8754435fb0dd36a779121e416553fd6a75e22a7545039d1021 LICENSE +sha256 a2b15d79eaf2f13f756816abfe4d3d3fb4c4c206e7fb1a36abb3e741583aac26 LICENSE diff --git a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk index 57c356eee58..1d5e2511f6f 100644 --- a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk +++ b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION = 1.37 +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION = 1.39 PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SOURCE = Mojolicious-Plugin-Authentication-$(PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION).tar.gz PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JJ/JJATRIA PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-mojolicious/perl-mojolicious.hash b/package/perl-mojolicious/perl-mojolicious.hash index 97625d12908..b1ff561f741 100644 --- a/package/perl-mojolicious/perl-mojolicious.hash +++ b/package/perl-mojolicious/perl-mojolicious.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 494db2d1529e84a2575527dae8f3672d Mojolicious-9.26.tar.gz -sha256 9e428c5512698f05e151338d8fa12aede287ab3a5e429ec3d38c80a4a82c8d88 Mojolicious-9.26.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 8fba4deae54681d560c275c28803b48c Mojolicious-9.35.tar.gz +sha256 6a4a446ee07fca7c6db72f5d817540d6833009cb8de7cce4c6fb24a15ee7d46b Mojolicious-9.35.tar.gz # computed by scancpan sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/package/perl-mojolicious/perl-mojolicious.mk b/package/perl-mojolicious/perl-mojolicious.mk index dbf2e617374..4657d279290 100644 --- a/package/perl-mojolicious/perl-mojolicious.mk +++ b/package/perl-mojolicious/perl-mojolicious.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 9.26 +PERL_MOJOLICIOUS_VERSION = 9.35 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI PERL_MOJOLICIOUS_LICENSE = Artistic-2.0 diff --git a/package/perl-moo/perl-moo.hash b/package/perl-moo/perl-moo.hash index 9b67e7a65c2..f70646deca3 100644 --- a/package/perl-moo/perl-moo.hash +++ b/package/perl-moo/perl-moo.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 49ecf491b49b9b200e8a5dfd1a42b480 Moo-2.005004.tar.gz -sha256 e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928 Moo-2.005004.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 259530e5ea37a1bf968f6cf18a25db86 Moo-2.005005.tar.gz +sha256 fb5a2952649faed07373f220b78004a9c6aba387739133740c1770e9b1f4b108 Moo-2.005005.tar.gz # computed by scancpan -sha256 a8a1595c2347f7d10e896809d4f3dea85ccc10ac5644b8073111233cd120b14a LICENSE +sha256 de7a14750e81d97e19e111df58a3b51e3f2c8ec2d2dd90f576f54243251972c6 LICENSE diff --git a/package/perl-moo/perl-moo.mk b/package/perl-moo/perl-moo.mk index 6c484ba9e39..18e32688e1b 100644 --- a/package/perl-moo/perl-moo.mk +++ b/package/perl-moo/perl-moo.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_MOO_VERSION = 2.005004 +PERL_MOO_VERSION = 2.005005 PERL_MOO_SOURCE = Moo-$(PERL_MOO_VERSION).tar.gz PERL_MOO_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG PERL_MOO_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-mozilla-ca/perl-mozilla-ca.hash b/package/perl-mozilla-ca/perl-mozilla-ca.hash index 07966f9906a..c9bdd052459 100644 --- a/package/perl-mozilla-ca/perl-mozilla-ca.hash +++ b/package/perl-mozilla-ca/perl-mozilla-ca.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 843e42f367ea3c7abc5de5b6225791dc Mozilla-CA-20211001.tar.gz -sha256 122c8900000a9d388aa8e44f911cab6c118fe8497417917a84a8ec183971b449 Mozilla-CA-20211001.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 680e2107973ee6f461e3c0ab57066489 Mozilla-CA-20231213.tar.gz +sha256 421a12ba7cef443bd368671cee9c9b46a8b55c2ccf7ac76c42f99e23a06115df Mozilla-CA-20231213.tar.gz # computed by scancpan sha256 95cd63dae5c2bf6e7cf33435981614a36c85ef01fc7a02464e05e58a5355398e README diff --git a/package/perl-mozilla-ca/perl-mozilla-ca.mk b/package/perl-mozilla-ca/perl-mozilla-ca.mk index 6b970c0f94d..92fb3cec616 100644 --- a/package/perl-mozilla-ca/perl-mozilla-ca.mk +++ b/package/perl-mozilla-ca/perl-mozilla-ca.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_MOZILLA_CA_VERSION = 20211001 +PERL_MOZILLA_CA_VERSION = 20231213 PERL_MOZILLA_CA_SOURCE = Mozilla-CA-$(PERL_MOZILLA_CA_VERSION).tar.gz -PERL_MOZILLA_CA_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AB/ABH +PERL_MOZILLA_CA_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LW/LWP PERL_MOZILLA_CA_LICENSE = MPL-2.0 PERL_MOZILLA_CA_LICENSE_FILES = README PERL_MOZILLA_CA_DISTNAME = Mozilla-CA diff --git a/package/perl-net-dns/perl-net-dns.hash b/package/perl-net-dns/perl-net-dns.hash index 52f2f2bff24..f025d36ab4a 100644 --- a/package/perl-net-dns/perl-net-dns.hash +++ b/package/perl-net-dns/perl-net-dns.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 f10276a44ce157cd5f709be4c70c34a8 Net-DNS-1.34.tar.gz -sha256 de756e3fb6addbd32beafc869c4dd1c6a0b3783c5ef56dbefc6809443a4b1d15 Net-DNS-1.34.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 7c88cae0cac342f3fd43e7d99b29bf2a Net-DNS-1.42.tar.gz +sha256 48dea4d57b25deff5590e18f398a34a52256cb9f0cbf4b7a9ad2ec6fb5182cbe Net-DNS-1.42.tar.gz # computed by scancpan sha256 1e44fcf65509b47a251eda0ce1f8bd6aefa13517e38cb1e95b8d36120fb15452 LICENSE diff --git a/package/perl-net-dns/perl-net-dns.mk b/package/perl-net-dns/perl-net-dns.mk index cfb16d8ded9..5b6c1ba1d6d 100644 --- a/package/perl-net-dns/perl-net-dns.mk +++ b/package/perl-net-dns/perl-net-dns.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.34 +PERL_NET_DNS_VERSION = 1.42 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS PERL_NET_DNS_LICENSE = MIT diff --git a/package/perl-net-http/perl-net-http.hash b/package/perl-net-http/perl-net-http.hash index f02fd908087..094b9e5da03 100644 --- a/package/perl-net-http/perl-net-http.hash +++ b/package/perl-net-http/perl-net-http.hash @@ -1,6 +1,5 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 1d46019fb8559070a5ec1d838b690657 Net-HTTP-6.22.tar.gz -sha256 62faf9a5b84235443fe18f780e69cecf057dea3de271d7d8a0ba72724458a1a2 Net-HTTP-6.22.tar.gz +sha256 0d65c09dd6c8589b2ae1118174d3c1a61703b6ecfc14a3442a8c74af65e0c94e Net-HTTP-6.23.tar.gz # computed by scancpan sha256 0ed700a4bfc022e999d83407f71ab62ead96662d8f7bbebfd857376bf3ed6528 LICENSE diff --git a/package/perl-net-http/perl-net-http.mk b/package/perl-net-http/perl-net-http.mk index b4cef6188b6..08e81f95a17 100644 --- a/package/perl-net-http/perl-net-http.mk +++ b/package/perl-net-http/perl-net-http.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_HTTP_VERSION = 6.22 +PERL_NET_HTTP_VERSION = 6.23 PERL_NET_HTTP_SOURCE = Net-HTTP-$(PERL_NET_HTTP_VERSION).tar.gz PERL_NET_HTTP_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_NET_HTTP_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-net-ssleay/perl-net-ssleay.hash b/package/perl-net-ssleay/perl-net-ssleay.hash index 9caff68eddf..219edd4e0fb 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.hash +++ b/package/perl-net-ssleay/perl-net-ssleay.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 c73821e9790b3bdb3471d9b8faf48bbb Net-SSLeay-1.93_01.tar.gz -sha256 876d022fbc719631b11d6bb4b6e78db3c19bbca578093c376c8f9900a4432aa3 Net-SSLeay-1.93_01.tar.gz +md5 1b22c764e5a094c6261e37a4b1f148ce Net-SSLeay-1.94.tar.gz +sha256 9d7be8a56d1bedda05c425306cc504ba134307e0c09bda4a788c98744ebcd95d Net-SSLeay-1.94.tar.gz # computed by scancpan sha256 685e534b60d4e2b4fbb1a259a83b5a86e877a919bbb9efc95994276f706a3a71 LICENSE diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk index 8b7b2b973bf..7f58093082e 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/package/perl-net-ssleay/perl-net-ssleay.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_NET_SSLEAY_VERSION = 1.93_01 +PERL_NET_SSLEAY_VERSION = 1.94 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHRISN PERL_NET_SSLEAY_DEPENDENCIES = openssl diff --git a/package/perl-package-stash/Config.in b/package/perl-package-stash/Config.in index 6b7ca247829..05506c2424b 100644 --- a/package/perl-package-stash/Config.in +++ b/package/perl-package-stash/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_PERL_PACKAGE_STASH select BR2_PACKAGE_PERL_DIST_CHECKCONFLICTS # runtime select BR2_PACKAGE_PERL_MODULE_IMPLEMENTATION # runtime help - routines for manipulating stashes. + Routines for manipulating stashes. - http://metacpan.org/release/Package-Stash + https://github.com/moose/Package-Stash diff --git a/package/perl-package-stash/perl-package-stash.hash b/package/perl-package-stash/perl-package-stash.hash index 0bbac515e23..329d2dbbbf0 100644 --- a/package/perl-package-stash/perl-package-stash.hash +++ b/package/perl-package-stash/perl-package-stash.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 287d80c9115c9230912aca684f8ca92e Package-Stash-0.39.tar.gz -sha256 9165f555112e080493ce0e9129de0886da30b2593fb353a2abd1c76b2d2621b5 Package-Stash-0.39.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 7a2922941cc2aad6a52642e4fb13d07b Package-Stash-0.40.tar.gz +sha256 5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066 Package-Stash-0.40.tar.gz # computed by scancpan -sha256 810b319a6f4a53c9cbbef513da17b2f0c872accd149bb889f153f4b78cf8cbb8 LICENSE +sha256 5f82745d355b43f451c557642618cbd903251192b89f31ca53eaab90c35aeb7c LICENSE diff --git a/package/perl-package-stash/perl-package-stash.mk b/package/perl-package-stash/perl-package-stash.mk index bc116abca36..dd93314d828 100644 --- a/package/perl-package-stash/perl-package-stash.mk +++ b/package/perl-package-stash/perl-package-stash.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_PACKAGE_STASH_VERSION = 0.39 +PERL_PACKAGE_STASH_VERSION = 0.40 PERL_PACKAGE_STASH_SOURCE = Package-Stash-$(PERL_PACKAGE_STASH_VERSION).tar.gz PERL_PACKAGE_STASH_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_PACKAGE_STASH_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-path-tiny/perl-path-tiny.hash b/package/perl-path-tiny/perl-path-tiny.hash index c6fe8bf92e4..7874846b891 100644 --- a/package/perl-path-tiny/perl-path-tiny.hash +++ b/package/perl-path-tiny/perl-path-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 16dd03cded30d00167a03315d0e11e51 Path-Tiny-0.124.tar.gz -sha256 fa083144781e46817ec39d21962bbbb0533c201f3baf031d2999a785a2a013fd Path-Tiny-0.124.tar.gz +md5 7b2fc4f5edfd29b88d2cc3b96830e7d1 Path-Tiny-0.144.tar.gz +sha256 f6ea094ece845c952a02c2789332579354de8d410a707f9b7045bd241206487d Path-Tiny-0.144.tar.gz # computed by scancpan sha256 c1a19c0d83f668a784640c0b41e024f37b182ad38011b170f9200123e57f6070 LICENSE diff --git a/package/perl-path-tiny/perl-path-tiny.mk b/package/perl-path-tiny/perl-path-tiny.mk index a0575172f09..6d784a0d164 100644 --- a/package/perl-path-tiny/perl-path-tiny.mk +++ b/package/perl-path-tiny/perl-path-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_PATH_TINY_VERSION = 0.124 +PERL_PATH_TINY_VERSION = 0.144 PERL_PATH_TINY_SOURCE = Path-Tiny-$(PERL_PATH_TINY_VERSION).tar.gz PERL_PATH_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN PERL_PATH_TINY_LICENSE = Apache-2.0 diff --git a/package/perl-plack/Config.in b/package/perl-plack/Config.in index c81ac4a444f..420f8257e5e 100644 --- a/package/perl-plack/Config.in +++ b/package/perl-plack/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PERL_PLACK bool "perl-plack" + depends on !BR2_STATIC_LIBS # perl-http-message -> perl-clone select BR2_PACKAGE_PERL_APACHE_LOGFORMAT_COMPILER # runtime select BR2_PACKAGE_PERL_COOKIE_BAKER # runtime select BR2_PACKAGE_PERL_DEVEL_STACKTRACE # runtime @@ -19,3 +20,6 @@ config BR2_PACKAGE_PERL_PLACK toolkit). https://github.com/plack/Plack + +comment "perl-plack needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/perl-plack/perl-plack.hash b/package/perl-plack/perl-plack.hash index c763d2c1735..c9e2bb01f63 100644 --- a/package/perl-plack/perl-plack.hash +++ b/package/perl-plack/perl-plack.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 36282b473b4521219c44a9db437b650f Plack-1.0048.tar.gz -sha256 30f5f25e19b437859156a2526f61ca9ab708d50d5730c279189403aabfe542a6 Plack-1.0048.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 0b3e573458b37ad69069fc8cb307b6b8 Plack-1.0051.tar.gz +sha256 bebde91c42298ed6ec8e6c82b21433a1b49aa39412c247f3905b80f955acf77b Plack-1.0051.tar.gz # computed by scancpan -sha256 fb67655b5d1adedef83aed2c79bf4f89c68d8595a7060815520173f663a3631d LICENSE +sha256 8a0c0ad4682691b5bc138e553636adfc8bb38f8885c4c44fd421ec8cc69c9a8f LICENSE diff --git a/package/perl-plack/perl-plack.mk b/package/perl-plack/perl-plack.mk index b95f204d23c..2c591cc05a5 100644 --- a/package/perl-plack/perl-plack.mk +++ b/package/perl-plack/perl-plack.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_PLACK_VERSION = 1.0048 +PERL_PLACK_VERSION = 1.0051 PERL_PLACK_SOURCE = Plack-$(PERL_PLACK_VERSION).tar.gz PERL_PLACK_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA PERL_PLACK_DEPENDENCIES = host-perl-file-sharedir-install diff --git a/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash index bdc6fd45a05..cad4b03f247 100644 --- a/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash +++ b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 3a5ae7d56a5917410c1b661e01ed1a68 POSIX-strftime-Compiler-0.44.tar.gz -sha256 dfd3c97398dcfe51c8236b85e3dc28035667b76531f7aa0a6535f3aa5405b35a POSIX-strftime-Compiler-0.44.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 e64777d20d363a1b47acf85774d108da POSIX-strftime-Compiler-0.46.tar.gz +sha256 bf88873248ef88cc5e68ed074493496be684ec334e11273d4654306dd9dae485 POSIX-strftime-Compiler-0.46.tar.gz # computed by scancpan sha256 79c2a066104e71602785fd815c5aea6f7db78c19451d68521380083f9c2a8805 LICENSE diff --git a/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk index c11ed585148..f7f6745ec99 100644 --- a/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk +++ b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_POSIX_STRFTIME_COMPILER_VERSION = 0.44 +PERL_POSIX_STRFTIME_COMPILER_VERSION = 0.46 PERL_POSIX_STRFTIME_COMPILER_SOURCE = POSIX-strftime-Compiler-$(PERL_POSIX_STRFTIME_COMPILER_VERSION).tar.gz PERL_POSIX_STRFTIME_COMPILER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO PERL_POSIX_STRFTIME_COMPILER_DEPENDENCIES = host-perl-module-build-tiny diff --git a/package/perl-sub-install/perl-sub-install.hash b/package/perl-sub-install/perl-sub-install.hash index bbac2a63771..834e589ee53 100644 --- a/package/perl-sub-install/perl-sub-install.hash +++ b/package/perl-sub-install/perl-sub-install.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 e1ce4f9cb6b2f6b8778b036c31afa5ab Sub-Install-0.928.tar.gz -sha256 61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f Sub-Install-0.928.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 81baf186c62c71f0935c3ccf1c5964c8 Sub-Install-0.929.tar.gz +sha256 80b1e281d8cd3b2b31dac711f5c8a1657a87cd80bbe69af3924bcbeb4e5db077 Sub-Install-0.929.tar.gz # computed by scancpan -sha256 ad5fb5c05003488f924c60ead21694d629055c9db2ee2d9dd0cf0041b9fedaca LICENSE +sha256 0150501749fc390e1c747739a7c1d7661607f8f1d9a9f2ad279664f12e46104e LICENSE diff --git a/package/perl-sub-install/perl-sub-install.mk b/package/perl-sub-install/perl-sub-install.mk index 85d60caf524..5e02a37ebb9 100644 --- a/package/perl-sub-install/perl-sub-install.mk +++ b/package/perl-sub-install/perl-sub-install.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_SUB_INSTALL_VERSION = 0.928 +PERL_SUB_INSTALL_VERSION = 0.929 PERL_SUB_INSTALL_SOURCE = Sub-Install-$(PERL_SUB_INSTALL_VERSION).tar.gz PERL_SUB_INSTALL_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS PERL_SUB_INSTALL_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-sub-quote/perl-sub-quote.hash b/package/perl-sub-quote/perl-sub-quote.hash index 602ff92ceca..8db560fd44c 100644 --- a/package/perl-sub-quote/perl-sub-quote.hash +++ b/package/perl-sub-quote/perl-sub-quote.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 1bb9caee697bcfa738f419d40505e506 Sub-Quote-2.006006.tar.gz -sha256 6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d Sub-Quote-2.006006.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 f19c60039ba87f69f7f9357fc0a03e07 Sub-Quote-2.006008.tar.gz +sha256 94bebd500af55762e83ea2f2bc594d87af828072370c7110c60c238a800d15b2 Sub-Quote-2.006008.tar.gz # computed by scancpan -sha256 88f4a8719c584d756dcfeebc7f35643066354188bfb57c672fbafcd44e044e9c LICENSE +sha256 de7a14750e81d97e19e111df58a3b51e3f2c8ec2d2dd90f576f54243251972c6 LICENSE diff --git a/package/perl-sub-quote/perl-sub-quote.mk b/package/perl-sub-quote/perl-sub-quote.mk index a22da169223..3c2a25be519 100644 --- a/package/perl-sub-quote/perl-sub-quote.mk +++ b/package/perl-sub-quote/perl-sub-quote.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_SUB_QUOTE_VERSION = 2.006006 +PERL_SUB_QUOTE_VERSION = 2.006008 PERL_SUB_QUOTE_SOURCE = Sub-Quote-$(PERL_SUB_QUOTE_VERSION).tar.gz PERL_SUB_QUOTE_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG PERL_SUB_QUOTE_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-type-tiny/perl-type-tiny.hash b/package/perl-type-tiny/perl-type-tiny.hash index 9e5924abb80..bca5153a035 100644 --- a/package/perl-type-tiny/perl-type-tiny.hash +++ b/package/perl-type-tiny/perl-type-tiny.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 7a1688c4de07a0ed481a1811e5e82e63 Type-Tiny-1.012004.tar.gz -sha256 75cd06b612d1830ae9f4b22298b506b3ff04518fa7453f487c248cd62a906a2b Type-Tiny-1.012004.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 08bb43feabaab97dac7a3e59b5c77ff3 Type-Tiny-2.004000.tar.gz +sha256 697e7f775edfc85f4cf07792d04fd19b09c25285f98f5938e8efc4f74507a128 Type-Tiny-2.004000.tar.gz # computed by scancpan -sha256 34427749499bd6d6e5d206089bc03d76c647a1350f8b5f95ea628d2b6ff56e4c LICENSE +sha256 1a2929dacaef239beca27a85f7f97b793628dfb22f07fdfb406cb6f3f0d22a6b LICENSE diff --git a/package/perl-type-tiny/perl-type-tiny.mk b/package/perl-type-tiny/perl-type-tiny.mk index 5efa78f1619..31c84a2637c 100644 --- a/package/perl-type-tiny/perl-type-tiny.mk +++ b/package/perl-type-tiny/perl-type-tiny.mk @@ -4,7 +4,7 @@ # ################################################################################ -PERL_TYPE_TINY_VERSION = 1.012004 +PERL_TYPE_TINY_VERSION = 2.004000 PERL_TYPE_TINY_SOURCE = Type-Tiny-$(PERL_TYPE_TINY_VERSION).tar.gz PERL_TYPE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK PERL_TYPE_TINY_LICENSE = Artistic or GPL-1.0+ diff --git a/package/perl-uri/perl-uri.hash b/package/perl-uri/perl-uri.hash index a169fc067da..c10a829e98d 100644 --- a/package/perl-uri/perl-uri.hash +++ b/package/perl-uri/perl-uri.hash @@ -1,6 +1,6 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 d7fc1b1c88d03357aed2f03b455a223e URI-5.12.tar.gz -sha256 66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3 URI-5.12.tar.gz +# retrieved by scancpan from https://cpan.metacpan.org/ +md5 9b45e7635f0968deabe377fc4c99a8b5 URI-5.21.tar.gz +sha256 96265860cd61bde16e8415dcfbf108056de162caa0ac37f81eb695c9d2e0ab77 URI-5.21.tar.gz # computed by scancpan -sha256 d4f0b7a8771dcb1eee79a38c2e466eb997e23565a6687dd1900a2027eabe12a0 LICENSE +sha256 a1730c55839ce3c9182c92e3387ba8f683ad6ab8b4a3257553a20c4db194c2cf LICENSE diff --git a/package/perl-uri/perl-uri.mk b/package/perl-uri/perl-uri.mk index b0ac885c108..aa0c1ed8b5f 100644 --- a/package/perl-uri/perl-uri.mk +++ b/package/perl-uri/perl-uri.mk @@ -4,10 +4,10 @@ # ################################################################################ -PERL_URI_VERSION = 5.12 +PERL_URI_VERSION = 5.21 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_URI_LICENSE = Artistic or GPL-1.0+ +PERL_URI_LICENSE = Artistic-1.0-Perl or GPL-1.0+ PERL_URI_LICENSE_FILES = LICENSE PERL_URI_DISTNAME = URI diff --git a/package/perl/0001-regcomp-c-regexec-c-fixup-regex-engine-build-under-Uusedl.patch b/package/perl/0001-regcomp-c-regexec-c-fixup-regex-engine-build-under-Uusedl.patch new file mode 100644 index 00000000000..f0837c2d332 --- /dev/null +++ b/package/perl/0001-regcomp-c-regexec-c-fixup-regex-engine-build-under-Uusedl.patch @@ -0,0 +1,554 @@ +From ba6e2c38aafc23cf114f3ba0d0ff3baead34328b Mon Sep 17 00:00:00 2001 +From: Yves Orton +Date: Tue, 1 Aug 2023 23:12:46 +0200 +Subject: [PATCH] regcomp*.c, regexec.c - fixup regex engine build under + -Uusedl + +The regex engine is built a bit different from most of the perl +codebase. It is compiled as part of the main libperl.so and it is +also compiled (with DEBUGGING enabled) as part of the re extension. +When perl itself is compiled with DEBUGGING enabled then the code +in the re.so extension and the code in libperl.so is the same. + +This all works fine and dandy until you have a static build where the +re.so is linked into libperl.so, which results in duplicate symbols +being defined. These symbols come in two flaviours: "auxiliary" and +"debugging" related symbols. + +We have basically three cases: + +1. USE_DYNAMIC_LOADING is defined. In this case we are doing a dynamic + build and re.so will be separate from libperl.so, so it even if this + is a DEBUGGING enabled build debug and auxiliary functions can be + compiled into *both* re.so and libperl.so. This is basically the + "standard build". + +2. USE_DYNAMIC_LOADING is not defined, and DEBUGGING is not defined + either. In this case auxiliary functions should only be compiled in + libperl.so, and the debug functions should only be compiled into + re.so + +3. USE_DYNAMIC_LOADING is not defined, and DEBUGGING *is* defined. In + this case auxiliary functions AND debug functions should only be + compiled into libperl.so + +It is possible to detect the different build options by looking at the +defines 'USE_DYNAMIC_LOADING', 'PERL_EXT_RE_DEBUG' and +'DEBUGGING_RE_ONLY'. 'USE_DYNAMIC_LOADING' is NOT defined when we are +building a static perl. 'PERL_EXT_RE_DEBUG' is defined only when we are +building re.so, and 'DEBUGGING_RE_ONLY' is defined only when we are +building re.so in a perl that is not itself already a DEBUGGING enabled +perl. The file ext/re/re_top.h responsible for setting up +DEBUGGING_RE_ONLY. + +This patch uses 'PERL_EXT_RE_DEBUG', 'DEBUGGING_RE_ONLY' and +'USE_DYNAMIC_LOADING' to define in regcomp.h two further define flags +'PERL_RE_BUILD_DEBUG' and 'PERL_RE_BUILD_AUX'. + +The 'PERL_RE_BUILD_DEBUG' flag determines if the debugging functions +should be compiled into libperl.so or re.so or both. The +'PERL_RE_BUILD_AUX' flag determines if the auxiliary functions should be +compiled into just libperl.so or into it and re.so. We then use these +flags to guard the different types of functions so that we can build in +all three modes without duplicate symbols. + +Upstream: https://github.com/Perl/perl5/commit/ba6e2c38aafc23cf114f3ba0d0ff3baead34328b +Signed-off-by: Fabrice Fontaine +--- + regcomp.c | 13 +- + regcomp.h | 14 ++- + regcomp_debug.c | 308 +++++++++++++++++++++++----------------------- + regcomp_invlist.c | 3 +- + regexec.c | 3 +- + 5 files changed, 181 insertions(+), 160 deletions(-) + +diff --git a/regcomp.c b/regcomp.c +index d3c135fbfad1..6e35d95d2ac6 100644 +--- a/regcomp.c ++++ b/regcomp.c +@@ -290,6 +290,7 @@ S_edit_distance(const UV* src, + /* END of edit_distance() stuff + * ========================================================= */ + ++#ifdef PERL_RE_BUILD_AUX + /* add a data member to the struct reg_data attached to this regex, it should + * always return a non-zero return. the 's' argument is the type of the items + * being added and the n is the number of items. The length of 's' should match +@@ -340,6 +341,7 @@ Perl_reg_add_data(RExC_state_t* const pRExC_state, const char* const s, const U3 + assert(count>0); + return count; + } ++#endif /* PERL_RE_BUILD_AUX */ + + /*XXX: todo make this not included in a non debugging perl, but appears to be + * used anyway there, in 'use re' */ +@@ -7443,6 +7445,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth) + } + + ++#ifdef PERL_RE_BUILD_AUX + void + Perl_populate_anyof_bitmap_from_invlist(pTHX_ regnode *node, SV** invlist_ptr) + { +@@ -7502,6 +7505,7 @@ Perl_populate_anyof_bitmap_from_invlist(pTHX_ regnode *node, SV** invlist_ptr) + } + } + } ++#endif /* PERL_RE_BUILD_AUX */ + + /* Parse POSIX character classes: [[:foo:]], [[=foo=]], [[.foo.]]. + Character classes ([:foo:]) can also be negated ([:^foo:]). +@@ -9095,6 +9099,7 @@ S_dump_regex_sets_structures(pTHX_ RExC_state_t *pRExC_state, + #undef IS_OPERATOR + #undef IS_OPERAND + ++#ifdef PERL_RE_BUILD_AUX + void + Perl_add_above_Latin1_folds(pTHX_ RExC_state_t *pRExC_state, const U8 cp, SV** invlist) + { +@@ -9182,6 +9187,8 @@ Perl_add_above_Latin1_folds(pTHX_ RExC_state_t *pRExC_state, const U8 cp, SV** i + } + } + } ++#endif /* PERL_RE_BUILD_AUX */ ++ + + STATIC void + S_output_posix_warnings(pTHX_ RExC_state_t *pRExC_state, AV* posix_warnings) +@@ -12105,6 +12112,7 @@ S_optimize_regclass(pTHX_ + + #undef HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION + ++#ifdef PERL_RE_BUILD_AUX + void + Perl_set_ANYOF_arg(pTHX_ RExC_state_t* const pRExC_state, + regnode* const node, +@@ -12261,6 +12269,7 @@ Perl_set_ANYOF_arg(pTHX_ RExC_state_t* const pRExC_state, + RExC_rxi->data->data[n] = (void*)rv; + ARG1u_SET(node, n); + } ++#endif /* PERL_RE_BUILD_AUX */ + + SV * + +@@ -12999,6 +13008,8 @@ S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, + } + #endif + ++ ++#ifdef PERL_RE_BUILD_AUX + SV* + Perl_get_ANYOFM_contents(pTHX_ const regnode * n) { + +@@ -13047,7 +13058,7 @@ Perl_get_ANYOFHbbm_contents(pTHX_ const regnode * n) { + UTF_CONTINUATION_MARK | 0)); + return cp_list; + } +- ++#endif /* PERL_RE_BUILD_AUX */ + + + SV * +diff --git a/regcomp.h b/regcomp.h +index 31c91e6a68e8..017a9f843514 100644 +--- a/regcomp.h ++++ b/regcomp.h +@@ -1554,7 +1554,19 @@ typedef enum { + #define EVAL_OPTIMISTIC_FLAG 128 + #define EVAL_FLAGS_MASK (EVAL_OPTIMISTIC_FLAG-1) + +- ++/* We define PERL_RE_BUILD_DEBUG if we are NOT compiling the re extension and ++ * we are under DEBUGGING, or if we are ARE compiling the re extension ++ * and this is not a DEBUGGING enabled build (identified by ++ * DEBUGGING_RE_ONLY being defined) ++ */ ++#if ( defined(USE_DYNAMIC_LOADING) && defined(DEBUGGING)) || \ ++ ( defined(PERL_EXT_RE_BUILD) && defined(DEBUGGING_RE_ONLY)) || \ ++ (!defined(PERL_EXT_RE_BUILD) && defined(DEBUGGING)) ++#define PERL_RE_BUILD_DEBUG ++#endif ++#if ( defined(USE_DYNAMIC_LOADING) || !defined(PERL_EXT_RE_BUILD) ) ++#define PERL_RE_BUILD_AUX ++#endif + + #endif /* PERL_REGCOMP_H_ */ + +diff --git a/regcomp_debug.c b/regcomp_debug.c +index 93db7a89cf48..96598c49c0bc 100644 +--- a/regcomp_debug.c ++++ b/regcomp_debug.c +@@ -18,8 +18,7 @@ + #include "unicode_constants.h" + #include "regcomp_internal.h" + +-#ifdef DEBUGGING +- ++#ifdef PERL_RE_BUILD_DEBUG + int + Perl_re_printf(pTHX_ const char *fmt, ...) + { +@@ -159,13 +158,160 @@ Perl_debug_peep(pTHX_ const char *str, const RExC_state_t *pRExC_state, + }); + } + +-#endif /* DEBUGGING */ ++const regnode * ++Perl_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, ++ const regnode *last, const regnode *plast, ++ SV* sv, I32 indent, U32 depth) ++{ ++ const regnode *next; ++ const regnode *optstart= NULL; ++ ++ RXi_GET_DECL(r, ri); ++ DECLARE_AND_GET_RE_DEBUG_FLAGS; ++ ++ PERL_ARGS_ASSERT_DUMPUNTIL; ++ ++#ifdef DEBUG_DUMPUNTIL ++ Perl_re_printf( aTHX_ "--- %d : %d - %d - %d\n", indent, node-start, ++ last ? last-start : 0, plast ? plast-start : 0); ++#endif ++ ++ if (plast && plast < last) ++ last= plast; ++ ++ while (node && (!last || node < last)) { ++ const U8 op = OP(node); ++ ++ if (op == CLOSE || op == SRCLOSE || op == WHILEM) ++ indent--; ++ next = regnext((regnode *)node); ++ const regnode *after = regnode_after((regnode *)node,0); ++ ++ /* Where, what. */ ++ if (op == OPTIMIZED) { ++ if (!optstart && RE_DEBUG_FLAG(RE_DEBUG_COMPILE_OPTIMISE)) ++ optstart = node; ++ else ++ goto after_print; ++ } else ++ CLEAR_OPTSTART; ++ ++ regprop(r, sv, node, NULL, NULL); ++ Perl_re_printf( aTHX_ "%4" IVdf ":%*s%s", (IV)(node - start), ++ (int)(2*indent + 1), "", SvPVX_const(sv)); ++ ++ if (op != OPTIMIZED) { ++ if (next == NULL) /* Next ptr. */ ++ Perl_re_printf( aTHX_ " (0)"); ++ else if (REGNODE_TYPE(op) == BRANCH ++ && REGNODE_TYPE(OP(next)) != BRANCH ) ++ Perl_re_printf( aTHX_ " (FAIL)"); ++ else ++ Perl_re_printf( aTHX_ " (%" IVdf ")", (IV)(next - start)); ++ Perl_re_printf( aTHX_ "\n"); ++ } ++ ++ after_print: ++ if (REGNODE_TYPE(op) == BRANCHJ) { ++ assert(next); ++ const regnode *nnode = (OP(next) == LONGJMP ++ ? regnext((regnode *)next) ++ : next); ++ if (last && nnode > last) ++ nnode = last; ++ DUMPUNTIL(after, nnode); ++ } ++ else if (REGNODE_TYPE(op) == BRANCH) { ++ assert(next); ++ DUMPUNTIL(after, next); ++ } ++ else if ( REGNODE_TYPE(op) == TRIE ) { ++ const regnode *this_trie = node; ++ const U32 n = ARG1u(node); ++ const reg_ac_data * const ac = op>=AHOCORASICK ? ++ (reg_ac_data *)ri->data->data[n] : ++ NULL; ++ const reg_trie_data * const trie = ++ (reg_trie_data*)ri->data->data[optrie]; ++#ifdef DEBUGGING ++ AV *const trie_words ++ = MUTABLE_AV(ri->data->data[n + TRIE_WORDS_OFFSET]); ++#endif ++ const regnode *nextbranch= NULL; ++ I32 word_idx; ++ SvPVCLEAR(sv); ++ for (word_idx= 0; word_idx < (I32)trie->wordcount; word_idx++) { ++ SV ** const elem_ptr = av_fetch_simple(trie_words, word_idx, 0); ++ ++ Perl_re_indentf( aTHX_ "%s ", ++ indent+3, ++ elem_ptr ++ ? pv_pretty(sv, SvPV_nolen_const(*elem_ptr), ++ SvCUR(*elem_ptr), PL_dump_re_max_len, ++ PL_colors[0], PL_colors[1], ++ (SvUTF8(*elem_ptr) ++ ? PERL_PV_ESCAPE_UNI ++ : 0) ++ | PERL_PV_PRETTY_ELLIPSES ++ | PERL_PV_PRETTY_LTGT ++ ) ++ : "???" ++ ); ++ if (trie->jump) { ++ U16 dist= trie->jump[word_idx+1]; ++ Perl_re_printf( aTHX_ "(%" UVuf ")\n", ++ (UV)((dist ? this_trie + dist : next) - start)); ++ if (dist) { ++ if (!nextbranch) ++ nextbranch= this_trie + trie->jump[0]; ++ DUMPUNTIL(this_trie + dist, nextbranch); ++ } ++ if (nextbranch && REGNODE_TYPE(OP(nextbranch))==BRANCH) ++ nextbranch= regnext((regnode *)nextbranch); ++ } else { ++ Perl_re_printf( aTHX_ "\n"); ++ } ++ } ++ if (last && next > last) ++ node= last; ++ else ++ node= next; ++ } ++ else if ( op == CURLY ) { /* "next" might be very big: optimizer */ ++ DUMPUNTIL(after, after + 1); /* +1 is NOT a REGNODE_AFTER */ ++ } ++ else if (REGNODE_TYPE(op) == CURLY && op != CURLYX) { ++ assert(next); ++ DUMPUNTIL(after, next); ++ } ++ else if ( op == PLUS || op == STAR) { ++ DUMPUNTIL(after, after + 1); /* +1 NOT a REGNODE_AFTER */ ++ } ++ else if (REGNODE_TYPE(op) == EXACT || op == ANYOFHs) { ++ /* Literal string, where present. */ ++ node = (const regnode *)REGNODE_AFTER_varies(node); ++ } ++ else { ++ node = REGNODE_AFTER_opcode(node,op); ++ } ++ if (op == CURLYX || op == OPEN || op == SROPEN) ++ indent++; ++ if (REGNODE_TYPE(op) == END) ++ break; ++ } ++ CLEAR_OPTSTART; ++#ifdef DEBUG_DUMPUNTIL ++ Perl_re_printf( aTHX_ "--- %d\n", (int)indent); ++#endif ++ return node; ++} ++ ++#endif /* PERL_RE_BUILD_DEBUG */ + + /* + - regdump - dump a regexp onto Perl_debug_log in vaguely comprehensible form + */ + #ifdef DEBUGGING +- + static void + S_regdump_intflags(pTHX_ const char *lead, const U32 flags) + { +@@ -907,8 +1053,8 @@ Perl_regprop(pTHX_ const regexp *prog, SV *sv, const regnode *o, const regmatch_ + #endif /* DEBUGGING */ + } + +-#ifdef DEBUGGING + ++#ifdef DEBUGGING + STATIC void + S_put_code_point(pTHX_ SV *sv, UV c) + { +@@ -1517,154 +1663,4 @@ S_put_charclass_bitmap_innards(pTHX_ SV *sv, + + return did_output_something; + } +- +- +-const regnode * +-Perl_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, +- const regnode *last, const regnode *plast, +- SV* sv, I32 indent, U32 depth) +-{ +- const regnode *next; +- const regnode *optstart= NULL; +- +- RXi_GET_DECL(r, ri); +- DECLARE_AND_GET_RE_DEBUG_FLAGS; +- +- PERL_ARGS_ASSERT_DUMPUNTIL; +- +-#ifdef DEBUG_DUMPUNTIL +- Perl_re_printf( aTHX_ "--- %d : %d - %d - %d\n", indent, node-start, +- last ? last-start : 0, plast ? plast-start : 0); +-#endif +- +- if (plast && plast < last) +- last= plast; +- +- while (node && (!last || node < last)) { +- const U8 op = OP(node); +- +- if (op == CLOSE || op == SRCLOSE || op == WHILEM) +- indent--; +- next = regnext((regnode *)node); +- const regnode *after = regnode_after((regnode *)node,0); +- +- /* Where, what. */ +- if (op == OPTIMIZED) { +- if (!optstart && RE_DEBUG_FLAG(RE_DEBUG_COMPILE_OPTIMISE)) +- optstart = node; +- else +- goto after_print; +- } else +- CLEAR_OPTSTART; +- +- regprop(r, sv, node, NULL, NULL); +- Perl_re_printf( aTHX_ "%4" IVdf ":%*s%s", (IV)(node - start), +- (int)(2*indent + 1), "", SvPVX_const(sv)); +- +- if (op != OPTIMIZED) { +- if (next == NULL) /* Next ptr. */ +- Perl_re_printf( aTHX_ " (0)"); +- else if (REGNODE_TYPE(op) == BRANCH +- && REGNODE_TYPE(OP(next)) != BRANCH ) +- Perl_re_printf( aTHX_ " (FAIL)"); +- else +- Perl_re_printf( aTHX_ " (%" IVdf ")", (IV)(next - start)); +- Perl_re_printf( aTHX_ "\n"); +- } +- +- after_print: +- if (REGNODE_TYPE(op) == BRANCHJ) { +- assert(next); +- const regnode *nnode = (OP(next) == LONGJMP +- ? regnext((regnode *)next) +- : next); +- if (last && nnode > last) +- nnode = last; +- DUMPUNTIL(after, nnode); +- } +- else if (REGNODE_TYPE(op) == BRANCH) { +- assert(next); +- DUMPUNTIL(after, next); +- } +- else if ( REGNODE_TYPE(op) == TRIE ) { +- const regnode *this_trie = node; +- const U32 n = ARG1u(node); +- const reg_ac_data * const ac = op>=AHOCORASICK ? +- (reg_ac_data *)ri->data->data[n] : +- NULL; +- const reg_trie_data * const trie = +- (reg_trie_data*)ri->data->data[optrie]; +-#ifdef DEBUGGING +- AV *const trie_words +- = MUTABLE_AV(ri->data->data[n + TRIE_WORDS_OFFSET]); +-#endif +- const regnode *nextbranch= NULL; +- I32 word_idx; +- SvPVCLEAR(sv); +- for (word_idx= 0; word_idx < (I32)trie->wordcount; word_idx++) { +- SV ** const elem_ptr = av_fetch_simple(trie_words, word_idx, 0); +- +- Perl_re_indentf( aTHX_ "%s ", +- indent+3, +- elem_ptr +- ? pv_pretty(sv, SvPV_nolen_const(*elem_ptr), +- SvCUR(*elem_ptr), PL_dump_re_max_len, +- PL_colors[0], PL_colors[1], +- (SvUTF8(*elem_ptr) +- ? PERL_PV_ESCAPE_UNI +- : 0) +- | PERL_PV_PRETTY_ELLIPSES +- | PERL_PV_PRETTY_LTGT +- ) +- : "???" +- ); +- if (trie->jump) { +- U16 dist= trie->jump[word_idx+1]; +- Perl_re_printf( aTHX_ "(%" UVuf ")\n", +- (UV)((dist ? this_trie + dist : next) - start)); +- if (dist) { +- if (!nextbranch) +- nextbranch= this_trie + trie->jump[0]; +- DUMPUNTIL(this_trie + dist, nextbranch); +- } +- if (nextbranch && REGNODE_TYPE(OP(nextbranch))==BRANCH) +- nextbranch= regnext((regnode *)nextbranch); +- } else { +- Perl_re_printf( aTHX_ "\n"); +- } +- } +- if (last && next > last) +- node= last; +- else +- node= next; +- } +- else if ( op == CURLY ) { /* "next" might be very big: optimizer */ +- DUMPUNTIL(after, after + 1); /* +1 is NOT a REGNODE_AFTER */ +- } +- else if (REGNODE_TYPE(op) == CURLY && op != CURLYX) { +- assert(next); +- DUMPUNTIL(after, next); +- } +- else if ( op == PLUS || op == STAR) { +- DUMPUNTIL(after, after + 1); /* +1 NOT a REGNODE_AFTER */ +- } +- else if (REGNODE_TYPE(op) == EXACT || op == ANYOFHs) { +- /* Literal string, where present. */ +- node = (const regnode *)REGNODE_AFTER_varies(node); +- } +- else { +- node = REGNODE_AFTER_opcode(node,op); +- } +- if (op == CURLYX || op == OPEN || op == SROPEN) +- indent++; +- if (REGNODE_TYPE(op) == END) +- break; +- } +- CLEAR_OPTSTART; +-#ifdef DEBUG_DUMPUNTIL +- Perl_re_printf( aTHX_ "--- %d\n", (int)indent); +-#endif +- return node; +-} +- +-#endif /* DEBUGGING */ ++#endif /* DEBUGGING */ +diff --git a/regcomp_invlist.c b/regcomp_invlist.c +index 9ea3f431817d..82f82305846a 100644 +--- a/regcomp_invlist.c ++++ b/regcomp_invlist.c +@@ -18,7 +18,7 @@ + #include "unicode_constants.h" + #include "regcomp_internal.h" + +- ++#ifdef PERL_RE_BUILD_AUX + void + Perl_populate_bitmap_from_invlist(pTHX_ SV * invlist, const UV offset, const U8 * bitmap, const Size_t len) + { +@@ -70,6 +70,7 @@ Perl_populate_invlist_from_bitmap(pTHX_ const U8 * bitmap, const Size_t bitmap_l + } + } + } ++#endif /* PERL_RE_BUILD_AUX */ + + /* This section of code defines the inversion list object and its methods. The + * interfaces are highly subject to change, so as much as possible is static to +diff --git a/regexec.c b/regexec.c +index c404d9aa3d73..de0b7c461918 100644 +--- a/regexec.c ++++ b/regexec.c +@@ -4428,7 +4428,8 @@ S_regtry(pTHX_ regmatch_info *reginfo, char **startposp) + */ + #define REPORT_CODE_OFF 29 + #define INDENT_CHARS(depth) ((int)(depth) % 20) +-#ifdef DEBUGGING ++ ++#ifdef PERL_RE_BUILD_DEBUG + int + Perl_re_exec_indentf(pTHX_ const char *fmt, U32 depth, ...) + { diff --git a/package/perl/perl.hash b/package/perl/perl.hash index 9ec2b42e340..91abcdeb92f 100644 --- a/package/perl/perl.hash +++ b/package/perl/perl.hash @@ -1,12 +1,12 @@ -# Hashes from: https://www.cpan.org/src/5.0/perl-5.34.1.tar.xz.{md5,sha1,sha256}.txt -md5 7d2ece7f50775ea1ff739831935a24bd perl-5.34.1.tar.xz -sha1 e7dbef3c1ea7caa73e2c705bba9e4bfb92ea98f0 perl-5.34.1.tar.xz -sha256 6d52cf833ff1af27bb5e986870a2c30cec73c044b41e3458cd991f94374039f7 perl-5.34.1.tar.xz +# Hashes from: https://www.cpan.org/src/5.0/perl-5.38.2.tar.xz.{md5,sha1,sha256}.txt +md5 d3957d75042918a23ec0abac4a2b7e0a perl-5.38.2.tar.xz +sha1 af1d5f9e0499f3cfa4736433631aebf7624714da perl-5.38.2.tar.xz +sha256 d91115e90b896520e83d4de6b52f8254ef2b70a8d545ffab33200ea9f1cf29e8 perl-5.38.2.tar.xz -# Hash from: https://github.com/arsv/perl-cross/releases/download/1.4/perl-cross-1.4.hash -sha256 be9d9f9f7148edff7a2f9695ba3cb7e3975eff6b25a9a81dd311725fd757aa91 perl-cross-1.4.tar.gz +# Hash from: https://github.com/arsv/perl-cross/releases/download/1.5.2/perl-cross-1.5.2.hash +sha256 584dc54c48dca25e032b676a15bef377c1fed9de318b4fc140292a5dbf326e90 perl-cross-1.5.2.tar.gz # Locally calculated sha256 dd90d4f42e4dcadf5a7c09eea0189d93c7b37ae560c91f0f6d5233ed3b9292a2 Artistic sha256 d77d235e41d54594865151f4751e835c5a82322b0e87ace266567c3391a4b912 Copying -sha256 06bab256e2e039c59d2ca3c5853425317b4a0f251fe4e5d5201a987b11fc4f78 README +sha256 9519aaeeac509b3fa8778155a63545b6086f8313546b93fe9958d1c434d476a8 README diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 27acfaeff2e..9de0425e87b 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -5,8 +5,8 @@ ################################################################################ # When updating the version here, also update utils/scancpan -PERL_VERSION_MAJOR = 34 -PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 +PERL_VERSION_MAJOR = 38 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).2 PERL_SITE = https://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz PERL_LICENSE = Artistic or GPL-1.0+ @@ -15,7 +15,7 @@ PERL_CPE_ID_VENDOR = perl PERL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.4 +PERL_CROSS_VERSION = 1.5.2 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/package/petitboot/Config.in b/package/petitboot/Config.in new file mode 100644 index 00000000000..533c7a9f298 --- /dev/null +++ b/package/petitboot/Config.in @@ -0,0 +1,47 @@ +config BR2_PACKAGE_PETITBOOT + bool "petitboot" + depends on BR2_PACKAGE_KEXEC_ARCH_SUPPORTS || BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS + depends on BR2_USE_MMU # lvm2 + depends on BR2_USE_WCHAR # elfutils, kexec-lite + depends on !BR2_STATIC_LIBS # elfutils, kexec-lite, lvm2 + depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils, kexec-lite, lvm2 + depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || !BR2_PACKAGE_KEXEC_ARCH_SUPPORTS # kexec + select BR2_PACKAGE_ELFUTILS + select BR2_PACKAGE_LVM2 # devmapper + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_WCHAR + # run-time dependencies + select BR2_PACKAGE_KEXEC if !BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS + select BR2_PACKAGE_KEXEC_LITE if BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS && !BR2_PACKAGE_KEXEC + select BR2_PACKAGE_NVME if ( BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le ) + select BR2_PACKAGE_POWERPC_UTILS if ( BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le ) + help + Petitboot is a small kexec-based bootloader + + NOTE: petitboot looks best in a UTF-8 locale; be sure there + is one listed in BR2_GENERATE_LOCALE. + + http://www.kernel.org/pub/linux/kernel/people/geoff/petitboot/petitboot.html + +if BR2_PACKAGE_PETITBOOT + +config BR2_PACKAGE_PETITBOOT_GETTY_PORT + string "TTY port(s)" + default "console" + help + Specify a space-separated list of ports to run the petitboot + UI on. Wildcards are allowed. Example: "hvc* ttys0 ttyS*" + +endif # BR2_PACKAGE_PETITBOOT + +comment "petitboot needs a toolchain w/ wchar, dynamic library, threads, udev /dev management" + depends on BR2_PACKAGE_KEXEC_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_PACKAGE_HAS_UDEV + +comment "petitboot w/ kexec needs a toolchain w/ headers >= 3.17" + depends on BR2_PACKAGE_KEXEC_ARCH_SUPPORTS && !BR2_PACKAGE_KEXEC_LITE_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/package/petitboot/S15pb-discover b/package/petitboot/S15pb-discover new file mode 100644 index 00000000000..71ab62d9985 --- /dev/null +++ b/package/petitboot/S15pb-discover @@ -0,0 +1,57 @@ +#!/bin/sh + +DAEMON="pb-discover" +PIDFILE="/var/run/$DAEMON.pid" + +# shellcheck source=/dev/null +[ -r "/etc/default/petitboot" ] && . "/etc/default/petitboot" + +if [ "$(pb-config debug)" = "enabled" ] ; then + PB_DISCOVER_ARGS="$PB_DISCOVER_ARGS --verbose" +fi + +start() { + printf 'Starting %s: ' "$DAEMON" + mkdir -p /var/log/petitboot + + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -b -m -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $PB_DISCOVER_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 + ;; +esac diff --git a/package/petitboot/pb-console b/package/petitboot/pb-console new file mode 100644 index 00000000000..407ff3b3023 --- /dev/null +++ b/package/petitboot/pb-console @@ -0,0 +1,36 @@ +#!/bin/sh + +DAEMON="pb-console" + +PB_CONSOLE_PORT=${2:-"console"} +PB_CONSOLE_ARGS="--getty --detach -- -n -i 0 $PB_CONSOLE_PORT linux" + +# shellcheck source=/dev/null +[ -r "/etc/default/petitboot" ] && . "/etc/default/petitboot" + +start() { + printf 'Starting %s on %s: ' "$DAEMON" "$PB_CONSOLE_PORT" + mkdir -p /var/log/petitboot + + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -x "/usr/libexec/petitboot/$DAEMON" \ + -- $PB_CONSOLE_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start) + "$1";; + stop|restart|reload) + ;; + *) + echo "Usage: $0 {start|stop|restart|reload} [port]" + exit 1 + ;; +esac diff --git a/package/petitboot/petitboot.hash b/package/petitboot/petitboot.hash new file mode 100644 index 00000000000..3a90bc52967 --- /dev/null +++ b/package/petitboot/petitboot.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 eed29ec841c2bcd5ecc65347f5b95a0087a541bd9c04ca3c17c55d1f7357d189 petitboot-v1.15.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk new file mode 100644 index 00000000000..cd7631fa5ca --- /dev/null +++ b/package/petitboot/petitboot.mk @@ -0,0 +1,83 @@ +################################################################################ +# +# petitboot +# +################################################################################ + +PETITBOOT_VERSION = 1.15 +PETITBOOT_SOURCE = petitboot-v$(PETITBOOT_VERSION).tar.gz +PETITBOOT_SITE = https://github.com/open-power/petitboot/releases/download/v$(PETITBOOT_VERSION) +PETITBOOT_DEPENDENCIES = \ + elfutils \ + ncurses \ + udev \ + host-bison \ + host-flex \ + lvm2 \ + $(TARGET_NLS_DEPENDENCIES) +PETITBOOT_LICENSE = GPL-2.0 +PETITBOOT_LICENSE_FILES = COPYING + +PETITBOOT_CONF_ENV = LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" +PETITBOOT_CONF_OPTS = \ + --enable-crypt \ + --enable-platform-auto \ + --disable-mtd \ + --with-ncurses \ + --without-signed-boot \ + --without-twin-fbdev \ + --without-twin-x11 \ + $(if $(BR2_PACKAGE_BUSYBOX),--enable-busybox,--disable-busybox) \ + HOST_PROG_KEXEC=/usr/sbin/kexec \ + HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot + +# HPA and Busybox tftp are supported. HPA tftp is part of Buildroot's tftpd +# package. +ifeq ($(BR2_PACKAGE_TFTPD),y) +PETITBOOT_CONF_OPTS += --with-tftp=hpa +else ifeq ($(BR2_PACKAGE_BUSYBOX),y) +PETITBOOT_CONF_OPTS += --with-tftp=busybox +else +# This actually means "autodetect", there's no way to really disable. +PETITBOOT_CONF_OPTS += --without-tftp +endif + +ifeq ($(BR2_PACKAGE_DTC),y) +PETITBOOT_DEPENDENCIES += dtc +PETITBOOT_CONF_OPTS += --with-fdt +define PETITBOOT_POST_INSTALL_DTB + $(INSTALL) -D -m 0755 $(@D)/utils/hooks/30-dtb-updates \ + $(TARGET_DIR)/etc/petitboot/boot.d/30-dtb-updates +endef +PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL_DTB +else +PETITBOOT_CONF_OPTS += --without-fdt +endif + +PETITBOOT_GETTY_PORT = $(patsubst %,'%',$(call qstrip,$(BR2_PACKAGE_PETITBOOT_GETTY_PORT))) + +define PETITBOOT_POST_INSTALL + $(INSTALL) -D -m 0755 $(@D)/utils/bb-kexec-reboot \ + $(TARGET_DIR)/usr/libexec/petitboot/bb-kexec-reboot + $(INSTALL) -D -m 0755 $(@D)/utils/hooks/01-create-default-dtb \ + $(TARGET_DIR)/etc/petitboot/boot.d/01-create-default-dtb + $(INSTALL) -D -m 0755 $(@D)/utils/hooks/90-sort-dtb \ + $(TARGET_DIR)/etc/petitboot/boot.d/90-sort-dtb + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/S15pb-discover \ + $(TARGET_DIR)/etc/init.d/S15pb-discover + $(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/pb-console \ + $(TARGET_DIR)/etc/init.d/pb-console + + mkdir -p $(TARGET_DIR)/etc/udev/rules.d + for port in $(PETITBOOT_GETTY_PORT); do \ + printf 'SUBSYSTEM=="tty", KERNEL=="%s", RUN+="/etc/init.d/pb-console start $$name"\n' "$$port"; \ + done > $(TARGET_DIR)/etc/udev/rules.d/petitboot-console-ui.rules + + mkdir -p $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ + ln -sf /usr/sbin/pb-udhcpc \ + $(TARGET_DIR)/usr/share/udhcpc/default.script.d/ +endef + +PETITBOOT_POST_INSTALL_TARGET_HOOKS += PETITBOOT_POST_INSTALL + +$(eval $(autotools-package)) diff --git a/package/php-amqp/0001-add-build-support-for-php-8.patch b/package/php-amqp/0001-add-build-support-for-php-8.patch deleted file mode 100644 index 6fe09ad3bde..00000000000 --- a/package/php-amqp/0001-add-build-support-for-php-8.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 96cd5cb5eddd3db2faaa3643dad2fe4677d7c438 Mon Sep 17 00:00:00 2001 -From: mmokhi -Date: Thu, 30 Jul 2020 11:25:33 +0200 -Subject: [PATCH] Add build support for PHP8.0 (#381) - -From upstream commit: 96cd5cb5eddd3db2faaa3643dad2fe4677d7c438 - -Signed-off-by: mmokhi -Signed-off-by: Adam Duskett ---- - amqp_envelope.h | 7 +++++++ - php7_support.h | 11 +++++++++++ - 2 files changed, 18 insertions(+) - -diff --git a/amqp_envelope.h b/amqp_envelope.h -index e63a3a5..e315682 100644 ---- a/amqp_envelope.h -+++ b/amqp_envelope.h -@@ -20,6 +20,13 @@ - | - Jonathan Tansavatdi | - +----------------------------------------------------------------------+ - */ -+ -+#if PHP_MAJOR_VERSION >= 7 -+ #include "php7_support.h" -+#else -+ #include "php5_support.h" -+#endif -+ - extern zend_class_entry *amqp_envelope_class_entry; - - void convert_amqp_envelope_to_zval(amqp_envelope_t *amqp_envelope, zval *envelope TSRMLS_DC); -diff --git a/php7_support.h b/php7_support.h -index 47ce983..c9e8f5b 100644 ---- a/php7_support.h -+++ b/php7_support.h -@@ -101,6 +101,17 @@ typedef zval PHP5to7_zend_resource_le_t; - - #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL - -+/* Small change to let it build after a major internal change for php8.0 -+ * More info: -+ * https://github.com/php/php-src/blob/php-8.0.0alpha3/UPGRADING.INTERNALS#L47 -+ */ -+#if PHP_MAJOR_VERSION >= 8 -+# define TSRMLS_DC -+# define TSRMLS_D -+# define TSRMLS_CC -+# define TSRMLS_C -+# endif -+ - #endif //PHP_AMQP_PHP7_SUPPORT_H - - /* diff --git a/package/php-amqp/0002-more-work-for-php-8.patch b/package/php-amqp/0002-more-work-for-php-8.patch deleted file mode 100644 index 3651f5a0d3b..00000000000 --- a/package/php-amqp/0002-more-work-for-php-8.patch +++ /dev/null @@ -1,1265 +0,0 @@ -From df1241852b359cf12c346beaa68de202257efdf1 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Wed, 9 Dec 2020 17:00:46 +0100 -Subject: [PATCH] more work for PHP 8 (#383) - -* more work for PHP 8 - -* split test - -Signed-off-by: Remi Collet -Signed-off-by: Adam Duskett ---- - amqp_basic_properties.c | 84 +++++++++++++-------------- - amqp_channel.c | 49 +++++++++------- - amqp_connection.c | 106 +++++++++++++++++----------------- - amqp_connection_resource.c | 12 ++-- - amqp_decimal.c | 8 +-- - amqp_envelope.c | 12 ++-- - amqp_exchange.c | 22 +++---- - amqp_queue.c | 38 ++++++------ - amqp_timestamp.c | 6 +- - amqp_type.c | 6 +- - php5_support.h | 2 + - php7_support.h | 9 +++ - php_amqp.h | 8 +-- - tests/amqptimestamp.phpt | 4 +- - tests/amqptimestamp_php8.phpt | 60 +++++++++++++++++++ - tests/bug_61533.phpt | 2 +- - 16 files changed, 254 insertions(+), 174 deletions(-) - create mode 100644 tests/amqptimestamp_php8.phpt - -diff --git a/amqp_basic_properties.c b/amqp_basic_properties.c -index 69b813e..5375f44 100644 ---- a/amqp_basic_properties.c -+++ b/amqp_basic_properties.c -@@ -70,7 +70,7 @@ void php_amqp_basic_properties_set_empty_headers(zval *obj TSRMLS_DC) { - PHP5to7_MAYBE_INIT(headers); - PHP5to7_ARRAY_INIT(headers); - -- zend_update_property(this_ce, obj, ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); - - PHP5to7_MAYBE_DESTROY(headers); - } -@@ -118,29 +118,29 @@ static PHP_METHOD(AMQPBasicProperties, __construct) { - ) == FAILURE) { - return; - } -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("content_type"), content_type, content_type_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("content_encoding"), content_encoding, content_encoding_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("content_type"), content_type, content_type_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("content_encoding"), content_encoding, content_encoding_len TSRMLS_CC); - - if (headers != NULL) { -- zend_update_property(this_ce, getThis(), ZEND_STRL("headers"), headers TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("headers"), headers TSRMLS_CC); - } else { - php_amqp_basic_properties_set_empty_headers(getThis() TSRMLS_CC); - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("delivery_mode"), delivery_mode TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("priority"), priority TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("delivery_mode"), delivery_mode TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("priority"), priority TSRMLS_CC); - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("correlation_id"), correlation_id, correlation_id_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("reply_to"), reply_to, reply_to_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("expiration"), expiration, expiration_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("message_id"), message_id, message_id_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("correlation_id"), correlation_id, correlation_id_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("reply_to"), reply_to, reply_to_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("expiration"), expiration, expiration_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("message_id"), message_id, message_id_len TSRMLS_CC); - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("timestamp"), timestamp TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("timestamp"), timestamp TSRMLS_CC); - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("type"), type, type_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("user_id"), user_id, user_id_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("app_id"), app_id, app_id_len TSRMLS_CC); -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cluster_id"), cluster_id, cluster_id_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("type"), type, type_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("user_id"), user_id, user_id_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("app_id"), app_id, app_id_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cluster_id"), cluster_id, cluster_id_len TSRMLS_CC); - } - /* }}} */ - -@@ -460,7 +460,7 @@ void parse_amqp_table(amqp_table_t *table, zval *result TSRMLS_DC) { - object_init_ex(PHP5to7_MAYBE_PTR(value), amqp_timestamp_class_entry); - - zend_call_method_with_1_params( -- &value, -+ PHP5to8_OBJ_PROP(&value), - amqp_timestamp_class_entry, - NULL, - "__construct", -@@ -488,7 +488,7 @@ void parse_amqp_table(amqp_table_t *table, zval *result TSRMLS_DC) { - object_init_ex(PHP5to7_MAYBE_PTR(value), amqp_decimal_class_entry); - - zend_call_method_with_2_params( -- &value, -+ PHP5to8_OBJ_PROP(&value), - amqp_decimal_class_entry, - NULL, - "__construct", -@@ -525,93 +525,93 @@ void php_amqp_basic_properties_extract(amqp_basic_properties_t *p, zval *obj TSR - PHP5to7_ARRAY_INIT(headers); - - if (p->_flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_type"), (const char *) p->content_type.bytes, (PHP5to7_param_str_len_type_t) p->content_type.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_type"), (const char *) p->content_type.bytes, (PHP5to7_param_str_len_type_t) p->content_type.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_type"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_type"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_CONTENT_ENCODING_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_encoding"), (const char *) p->content_encoding.bytes, (PHP5to7_param_str_len_type_t) p->content_encoding.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_encoding"), (const char *) p->content_encoding.bytes, (PHP5to7_param_str_len_type_t) p->content_encoding.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_encoding"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_encoding"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_HEADERS_FLAG) { - parse_amqp_table(&(p->headers), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); - } - -- zend_update_property(this_ce, obj, ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); - - if (p->_flags & AMQP_BASIC_DELIVERY_MODE_FLAG) { -- zend_update_property_long(this_ce, obj, ZEND_STRL("delivery_mode"), (PHP5to7_param_long_type_t) p->delivery_mode TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("delivery_mode"), (PHP5to7_param_long_type_t) p->delivery_mode TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_long(this_ce, obj, ZEND_STRL("delivery_mode"), AMQP_DELIVERY_NONPERSISTENT TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("delivery_mode"), AMQP_DELIVERY_NONPERSISTENT TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_PRIORITY_FLAG) { -- zend_update_property_long(this_ce, obj, ZEND_STRL("priority"), (PHP5to7_param_long_type_t) p->priority TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("priority"), (PHP5to7_param_long_type_t) p->priority TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_long(this_ce, obj, ZEND_STRL("priority"), 0 TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("priority"), 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_CORRELATION_ID_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("correlation_id"), (const char *) p->correlation_id.bytes, (PHP5to7_param_str_len_type_t) p->correlation_id.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("correlation_id"), (const char *) p->correlation_id.bytes, (PHP5to7_param_str_len_type_t) p->correlation_id.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("correlation_id"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("correlation_id"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_REPLY_TO_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("reply_to"), (const char *) p->reply_to.bytes, (PHP5to7_param_str_len_type_t) p->reply_to.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("reply_to"), (const char *) p->reply_to.bytes, (PHP5to7_param_str_len_type_t) p->reply_to.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("reply_to"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("reply_to"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_EXPIRATION_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("expiration"), (const char *) p->expiration.bytes, (PHP5to7_param_str_len_type_t) p->expiration.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("expiration"), (const char *) p->expiration.bytes, (PHP5to7_param_str_len_type_t) p->expiration.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("expiration"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("expiration"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_MESSAGE_ID_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("message_id"), (const char *) p->message_id.bytes, (PHP5to7_param_str_len_type_t) p->message_id.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("message_id"), (const char *) p->message_id.bytes, (PHP5to7_param_str_len_type_t) p->message_id.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("message_id"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("message_id"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_TIMESTAMP_FLAG) { -- zend_update_property_long(this_ce, obj, ZEND_STRL("timestamp"), (PHP5to7_param_long_type_t) p->timestamp TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("timestamp"), (PHP5to7_param_long_type_t) p->timestamp TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_long(this_ce, obj, ZEND_STRL("timestamp"), 0 TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("timestamp"), 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_TYPE_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("type"), (const char *) p->type.bytes, (PHP5to7_param_str_len_type_t) p->type.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("type"), (const char *) p->type.bytes, (PHP5to7_param_str_len_type_t) p->type.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("type"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("type"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_USER_ID_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("user_id"), (const char *) p->user_id.bytes, (PHP5to7_param_str_len_type_t) p->user_id.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("user_id"), (const char *) p->user_id.bytes, (PHP5to7_param_str_len_type_t) p->user_id.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("user_id"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("user_id"), "", 0 TSRMLS_CC); - } - - if (p->_flags & AMQP_BASIC_APP_ID_FLAG) { -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("app_id"), (const char *) p->app_id.bytes, (PHP5to7_param_str_len_type_t) p->app_id.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("app_id"), (const char *) p->app_id.bytes, (PHP5to7_param_str_len_type_t) p->app_id.len TSRMLS_CC); - } else { - /* BC */ -- zend_update_property_stringl(this_ce, obj, ZEND_STRL("app_id"), "", 0 TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("app_id"), "", 0 TSRMLS_CC); - } - - PHP5to7_MAYBE_DESTROY(headers); -diff --git a/amqp_channel.c b/amqp_channel.c -index ef9552a..493c6d3 100644 ---- a/amqp_channel.c -+++ b/amqp_channel.c -@@ -152,10 +152,15 @@ static zval * php_amqp_get_fci_gc_data(zend_fcall_info *fci, zval *gc_data) { - return gc_data; - } - -+#if PHP_MAJOR_VERSION < 8 - static HashTable *amqp_channel_gc(zval *object, zval **table, int *n) /* {{{ */ - { -- amqp_channel_object *channel = PHP_AMQP_GET_CHANNEL(object); -- -+ amqp_channel_object *channel = PHP_AMQP_GET_CHANNEL(object); -+#else -+static HashTable *amqp_channel_gc(zend_object *object, zval **table, int *n) /* {{{ */ -+{ -+ amqp_channel_object *channel = php_amqp_channel_object_fetch(object); -+#endif - int basic_return_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_return.fci); - int basic_ack_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_ack.fci); - int basic_nack_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_nack.fci); -@@ -249,7 +254,7 @@ static HashTable *amqp_channel_gc(zval *object, zval ***table, int *n TSRMLS_DC) - *table = channel->gc_data; - *n = cnt; - -- return zend_std_get_properties(object TSRMLS_CC); -+ return zend_std_get_properties(PHP5to8_OBJ_PROP(object) TSRMLS_CC); - } /* }}} */ - - #endif -@@ -331,7 +336,7 @@ static PHP_METHOD(amqp_channel_class, __construct) - amqp_connection_object *connection; - - /* Parse out the method parameters */ -- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &connection_object) == FAILURE) { -+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &connection_object, amqp_connection_class_entry) == FAILURE) { - zend_throw_exception(amqp_channel_exception_class_entry, "Parameter must be an instance of AMQPConnection.", 0 TSRMLS_CC); - RETURN_NULL(); - } -@@ -341,7 +346,7 @@ static PHP_METHOD(amqp_channel_class, __construct) - PHP5to7_MAYBE_INIT(consumers); - PHP5to7_ARRAY_INIT(consumers); - -- zend_update_property(this_ce, getThis(), ZEND_STRL("consumers"), PHP5to7_MAYBE_PTR(consumers) TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumers"), PHP5to7_MAYBE_PTR(consumers) TSRMLS_CC); - - PHP5to7_MAYBE_DESTROY(consumers); - -@@ -351,16 +356,16 @@ static PHP_METHOD(amqp_channel_class, __construct) - #endif - - /* Set the prefetch count */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), INI_INT("amqp.prefetch_count") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), INI_INT("amqp.prefetch_count") TSRMLS_CC); - - /* Set the prefetch size */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), INI_INT("amqp.prefetch_size") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), INI_INT("amqp.prefetch_size") TSRMLS_CC); - - /* Set the global prefetch count */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), INI_INT("amqp.global_prefetch_count") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), INI_INT("amqp.global_prefetch_count") TSRMLS_CC); - - /* Set the global prefetch size */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), INI_INT("amqp.global_prefetch_size") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), INI_INT("amqp.global_prefetch_size") TSRMLS_CC); - - /* Pull out and verify the connection */ - connection = PHP_AMQP_GET_CONNECTION(connection_object); -@@ -376,7 +381,7 @@ static PHP_METHOD(amqp_channel_class, __construct) - return; - } - -- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), connection_object TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), connection_object TSRMLS_CC); - - channel_resource = (amqp_channel_resource*)ecalloc(1, sizeof(amqp_channel_resource)); - channel->channel_resource = channel_resource; -@@ -580,8 +585,8 @@ static PHP_METHOD(amqp_channel_class, setPrefetchCount) - } - - /* Set the prefetch count - the implication is to disable the size */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), 0 TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), 0 TSRMLS_CC); - - RETURN_TRUE; - } -@@ -659,8 +664,8 @@ static PHP_METHOD(amqp_channel_class, setPrefetchSize) - } - - /* Set the prefetch size - the implication is to disable the count */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), 0 TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), 0 TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); - - RETURN_TRUE; - } -@@ -715,8 +720,8 @@ static PHP_METHOD(amqp_channel_class, setGlobalPrefetchCount) - } - - /* Set the global prefetch count - the implication is to disable the size */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), global_prefetch_count TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), 0 TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), global_prefetch_count TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), 0 TSRMLS_CC); - - RETURN_TRUE; - } -@@ -771,8 +776,8 @@ static PHP_METHOD(amqp_channel_class, setGlobalPrefetchSize) - } - - /* Set the global prefetch size - the implication is to disable the count */ -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), 0 TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), global_prefetch_size TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), 0 TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), global_prefetch_size TSRMLS_CC); - - RETURN_TRUE; - } -@@ -808,11 +813,11 @@ static PHP_METHOD(amqp_channel_class, qos) - - /* Set the prefetch size and prefetch count */ - if (global) { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), prefetch_size TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), prefetch_count TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), prefetch_size TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), prefetch_count TSRMLS_CC); - } else { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); - } - - /* If we are already connected, set the new prefetch count */ -diff --git a/amqp_connection.c b/amqp_connection.c -index 5891a4f..466501a 100644 ---- a/amqp_connection.c -+++ b/amqp_connection.c -@@ -68,9 +68,9 @@ zend_object_handlers amqp_connection_object_handlers; - convert_to_string(PHP5to7_MAYBE_DEREF(zdata)); \ - } \ - if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { \ -- zend_update_property_string(this_ce, getThis(), ZEND_STRL(name), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ -+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ - } else { \ -- zend_update_property_string(this_ce, getThis(), ZEND_STRL(name), INI_STR("amqp." name) TSRMLS_CC); \ -+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), INI_STR("amqp." name) TSRMLS_CC); \ - } - - #define PHP_AMQP_EXTRACT_CONNECTION_BOOL(name) \ -@@ -80,9 +80,9 @@ zend_object_handlers amqp_connection_object_handlers; - convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); \ - } \ - if (zdata) { \ -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL(name), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ - } else { \ -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL(name), INI_INT("amqp." name) TSRMLS_CC); \ -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), INI_INT("amqp." name) TSRMLS_CC); \ - } - - static int php_amqp_connection_resource_deleter(PHP5to7_zend_resource_le_t *el, amqp_connection_resource *connection_resource TSRMLS_DC) -@@ -344,13 +344,13 @@ static PHP_METHOD(amqp_connection_class, __construct) - /* Validate the given login */ - if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { - if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { -- zend_update_property(this_ce, getThis(), ZEND_STRL("login"), PHP5to7_MAYBE_DEREF(zdata)TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), PHP5to7_MAYBE_DEREF(zdata)TSRMLS_CC); - } else { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'login' exceeds 128 character limit.", 0 TSRMLS_CC); - return; - } - } else { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("login"), INI_STR("amqp.login"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.login")) > 128 ? 128 : strlen(INI_STR("amqp.login"))) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), INI_STR("amqp.login"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.login")) > 128 ? 128 : strlen(INI_STR("amqp.login"))) TSRMLS_CC); - } - - /* Pull the password out of the $params array */ -@@ -362,13 +362,13 @@ static PHP_METHOD(amqp_connection_class, __construct) - /* Validate the given password */ - if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { - if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } else { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'password' exceeds 128 character limit.", 0 TSRMLS_CC); - return; - } - } else { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), INI_STR("amqp.password"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.password")) > 128 ? 128 : strlen(INI_STR("amqp.password"))) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), INI_STR("amqp.password"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.password")) > 128 ? 128 : strlen(INI_STR("amqp.password"))) TSRMLS_CC); - } - - /* Pull the host out of the $params array */ -@@ -380,13 +380,13 @@ static PHP_METHOD(amqp_connection_class, __construct) - /* Validate the given host */ - if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { - if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } else { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'host' exceeds 128 character limit.", 0 TSRMLS_CC); - return; - } - } else { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), INI_STR("amqp.host"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.host")) > 128 ? 128 : strlen(INI_STR("amqp.host"))) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), INI_STR("amqp.host"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.host")) > 128 ? 128 : strlen(INI_STR("amqp.host"))) TSRMLS_CC); - } - - /* Pull the vhost out of the $params array */ -@@ -398,25 +398,25 @@ static PHP_METHOD(amqp_connection_class, __construct) - /* Validate the given vhost */ - if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { - if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } else { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'vhost' exceeds 128 character limit.", 0 TSRMLS_CC); - return; - } - } else { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), INI_STR("amqp.vhost"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.vhost")) > 128 ? 128 : strlen(INI_STR("amqp.vhost"))) TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), INI_STR("amqp.vhost"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.vhost")) > 128 ? 128 : strlen(INI_STR("amqp.vhost"))) TSRMLS_CC); - - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), INI_INT("amqp.port") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), INI_INT("amqp.port") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "port", sizeof("port"), zdata)) { - SEPARATE_ZVAL(zdata); - convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "read_timeout", sizeof("read_timeout"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -424,7 +424,7 @@ static PHP_METHOD(amqp_connection_class, __construct) - if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'read_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); - } else { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "timeout", sizeof("timeout"), zdata)) { -@@ -441,7 +441,7 @@ static PHP_METHOD(amqp_connection_class, __construct) - if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); - } else { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } else { - -@@ -450,17 +450,17 @@ static PHP_METHOD(amqp_connection_class, __construct) - php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, "INI setting 'amqp.timeout' is deprecated; use 'amqp.read_timeout' instead"); - - if (strcmp(DEFAULT_READ_TIMEOUT, INI_STR("amqp.read_timeout")) == 0) { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.timeout") TSRMLS_CC); - } else { - php_error_docref(NULL TSRMLS_CC, E_NOTICE, "INI setting 'amqp.read_timeout' will be used instead of 'amqp.timeout'"); -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); - } - } else { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); - } - } - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), INI_FLT("amqp.write_timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), INI_FLT("amqp.write_timeout") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "write_timeout", sizeof("write_timeout"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -468,11 +468,11 @@ static PHP_METHOD(amqp_connection_class, __construct) - if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'write_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); - } else { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), INI_FLT("amqp.rpc_timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), INI_FLT("amqp.rpc_timeout") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "rpc_timeout", sizeof("rpc_timeout"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -480,11 +480,11 @@ static PHP_METHOD(amqp_connection_class, __construct) - if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'rpc_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); - } else { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("connect_timeout"), INI_FLT("amqp.connect_timeout") TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connect_timeout"), INI_FLT("amqp.connect_timeout") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "connect_timeout", sizeof("connect_timeout"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -492,12 +492,12 @@ static PHP_METHOD(amqp_connection_class, __construct) - if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'connect_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); - } else { -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("connect_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connect_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - - } - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), INI_INT("amqp.channel_max") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), INI_INT("amqp.channel_max") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "channel_max", sizeof("channel_max"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -506,14 +506,14 @@ static PHP_METHOD(amqp_connection_class, __construct) - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'channel_max' is out of range.", 0 TSRMLS_CC); - } else { - if(Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) == 0) { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), PHP_AMQP_DEFAULT_CHANNEL_MAX TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), PHP_AMQP_DEFAULT_CHANNEL_MAX TSRMLS_CC); - } else { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), INI_INT("amqp.frame_max") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), INI_INT("amqp.frame_max") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "frame_max", sizeof("frame_max"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -522,14 +522,14 @@ static PHP_METHOD(amqp_connection_class, __construct) - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'frame_max' is out of range.", 0 TSRMLS_CC); - } else { - if(Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) == 0) { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), PHP_AMQP_DEFAULT_FRAME_MAX TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), PHP_AMQP_DEFAULT_FRAME_MAX TSRMLS_CC); - } else { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("heartbeat"), INI_INT("amqp.heartbeat") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("heartbeat"), INI_INT("amqp.heartbeat") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "heartbeat", sizeof("heartbeat"), zdata)) { - SEPARATE_ZVAL(zdata); -@@ -537,16 +537,16 @@ static PHP_METHOD(amqp_connection_class, __construct) - if (Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0 || Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) > PHP_AMQP_MAX_HEARTBEAT) { - zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'heartbeat' is out of range.", 0 TSRMLS_CC); - } else { -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("heartbeat"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("heartbeat"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), INI_INT("amqp.sasl_method") TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), INI_INT("amqp.sasl_method") TSRMLS_CC); - - if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "sasl_method", sizeof("sasl_method"), zdata)) { - SEPARATE_ZVAL(zdata); - convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - - -@@ -563,7 +563,7 @@ static PHP_METHOD(amqp_connection_class, __construct) - convert_to_string(PHP5to7_MAYBE_DEREF(zdata)); - } - if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { -- zend_update_property_string(this_ce, getThis(), ZEND_STRL("connection_name"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); -+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); - } - } - /* }}} */ -@@ -789,7 +789,7 @@ static PHP_METHOD(amqp_connection_class, setLogin) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("login"), login, login_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), login, login_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -823,7 +823,7 @@ static PHP_METHOD(amqp_connection_class, setPassword) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), password, password_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), password, password_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -858,7 +858,7 @@ static PHP_METHOD(amqp_connection_class, setHost) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), host, host_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), host, host_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -910,7 +910,7 @@ static PHP_METHOD(amqp_connection_class, setPort) - return; - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), port TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), port TSRMLS_CC); - - RETURN_TRUE; - } -@@ -943,7 +943,7 @@ static PHP_METHOD(amqp_connection_class, setVhost) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), vhost, vhost_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), vhost, vhost_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -986,7 +986,7 @@ static PHP_METHOD(amqp_connection_class, setTimeout) - /* Get the connection object out of the store */ - connection = PHP_AMQP_GET_CONNECTION(getThis()); - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); - - if (connection->connection_resource && connection->connection_resource->is_connected) { - if (php_amqp_set_resource_read_timeout(connection->connection_resource, read_timeout TSRMLS_CC) == 0) { -@@ -1032,7 +1032,7 @@ static PHP_METHOD(amqp_connection_class, setReadTimeout) - /* Get the connection object out of the store */ - connection = PHP_AMQP_GET_CONNECTION(getThis()); - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); - - if (connection->connection_resource && connection->connection_resource->is_connected) { - if (php_amqp_set_resource_read_timeout(connection->connection_resource, read_timeout TSRMLS_CC) == 0) { -@@ -1078,7 +1078,7 @@ static PHP_METHOD(amqp_connection_class, setWriteTimeout) - /* Get the connection object out of the store */ - connection = PHP_AMQP_GET_CONNECTION(getThis()); - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), write_timeout TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), write_timeout TSRMLS_CC); - - if (connection->connection_resource && connection->connection_resource->is_connected) { - if (php_amqp_set_resource_write_timeout(connection->connection_resource, write_timeout TSRMLS_CC) == 0) { -@@ -1124,7 +1124,7 @@ static PHP_METHOD(amqp_connection_class, setRpcTimeout) - /* Get the connection object out of the store */ - connection = PHP_AMQP_GET_CONNECTION(getThis()); - -- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), rpc_timeout TSRMLS_CC); -+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), rpc_timeout TSRMLS_CC); - - if (connection->connection_resource && connection->connection_resource->is_connected) { - if (php_amqp_set_resource_rpc_timeout(connection->connection_resource, rpc_timeout TSRMLS_CC) == 0) { -@@ -1255,7 +1255,7 @@ static PHP_METHOD(amqp_connection_class, setCACert) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cacert"), str, str_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cacert"), str, str_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -1279,7 +1279,7 @@ static PHP_METHOD(amqp_connection_class, setCert) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cert"), str, str_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cert"), str, str_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -1303,7 +1303,7 @@ static PHP_METHOD(amqp_connection_class, setKey) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("key"), str, str_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("key"), str, str_len TSRMLS_CC); - - RETURN_TRUE; - } -@@ -1328,7 +1328,7 @@ static PHP_METHOD(amqp_connection_class, setVerify) - return; - } - -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("verify"), verify TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("verify"), verify TSRMLS_CC); - - RETURN_TRUE; - } -@@ -1361,7 +1361,7 @@ static PHP_METHOD(amqp_connection_class, setSaslMethod) - return; - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), method TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), method TSRMLS_CC); - - RETURN_TRUE; - } -@@ -1385,9 +1385,9 @@ static PHP_METHOD(amqp_connection_class, setConnectionName) - return; - } - if (str == NULL) { -- zend_update_property_null(this_ce, getThis(), ZEND_STRL("connection_name") TSRMLS_CC); -+ zend_update_property_null(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name") TSRMLS_CC); - } else { -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("connection_name"), str, str_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name"), str, str_len TSRMLS_CC); - } - - -diff --git a/amqp_connection_resource.c b/amqp_connection_resource.c -index 7e20a5c..b0e065a 100644 ---- a/amqp_connection_resource.c -+++ b/amqp_connection_resource.c -@@ -112,15 +112,15 @@ static void php_amqp_close_connection_from_server(amqp_rpc_reply_t reply, char * - - if (!reply.reply.id) { - PHP_AMQP_G(error_code) = -1; -- spprintf(message, 0, "Server connection error: %d, message: %s", -- PHP_AMQP_G(error_code), -+ spprintf(message, 0, "Server connection error: %ld, message: %s", -+ (long)PHP_AMQP_G(error_code), - "unexpected response" - ); - } else { - PHP_AMQP_G(error_code) = m->reply_code; - spprintf(message, 0, "Server connection error: %d, message: %.*s", - m->reply_code, -- (PHP5to7_param_str_len_type_t) m->reply_text.len, -+ (int) m->reply_text.len, - (char *) m->reply_text.bytes - ); - } -@@ -156,15 +156,15 @@ static void php_amqp_close_channel_from_server(amqp_rpc_reply_t reply, char **me - - if (!reply.reply.id) { - PHP_AMQP_G(error_code) = -1; -- spprintf(message, 0, "Server channel error: %d, message: %s", -- PHP_AMQP_G(error_code), -+ spprintf(message, 0, "Server channel error: %ld, message: %s", -+ (long)PHP_AMQP_G(error_code), - "unexpected response" - ); - } else { - PHP_AMQP_G(error_code) = m->reply_code; - spprintf(message, 0, "Server channel error: %d, message: %.*s", - m->reply_code, -- (PHP5to7_param_str_len_type_t) m->reply_text.len, -+ (int) m->reply_text.len, - (char *)m->reply_text.bytes - ); - } -diff --git a/amqp_decimal.c b/amqp_decimal.c -index 83c9f20..8fd92c1 100644 ---- a/amqp_decimal.c -+++ b/amqp_decimal.c -@@ -53,7 +53,7 @@ static PHP_METHOD(amqp_decimal_class, __construct) - } - - if (exponent > AMQP_DECIMAL_EXPONENT_MAX) { -- zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal exponent value must be less than %u.", AMQP_DECIMAL_EXPONENT_MAX); -+ zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal exponent value must be less than %u.", (unsigned)AMQP_DECIMAL_EXPONENT_MAX); - return; - } - if (significand < AMQP_DECIMAL_SIGNIFICAND_MIN) { -@@ -62,12 +62,12 @@ static PHP_METHOD(amqp_decimal_class, __construct) - } - - if (significand > AMQP_DECIMAL_SIGNIFICAND_MAX) { -- zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal significand value must be less than %u.", AMQP_DECIMAL_SIGNIFICAND_MAX); -+ zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal significand value must be less than %u.", (unsigned)AMQP_DECIMAL_SIGNIFICAND_MAX); - return; - } - -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("exponent"), exponent TSRMLS_CC); -- zend_update_property_long(this_ce, getThis(), ZEND_STRL("significand"), significand TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("exponent"), exponent TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("significand"), significand TSRMLS_CC); - } - /* }}} */ - -diff --git a/amqp_envelope.c b/amqp_envelope.c -index 8127bed..b7a7a45 100644 ---- a/amqp_envelope.c -+++ b/amqp_envelope.c -@@ -67,13 +67,13 @@ void convert_amqp_envelope_to_zval(amqp_envelope_t *amqp_envelope, zval *envelop - amqp_basic_properties_t *p = &amqp_envelope->message.properties; - amqp_message_t *message = &amqp_envelope->message; - -- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("body"), (const char *) message->body.bytes, (PHP5to7_param_str_len_type_t) message->body.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("body"), (const char *) message->body.bytes, (PHP5to7_param_str_len_type_t) message->body.len TSRMLS_CC); - -- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("consumer_tag"), (const char *) amqp_envelope->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->consumer_tag.len TSRMLS_CC); -- zend_update_property_long(this_ce, envelope, ZEND_STRL("delivery_tag"), (PHP5to7_param_long_type_t) amqp_envelope->delivery_tag TSRMLS_CC); -- zend_update_property_bool(this_ce, envelope, ZEND_STRL("is_redelivery"), (PHP5to7_param_long_type_t) amqp_envelope->redelivered TSRMLS_CC); -- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("exchange_name"), (const char *) amqp_envelope->exchange.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->exchange.len TSRMLS_CC); -- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("routing_key"), (const char *) amqp_envelope->routing_key.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->routing_key.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("consumer_tag"), (const char *) amqp_envelope->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->consumer_tag.len TSRMLS_CC); -+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("delivery_tag"), (PHP5to7_param_long_type_t) amqp_envelope->delivery_tag TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("is_redelivery"), (PHP5to7_param_long_type_t) amqp_envelope->redelivered TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("exchange_name"), (const char *) amqp_envelope->exchange.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->exchange.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("routing_key"), (const char *) amqp_envelope->routing_key.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->routing_key.len TSRMLS_CC); - - php_amqp_basic_properties_extract(p, envelope TSRMLS_CC); - } -diff --git a/amqp_exchange.c b/amqp_exchange.c -index 4f80d3b..4bfe397 100644 ---- a/amqp_exchange.c -+++ b/amqp_exchange.c -@@ -65,20 +65,20 @@ static PHP_METHOD(amqp_exchange_class, __construct) - zval *channelObj; - amqp_channel_resource *channel_resource; - -- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &channelObj) == FAILURE) { -+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &channelObj, amqp_channel_class_entry) == FAILURE) { - return; - } - - PHP5to7_MAYBE_INIT(arguments); - PHP5to7_ARRAY_INIT(arguments); -- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); - PHP5to7_MAYBE_DESTROY(arguments); - - channel_resource = PHP_AMQP_GET_CHANNEL_RESOURCE(channelObj); - PHP_AMQP_VERIFY_CHANNEL_RESOURCE(channel_resource, "Could not create exchange."); - -- zend_update_property(this_ce, getThis(), ZEND_STRL("channel"), channelObj TSRMLS_CC); -- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel"), channelObj TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); - } - /* }}} */ - -@@ -119,7 +119,7 @@ static PHP_METHOD(amqp_exchange_class, setName) - } - - /* Set the exchange name */ -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("name"), name, name_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name, name_len TSRMLS_CC); - } - /* }}} */ - -@@ -168,10 +168,10 @@ static PHP_METHOD(amqp_exchange_class, setFlags) - /* Set the flags based on the bitmask we were given */ - flagBitmask = flagBitmask ? flagBitmask & PHP_AMQP_EXCHANGE_FLAGS : flagBitmask; - -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("internal"), IS_INTERNAL(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("internal"), IS_INTERNAL(flagBitmask) TSRMLS_CC); - } - /* }}} */ - -@@ -204,7 +204,7 @@ static PHP_METHOD(amqp_exchange_class, setType) - return; - } - -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("type"), type, type_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("type"), type, type_len TSRMLS_CC); - } - /* }}} */ - -@@ -273,7 +273,7 @@ static PHP_METHOD(amqp_exchange_class, setArguments) - return; - } - -- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); - - RETURN_TRUE; - } -diff --git a/amqp_queue.c b/amqp_queue.c -index c13629c..eeba144 100644 ---- a/amqp_queue.c -+++ b/amqp_queue.c -@@ -68,20 +68,20 @@ static PHP_METHOD(amqp_queue_class, __construct) - zval *channelObj; - amqp_channel_resource *channel_resource; - -- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &channelObj) == FAILURE) { -+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &channelObj, amqp_channel_class_entry) == FAILURE) { - return; - } - - PHP5to7_MAYBE_INIT(arguments); - PHP5to7_ARRAY_INIT(arguments); -- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); - PHP5to7_MAYBE_DESTROY(arguments); - - channel_resource = PHP_AMQP_GET_CHANNEL_RESOURCE(channelObj); - PHP_AMQP_VERIFY_CHANNEL_RESOURCE(channel_resource, "Could not create queue."); - -- zend_update_property(this_ce, getThis(), ZEND_STRL("channel"), channelObj TSRMLS_CC); -- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel"), channelObj TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); - - } - /* }}} */ -@@ -122,7 +122,7 @@ static PHP_METHOD(amqp_queue_class, setName) - } - - /* Set the queue name */ -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("name"), name, name_len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name, name_len TSRMLS_CC); - - /* BC */ - RETURN_TRUE; -@@ -175,10 +175,10 @@ static PHP_METHOD(amqp_queue_class, setFlags) - /* Set the flags based on the bitmask we were given */ - flagBitmask = flagBitmask ? flagBitmask & PHP_AMQP_QUEUE_FLAGS : flagBitmask; - -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("exclusive"), IS_EXCLUSIVE(flagBitmask) TSRMLS_CC); -- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("exclusive"), IS_EXCLUSIVE(flagBitmask) TSRMLS_CC); -+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); - - /* BC */ - RETURN_TRUE; -@@ -250,7 +250,7 @@ static PHP_METHOD(amqp_queue_class, setArguments) - return; - } - -- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); -+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); - - RETURN_TRUE; - } -@@ -342,7 +342,7 @@ static PHP_METHOD(amqp_queue_class, declareQueue) - - /* Set the queue name, in case it is an autogenerated queue name */ - name = php_amqp_type_amqp_bytes_to_char(r->queue); -- zend_update_property_string(this_ce, getThis(), ZEND_STRL("name"), name TSRMLS_CC); -+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name TSRMLS_CC); - efree(name); - - php_amqp_maybe_release_buffers_on_channel(channel_resource->connection_resource, channel_resource); -@@ -525,7 +525,7 @@ static PHP_METHOD(amqp_queue_class, consume) - } - - zval *channel_zv = PHP_AMQP_READ_THIS_PROP("channel"); -- zval *consumers = zend_read_property(amqp_channel_class_entry, channel_zv, ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); -+ zval *consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); - - if (IS_ARRAY != Z_TYPE_P(consumers)) { - zend_throw_exception(amqp_queue_exception_class_entry, "Invalid channel consumers, forgot to call channel constructor?", 0 TSRMLS_CC); -@@ -594,7 +594,7 @@ static PHP_METHOD(amqp_queue_class, consume) - efree(key); - - /* Set the consumer tag name, in case it is an autogenerated consumer tag name */ -- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("consumer_tag"), (const char *) r->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) r->consumer_tag.len TSRMLS_CC); -+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumer_tag"), (const char *) r->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) r->consumer_tag.len TSRMLS_CC); - } - - if (!ZEND_FCI_INITIALIZED(fci)) { -@@ -674,7 +674,7 @@ static PHP_METHOD(amqp_queue_class, consume) - current_channel_zv = current_channel_resource->parent->this_ptr; - #endif - -- consumers = zend_read_property(amqp_channel_class_entry, PHP5to7_MAYBE_PTR(current_channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); -+ consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(current_channel_zv)), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); - - if (IS_ARRAY != Z_TYPE_P(consumers)) { - zend_throw_exception(amqp_queue_exception_class_entry, "Invalid channel consumers, forgot to call channel constructor?", 0 TSRMLS_CC); -@@ -689,8 +689,8 @@ static PHP_METHOD(amqp_queue_class, consume) - PHP5to7_zval_t exception PHP5to7_MAYBE_SET_TO_NULL; - PHP5to7_MAYBE_INIT(exception); - object_init_ex(PHP5to7_MAYBE_PTR(exception), amqp_envelope_exception_class_entry); -- zend_update_property_string(zend_exception_get_default(TSRMLS_C), PHP5to7_MAYBE_PTR(exception), ZEND_STRL("message"), "Orphaned envelope" TSRMLS_CC); -- zend_update_property(amqp_envelope_exception_class_entry, PHP5to7_MAYBE_PTR(exception), ZEND_STRL("envelope"), PHP5to7_MAYBE_PTR(message) TSRMLS_CC); -+ zend_update_property_string(zend_exception_get_default(TSRMLS_C), PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(exception)), ZEND_STRL("message"), "Orphaned envelope" TSRMLS_CC); -+ zend_update_property(amqp_envelope_exception_class_entry, PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(exception)), ZEND_STRL("envelope"), PHP5to7_MAYBE_PTR(message) TSRMLS_CC); - - zend_throw_exception_object(PHP5to7_MAYBE_PTR(exception) TSRMLS_CC); - -@@ -946,7 +946,7 @@ static PHP_METHOD(amqp_queue_class, cancel) - } - - zval *channel_zv = PHP_AMQP_READ_THIS_PROP("channel"); -- zval *consumers = zend_read_property(amqp_channel_class_entry, channel_zv, ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); -+ zval *consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); - zend_bool has_consumer_tag = (zend_bool) (IS_STRING == Z_TYPE_P(PHP_AMQP_READ_THIS_PROP("consumer_tag"))); - - if (IS_ARRAY != Z_TYPE_P(consumers)) { -@@ -977,8 +977,8 @@ static PHP_METHOD(amqp_queue_class, cancel) - return; - } - -- if (!consumer_tag_len || has_consumer_tag && strcmp(consumer_tag, PHP_AMQP_READ_THIS_PROP_STR("consumer_tag")) != 0) { -- zend_update_property_null(this_ce, getThis(), ZEND_STRL("consumer_tag") TSRMLS_CC); -+ if (!consumer_tag_len || (has_consumer_tag && strcmp(consumer_tag, PHP_AMQP_READ_THIS_PROP_STR("consumer_tag")) != 0)) { -+ zend_update_property_null(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumer_tag") TSRMLS_CC); - } - - char *key; -diff --git a/amqp_timestamp.c b/amqp_timestamp.c -index d9eec39..ed07ab6 100644 ---- a/amqp_timestamp.c -+++ b/amqp_timestamp.c -@@ -61,7 +61,7 @@ static PHP_METHOD(amqp_timestamp_class, __construct) - #if PHP_MAJOR_VERSION >= 7 - zend_string *str; - str = _php_math_number_format_ex(timestamp, 0, "", 0, "", 0); -- zend_update_property_str(this_ce, getThis(), ZEND_STRL("timestamp"), str); -+ zend_update_property_str(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("timestamp"), str); - zend_string_delref(str); - #else - char *str; -@@ -104,7 +104,11 @@ ZEND_END_ARG_INFO() - ZEND_BEGIN_ARG_INFO_EX(arginfo_amqp_timestamp_class_getTimestamp, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) - ZEND_END_ARG_INFO() - -+#if PHP_MAJOR_VERSION < 8 - ZEND_BEGIN_ARG_INFO_EX(arginfo_amqp_timestamp_class_toString, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) -+#else -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_amqp_timestamp_class_toString, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, IS_STRING, 0) -+#endif - ZEND_END_ARG_INFO() - - zend_function_entry amqp_timestamp_class_functions[] = { -diff --git a/amqp_type.c b/amqp_type.c -index fb87727..5f1ab91 100644 ---- a/amqp_type.c -+++ b/amqp_type.c -@@ -250,7 +250,7 @@ zend_bool php_amqp_type_internal_convert_php_to_amqp_field_value(zval *value, am - if (instanceof_function(Z_OBJCE_P(value), amqp_timestamp_class_entry TSRMLS_CC)) { - PHP5to7_zval_t result_zv PHP5to7_MAYBE_SET_TO_NULL; - -- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_timestamp_class_entry, NULL, "gettimestamp", &result_zv); -+ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_timestamp_class_entry, NULL, "gettimestamp", &result_zv); - - field->kind = AMQP_FIELD_KIND_TIMESTAMP; - field->value.u64 = strtoimax(Z_STRVAL(PHP5to7_MAYBE_DEREF(result_zv)), NULL, 10); -@@ -262,11 +262,11 @@ zend_bool php_amqp_type_internal_convert_php_to_amqp_field_value(zval *value, am - field->kind = AMQP_FIELD_KIND_DECIMAL; - PHP5to7_zval_t result_zv PHP5to7_MAYBE_SET_TO_NULL; - -- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_decimal_class_entry, NULL, "getexponent", &result_zv); -+ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_decimal_class_entry, NULL, "getexponent", &result_zv); - field->value.decimal.decimals = (uint8_t)Z_LVAL(PHP5to7_MAYBE_DEREF(result_zv)); - PHP5to7_MAYBE_DESTROY(result_zv); - -- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_decimal_class_entry, NULL, "getsignificand", &result_zv); -+ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_decimal_class_entry, NULL, "getsignificand", &result_zv); - field->value.decimal.value = (uint32_t)Z_LVAL(PHP5to7_MAYBE_DEREF(result_zv)); - - PHP5to7_MAYBE_DESTROY(result_zv); -diff --git a/php5_support.h b/php5_support.h -index 5c57620..25c2d96 100644 ---- a/php5_support.h -+++ b/php5_support.h -@@ -109,6 +109,8 @@ typedef zend_rsrc_list_entry PHP5to7_zend_resource_le_t; - #define ZEND_ULONG_FMT "%" PRIu64 - #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL_CLASS - -+#define PHP5to8_OBJ_PROP(zv) (zv) -+ - #endif //PHP_AMQP_PHP5_SUPPORT_H - - /* -diff --git a/php7_support.h b/php7_support.h -index c9e8f5b..0dbd6b2 100644 ---- a/php7_support.h -+++ b/php7_support.h -@@ -101,15 +101,24 @@ typedef zval PHP5to7_zend_resource_le_t; - - #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL - -+ - /* Small change to let it build after a major internal change for php8.0 - * More info: - * https://github.com/php/php-src/blob/php-8.0.0alpha3/UPGRADING.INTERNALS#L47 - */ - #if PHP_MAJOR_VERSION >= 8 -+ - # define TSRMLS_DC - # define TSRMLS_D - # define TSRMLS_CC - # define TSRMLS_C -+ -+#define PHP5to8_OBJ_PROP(zv) Z_OBJ_P(zv) -+ -+#else -+ -+#define PHP5to8_OBJ_PROP(zv) (zv) -+ - # endif - - #endif //PHP_AMQP_PHP7_SUPPORT_H -diff --git a/php_amqp.h b/php_amqp.h -index 752edd7..686741d 100644 ---- a/php_amqp.h -+++ b/php_amqp.h -@@ -221,14 +221,14 @@ struct _amqp_connection_object { - #define PHP_AMQP_NOPARAMS() if (zend_parse_parameters_none() == FAILURE) { return; } - - #define PHP_AMQP_RETURN_THIS_PROP(prop_name) \ -- zval * _zv = zend_read_property(this_ce, getThis(), ZEND_STRL(prop_name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); \ -+ zval * _zv = zend_read_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(prop_name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); \ - RETURN_ZVAL(_zv, 1, 0); - --#define PHP_AMQP_READ_OBJ_PROP(cls, obj, name) zend_read_property((cls), (obj), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) -+#define PHP_AMQP_READ_OBJ_PROP(cls, obj, name) zend_read_property((cls), PHP5to8_OBJ_PROP(obj), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) - #define PHP_AMQP_READ_OBJ_PROP_DOUBLE(cls, obj, name) Z_DVAL_P(PHP_AMQP_READ_OBJ_PROP((cls), (obj), (name))) - --#define PHP_AMQP_READ_THIS_PROP_CE(name, ce) zend_read_property((ce), getThis(), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) --#define PHP_AMQP_READ_THIS_PROP(name) zend_read_property(this_ce, getThis(), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) -+#define PHP_AMQP_READ_THIS_PROP_CE(name, ce) zend_read_property((ce), PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) -+#define PHP_AMQP_READ_THIS_PROP(name) zend_read_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) - #define PHP_AMQP_READ_THIS_PROP_BOOL(name) Z_BVAL_P(PHP_AMQP_READ_THIS_PROP(name)) - #define PHP_AMQP_READ_THIS_PROP_STR(name) Z_STRVAL_P(PHP_AMQP_READ_THIS_PROP(name)) - #define PHP_AMQP_READ_THIS_PROP_STRLEN(name) (Z_TYPE_P(PHP_AMQP_READ_THIS_PROP(name)) == IS_STRING ? Z_STRLEN_P(PHP_AMQP_READ_THIS_PROP(name)) : 0) -diff --git a/tests/amqptimestamp.phpt b/tests/amqptimestamp.phpt -index 9835883..6424f8b 100644 ---- a/tests/amqptimestamp.phpt -+++ b/tests/amqptimestamp.phpt -@@ -2,7 +2,7 @@ - AMQPTimestamp - --SKIPIF-- - ')) { - print "skip"; - } - --FILE-- -@@ -52,4 +52,4 @@ bool(true) - string(20) "18446744073709551616" - string(1) "0" - --==END== -\ No newline at end of file -+==END== -diff --git a/tests/amqptimestamp_php8.phpt b/tests/amqptimestamp_php8.phpt -new file mode 100644 -index 0000000..dabecc5 ---- /dev/null -+++ b/tests/amqptimestamp_php8.phpt -@@ -0,0 +1,60 @@ -+--TEST-- -+AMQPTimestamp -+--SKIPIF-- -+getTimestamp(), (string) $timestamp); -+ -+$timestamp = new AMQPTimestamp(100000.1); -+var_dump($timestamp->getTimestamp(), (string) $timestamp); -+ -+try { -+ new AMQPTimestamp(); -+} catch(ArgumentCountError $e) { -+ echo $e->getMessage() . "\n"; -+} -+try { -+ new AMQPTimestamp("string"); -+} catch(TypeError $e) { -+ echo $e->getMessage() . "\n"; -+} -+ -+try { -+ new AMQPTimestamp(AMQPTimestamp::MIN - 1); -+} catch (AMQPValueException $e) { -+ echo $e->getMessage() . "\n"; -+} -+ -+try { -+ new AMQPTimestamp(INF); -+} catch (AMQPValueException $e) { -+ echo $e->getMessage() . "\n"; -+} -+ -+var_dump((new ReflectionClass("AMQPTimestamp"))->isFinal()); -+ -+var_dump(AMQPTimestamp::MAX); -+var_dump(AMQPTimestamp::MIN); -+?> -+ -+==END== -+--EXPECTF-- -+string(6) "100000" -+string(6) "100000" -+string(6) "100000" -+string(6) "100000" -+AMQPTimestamp::__construct() expects exactly 1 parameter, 0 given -+AMQPTimestamp::__construct(): Argument #1 ($timestamp) must be of type float, string given -+The timestamp parameter must be greater than 0. -+The timestamp parameter must be less than 18446744073709551616. -+bool(true) -+string(20) "18446744073709551616" -+string(1) "0" -+ -+==END== -diff --git a/tests/bug_61533.phpt b/tests/bug_61533.phpt -index ecb5213..f53c315 100644 ---- a/tests/bug_61533.phpt -+++ b/tests/bug_61533.phpt -@@ -21,4 +21,4 @@ try { - - ?> - --EXPECTF-- --%s: Argument 1 passed to AMQPQueue::__construct() must be an instance of AMQPChannel, instance of AMQPConnection given%s -+%s AMQPChannel%s AMQPConnection%s diff --git a/package/php-amqp/php-amqp.hash b/package/php-amqp/php-amqp.hash index bce8ac0c9ac..159a157a497 100644 --- a/package/php-amqp/php-amqp.hash +++ b/package/php-amqp/php-amqp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0ebc61052eb12406dddf5eabfe8749a12d52c566816b8aab04fb9916d0c26ed2 amqp-1.10.2.tgz +sha256 2de740da9a884ade2caf0e59e5521bbf80da16155fa6a6205630b473aed5e6dd amqp-2.0.0.tgz sha256 ecd004e9ae3fcf54896b562d5e8008e36041f2620076effd58e5f4187299cee8 LICENSE diff --git a/package/php-amqp/php-amqp.mk b/package/php-amqp/php-amqp.mk index 981f8274a98..7e58234d1fe 100644 --- a/package/php-amqp/php-amqp.mk +++ b/package/php-amqp/php-amqp.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_AMQP_VERSION = 1.10.2 +PHP_AMQP_VERSION = 2.0.0 PHP_AMQP_SOURCE = amqp-$(PHP_AMQP_VERSION).tgz PHP_AMQP_SITE = https://pecl.php.net/get PHP_AMQP_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-apcu/php-apcu.hash b/package/php-apcu/php-apcu.hash index 3aae4120d2a..4a5eadf8034 100644 --- a/package/php-apcu/php-apcu.hash +++ b/package/php-apcu/php-apcu.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b99d40fafec06f4d132fcee53e7526ddbfc1d041ea6e04e17389dfad28f9c390 apcu-5.1.20.tgz +sha256 010a0d8fd112e1ed7a52a356191da3696a6b76319423f7b0dfdeaeeafcb41a1e apcu-5.1.22.tgz sha256 ecc8b74820c32fb82ddee80446205408585d75d1632ac959fb3cdf8eaf3877b5 LICENSE diff --git a/package/php-apcu/php-apcu.mk b/package/php-apcu/php-apcu.mk index d381c9054f1..b8eeb9de7c1 100644 --- a/package/php-apcu/php-apcu.mk +++ b/package/php-apcu/php-apcu.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_APCU_VERSION = 5.1.20 +PHP_APCU_VERSION = 5.1.22 PHP_APCU_SITE = http://pecl.php.net/get PHP_APCU_SOURCE = apcu-$(PHP_APCU_VERSION).tgz PHP_APCU_LICENSE = PHP-3.01 diff --git a/package/php-gnupg/0001-Remove-inlining-_phpc_res_close.patch b/package/php-gnupg/0001-Remove-inlining-_phpc_res_close.patch deleted file mode 100644 index 9b94cb7e4f2..00000000000 --- a/package/php-gnupg/0001-Remove-inlining-_phpc_res_close.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 887b0899d7e7423baec691255c2d8b56bb348ecd Mon Sep 17 00:00:00 2001 -From: Jakub Zelenka -Date: Sun, 14 Mar 2021 18:52:21 +0000 -Subject: [PATCH] Remove inlining _phpc_res_close - -[Retrieved from: -https://github.com/bukka/phpc/commit/887b0899d7e7423baec691255c2d8b56bb348ecd] -Signed-off-by: Fabrice Fontaine ---- - phpc.h | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/phpc/phpc.h b/phpc/phpc.h -index dc5887e..9206105 100644 ---- a/phpc/phpc.h -+++ b/phpc/phpc.h -@@ -945,16 +945,8 @@ typedef zend_resource * phpc_res_value_t; - zend_fetch_resource2(Z_RES_P(_pz_res), _res_type_name, _res_type_1, _res_type_2) - #define PHPC_RES_DELETE(_pz_res) \ - zend_list_delete(Z_RES_P(_pz_res)) --#if PHP_MAJOR_VERSION < 8 - #define PHPC_RES_CLOSE(_pz_res) \ - zend_list_close(Z_RES_P(_pz_res)) --#else --inline int _phpc_res_close(zval *zres) { -- zend_list_close(Z_RES_P(zres)); -- return SUCCESS; --} --#define PHPC_RES_CLOSE _phpc_res_close --#endif - - /* resource to zval */ - #define PHPC_RES_PZVAL(_res, _pzv) \ diff --git a/package/php-gnupg/php-gnupg.hash b/package/php-gnupg/php-gnupg.hash index 99ffe87f461..084de7750a5 100644 --- a/package/php-gnupg/php-gnupg.hash +++ b/package/php-gnupg/php-gnupg.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d4f5f79aa483908f3df08e5b343ea3593c6d725b9ed2103e30242627659e0a64 gnupg-1.5.0.tgz +sha256 a9906f465ab2343cb2f3127ee209c72760238745c34878d9bbc1576486219252 gnupg-1.5.1.tgz sha256 da1136d4d9326317cbd320dadddf7e9b4b4edffd973eb083cb7b9754fb6a15d9 LICENSE diff --git a/package/php-gnupg/php-gnupg.mk b/package/php-gnupg/php-gnupg.mk index a89f0978af5..89054f5f7c0 100644 --- a/package/php-gnupg/php-gnupg.mk +++ b/package/php-gnupg/php-gnupg.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_GNUPG_VERSION = 1.5.0 +PHP_GNUPG_VERSION = 1.5.1 PHP_GNUPG_SOURCE = gnupg-$(PHP_GNUPG_VERSION).tgz PHP_GNUPG_SITE = https://pecl.php.net/get # phpize does the autoconf magic diff --git a/package/php-memcached/php-memcached.hash b/package/php-memcached/php-memcached.hash index 7e918c17f6e..162d25f7959 100644 --- a/package/php-memcached/php-memcached.hash +++ b/package/php-memcached/php-memcached.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 b288e45f839593e16c4d8508b241de51a86df4f7322153e6becb9e1c819021fd memcached-3.1.5.tgz +sha256 2a41143a7b29f4a962a3805b77aa207a99e4566e2d314ce98a051cd24d6e9636 memcached-3.2.0.tgz sha256 24e8e3a9529204ead9422fa17cf3ddd75d292a8763b87fdb20591964f2e6ebe0 LICENSE sha256 a453a7a272fbd24105b39959f76996d50dad80b22d1c310f6c67f74f62ae4054 fastlz/LICENSE sha256 bba8cb50c660842c5ca459c5004395bdef8f01c1b64f97a9978f1053f173cb82 g_fmt.h diff --git a/package/php-memcached/php-memcached.mk b/package/php-memcached/php-memcached.mk index 068fbb786be..f92a8ddf4cb 100644 --- a/package/php-memcached/php-memcached.mk +++ b/package/php-memcached/php-memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_MEMCACHED_VERSION = 3.1.5 +PHP_MEMCACHED_VERSION = 3.2.0 PHP_MEMCACHED_SOURCE = memcached-$(PHP_MEMCACHED_VERSION).tgz PHP_MEMCACHED_SITE = https://pecl.php.net/get PHP_MEMCACHED_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-pam/Config.in b/package/php-pam/Config.in index 70f62a31807..c91fa8b6fe3 100644 --- a/package/php-pam/Config.in +++ b/package/php-pam/Config.in @@ -4,13 +4,14 @@ config BR2_PACKAGE_PHP_PAM depends on BR2_USE_WCHAR # linux-pam depends on BR2_USE_MMU # linux-pam depends on !BR2_STATIC_LIBS # linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM help PHP PAM (Pluggable Authentication Modules) integration https://pecl.php.net/package/PAM -comment "php-pam needs a toolchain w/ wchar, locale, dynamic library" +comment "php-pam needs a toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on BR2_USE_MMU depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR \ - || BR2_STATIC_LIBS + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/php-pam/php-pam.hash b/package/php-pam/php-pam.hash index c3eb49fbe7f..be15237f7dc 100644 --- a/package/php-pam/php-pam.hash +++ b/package/php-pam/php-pam.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 fda3b5f719d51cb278351eedd3d7a96db75661324d81fdcf8072a4309121bc92 pam-2.2.3.tgz +sha256 d5c818c73c9cde4d2118bb08322dec0b532f3be48c3ef7d3f23a05af5080eb24 pam-2.2.4.tgz sha256 0967ad6cf4b7fe81d38709d7aaef3fecb3bd685be7eebb37b864aa34c991baa7 LICENSE diff --git a/package/php-pam/php-pam.mk b/package/php-pam/php-pam.mk index c35ad4f5d00..a348fb9d44f 100644 --- a/package/php-pam/php-pam.mk +++ b/package/php-pam/php-pam.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_PAM_VERSION = 2.2.3 +PHP_PAM_VERSION = 2.2.4 PHP_PAM_SITE = http://pecl.php.net/get PHP_PAM_SOURCE = pam-$(PHP_PAM_VERSION).tgz PHP_PAM_LICENSE = PHP-3.01 diff --git a/package/php-pecl-dbus/0001-php8-compat.patch b/package/php-pecl-dbus/0001-php8-compat.patch deleted file mode 100644 index acca6e1d49c..00000000000 --- a/package/php-pecl-dbus/0001-php8-compat.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 7fde4dd4d26d2a4b7957a1010c6ea9e4b940fc62 Mon Sep 17 00:00:00 2001 -From: Stefan Saraev -Date: Mon, 18 Jan 2021 23:22:52 +0200 -Subject: [PATCH] php8 compat - -Upstream: https://github.com/derickr/pecl-dbus/pull/8 -Signed-off-by: Herve Codina ---- - dbus.c | 55 ++++++++++++++++++++++++++++++------------------------ - php_dbus.h | 10 ++++++++++ - 2 files changed, 41 insertions(+), 24 deletions(-) - -diff --git a/dbus.c b/dbus.c -index 9fde647..a98e2ea 100644 ---- a/dbus.c -+++ b/dbus.c -@@ -38,6 +38,9 @@ - #define Z_ADDREF_P(z) ((z)->refcount++) - #endif - -+ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) -+ZEND_END_ARG_INFO() -+ - /* {{{ arginfo */ - ZEND_BEGIN_ARG_INFO_EX(arginfo_dbus_object___call, 0, 0, 2) - ZEND_ARG_INFO(0, function_name) -@@ -46,44 +49,44 @@ ZEND_END_ARG_INFO() - /* }}} */ - - const zend_function_entry dbus_funcs_dbus[] = { -- PHP_ME(Dbus, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(Dbus, addWatch, NULL, ZEND_ACC_PUBLIC) -- PHP_ME(Dbus, waitLoop, NULL, ZEND_ACC_PUBLIC) -- PHP_ME(Dbus, requestName, NULL, ZEND_ACC_PUBLIC) -- PHP_ME(Dbus, registerObject, NULL, ZEND_ACC_PUBLIC) -- PHP_ME(Dbus, createProxy, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(Dbus, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(Dbus, addWatch, arginfo_void, ZEND_ACC_PUBLIC) -+ PHP_ME(Dbus, waitLoop, arginfo_void, ZEND_ACC_PUBLIC) -+ PHP_ME(Dbus, requestName, arginfo_void, ZEND_ACC_PUBLIC) -+ PHP_ME(Dbus, registerObject, arginfo_void, ZEND_ACC_PUBLIC) -+ PHP_ME(Dbus, createProxy, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_object[] = { -- PHP_ME(DbusObject, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE) -+ PHP_ME(DbusObject, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE) - PHP_ME(DbusObject, __call, arginfo_dbus_object___call, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_signal[] = { -- PHP_ME(DbusSignal, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusSignal, matches, NULL, ZEND_ACC_PUBLIC) -- PHP_ME(DbusSignal, getData, NULL, ZEND_ACC_PUBLIC) -- PHP_ME(DbusSignal, send, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusSignal, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusSignal, matches, arginfo_void, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusSignal, getData, arginfo_void, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusSignal, send, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_array[] = { -- PHP_ME(DbusArray, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusArray, getData, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusArray, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusArray, getData, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_dict[] = { -- PHP_ME(DbusDict, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusDict, getData, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusDict, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusDict, getData, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - #define PHP_DBUS_INT_WRAPPER_DEF(s,t) \ - const zend_function_entry dbus_funcs_dbus_##s[] = { \ -- PHP_ME(Dbus##t, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) \ -+ PHP_ME(Dbus##t, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) \ - PHP_FE_END \ - }; - -@@ -98,26 +101,26 @@ PHP_DBUS_INT_WRAPPER_DEF(uint64,UInt64); - PHP_DBUS_INT_WRAPPER_DEF(double, Double); - - const zend_function_entry dbus_funcs_dbus_variant[] = { -- PHP_ME(DbusVariant, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusVariant, getData, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusVariant, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusVariant, getData, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_set[] = { -- PHP_ME(DbusSet, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusSet, getData, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusSet, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusSet, getData, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_struct[] = { -- PHP_ME(DbusStruct, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusStruct, getData, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusStruct, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusStruct, getData, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - - const zend_function_entry dbus_funcs_dbus_object_path[] = { -- PHP_ME(DbusObjectPath, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -- PHP_ME(DbusObjectPath, getData, NULL, ZEND_ACC_PUBLIC) -+ PHP_ME(DbusObjectPath, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) -+ PHP_ME(DbusObjectPath, getData, arginfo_void, ZEND_ACC_PUBLIC) - PHP_FE_END - }; - -@@ -405,7 +408,11 @@ static void dbus_register_classes(TSRMLS_D) - dbus_ce_dbus = zend_register_internal_class_ex(&ce_dbus, NULL); - memcpy(&dbus_object_handlers_dbus, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); - dbus_object_handlers_dbus.clone_obj = dbus_object_clone_dbus; -+#if PHP_VERSION_ID < 80000 - dbus_object_handlers_dbus.compare_objects = dbus_object_compare_dbus; -+#else -+ dbus_object_handlers_dbus.compare = dbus_object_compare_dbus; -+#endif - - zend_declare_class_constant_long(dbus_ce_dbus, "BYTE", sizeof("BYTE")-1, DBUS_TYPE_BYTE TSRMLS_CC); - zend_declare_class_constant_long(dbus_ce_dbus, "BOOLEAN", sizeof("BOOLEAN")-1, DBUS_TYPE_BOOLEAN TSRMLS_CC); -diff --git a/php_dbus.h b/php_dbus.h -index 8817544..1f0f551 100644 ---- a/php_dbus.h -+++ b/php_dbus.h -@@ -25,6 +25,16 @@ - #include "config.h" - #endif - -+#if PHP_VERSION_ID >= 80000 -+#ifndef TSRMLS_D -+#define TSRMLS_D void -+#define TSRMLS_DC -+#define TSRMLS_C -+#define TSRMLS_CC -+#define TSRMLS_FETCH() -+#endif -+#endif /* PHP_VERSION_ID >= 80000 */ -+ - #include "Zend/zend_hash.h" - - #define PHP_DBUS_VERSION "0.2.0" --- -2.31.1 - diff --git a/package/php-pecl-dbus/0002-Fix-compatibility-with-php8-call_user_function_ex.patch b/package/php-pecl-dbus/0002-Fix-compatibility-with-php8-call_user_function_ex.patch deleted file mode 100644 index 5babce94b45..00000000000 --- a/package/php-pecl-dbus/0002-Fix-compatibility-with-php8-call_user_function_ex.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8cf66c4b5dd657ca14552b27a42901db0a5e9280 Mon Sep 17 00:00:00 2001 -From: Herve Codina -Date: Mon, 4 Oct 2021 17:13:45 +0200 -Subject: [PATCH] Fix compatibility with php8 - call_user_function_ex - -This patch fixes compatibility with php8 replacing -call_user_function_ex by call_user_function. - -Upstream: https://github.com/derickr/pecl-dbus/pull/8 -Signed-off-by: Herve Codina ---- - dbus.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dbus.c b/dbus.c -index a98e2ea..6fa9897 100644 ---- a/dbus.c -+++ b/dbus.c -@@ -1015,8 +1015,8 @@ php_dbus_do_method_call(php_dbus_obj *dbus, - method_args = safe_emalloc(sizeof(zval *), num_elems, 0); - } - -- if (call_user_function_ex(EG(function_table), object, &callback, &retval, -- num_elems, method_args, 0, NULL) == SUCCESS) { -+ if (call_user_function(EG(function_table), object, &callback, &retval, -+ num_elems, method_args) == SUCCESS) { - if (!Z_ISUNDEF(retval)) { - reply = dbus_message_new_method_return(msg); - php_dbus_append_parameters(reply, &retval, NULL, --- -2.31.1 - diff --git a/package/php-pecl-dbus/php-pecl-dbus.hash b/package/php-pecl-dbus/php-pecl-dbus.hash index f43e2c8b513..122636913c1 100644 --- a/package/php-pecl-dbus/php-pecl-dbus.hash +++ b/package/php-pecl-dbus/php-pecl-dbus.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 c48761c645c6fa42b57af0e65d893217dc69bcd8d879ace74d6abbf1c5f73a8f php-pecl-dbus-315d17558c7614d02e923d898231e51c86a25789.tar.gz +sha256 652db988457479682ef1bbe00952d746b54150e77f06a4d75ffa3a696f5321ba php-pecl-dbus-b147624d480c3353e6c700e9a2d0c6f14d853941.tar.gz sha256 ecc8b74820c32fb82ddee80446205408585d75d1632ac959fb3cdf8eaf3877b5 LICENSE diff --git a/package/php-pecl-dbus/php-pecl-dbus.mk b/package/php-pecl-dbus/php-pecl-dbus.mk index a70a2e7ae1d..84cc373bb71 100644 --- a/package/php-pecl-dbus/php-pecl-dbus.mk +++ b/package/php-pecl-dbus/php-pecl-dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_PECL_DBUS_VERSION = 315d17558c7614d02e923d898231e51c86a25789 +PHP_PECL_DBUS_VERSION = b147624d480c3353e6c700e9a2d0c6f14d853941 PHP_PECL_DBUS_SITE = $(call github,derickr,pecl-dbus,$(PHP_PECL_DBUS_VERSION)) PHP_PECL_DBUS_LICENSE = PHP-3.01 PHP_PECL_DBUS_LICENSE_FILES = LICENSE diff --git a/package/php-ssh2/php-ssh2.hash b/package/php-ssh2/php-ssh2.hash index 3fbb0b24c81..69e0b920710 100644 --- a/package/php-ssh2/php-ssh2.hash +++ b/package/php-ssh2/php-ssh2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9093a1f8d24dc65836027b0e239c50de8d5eaebf8396bc3331fdd38c5d69afd9 ssh2-1.3.1.tgz +sha256 988b52e0315bb5ed725050cb02de89b541034b7be6b94623dcb2baa33f811d87 ssh2-1.4.tgz sha256 ac7c56f1e416ce6e60abcf26269395128bc9e5a2e4f3293e5dcc124aac606508 LICENSE diff --git a/package/php-ssh2/php-ssh2.mk b/package/php-ssh2/php-ssh2.mk index b79ac04179b..e7955a2c072 100644 --- a/package/php-ssh2/php-ssh2.mk +++ b/package/php-ssh2/php-ssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_SSH2_VERSION = 1.3.1 +PHP_SSH2_VERSION = 1.4 PHP_SSH2_SOURCE = ssh2-$(PHP_SSH2_VERSION).tgz PHP_SSH2_SITE = https://pecl.php.net/get PHP_SSH2_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-xdebug/php-xdebug.hash b/package/php-xdebug/php-xdebug.hash index 72bfac67cea..2509e6e2eee 100644 --- a/package/php-xdebug/php-xdebug.hash +++ b/package/php-xdebug/php-xdebug.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 7e4f28fc65c8b535de43b6d2ec57429476a6de1d53c4d440a9108ae8d28e01f4 php-xdebug-3.0.4.tar.gz +sha256 f48777371f90cbb315ea4ea082a1ede6765bcfb35d7d6356ab8f71fd6dfcc157 xdebug-3.2.2.tgz sha256 ef479ee1a3da3f933e0d046ca8cd0c14601f29b2c0c41cc60c9388546a4e0272 LICENSE diff --git a/package/php-xdebug/php-xdebug.mk b/package/php-xdebug/php-xdebug.mk index 18ebc325924..3bc197e5562 100644 --- a/package/php-xdebug/php-xdebug.mk +++ b/package/php-xdebug/php-xdebug.mk @@ -4,8 +4,9 @@ # ################################################################################ -PHP_XDEBUG_VERSION = 3.0.4 -PHP_XDEBUG_SITE = $(call github,xdebug,xdebug,$(PHP_XDEBUG_VERSION)) +PHP_XDEBUG_VERSION = 3.2.2 +PHP_XDEBUG_SOURCE = xdebug-$(PHP_XDEBUG_VERSION).tgz +PHP_XDEBUG_SITE = https://xdebug.org/files PHP_XDEBUG_INSTALL_STAGING = YES PHP_XDEBUG_LICENSE = Xdebug License (PHP-3.0-like) PHP_XDEBUG_LICENSE_FILES = LICENSE @@ -13,8 +14,7 @@ PHP_XDEBUG_LICENSE_FILES = LICENSE PHP_XDEBUG_DEPENDENCIES = php host-autoconf PHP_XDEBUG_CONF_OPTS = \ --enable-xdebug \ - --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ - --with-xdebug=$(STAGING_DIR)/usr + --with-php-config=$(STAGING_DIR)/usr/bin/php-config define PHP_XDEBUG_PHPIZE (cd $(@D); \ @@ -25,4 +25,11 @@ endef PHP_XDEBUG_PRE_CONFIGURE_HOOKS += PHP_XDEBUG_PHPIZE +ifeq ($(BR2_PACKAGE_ZLIB),y) +PHP_XDEBUG_CONF_OPTS += --with-xdebug-compression +PHP_XDEBUG_DEPENDENCIES += zlib +else +PHP_XDEBUG_CONF_OPTS += --without-xdebug-compression +endif + $(eval $(autotools-package)) diff --git a/package/php-yaml/php-yaml.hash b/package/php-yaml/php-yaml.hash index b4d14c5a30c..4fa5dfbc162 100644 --- a/package/php-yaml/php-yaml.hash +++ b/package/php-yaml/php-yaml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 119052f0461d57d86f44c252f9c9b2dd743486c701c1a0aba0aebecdd0d8b82a yaml-2.2.2.tgz +sha256 5937eb9722ddf6d64626799cfa024598ff2452ea157992e4e67331a253f90236 yaml-2.2.3.tgz sha256 68d9700294396c72089bfc7bf38a5b3654a53ae415f3bd37768848c14e86f338 LICENSE diff --git a/package/php-yaml/php-yaml.mk b/package/php-yaml/php-yaml.mk index 39a422e25d2..e825e3146fa 100644 --- a/package/php-yaml/php-yaml.mk +++ b/package/php-yaml/php-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_YAML_VERSION = 2.2.2 +PHP_YAML_VERSION = 2.2.3 PHP_YAML_SOURCE = yaml-$(PHP_YAML_VERSION).tgz PHP_YAML_SITE = https://pecl.php.net/get PHP_YAML_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php/0003-configure-disable-the-phar-tool.patch b/package/php/0003-configure-disable-the-phar-tool.patch index ab3aecdaa39..6bfaf6640ff 100644 --- a/package/php/0003-configure-disable-the-phar-tool.patch +++ b/package/php/0003-configure-disable-the-phar-tool.patch @@ -22,7 +22,7 @@ diff --git a/configure.ac b/configure.ac index 0dfab302..6026fb66 100644 --- a/configure.ac +++ b/configure.ac -@@ -1566,13 +1566,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)" +@@ -1638,13 +1638,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)" CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" diff --git a/package/php/0006-xxhash-h-Fix-GCC-12-Og.patch b/package/php/0006-xxhash-h-Fix-GCC-12-Og.patch new file mode 100644 index 00000000000..9b5b9966cd5 --- /dev/null +++ b/package/php/0006-xxhash-h-Fix-GCC-12-Og.patch @@ -0,0 +1,94 @@ +From adcb38b1ffa8e401293e5028ee5af586fd304e00 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Wed, 12 Apr 2023 13:33:07 +0800 +Subject: [PATCH] xxhash.h: Fix GCC 12 -Og + +Change whether to inline XXH3_hashLong_withSecret to a config option + +Ref: https://github.com/Cyan4973/xxHash/commit/ace22bddc7a366a5dd8a71e8b8247694530684ec + +Signed-off-by: Mingli Yu + +Closes GH-11062. + +Upstream: https://github.com/php/php-src/commit/adcb38b1ffa8e401293e5028ee5af586fd304e00 + +Signed-off-by: Bernd Kuhls +--- + ext/hash/xxhash/xxhash.h | 35 +++++++++++++++++++++++++++++++++-- + 1 file changed, 33 insertions(+), 2 deletions(-) + +diff --git a/ext/hash/xxhash/xxhash.h b/ext/hash/xxhash/xxhash.h +index b5bd286496c7..8e816c0584eb 100644 +--- a/ext/hash/xxhash/xxhash.h ++++ b/ext/hash/xxhash/xxhash.h +@@ -1375,6 +1375,23 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, + */ + # define XXH_NO_INLINE_HINTS 0 + ++/*! ++ * @def XXH3_INLINE_SECRET ++ * @brief Determines whether to inline the XXH3 withSecret code. ++ * ++ * When the secret size is known, the compiler can improve the performance ++ * of XXH3_64bits_withSecret() and XXH3_128bits_withSecret(). ++ * ++ * However, if the secret size is not known, it doesn't have any benefit. This ++ * happens when xxHash is compiled into a global symbol. Therefore, if ++ * @ref XXH_INLINE_ALL is *not* defined, this will be defined to 0. ++ * ++ * Additionally, this defaults to 0 on GCC 12+, which has an issue with function pointers ++ * that are *sometimes* force inline on -Og, and it is impossible to automatically ++ * detect this optimization level. ++ */ ++# define XXH3_INLINE_SECRET 0 ++ + /*! + * @def XXH32_ENDJMP + * @brief Whether to use a jump for `XXH32_finalize`. +@@ -1439,6 +1456,15 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr, + # endif + #endif + ++#ifndef XXH3_INLINE_SECRET ++# if (defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 12) \ ++ || !defined(XXH_INLINE_ALL) ++# define XXH3_INLINE_SECRET 0 ++# else ++# define XXH3_INLINE_SECRET 1 ++# endif ++#endif ++ + #ifndef XXH32_ENDJMP + /* generally preferable for performance */ + # define XXH32_ENDJMP 0 +@@ -1515,6 +1541,11 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) + # define XXH_NO_INLINE static + #endif + ++#if XXH3_INLINE_SECRET ++# define XXH3_WITH_SECRET_INLINE XXH_FORCE_INLINE ++#else ++# define XXH3_WITH_SECRET_INLINE XXH_NO_INLINE ++#endif + + + /* ************************************* +@@ -4465,7 +4496,7 @@ XXH3_hashLong_64b_internal(const void* XXH_RESTRICT input, size_t len, + * so that the compiler can properly optimize the vectorized loop. + * This makes a big performance difference for "medium" keys (<1 KB) when using AVX instruction set. + */ +-XXH_FORCE_INLINE XXH64_hash_t ++XXH3_WITH_SECRET_INLINE XXH64_hash_t + XXH3_hashLong_64b_withSecret(const void* XXH_RESTRICT input, size_t len, + XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen) + { +@@ -5263,7 +5294,7 @@ XXH3_hashLong_128b_default(const void* XXH_RESTRICT input, size_t len, + * It's important for performance to pass @secretLen (when it's static) + * to the compiler, so that it can properly optimize the vectorized loop. + */ +-XXH_FORCE_INLINE XXH128_hash_t ++XXH3_WITH_SECRET_INLINE XXH128_hash_t + XXH3_hashLong_128b_withSecret(const void* XXH_RESTRICT input, size_t len, + XXH64_hash_t seed64, + const void* XXH_RESTRICT secret, size_t secretLen) diff --git a/package/php/Config.in b/package/php/Config.in index 69b4268c1d4..af8574ac754 100644 --- a/package/php/Config.in +++ b/package/php/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_PHP_ARCH_SUPPORTS default y if BR2_RISCV_64 default y if BR2_s390x default y if BR2_TOOLCHAIN_HAS_UCONTEXT + default y if BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS config BR2_PACKAGE_PHP bool "php" @@ -25,6 +26,8 @@ config BR2_PACKAGE_PHP BR2_USE_MMU select BR2_PACKAGE_PHP_SAPI_CLI if !BR2_USE_MMU select BR2_PACKAGE_PCRE2 + select BR2_PACKAGE_LIBUCONTEXT if \ + BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS help PHP is a widely-used general-purpose scripting language that is especially suited for Web development diff --git a/package/php/php.hash b/package/php/php.hash index bf81ebf3e85..e8dc16bd612 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From https://www.php.net/downloads.php -sha256 08243359e2204d842082269eedc15f08d2eca726d0e65b93fb11f4bfc51bbbab php-8.1.12.tar.xz +sha256 44b306fc021e56441f691da6c3108788bd9e450f293b3bc70fcd64b08dd41a50 php-8.2.18.tar.xz # License file -sha256 a188db807d711536f71e27b7d36879d63480f7994dc18adc08e624b3c5430fff LICENSE +sha256 b42e4df5e50e6ecda1047d503d6d91d71032d09ed1027ba1ef29eed26f890c5a LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index a400a38af7a..e99e627389c 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 8.1.12 +PHP_VERSION = 8.2.18 PHP_SITE = https://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -14,6 +14,7 @@ PHP_DEPENDENCIES = host-pkgconf pcre2 PHP_LICENSE = PHP-3.01 PHP_LICENSE_FILES = LICENSE PHP_CPE_ID_VENDOR = php + PHP_CONF_OPTS = \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ @@ -35,6 +36,15 @@ ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy) PHP_STATIC_LIBS += -lpthread endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +PHP_EXTRA_LIBS += -latomic +endif + +ifeq ($(BR2_PACKAGE_LIBUCONTEXT),y) +PHP_DEPENDENCIES += libucontext +PHP_EXTRA_LIBS += -lucontext +endif + ifeq ($(call qstrip,$(BR2_TARGET_LOCALTIME)),) PHP_LOCALTIME = UTC else @@ -80,6 +90,13 @@ else PHP_CONF_ENV += ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=no endif +# php has some assembly function that is not present in Thumb mode: +# Error: selected processor does not support `umlal r2,r1,r0,r3' in Thumb mode +# so, we desactivate Thumb mode +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +PHP_CFLAGS += -marm +endif + PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_SAPI_CLI),--enable-cli,--disable-cli) PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_SAPI_CGI),--enable-cgi,--disable-cgi) PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_SAPI_FPM),--enable-fpm,--disable-fpm) @@ -343,4 +360,24 @@ PHP_POST_INSTALL_TARGET_HOOKS += PHP_INSTALL_FIXUP PHP_CONF_ENV += CFLAGS="$(PHP_CFLAGS)" CXXFLAGS="$(PHP_CXXFLAGS)" +HOST_PHP_CONF_OPTS = \ + --disable-all \ + --without-pear \ + --with-config-file-path=$(HOST_DIR)/etc \ + --disable-phpdbg \ + --with-external-pcre \ + --enable-phar \ + --enable-json \ + --enable-filter \ + --enable-mbstring \ + --enable-tokenizer \ + --with-openssl=$(HOST_DIR) + +HOST_PHP_DEPENDENCIES = \ + host-oniguruma \ + host-openssl \ + host-pcre2 \ + host-pkgconf + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch b/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch deleted file mode 100644 index 5143e311020..00000000000 --- a/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 30c712c5f14306460c44bea70e24419db9d44f8c Mon Sep 17 00:00:00 2001 -From: Nick Patavalis -Date: Thu, 12 Apr 2018 15:16:04 +0300 -Subject: [PATCH] Compile with libc's without cispeed / cospeed - -Some libc implementations (e.g. musl) do not define the cispeed and -cospeed struct termios fields. So we have to check the -_HAVE_STRUCT_TERMIOS_C_ISPEED and _HAVE_STRUCT_TERMIOS_C_OSPEED -macros. If not defined, we disable custom baudrate support. - -[baruch: backported from upstream master to 3.1] -Signed-off-by: Baruch Siach ---- -Upstream status: commit 1acf1ddabaf3 - - custbaud.h | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/custbaud.h b/custbaud.h -index 48151a4a4e84..ae4ae8daf49e 100644 ---- a/custbaud.h -+++ b/custbaud.h -@@ -26,6 +26,8 @@ - #ifndef CUSTBAUD_H - #define CUSTBAUD_H - -+#include -+ - #ifndef NO_CUSTOM_BAUD - - #if defined (__linux__) -@@ -33,7 +35,13 @@ - /* Enable by-default for kernels > 2.6.0 on x86 and x86_64 only */ - #include - #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) --#if defined (__i386__) || defined (__x86_64__) || defined (USE_CUSTOM_BAUD) -+/* Some libc implementations (e.g. musl) do not define the cispeed and -+ cospeed struct termios fields. We do not support custom baudrates -+ on them. */ -+#if ( (defined (__i386__) || defined (__x86_64__)) \ -+ && defined (_HAVE_STRUCT_TERMIOS_C_ISPEED) \ -+ && defined (_HAVE_STRUCT_TERMIOS_C_OSPEED) ) \ -+ || defined (USE_CUSTOM_BAUD) - #ifndef USE_CUSTOM_BAUD - #define USE_CUSTOM_BAUD - #endif --- -2.16.3 - diff --git a/package/picocom/Config.in b/package/picocom/Config.in index 9f8efc4a9a4..6db71e1791a 100644 --- a/package/picocom/Config.in +++ b/package/picocom/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_PICOCOM in principle, very much like minicom, only it's pico instead of mini! - https://github.com/npat-efault/picocom/ + https://gitlab.com/wsakernel/picocom diff --git a/package/picocom/picocom.hash b/package/picocom/picocom.hash index 77c270408c3..8107f5633a6 100644 --- a/package/picocom/picocom.hash +++ b/package/picocom/picocom.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e6761ca932ffc6d09bd6b11ff018bdaf70b287ce518b3282d29e0270e88420bb picocom-3.1.tar.gz +sha256 107d3e49e502ce63f826525f587826990451bcb39492efe2e0463dd62d64f3ea picocom-2023-04.tar.gz sha256 9273c6b2c55be95f0f0df292d87e8900e5bfdf5b510a6ea09e80306cf45c10f6 LICENSE.txt diff --git a/package/picocom/picocom.mk b/package/picocom/picocom.mk index 2d585bb2f5f..bb55c3c1d1d 100644 --- a/package/picocom/picocom.mk +++ b/package/picocom/picocom.mk @@ -4,11 +4,11 @@ # ################################################################################ -PICOCOM_VERSION = 3.1 -PICOCOM_SITE = $(call github,npat-efault,picocom,$(PICOCOM_VERSION)) +PICOCOM_VERSION = 2023-04 +PICOCOM_SITE = $(call gitlab,wsakernel,picocom,$(PICOCOM_VERSION)) PICOCOM_LICENSE = GPL-2.0+ PICOCOM_LICENSE_FILES = LICENSE.txt -PICOCOM_CPE_ID_VENDOR = picocom_project +PICOCOM_CPE_ID_VALID = YES define PICOCOM_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) diff --git a/package/piglit/Config.in b/package/piglit/Config.in index 736fd95d719..48b7641909b 100644 --- a/package/piglit/Config.in +++ b/package/piglit/Config.in @@ -6,7 +6,10 @@ config BR2_PACKAGE_PIGLIT BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \ BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \ BR2_PACKAGE_WAFFLE_SUPPORTS_GBM + depends on BR2_INSTALL_LIBSTDCPP # mesa3d-demos, python-numpy depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy + depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND @@ -31,5 +34,8 @@ config BR2_PACKAGE_PIGLIT https://piglit.freedesktop.org -comment "piglit needs glibc or musl" - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) +comment "piglit needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !BR2_HOST_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/pigz/pigz.hash b/package/pigz/pigz.hash index 4a149605b33..d09930b62bb 100644 --- a/package/pigz/pigz.hash +++ b/package/pigz/pigz.hash @@ -1,5 +1,5 @@ # From http://zlib.net/pigz -sha256 b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707 pigz-2.7.tar.gz +sha256 eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0 pigz-2.8.tar.gz # Locally calculated -sha256 67e2b9e30e924724a9d72549a6004ed15a041f51d9ea9ab781e048fa27ae07a2 README +sha256 328634933a65dbc7f97a0f51df52741dc67f593bbe9eccabc9eedc6934c4983b README diff --git a/package/pigz/pigz.mk b/package/pigz/pigz.mk index fd48ab463de..e3273c71c13 100644 --- a/package/pigz/pigz.mk +++ b/package/pigz/pigz.mk @@ -4,7 +4,7 @@ # ################################################################################ -PIGZ_VERSION = 2.7 +PIGZ_VERSION = 2.8 PIGZ_SITE = http://zlib.net/pigz PIGZ_DEPENDENCIES = zlib HOST_PIGZ_DEPENDENCIES = host-zlib diff --git a/package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch b/package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch deleted file mode 100644 index fc1d25edb31..00000000000 --- a/package/pipewire-media-session/0001-meson-remove-session-managers-option-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1923c97fbd0b3d8cacdb72386886f860c818bccf Mon Sep 17 00:00:00 2001 -From: James Hilliard -Date: Wed, 10 Nov 2021 08:54:06 -0700 -Subject: [PATCH] meson: remove session-managers option check. - -This option no longer exists and causes a build failure if building -with the systemd system service enabled. - -Signed-off-by: James Hilliard -[Upstream status: -https://gitlab.freedesktop.org/pipewire/media-session/-/merge_requests/24] ---- - systemd/system/meson.build | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -diff --git a/systemd/system/meson.build b/systemd/system/meson.build -index ab0d49064..0e9885b0f 100644 ---- a/systemd/system/meson.build -+++ b/systemd/system/meson.build -@@ -4,9 +4,7 @@ systemd_system_services_dir = systemd.get_variable(pkgconfig: 'systemdsystemunit - systemd_config = configuration_data() - systemd_config.set('PW_MEDIA_SESSION_BINARY', media_session_bindir / 'pipewire-media-session') - --if get_option('session-managers').contains('media-session') -- configure_file(input : 'pipewire-media-session.service.in', -- output : 'pipewire-media-session.service', -- configuration : systemd_config, -- install_dir : systemd_system_services_dir) --endif -+configure_file(input : 'pipewire-media-session.service.in', -+ output : 'pipewire-media-session.service', -+ configuration : systemd_config, -+ install_dir : systemd_system_services_dir) --- -2.25.1 - diff --git a/package/pipewire-media-session/pipewire-media-session.hash b/package/pipewire-media-session/pipewire-media-session.hash index e335fd8913b..e6b176eea25 100644 --- a/package/pipewire-media-session/pipewire-media-session.hash +++ b/package/pipewire-media-session/pipewire-media-session.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 ebdf9f8e389896fdc4b58da5f909afce18441b4b53d5b4f2104dd53586ea8681 media-session-0.4.1.tar.bz2 +sha256 26e21852e0834a4418b40eae342ac5178dfe40342b9c5afe204d43ef8aafa14e media-session-0.4.2.tar.bz2 sha256 8909c319a7e27dbb33a15b9035f89ab3b7b2f6a12f8bcddc755206a8db1ada44 COPYING sha256 77b9c867237ef919e33c0fdbcf22ab84b1cf24a63f9431ec68759026b658c994 LICENSE diff --git a/package/pipewire-media-session/pipewire-media-session.mk b/package/pipewire-media-session/pipewire-media-session.mk index d349fd74545..cc7317f9256 100644 --- a/package/pipewire-media-session/pipewire-media-session.mk +++ b/package/pipewire-media-session/pipewire-media-session.mk @@ -4,7 +4,7 @@ # ################################################################################ -PIPEWIRE_MEDIA_SESSION_VERSION = 0.4.1 +PIPEWIRE_MEDIA_SESSION_VERSION = 0.4.2 PIPEWIRE_MEDIA_SESSION_SOURCE = media-session-$(PIPEWIRE_MEDIA_SESSION_VERSION).tar.bz2 PIPEWIRE_MEDIA_SESSION_SITE = https://gitlab.freedesktop.org/pipewire/media-session/-/archive/$(PIPEWIRE_MEDIA_SESSION_VERSION) PIPEWIRE_MEDIA_SESSION_LICENSE = MIT @@ -17,7 +17,10 @@ PIPEWIRE_MEDIA_SESSION_DEPENDENCIES = \ pipewire \ $(TARGET_NLS_DEPENDENCIES) -PIPEWIRE_MEDIA_SESSION_CONF_OPTS = -Ddocs=disabled -Dtests=disabled +PIPEWIRE_MEDIA_SESSION_CONF_OPTS = \ + -Ddocs=disabled \ + -Dtests=disabled \ + -Dinstalled_tests=disabled PIPEWIRE_MEDIA_SESSION_MODULE_SETS_LIST = alsa diff --git a/package/pipewire/Config.in b/package/pipewire/Config.in index f038291e877..9d2de6c866d 100644 --- a/package/pipewire/Config.in +++ b/package/pipewire/Config.in @@ -15,6 +15,18 @@ config BR2_PACKAGE_PIPEWIRE if BR2_PACKAGE_PIPEWIRE +config BR2_PACKAGE_PIPEWIRE_COMPRESS_OFFLOAD + bool "pipewire Compress-Offload" + depends on !BR2_STATIC_LIBS # tinycompress + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 + select BR2_PACKAGE_TINYCOMPRESS + help + Enable ALSA Compress-Offload support + +comment "pipewire Compress-Offload needs a toolchain w/ dynamic library, headers >= 5.7" + depends on BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7 + config BR2_PACKAGE_PIPEWIRE_EXAMPLES bool "pipewire examples" help @@ -48,7 +60,7 @@ comment "pipewire v4l2 support needs udev and a toolchain w/ headers >= 3.18" endif -comment "pipewire needs a toolchain w/ dynamic library, NTPL, gcc >= 5" +comment "pipewire needs a toolchain w/ dynamic library, NPTL, gcc >= 5" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ diff --git a/package/pipewire/pipewire.hash b/package/pipewire/pipewire.hash index d8b5b0cc86a..3370d86641b 100644 --- a/package/pipewire/pipewire.hash +++ b/package/pipewire/pipewire.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 24b218cf3bb1fb279c8c489c14cc9ae483e1da7b4c8215b2ee5a5ee831bae94f pipewire-0.3.62.tar.bz2 +sha256 2b6e0c4d2e544f5030fa7f4ecf1edd9e5eed15dda1c97135e8a1fded9f3425fe pipewire-0.3.81.tar.bz2 sha256 8909c319a7e27dbb33a15b9035f89ab3b7b2f6a12f8bcddc755206a8db1ada44 COPYING sha256 be4be5d77424833edf31f53fc1f1cecb6996b9e2d747d9e6fb8f878362ebc92b LICENSE diff --git a/package/pipewire/pipewire.mk b/package/pipewire/pipewire.mk index 6bcda0a93d0..f0f3cd847cd 100644 --- a/package/pipewire/pipewire.mk +++ b/package/pipewire/pipewire.mk @@ -4,7 +4,7 @@ # ################################################################################ -PIPEWIRE_VERSION = 0.3.62 +PIPEWIRE_VERSION = 0.3.81 PIPEWIRE_SOURCE = pipewire-$(PIPEWIRE_VERSION).tar.bz2 PIPEWIRE_SITE = https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$(PIPEWIRE_VERSION) PIPEWIRE_LICENSE = MIT, LGPL-2.1+ (libspa-alsa), GPL-2.0 (libjackserver) @@ -30,10 +30,13 @@ PIPEWIRE_CONF_OPTS += \ -Dvideoconvert=enabled \ -Dvideotestsrc=enabled \ -Dvolume=enabled \ + -Dvulkan=disabled \ -Dsession-managers=[] \ -Dlegacy-rtkit=false \ -Davb=disabled \ -Dlibcanberra=disabled \ + -Dlibmysofa=disabled \ + -Dlibffado=disabled \ -Dflatpak=disabled ifeq ($(BR2_PACKAGE_DBUS),y) @@ -122,10 +125,10 @@ PIPEWIRE_CONF_OPTS += -Dbluez5=disabled -Dbluez5-codec-opus=disabled endif ifeq ($(BR2_PACKAGE_FFMPEG),y) -PIPEWIRE_CONF_OPTS += -Dffmpeg=enabled +PIPEWIRE_CONF_OPTS += -Dffmpeg=enabled -Dpw-cat-ffmpeg=enabled PIPEWIRE_DEPENDENCIES += ffmpeg else -PIPEWIRE_CONF_OPTS += -Dffmpeg=disabled +PIPEWIRE_CONF_OPTS += -Dffmpeg=disabled -Dpw-cat-ffmpeg=disabled endif ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) @@ -180,13 +183,6 @@ else PIPEWIRE_CONF_OPTS += -Dlibusb=disabled endif -ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y) -PIPEWIRE_CONF_OPTS += -Dvulkan=enabled -PIPEWIRE_DEPENDENCIES += mesa3d -else -PIPEWIRE_CONF_OPTS += -Dvulkan=disabled -endif - ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) PIPEWIRE_CONF_OPTS += -Dpw-cat=enabled -Dsndfile=enabled PIPEWIRE_DEPENDENCIES += libsndfile @@ -194,6 +190,13 @@ else PIPEWIRE_CONF_OPTS += -Dpw-cat=disabled -Dsndfile=disabled endif +ifeq ($(BR2_PACKAGE_OPUS),y) +PIPEWIRE_CONF_OPTS += -Dopus=enabled +PIPEWIRE_DEPENDENCIES += opus +else +PIPEWIRE_CONF_OPTS += -Dopus=disabled +endif + ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) PIPEWIRE_CONF_OPTS += -Dlibpulse=enabled PIPEWIRE_DEPENDENCIES += pulseaudio @@ -215,7 +218,14 @@ else PIPEWIRE_CONF_OPTS += -Dsdl2=disabled endif -ifeq ($(WEBRTC_AUDIO_PROCESSING),y) +ifeq ($(BR2_PACKAGE_PIPEWIRE_COMPRESS_OFFLOAD),y) +PIPEWIRE_CONF_OPTS += -Dcompress-offload=enabled +PIPEWIRE_DEPENDENCIES += tinycompress +else +PIPEWIRE_CONF_OPTS += -Dcompress-offload=disabled +endif + +ifeq ($(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),y) PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=enabled PIPEWIRE_DEPENDENCIES += webrtc-audio-processing else diff --git a/package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch b/package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch new file mode 100644 index 00000000000..f2fe2183ae6 --- /dev/null +++ b/package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch @@ -0,0 +1,38 @@ +From 656bff21c1d20b25058da9dbc27d28ad2ac7ae6e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 25 Feb 2023 18:09:39 +0100 +Subject: [PATCH] src/server/listener.cc: fix libressl build + +Fix the following libressl build failure: + +../src/server/listener.cc: In member function 'void Pistache::Tcp::Listener::setupSSLAuth(const std::string&, const std::string&, int (*)(int, void*))': +../src/server/listener.cc:582:29: error: 'SSL_verify_cb' was not declared in this scope; did you mean 'RSA_verify'? + 582 | (SSL_verify_cb)cb + | ^~~~~~~~~~~~~ + | RSA_verify + +Fixes: + - http://autobuild.buildroot.org/results/066fc078980e5216f38411eee455088e15fa1101 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/pistacheio/pistache/pull/1124] +--- + src/server/listener.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/server/listener.cc b/src/server/listener.cc +index 38d2661..c09cb36 100644 +--- a/src/server/listener.cc ++++ b/src/server/listener.cc +@@ -609,7 +609,7 @@ namespace Pistache::Tcp + SSL_CTX_set_verify(GetSSLContext(ssl_ctx_), + SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT | SSL_VERIFY_CLIENT_ONCE, + /* Callback type did change in 1.0.1 */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + (int (*)(int, X509_STORE_CTX*))cb + #else + (SSL_verify_cb)cb +-- +2.39.1 + diff --git a/package/pistache/0003-Add-missing-cstdint-header-include-1142.patch b/package/pistache/0003-Add-missing-cstdint-header-include-1142.patch new file mode 100644 index 00000000000..3451e4aa4c6 --- /dev/null +++ b/package/pistache/0003-Add-missing-cstdint-header-include-1142.patch @@ -0,0 +1,23 @@ +From dabe9fcd3eaaa6b0b8723369b2565778341630c0 Mon Sep 17 00:00:00 2001 +From: a-andre <13609565+a-andre@users.noreply.github.com> +Date: Thu, 29 Jun 2023 16:34:11 +0200 +Subject: [PATCH] Add missing cstdint header include (#1142) + +Upstream: https://github.com/pistacheio/pistache/commit/dabe9fcd3eaaa6b0b8723369b2565778341630c0 +Signed-off-by: Fabrice Fontaine +--- + include/pistache/flags.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/pistache/flags.h b/include/pistache/flags.h +index 9be2b32bb..6adcc74bc 100644 +--- a/include/pistache/flags.h ++++ b/include/pistache/flags.h +@@ -13,6 +13,7 @@ + #pragma once + + #include ++#include + #include + #include + diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk index 6e6d787d27e..37eb974c46c 100644 --- a/package/pixman/pixman.mk +++ b/package/pixman/pixman.mk @@ -24,6 +24,13 @@ PIXMAN_CONF_OPTS = \ --disable-loongson-mmi \ --disable-arm-iwmmxt +# Affects only tests, and we don't build tests (see +# 0001-Disable-tests.patch). See +# https://gitlab.freedesktop.org/pixman/pixman/-/issues/76, which says +# "not sure why NVD keeps assigning CVEs like this. This is just a +# test executable". +PIXMAN_IGNORE_CVES += CVE-2023-37769 + # The ARM SIMD code from pixman requires a recent enough ARM core, but # there is a runtime CPU check that makes sure it doesn't get used if # the HW doesn't support it. The only case where the ARM SIMD code diff --git a/package/pkcs11-helper/0001-openssl-libressl-3-5-0-does-not-have-DSA_meth_set1_name.patch b/package/pkcs11-helper/0001-openssl-libressl-3-5-0-does-not-have-DSA_meth_set1_name.patch deleted file mode 100644 index 21ce66ae793..00000000000 --- a/package/pkcs11-helper/0001-openssl-libressl-3-5-0-does-not-have-DSA_meth_set1_name.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 17d10b0dfb2b56a047db307687640adcd560e199 Mon Sep 17 00:00:00 2001 -From: Alon Bar-Lev -Date: Mon, 2 May 2022 21:26:58 +0300 -Subject: [PATCH] openssl: libressl-3.5.0 does not have DSA_meth_set1_name - -while it does not expose the DSA_METHOD structure. - -[Retrieved (and updated to remove ChangeLog update) from: -https://github.com/OpenSC/pkcs11-helper/commit/17d10b0dfb2b56a047db307687640adcd560e199] -Signed-off-by: Fabrice Fontaine ---- - ChangeLog | 1 + - configure.ac | 16 ++++++++++++++++ - lib/pkcs11h-openssl.c | 4 ++++ - 3 files changed, 21 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 716bb8d8..57697a3b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -300,7 +300,9 @@ if test "${have_openssl}" = "no"; then - fi - - if test "${have_openssl}" = "yes"; then -+ old_CFLAGS="${CFLAGS}" - old_LIBS="${LIBS}" -+ CFLAGS="${CFLAGS} ${OPENSSL_CFLAGS}" - LIBS="${LIBS} ${OPENSSL_LIBS}" - AC_CHECK_FUNCS([ \ - RSA_meth_dup RSA_meth_free \ -@@ -344,6 +346,20 @@ if test "${have_openssl}" = "yes"; then - ) - AC_MSG_CHECKING([for OpenSSL ec support]) - AC_MSG_RESULT([${openssl_ec}]) -+ # https://github.com/OpenSC/pkcs11-helper/pull/55 -+ AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM( -+ [[#include ]], -+ [[ -+ int foo() { -+ DSA_METHOD *meth = NULL; -+ sizeof(meth->name); -+ } -+ ]] -+ )], -+ [AC_DEFINE([HAVE_DSA_METHOD_NAME], [1], [Have DSA_METHOD->name])] -+ ) -+ CFLAGS="${old_CFLAGS}" - LIBS="${old_LIBS}" - fi - -diff --git a/lib/pkcs11h-openssl.c b/lib/pkcs11h-openssl.c -index 961c955c..38ee8e2d 100644 ---- a/lib/pkcs11h-openssl.c -+++ b/lib/pkcs11h-openssl.c -@@ -235,9 +235,13 @@ DSA_meth_free (DSA_METHOD *meth) - static int - DSA_meth_set1_name (DSA_METHOD *meth, const char *name) - { -+#ifdef HAVE_DSA_METHOD_NAME - CK_RV rv; - rv = _pkcs11h_mem_strdup ((void *)&meth->name, name); - return rv == CKR_OK ? 1 : 0; -+#else -+ return 0; -+#endif - } - #endif - diff --git a/package/pkcs11-helper/pkcs11-helper.hash b/package/pkcs11-helper/pkcs11-helper.hash index 0614e8aed47..bc9cf3478bd 100644 --- a/package/pkcs11-helper/pkcs11-helper.hash +++ b/package/pkcs11-helper/pkcs11-helper.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 996846a3c8395e03d8c0515111dc84d82e6e3648d44ba28cb2dbbbca2d4db7d6 pkcs11-helper-1.29.0.tar.bz2 +sha256 4c5815ba910cabf26df08d449ca2909daf4538c9899aa7f7fadc61229d3488a9 pkcs11-helper-1.30.0.tar.bz2 sha256 808705ac1daafe07a76431929575c5712a8693977a39ec9102aed25f030754d9 COPYING sha256 865496cf23a6c792739ff2f9ea11e95ac99db89cfe3780a295b4e1495a9c19fe COPYING.BSD sha256 cd2e7d63a11058f19c58b06fb8c759140ce70788369dce6e6e9db40d3475021e COPYING.GPL diff --git a/package/pkcs11-helper/pkcs11-helper.mk b/package/pkcs11-helper/pkcs11-helper.mk index d1a1e38d4e8..de192493eae 100644 --- a/package/pkcs11-helper/pkcs11-helper.mk +++ b/package/pkcs11-helper/pkcs11-helper.mk @@ -4,15 +4,13 @@ # ################################################################################ -PKCS11_HELPER_VERSION = 1.29.0 +PKCS11_HELPER_VERSION = 1.30.0 PKCS11_HELPER_SOURCE = pkcs11-helper-$(PKCS11_HELPER_VERSION).tar.bz2 PKCS11_HELPER_SITE = https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-$(PKCS11_HELPER_VERSION) PKCS11_HELPER_LICENSE = GPL-2.0 or BSD-3-Clause PKCS11_HELPER_LICENSE_FILES = COPYING COPYING.BSD COPYING.GPL PKCS11_HELPER_DEPENDENCIES = host-pkgconf PKCS11_HELPER_INSTALL_STAGING = YES -# We're patching configure.ac -PKCS11_HELPER_AUTORECONF = YES PKCS11_HELPER_CONF_OPTS = \ --disable-crypto-engine-polarssl \ diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index 717ff815938..f17186dfe42 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -87,14 +87,6 @@ define CONFIGURE_FIX_POWERPC64_HOOK support/scripts/fix-configure-powerpc64.sh $($(PKG)_DIR) endef -# -# Hook to gettextize the package if needed -# -define GETTEXTIZE_HOOK - @$(call MESSAGE,"Gettextizing") - $(Q)cd $($(PKG)_SRCDIR) && $(GETTEXTIZE) $($(PKG)_GETTEXTIZE_OPTS) -endef - # # Hook to autoreconf the package if needed # @@ -144,17 +136,14 @@ ifndef $(2)_AUTORECONF endif endif -ifndef $(2)_GETTEXTIZE - ifdef $(3)_GETTEXTIZE - $(2)_GETTEXTIZE = $$($(3)_GETTEXTIZE) +ifndef $(2)_AUTOPOINT + ifdef $(3)_AUTOPOINT + $(2)_AUTOPOINT = $$($(3)_AUTOPOINT) else - $(2)_GETTEXTIZE ?= NO + $(2)_AUTOPOINT ?= NO endif endif -ifeq ($(4),host) - $(2)_GETTEXTIZE_OPTS ?= $$($(3)_GETTEXTIZE_OPTS) -endif ifeq ($(4),host) $(2)_AUTORECONF_OPTS ?= $$($(3)_AUTORECONF_OPTS) @@ -240,10 +229,12 @@ $(2)_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK ifeq ($$($(2)_AUTORECONF),YES) -# This has to come before autoreconf -ifeq ($$($(2)_GETTEXTIZE),YES) -$(2)_PRE_CONFIGURE_HOOKS += GETTEXTIZE_HOOK +# autopoint is provided by gettext +ifeq ($$($(2)_AUTOPOINT),YES) $(2)_DEPENDENCIES += host-gettext +$(2)_AUTORECONF_ENV += AUTOPOINT=$$(HOST_DIR)/bin/autopoint +else +$(2)_AUTORECONF_ENV += AUTOPOINT=/bin/true endif $(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK # default values are not evaluated yet, so don't rely on this defaulting to YES diff --git a/package/pkg-cargo.mk b/package/pkg-cargo.mk index 666c5ac9718..47ce68bf021 100644 --- a/package/pkg-cargo.mk +++ b/package/pkg-cargo.mk @@ -34,7 +34,10 @@ PKG_COMMON_CARGO_ENV = \ # using nighly features on stable releases, i.e features that are not # yet considered stable. # -# CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" "enables the nightly +# CARGO_UNSTABLE_HOST_CONFIG="true" enables the host specific +# configuration feature +# +# CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" enables the nightly # configuration option target-applies-to-host value to be set # # CARGO_TARGET_APPLIES_TO_HOST="false" is actually setting the value @@ -43,21 +46,125 @@ PKG_COMMON_CARGO_ENV = \ PKG_CARGO_ENV = \ $(PKG_COMMON_CARGO_ENV) \ __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" \ + CARGO_UNSTABLE_HOST_CONFIG="true" \ CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" \ CARGO_TARGET_APPLIES_TO_HOST="false" \ CARGO_BUILD_TARGET="$(RUSTC_TARGET_NAME)" \ + CARGO_HOST_RUSTFLAGS="$(addprefix -C link-args=,$(HOST_LDFLAGS))" \ CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER=$(notdir $(TARGET_CROSS))gcc +# We always set both CARGO_PROFILE_DEV and CARGO_PROFILE_RELEASE +# as we are unable to select a build profile using the environment. +# +# Other cargo profiles generally derive from these two profiles. + +# Disable incremental compilation to match release default. +# +# Set codegen-units to release default. +# +# Set split-debuginfo to default off for ELF platforms. +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_INCREMENTAL="false" \ + CARGO_PROFILE_RELEASE_INCREMENTAL="false" \ + CARGO_PROFILE_DEV_CODEGEN_UNITS="16" \ + CARGO_PROFILE_RELEASE_CODEGEN_UNITS="16" \ + CARGO_PROFILE_DEV_SPLIT_DEBUGINFO="off" \ + CARGO_PROFILE_RELEASE_SPLIT_DEBUGINFO="off" + +# Set the optimization level with the release default as fallback. +ifeq ($(BR2_OPTIMIZE_0),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="0" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="0" +else ifeq ($(BR2_OPTIMIZE_1),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="1" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="1" +else ifeq ($(BR2_OPTIMIZE_2),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="2" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="2" +else ifeq ($(BR2_OPTIMIZE_3),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="3" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="3" +else ifeq ($(BR2_OPTIMIZE_G),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="0" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="0" +else ifeq ($(BR2_OPTIMIZE_S),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="s" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="s" +else ifeq ($(BR2_OPTIMIZE_FAST),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="3" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="3" +else +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_OPT_LEVEL="3" \ + CARGO_PROFILE_RELEASE_OPT_LEVEL="3" +endif + +ifeq ($(BR2_ENABLE_LTO),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_LTO="true" \ + CARGO_PROFILE_RELEASE_LTO="true" +else +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_LTO="false" \ + CARGO_PROFILE_RELEASE_LTO="false" +endif + + +ifeq ($(BR2_ENABLE_DEBUG),y) +ifeq ($(BR2_DEBUG_3),y) +# full debug info +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_DEBUG="2" \ + CARGO_PROFILE_RELEASE_DEBUG="2" +else +# line tables only +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_DEBUG="1" \ + CARGO_PROFILE_RELEASE_DEBUG="1" +endif +else +# no debug info +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_DEBUG="0" \ + CARGO_PROFILE_RELEASE_DEBUG="0" +endif + +# Enabling debug-assertions enables the runtime debug_assert! macro. +# +# Enabling overflow-checks enables runtime panic on integer overflow. +ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_DEBUG_ASSERTIONS="true" \ + CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS="true" \ + CARGO_PROFILE_DEV_OVERFLOW_CHECKS="true" \ + CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS="true" +else +PKG_CARGO_ENV += \ + CARGO_PROFILE_DEV_DEBUG_ASSERTIONS="false" \ + CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS="false" \ + CARGO_PROFILE_DEV_OVERFLOW_CHECKS="false" \ + CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS="false" +endif + # # This is a workaround for https://github.com/rust-lang/compiler-builtins/issues/420 # and should be removed when fixed upstream # ifeq ($(NORMALIZED_ARCH),arm) - PKG_CARGO_ENV += RUSTFLAGS="-Clink-arg=-Wl,--allow-multiple-definition" + PKG_CARGO_ENV += \ + CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_RUSTFLAGS="-Clink-arg=-Wl,--allow-multiple-definition" endif HOST_PKG_CARGO_ENV = \ - $(PKG_COMMON_CARGO_ENV) + $(PKG_COMMON_CARGO_ENV) \ + RUSTFLAGS="$(addprefix -C link-args=,$(HOST_LDFLAGS))" ################################################################################ # inner-cargo-package -- defines how the configuration, compilation and @@ -88,9 +195,22 @@ ifneq ($$($(2)_SUBDIR),) $(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(2)_SUBDIR)/Cargo.toml endif +# Because we append vendored info, we can't rely on the values being empty +# once we eventually get into the generic-package infra. So, we duplicate +# the heuristics here +ifndef $(2)_LICENSE + ifdef $(3)_LICENSE + $(2)_LICENSE = $$($(3)_LICENSE) + endif +endif + # Due to vendoring, it is pretty likely that not all licenses are -# listed in _LICENSE. +# listed in _LICENSE. If the license is unset, it is "unknown" +# so adding unknowns to some unknown is still some other unkown, +# so don't append the blurb in that case. +ifneq ($$($(2)_LICENSE),) $(2)_LICENSE += , vendored dependencies licenses probably not listed +endif # Note: in all the steps below, we "cd" into the build directory to # execute the "cargo" tool instead of passing $(@D)/Cargo.toml as the @@ -130,7 +250,6 @@ else # ifeq ($(4),target) define $(2)_BUILD_CMDS cd $$($$(PKG)_SRCDIR) && \ $$(HOST_MAKE_ENV) \ - RUSTFLAGS="$$(addprefix -C link-args=,$$(HOST_LDFLAGS))" \ $$(HOST_CONFIGURE_OPTS) \ $$(HOST_PKG_CARGO_ENV) \ $$($(2)_CARGO_ENV) \ @@ -171,7 +290,6 @@ ifndef $(2)_INSTALL_CMDS define $(2)_INSTALL_CMDS cd $$($$(PKG)_SRCDIR) && \ $$(HOST_MAKE_ENV) \ - RUSTFLAGS="$$(addprefix -C link-args=,$$(HOST_LDFLAGS))" \ $$(HOST_CONFIGURE_OPTS) \ $$(HOST_PKG_CARGO_ENV) \ $$($(2)_CARGO_ENV) \ diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 8c375779cb6..8f391eb4c92 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -51,13 +51,10 @@ endif define inner-cmake-package -$(2)_MAKE ?= $$(MAKE) -$(2)_INSTALL_OPTS ?= install -$(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install/fast -$(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install/fast - $(3)_SUPPORTS_IN_SOURCE_BUILD ?= YES +# The default backend, unless specified by the package +$(3)_CMAKE_BACKEND ?= make ifeq ($$($(3)_SUPPORTS_IN_SOURCE_BUILD),YES) $(2)_BUILDDIR = $$($(2)_SRCDIR) @@ -65,6 +62,24 @@ else $(2)_BUILDDIR = $$($(2)_SRCDIR)/buildroot-build endif +ifeq ($$($(3)_CMAKE_BACKEND),make) +$(2)_GENERATOR = "Unix Makefiles" +# $$(MAKE) can be 'make -jN', we just want 'make' (possibly with a full path) +$(2)_GENERATOR_PROGRAM = $$(firstword $$(MAKE)) +# Generator specific code (make) should be avoided, +# but for now, copy them to the new variables. +$(2)_BUILD_ENV ?= $$($(2)_MAKE_ENV) +$(2)_BUILD_OPTS ?= -- $$($(2)_MAKE_OPTS) + +else ifeq ($$($(3)_CMAKE_BACKEND),ninja) +$(2)_DEPENDENCIES += host-ninja +$(2)_GENERATOR = "Ninja" +$(2)_GENERATOR_PROGRAM = $$(HOST_DIR)/bin/ninja + +else +$$(error Unsupported cmake backend "$$($(3)_CMAKE_BACKEND)") +endif + # # Configure step. Only define it if not already defined by the package # .mk file. And take care of the differences between host and target @@ -88,7 +103,8 @@ define $(2)_CONFIGURE_CMDS rm -f CMakeCache.txt && \ PATH=$$(BR_PATH) \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ - -G"Unix Makefiles" \ + -G$$($$(PKG)_GENERATOR) \ + -DCMAKE_MAKE_PROGRAM="$$($$(PKG)_GENERATOR_PROGRAM)" \ -DCMAKE_TOOLCHAIN_FILE="$$(HOST_DIR)/share/buildroot/toolchainfile.cmake" \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_INSTALL_RUNSTATEDIR="/run" \ @@ -119,7 +135,8 @@ define $(2)_CONFIGURE_CMDS PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ - -G"Unix Makefiles" \ + -G$$($$(PKG)_GENERATOR) \ + -DCMAKE_MAKE_PROGRAM="$$($$(PKG)_GENERATOR_PROGRAM)" \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ -DCMAKE_FIND_ROOT_PATH="$$(HOST_DIR)" \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" \ @@ -166,11 +183,11 @@ $(2)_DEPENDENCIES += $(BR2_CMAKE_HOST_DEPENDENCY) ifndef $(2)_BUILD_CMDS ifeq ($(4),target) define $(2)_BUILD_CMDS - $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPTS) -C $$($$(PKG)_BUILDDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_BUILD_ENV) $$(BR2_CMAKE) --build $$($$(PKG)_BUILDDIR) -j$(PARALLEL_JOBS) $$($$(PKG)_BUILD_OPTS) endef else define $(2)_BUILD_CMDS - $$(HOST_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPTS) -C $$($$(PKG)_BUILDDIR) + $$(HOST_MAKE_ENV) $$($$(PKG)_BUILD_ENV) $$(BR2_CMAKE) --build $$($$(PKG)_BUILDDIR) -j$(PARALLEL_JOBS) $$($$(PKG)_BUILD_OPTS) endef endif endif @@ -181,7 +198,7 @@ endif # ifndef $(2)_INSTALL_CMDS define $(2)_INSTALL_CMDS - $$(HOST_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPTS) $$($$(PKG)_INSTALL_OPTS) -C $$($$(PKG)_BUILDDIR) + $$(HOST_MAKE_ENV) $$($$(PKG)_BUILD_ENV) $$(BR2_CMAKE) --install $$($$(PKG)_BUILDDIR) $$($$(PKG)_INSTALL_OPTS) endef endif @@ -191,7 +208,7 @@ endif # ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS - $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPTS) $$($$(PKG)_INSTALL_STAGING_OPTS) -C $$($$(PKG)_BUILDDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_BUILD_ENV) DESTDIR=$$(STAGING_DIR) $$(BR2_CMAKE) --install $$($$(PKG)_BUILDDIR) $$($$(PKG)_INSTALL_STAGING_OPTS) endef endif @@ -201,7 +218,7 @@ endif # ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_MAKE_OPTS) $$($$(PKG)_INSTALL_TARGET_OPTS) -C $$($$(PKG)_BUILDDIR) + $$(TARGET_MAKE_ENV) $$($$(PKG)_BUILD_ENV) DESTDIR=$$(TARGET_DIR) $$(BR2_CMAKE) --install $$($$(PKG)_BUILDDIR) $$($$(PKG)_INSTALL_TARGET_OPTS) endef endif diff --git a/package/pkg-download.mk b/package/pkg-download.mk index 0718f21aad2..677d3608f5f 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -21,7 +21,7 @@ export LOCALFILES := $(call qstrip,$(BR2_LOCALFILES)) # Version of the format of the archives we generate in the corresponding # download backend: BR_FMT_VERSION_git = -br1 -BR_FMT_VERSION_svn = -br2 +BR_FMT_VERSION_svn = -br3 DL_WRAPPER = support/download/dl-wrapper @@ -66,9 +66,7 @@ github = https://github.com/$(1)/$(2)/archive/$(3) gitlab = https://gitlab.com/$(1)/$(2)/-/archive/$(3) # Expressly do not check hashes for those files -# Exported variables default to immediately expanded in some versions of -# make, but we need it to be recursively-epxanded, so explicitly assign it. -export BR_NO_CHECK_HASH_FOR = +BR_NO_CHECK_HASH_FOR = ################################################################################ # DOWNLOAD_URIS - List the candidates URIs where to get the package from: @@ -110,15 +108,17 @@ endif define DOWNLOAD $(Q)mkdir -p $($(2)_DL_DIR) $(Q)$(EXTRA_ENV) $($(2)_DL_ENV) \ + BR_NO_CHECK_HASH_FOR="$(if $(BR2_DOWNLOAD_FORCE_CHECK_HASHES),,$(BR_NO_CHECK_HASH_FOR))" \ flock $($(2)_DL_DIR)/.lock $(DL_WRAPPER) \ -c '$($(2)_DL_VERSION)' \ -d '$($(2)_DL_DIR)' \ -D '$(DL_DIR)' \ -f '$(notdir $(1))' \ - -H '$($(2)_HASH_FILE)' \ - -n '$($(2)_BASENAME_RAW)' \ + $(foreach f,$($(2)_HASH_FILES),-H '$(f)') \ + -n '$($(2)_DL_SUBDIR)-$($(2)_VERSION)' \ -N '$($(2)_RAWNAME)' \ -o '$($(2)_DL_DIR)/$(notdir $(1))' \ + $(if $(filter YES,$($(2)_SVN_EXTERNALS)),-r) \ $(if $($(2)_GIT_SUBMODULES),-r) \ $(if $($(2)_GIT_LFS),-l) \ $(foreach uri,$(call DOWNLOAD_URIS,$(1),$(2)),-u $(uri)) \ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index f24e03a325a..a2749320c3c 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -92,18 +92,8 @@ endif ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) -# Ensure files like .la, .pc, .pri, .cmake, and so on, point to the -# proper staging and host directories for the current package: find -# all text files that contain the PPD root, and replace it with the -# current package's PPD. define PPD_FIXUP_PATHS - $(Q)grep --binary-files=without-match -lrZ '$(PER_PACKAGE_DIR)/[^/]\+/' $(HOST_DIR) \ - |while read -d '' f; do \ - file -b --mime-type "$${f}" | grep -q '^text/' || continue; \ - printf '%s\0' "$${f}"; \ - done \ - |xargs -0 --no-run-if-empty \ - $(SED) 's:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/:g' + $(call ppd-fixup-paths,$(PER_PACKAGE_DIR)/$($(PKG)_NAME)) endef # Remove python's pre-compiled "sysconfigdata", as it may contain paths to @@ -252,9 +242,9 @@ $(BUILD_DIR)/%/.stamp_patched: for D in $(PATCH_BASE_DIRS); do \ if test -d $${D}; then \ if test -d $${D}/$($(PKG)_VERSION); then \ - $(APPLY_PATCHES) $(@D) $${D}/$($(PKG)_VERSION) \*.patch \*.patch.$(ARCH) || exit 1; \ + $(APPLY_PATCHES) $(@D) $${D}/$($(PKG)_VERSION) \*.patch || exit 1; \ else \ - $(APPLY_PATCHES) $(@D) $${D} \*.patch \*.patch.$(ARCH) || exit 1; \ + $(APPLY_PATCHES) $(@D) $${D} \*.patch || exit 1; \ fi; \ fi; \ done; \ @@ -519,11 +509,15 @@ else endif $(2)_VERSION := $$(call sanitize,$$($(2)_DL_VERSION)) -$(2)_HASH_FILE = \ +$(2)_HASH_FILES = \ $$(strip \ - $$(if $$(wildcard $$($(2)_PKGDIR)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash),\ - $$($(2)_PKGDIR)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash,\ - $$($(2)_PKGDIR)/$$($(2)_RAWNAME).hash)) + $$(foreach d, $$($(2)_PKGDIR) $$(addsuffix /$$($(2)_RAWNAME), $$(call qstrip,$$(BR2_GLOBAL_PATCH_DIR))),\ + $$(if $$(wildcard $$(d)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash),\ + $$(d)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash,\ + $$(d)/$$($(2)_RAWNAME).hash\ + )\ + )\ + ) ifdef $(3)_OVERRIDE_SRCDIR $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR) @@ -531,7 +525,6 @@ endif $(2)_BASENAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) $(2)_BASENAME_RAW = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) -$(2)_DL_SUBDIR ?= $$($(2)_RAWNAME) $(2)_DL_DIR = $$(DL_DIR)/$$($(2)_DL_SUBDIR) $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASENAME) @@ -544,6 +537,8 @@ endif ifndef $(2)_DL_SUBDIR ifdef $(3)_DL_SUBDIR $(2)_DL_SUBDIR = $$($(3)_DL_SUBDIR) + else + $(2)_DL_SUBDIR = $$($(2)_RAWNAME) endif endif @@ -643,6 +638,12 @@ ifndef $(2)_GIT_SUBMODULES endif endif +ifndef $(2)_SVN_EXTERNALS + ifdef $(3)_SVN_EXTERNALS + $(2)_SVN_EXTERNALS = $$($(3)_SVN_EXTERNALS) + endif +endif + # Do not accept to download git submodule if not using the git method ifneq ($$($(2)_GIT_SUBMODULES),) ifneq ($$($(2)_SITE_METHOD),git) @@ -792,7 +793,7 @@ $(2)_EXTRACT_DEPENDENCIES += \ endif ifeq ($$(BR2_CCACHE),y) -ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate host-ccache,$(1)),) +ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate host-ccache host-cmake host-hiredis host-pkgconf host-zstd,$(1)),) $(2)_DEPENDENCIES += host-ccache endif endif @@ -1057,17 +1058,17 @@ endif rm -f $$($(2)_TARGET_INSTALL_IMAGES) rm -f $$($(2)_TARGET_INSTALL_HOST) -$(1)-reinstall: $(1)-clean-for-reinstall $(1) +$(1)-reinstall: $(1)-clean-for-reinstall .WAIT $(1) $(1)-clean-for-rebuild: $(1)-clean-for-reinstall rm -f $$($(2)_TARGET_BUILD) -$(1)-rebuild: $(1)-clean-for-rebuild $(1) +$(1)-rebuild: $(1)-clean-for-rebuild .WAIT $(1) $(1)-clean-for-reconfigure: $(1)-clean-for-rebuild rm -f $$($(2)_TARGET_CONFIGURE) -$(1)-reconfigure: $(1)-clean-for-reconfigure $(1) +$(1)-reconfigure: $(1)-clean-for-reconfigure .WAIT $(1) # define the PKG variable for all targets, containing the # uppercase package variable prefix @@ -1142,9 +1143,10 @@ ifneq ($$(call qstrip,$$($(2)_SOURCE)),) ifeq ($$(call qstrip,$$($(2)_LICENSE_FILES)),) $(Q)$$(call legal-warning-pkg,$$($(2)_BASENAME_RAW),cannot save license ($(2)_LICENSE_FILES not defined)) else - $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_BASENAME_RAW),$$($(2)_HASH_FILE),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) + $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$(call UPPERCASE,$(4)),$$($(2)_RAWNAME),$$($(2)_BASENAME_RAW),$$(F),$$($(2)_DIR)/$$(F),$$($(2)_HASH_FILES))$$(sep)) endif # license files +ifeq ($$($(2)_REDISTRIBUTE),YES) ifeq ($$($(2)_SITE_METHOD),local) # Packages without a tarball: don't save and warn @$$(call legal-warning-nosource,$$($(2)_RAWNAME),local) @@ -1155,7 +1157,6 @@ else ifneq ($$($(2)_OVERRIDE_SRCDIR),) else # Other packages -ifeq ($$($(2)_REDISTRIBUTE),YES) # Save the source tarball and any extra downloads, but not # patches, as they are handled specially afterwards. $$(foreach e,$$($(2)_ACTUAL_SOURCE_TARBALL) $$(notdir $$($(2)_EXTRA_DOWNLOADS)),\ @@ -1169,9 +1170,9 @@ ifeq ($$($(2)_REDISTRIBUTE),YES) $$($(2)_REDIST_SOURCES_DIR) || exit 1; \ printf "%s\n" "$$$${f##*/}" >>$$($(2)_REDIST_SOURCES_DIR)/series || exit 1; \ done <$$($(2)_DIR)/.applied_patches_list -endif # redistribute - endif # other packages + +endif # redistribute @$$(call legal-manifest,$$(call UPPERCASE,$(4)),$$($(2)_RAWNAME),$$($(2)_VERSION),$$(subst $$(space)$$(comma),$$(comma),$$($(2)_LICENSE)),$$($(2)_MANIFEST_LICENSE_FILES),$$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_ACTUAL_SOURCE_SITE),$$(call legal-deps,$(1))) endif # ifneq ($$(call qstrip,$$($(2)_SOURCE)),) $$(foreach hook,$$($(2)_POST_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep)) @@ -1182,10 +1183,12 @@ ifeq ($$($$($(2)_KCONFIG_VAR)),y) # Ensure the calling package is the declared provider for all the virtual # packages it claims to be an implementation of. +ifeq ($(BR_BUILDING),y) ifneq ($$($(2)_PROVIDES),) $$(foreach pkg,$$($(2)_PROVIDES),\ $$(eval $$(call virt-provides-single,$$(pkg),$$(call UPPERCASE,$$(pkg)),$(1))$$(sep))) endif +endif # Register package as a reverse-dependencies of all its dependencies $$(eval $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),\ @@ -1200,12 +1203,13 @@ $(eval $(call check-deprecated-variable,$(2)_MAKE_OPT,$(2)_MAKE_OPTS)) $(eval $(call check-deprecated-variable,$(2)_INSTALL_OPT,$(2)_INSTALL_OPTS)) $(eval $(call check-deprecated-variable,$(2)_INSTALL_TARGET_OPT,$(2)_INSTALL_TARGET_OPTS)) $(eval $(call check-deprecated-variable,$(2)_INSTALL_STAGING_OPT,$(2)_INSTALL_STAGING_OPTS)) -$(eval $(call check-deprecated-variable,$(2)_INSTALL_HOST_OPT,$(2)_INSTALL_HOST_OPTS)) +$(eval $(call check-deprecated-variable,$(2)_INSTALL_HOST_OPT,$(2)_INSTALL_OPTS)) +$(eval $(call check-deprecated-variable,$(2)_INSTALL_HOST_OPTS,$(2)_INSTALL_OPTS)) $(eval $(call check-deprecated-variable,$(2)_AUTORECONF_OPT,$(2)_AUTORECONF_OPTS)) $(eval $(call check-deprecated-variable,$(2)_CONF_OPT,$(2)_CONF_OPTS)) $(eval $(call check-deprecated-variable,$(2)_BUILD_OPT,$(2)_BUILD_OPTS)) -$(eval $(call check-deprecated-variable,$(2)_GETTEXTIZE_OPT,$(2)_GETTEXTIZE_OPTS)) $(eval $(call check-deprecated-variable,$(2)_KCONFIG_OPT,$(2)_KCONFIG_OPTS)) +$(eval $(call check-deprecated-variable,$(2)_GETTEXTIZE,$(2)_AUTOPOINT)) PACKAGES += $(1) @@ -1228,8 +1232,11 @@ KEEP_PYTHON_PY_FILES += $$($(2)_KEEP_PY_FILES) ifneq ($$($(2)_SELINUX_MODULES),) PACKAGES_SELINUX_MODULES += $$($(2)_SELINUX_MODULES) endif + +ifeq ($(BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION),y) PACKAGES_SELINUX_EXTRA_MODULES_DIRS += \ $$(if $$(wildcard $$($(2)_PKGDIR)/selinux),$$($(2)_PKGDIR)/selinux) +endif ifeq ($$($(2)_SITE_METHOD),svn) DL_TOOLS_DEPENDENCIES += svn @@ -1248,6 +1255,13 @@ else ifeq ($$($(2)_SITE_METHOD),cvs) DL_TOOLS_DEPENDENCIES += cvs endif # SITE_METHOD +# cargo/go vendoring (may) need git +ifeq ($$($(2)_DOWNLOAD_POST_PROCESS),cargo) +DL_TOOLS_DEPENDENCIES += git +else ifeq ($$($(2)_DOWNLOAD_POST_PROCESS),go) +DL_TOOLS_DEPENDENCIES += git +endif + DL_TOOLS_DEPENDENCIES += $$(call extractor-system-dependency,$$($(2)_SOURCE)) # Ensure all virtual targets are PHONY. Listed alphabetically. diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk index cdc67b32c03..8e27602d411 100644 --- a/package/pkg-golang.mk +++ b/package/pkg-golang.mk @@ -45,7 +45,8 @@ $(2)_BUILD_OPTS += \ -modcacherw \ -tags "$$($(2)_TAGS)" \ -trimpath \ - -p $$(PARALLEL_JOBS) + -p $$(PARALLEL_JOBS) \ + -buildvcs=false # Target packages need the Go compiler on the host at download time (for # vendoring), and at build and install time. @@ -90,9 +91,22 @@ $(2)_DL_ENV += \ GOPROXY=direct \ $$($(2)_GO_ENV) +# Because we append vendored info, we can't rely on the values being empty +# once we eventually get into the generic-package infra. So, we duplicate +# the heuristics here +ifndef $(2)_LICENSE + ifdef $(3)_LICENSE + $(2)_LICENSE = $$($(3)_LICENSE) + endif +endif + # Due to vendoring, it is pretty likely that not all licenses are -# listed in _LICENSE. +# listed in _LICENSE. If the license is unset, it is "unknown" +# so adding unknowns to some unknown is still some other unkown, +# so don't append the blurb in that case. +ifneq ($$($(2)_LICENSE),) $(2)_LICENSE += , vendored dependencies licenses probably not listed +endif # Build step. Only define it if not already defined by the package .mk # file. @@ -101,6 +115,7 @@ ifeq ($(4),target) ifeq ($(BR2_STATIC_LIBS),y) $(2)_LDFLAGS += -extldflags '-static' +$(2)_TAGS += osusergo netgo endif # Build package for target diff --git a/package/pkg-kernel-module.mk b/package/pkg-kernel-module.mk index fcd6b8bc291..4f64a73f117 100644 --- a/package/pkg-kernel-module.mk +++ b/package/pkg-kernel-module.mk @@ -50,11 +50,13 @@ LINUX_NEEDS_MODULES = y endif # The kernel must be built first. -$(2)_DEPENDENCIES += linux +$(2)_DEPENDENCIES += \ + linux \ + $$(BR2_MAKE_HOST_DEPENDENCY) # This is only defined in some infrastructures (e.g. autotools, cmake), # but not in others (e.g. generic). So define it here as well. -$(2)_MAKE ?= $$(MAKE) +$(2)_MAKE ?= $$(BR2_MAKE) # If not specified, consider the source of the kernel module to be at # the root of the package. diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk index 4aa6e44afa1..65cabf23bae 100644 --- a/package/pkg-meson.mk +++ b/package/pkg-meson.mk @@ -156,6 +156,7 @@ define $(2)_CONFIGURE_CMDS --buildtype=$(if $(BR2_ENABLE_RUNTIME_DEBUG),debug,release) \ --cross-file=$$($$(PKG)_SRCDIR)/build/cross-compilation.conf \ -Db_pie=false \ + -Db_staticpic=$(if $(BR2_m68k_cf),false,true) \ -Dstrip=false \ -Dbuild.pkg_config_path=$$(HOST_DIR)/lib/pkgconfig \ -Dbuild.cmake_prefix_path=$$(HOST_DIR)/lib/cmake \ diff --git a/package/pkg-python.mk b/package/pkg-python.mk index c15a168f607..94f28ff8411 100644 --- a/package/pkg-python.mk +++ b/package/pkg-python.mk @@ -52,83 +52,98 @@ HOST_PKG_PYTHON_ENV = \ PYTHONNOUSERSITE=1 \ $(HOST_CONFIGURE_OPTS) -# Target distutils-based packages -PKG_PYTHON_DISTUTILS_ENV = \ - $(PKG_PYTHON_ENV) \ - LDSHARED="$(TARGET_CROSS)gcc -shared" \ - SETUPTOOLS_USE_DISTUTILS=stdlib \ - -PKG_PYTHON_DISTUTILS_BUILD_OPTS = \ - --executable=/usr/bin/python - -PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ - --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ - --prefix=/usr - -PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS = \ - $(PKG_PYTHON_DISTUTILS_INSTALL_OPTS) \ - --root=$(TARGET_DIR) - -PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS = \ - $(PKG_PYTHON_DISTUTILS_INSTALL_OPTS) \ - --root=$(STAGING_DIR) - -# Host distutils-based packages -HOST_PKG_PYTHON_DISTUTILS_ENV = \ - $(HOST_PKG_PYTHON_ENV) \ - SETUPTOOLS_USE_DISTUTILS=stdlib - -HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS = \ - --prefix=$(HOST_DIR) - # Target setuptools-based packages PKG_PYTHON_SETUPTOOLS_ENV = \ - $(PKG_PYTHON_ENV) \ - SETUPTOOLS_USE_DISTUTILS=stdlib + $(PKG_PYTHON_ENV) PKG_PYTHON_SETUPTOOLS_CMD = \ $(if $(wildcard $($(PKG)_BUILDDIR)/setup.py),setup.py,-c 'from setuptools import setup;setup()') +PKG_PYTHON_SETUPTOOLS_BUILD_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_CMD) build + PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ --install-headers=/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed -PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS = \ +PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_CMD) \ + install --no-compile \ $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ --root=$(TARGET_DIR) -PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ +PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_CMD) \ + install \ $(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \ --root=$(STAGING_DIR) # Host setuptools-based packages HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ - $(HOST_PKG_PYTHON_ENV) \ - SETUPTOOLS_USE_DISTUTILS=stdlib + $(HOST_PKG_PYTHON_ENV) + +HOST_PKG_PYTHON_SETUPTOOLS_BUILD_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_CMD) build -HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ +HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_CMD) \ + install \ --prefix=$(HOST_DIR) \ --root=/ \ --single-version-externally-managed +# Target setuptools-rust-based packages +PKG_PYTHON_SETUPTOOLS_RUST_ENV = \ + $(PKG_PYTHON_SETUPTOOLS_ENV) \ + $(PKG_CARGO_ENV) \ + PYO3_CROSS_LIB_DIR="$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)" + +PKG_PYTHON_SETUPTOOLS_RUST_BUILD_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_BUILD_CMD) + +PKG_PYTHON_SETUPTOOLS_RUST_INSTALL_TARGET_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_CMD) + +PKG_PYTHON_SETUPTOOLS_RUST_INSTALL_STAGING_CMD = \ + $(PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_CMD) + +# Host setuptools-rust-based packages +HOST_PKG_PYTHON_SETUPTOOLS_RUST_ENV = \ + $(HOST_PKG_PYTHON_SETUPTOOLS_ENV) \ + $(HOST_PKG_CARGO_ENV) \ + PYO3_CROSS_LIB_DIR="$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)" + +HOST_PKG_PYTHON_SETUPTOOLS_RUST_BUILD_CMD = \ + $(HOST_PKG_PYTHON_SETUPTOOLS_BUILD_CMD) + +HOST_PKG_PYTHON_SETUPTOOLS_RUST_INSTALL_CMD = \ + $(HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_CMD) + # Target pep517-based packages PKG_PYTHON_PEP517_ENV = \ $(PKG_PYTHON_ENV) +PKG_PYTHON_PEP517_BUILD_CMD = \ + -m build -n -w + PKG_PYTHON_PEP517_INSTALL_OPTS = \ --interpreter=/usr/bin/python \ --script-kind=posix -PKG_PYTHON_PEP517_INSTALL_TARGET_OPTS = \ +PKG_PYTHON_PEP517_INSTALL_TARGET_CMD = \ + $(TOPDIR)/support/scripts/pyinstaller.py \ + dist/* \ $(PKG_PYTHON_PEP517_INSTALL_OPTS) \ --purelib=$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ --headers=$(TARGET_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ --scripts=$(TARGET_DIR)/usr/bin \ --data=$(TARGET_DIR)/usr -PKG_PYTHON_PEP517_INSTALL_STAGING_OPTS = \ +PKG_PYTHON_PEP517_INSTALL_STAGING_CMD = \ + $(TOPDIR)/support/scripts/pyinstaller.py \ + dist/* \ $(PKG_PYTHON_PEP517_INSTALL_OPTS) \ --purelib=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ --headers=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ @@ -139,7 +154,12 @@ PKG_PYTHON_PEP517_INSTALL_STAGING_OPTS = \ HOST_PKG_PYTHON_PEP517_ENV = \ $(HOST_PKG_PYTHON_ENV) -HOST_PKG_PYTHON_PEP517_INSTALL_OPTS = \ +HOST_PKG_PYTHON_PEP517_BUILD_CMD = \ + -m build -n -w + +HOST_PKG_PYTHON_PEP517_INSTALL_CMD = \ + $(TOPDIR)/support/scripts/pyinstaller.py \ + dist/* \ --interpreter=$(HOST_DIR)/bin/python \ --script-kind=posix \ --purelib=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ @@ -147,8 +167,65 @@ HOST_PKG_PYTHON_PEP517_INSTALL_OPTS = \ --scripts=$(HOST_DIR)/bin \ --data=$(HOST_DIR) -HOST_PKG_PYTHON_PEP517_BOOTSTRAP_INSTALL_OPTS = \ - --installdir=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages +# Target flit packages +PKG_PYTHON_FLIT_ENV = \ + $(PKG_PYTHON_PEP517_ENV) + +PKG_PYTHON_FLIT_BUILD_CMD = \ + $(PKG_PYTHON_PEP517_BUILD_CMD) + +PKG_PYTHON_FLIT_INSTALL_TARGET_CMD = \ + $(PKG_PYTHON_PEP517_INSTALL_TARGET_CMD) + +PKG_PYTHON_FLIT_INSTALL_STAGING_CMD = \ + $(PKG_PYTHON_PEP517_INSTALL_STAGING_CMD) + +# Host flit packages +HOST_PKG_PYTHON_FLIT_ENV = \ + $(HOST_PKG_PYTHON_PEP517_ENV) + +HOST_PKG_PYTHON_FLIT_BUILD_CMD = \ + $(HOST_PKG_PYTHON_PEP517_BUILD_CMD) + +HOST_PKG_PYTHON_FLIT_INSTALL_CMD = \ + $(HOST_PKG_PYTHON_PEP517_INSTALL_CMD) + +# Host flit-bootstrap packages +HOST_PKG_PYTHON_FLIT_BOOTSTRAP_ENV = \ + $(HOST_PKG_PYTHON_PEP517_ENV) + +HOST_PKG_PYTHON_FLIT_BOOTSTRAP_BUILD_CMD = \ + -m flit_core.wheel + +HOST_PKG_PYTHON_FLIT_BOOTSTRAP_INSTALL_CMD = \ + $(HOST_PKG_PYTHON_PEP517_INSTALL_CMD) + +# Target maturin packages +PKG_PYTHON_MATURIN_ENV = \ + $(PKG_PYTHON_PEP517_ENV) \ + $(PKG_CARGO_ENV) \ + PYO3_CROSS_LIB_DIR="$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)" + +PKG_PYTHON_MATURIN_BUILD_CMD = \ + $(PKG_PYTHON_PEP517_BUILD_CMD) + +PKG_PYTHON_MATURIN_INSTALL_TARGET_CMD = \ + $(PKG_PYTHON_PEP517_INSTALL_TARGET_CMD) + +PKG_PYTHON_MATURIN_INSTALL_STAGING_CMD = \ + $(PKG_PYTHON_PEP517_INSTALL_STAGING_CMD) + +# Host maturin packages +HOST_PKG_PYTHON_MATURIN_ENV = \ + $(HOST_PKG_PYTHON_PEP517_ENV) \ + $(HOST_PKG_CARGO_ENV) \ + PYO3_CROSS_LIB_DIR="$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)" + +HOST_PKG_PYTHON_MATURIN_BUILD_CMD = \ + $(HOST_PKG_PYTHON_PEP517_BUILD_CMD) + +HOST_PKG_PYTHON_MATURIN_INSTALL_CMD = \ + $(HOST_PKG_PYTHON_PEP517_INSTALL_CMD) ################################################################################ # inner-python-package -- defines how the configuration, compilation @@ -174,52 +251,35 @@ ifndef $(2)_SETUP_TYPE endif endif -# Distutils -ifeq ($$($(2)_SETUP_TYPE),distutils) -ifeq ($(4),target) -$(2)_BASE_ENV = $$(PKG_PYTHON_DISTUTILS_ENV) -$(2)_BASE_BUILD_CMD = setup.py build -$(2)_BASE_BUILD_OPTS = $$(PKG_PYTHON_DISTUTILS_BUILD_OPTS) -$(2)_BASE_INSTALL_TARGET_CMD = setup.py install --no-compile $$(PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS) -$(2)_BASE_INSTALL_STAGING_CMD = setup.py install $$(PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS) -else -$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_DISTUTILS_ENV) -$(2)_BASE_BUILD_CMD = setup.py build -$(2)_BASE_INSTALL_CMD = setup.py install $$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS) +$(2)_SETUP_TYPE_UPPER = $$(call UPPERCASE,$$($(2)_SETUP_TYPE)) + +ifneq ($$(filter-out setuptools setuptools-rust pep517 flit flit-bootstrap maturin,$$($(2)_SETUP_TYPE)),) +$$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'maturin', 'setuptools', 'setuptools-rust', 'pep517' or 'flit'.") endif -# Setuptools -else ifeq ($$($(2)_SETUP_TYPE),setuptools) -ifeq ($(4),target) -$(2)_BASE_ENV = $$(PKG_PYTHON_SETUPTOOLS_ENV) -$(2)_BASE_BUILD_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) build -$(2)_BASE_INSTALL_TARGET_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install --no-compile $$(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS) -$(2)_BASE_INSTALL_STAGING_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install $$(PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS) -else -$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_SETUPTOOLS_ENV) -$(2)_BASE_BUILD_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) build -$(2)_BASE_INSTALL_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install $$(HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) +ifeq ($(4)-$$($(2)_SETUP_TYPE),target-flit-bootstrap) +$$(error flit-bootstrap setup type only supported for host packages) endif -else ifneq ($$(filter flit pep517,$$($(2)_SETUP_TYPE)),) + +# We need to vendor the Cargo crates at download time for pyo3 based +# packages. +# +ifneq ($$(filter maturin setuptools-rust,$$($(2)_SETUP_TYPE)),) ifeq ($(4),target) -$(2)_BASE_ENV = $$(PKG_PYTHON_PEP517_ENV) -$(2)_BASE_BUILD_CMD = -m build -n -w -$(2)_BASE_INSTALL_TARGET_CMD = $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(PKG_PYTHON_PEP517_INSTALL_TARGET_OPTS) -$(2)_BASE_INSTALL_STAGING_CMD = $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(PKG_PYTHON_PEP517_INSTALL_STAGING_OPTS) +$(2)_DL_ENV = $$(PKG_CARGO_ENV) else -$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_PEP517_ENV) -$(2)_BASE_BUILD_CMD = -m build -n -w -$(2)_BASE_INSTALL_CMD = $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(HOST_PKG_PYTHON_PEP517_INSTALL_OPTS) +$(2)_DL_ENV = $$(HOST_PKG_CARGO_ENV) endif -else ifeq ($$($(2)_SETUP_TYPE),flit-bootstrap) -ifeq ($(4),target) -$$(error flit-bootstrap setup type only supported for host packages) +ifndef $(2)_CARGO_MANIFEST_PATH +ifdef $(3)_CARGO_MANIFEST_PATH +$(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(3)_CARGO_MANIFEST_PATH) else -$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_PEP517_ENV) -$(2)_BASE_BUILD_CMD = -m flit_core.wheel -$(2)_BASE_INSTALL_CMD ?= $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(HOST_PKG_PYTHON_PEP517_INSTALL_OPTS) +ifneq ($$($(2)_SUBDIR),) +$(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(2)_SUBDIR)/Cargo.toml +endif endif else -$$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'distutils', 'setuptools', 'pep517' or 'flit'.") +$(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(2)_CARGO_MANIFEST_PATH) +endif endif # Target packages need both the python interpreter on the target (for @@ -236,25 +296,38 @@ endif # ($(4),target) # Setuptools based packages will need setuptools for the host Python # interpreter (both host and target). # -ifeq ($$($(2)_SETUP_TYPE),setuptools) -$(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) -else ifneq ($$(filter flit pep517,$$($(2)_SETUP_TYPE)),) +ifneq ($$(filter setuptools setuptools-rust,$$($(2)_SETUP_TYPE)),) +$(2)_DEPENDENCIES += host-python-setuptools +ifeq ($$($(2)_SETUP_TYPE),setuptools-rust) +$(2)_DEPENDENCIES += host-python-setuptools-rust +endif +else ifneq ($$(filter flit maturin pep517,$$($(2)_SETUP_TYPE)),) $(2)_DEPENDENCIES += host-python-pypa-build host-python-installer ifeq ($$($(2)_SETUP_TYPE),flit) $(2)_DEPENDENCIES += host-python-flit-core endif +ifeq ($$($(2)_SETUP_TYPE),maturin) +$(2)_DEPENDENCIES += host-python-maturin +endif else ifeq ($$($(2)_SETUP_TYPE),flit-bootstrap) # Don't add dependency on host-python-installer for # host-python-installer itself, and its dependencies. ifeq ($$(filter host-python-flit-core host-python-installer,$(1)),) $(2)_DEPENDENCIES += host-python-installer endif -endif # SETUP_TYPE +endif -# Python interpreter to use for building the package. +# Pyo3 based packages(setuptools-rust and maturin) will need rust +# toolchain dependencies for the host Python interpreter (both host +# and target). # -$(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python +ifneq ($$(filter maturin setuptools-rust,$$($(2)_SETUP_TYPE)),) +$(2)_DEPENDENCIES += host-rustc +$(2)_DOWNLOAD_POST_PROCESS = cargo +$(2)_DOWNLOAD_DEPENDENCIES = host-rustc +endif # SETUP_TYPE +ifeq ($(4),target) # # Build step. Only define it if not already defined by the package .mk # file. @@ -262,24 +335,11 @@ $(2)_PYTHON_INTERPRETER = $$(HOST_DIR)/bin/python ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS (cd $$($$(PKG)_BUILDDIR)/; \ - $$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \ - $$($(2)_PYTHON_INTERPRETER) \ - $$($$(PKG)_BASE_BUILD_CMD) \ - $$($$(PKG)_BASE_BUILD_OPTS) $$($$(PKG)_BUILD_OPTS)) -endef -endif - -# -# Host installation step. Only define it if not already defined by the -# package .mk file. -# -ifndef $(2)_INSTALL_CMDS -define $(2)_INSTALL_CMDS - (cd $$($$(PKG)_BUILDDIR)/; \ - $$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \ - $$($(2)_PYTHON_INTERPRETER) \ - $$($$(PKG)_BASE_INSTALL_CMD) \ - $$($$(PKG)_INSTALL_OPTS)) + $$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \ + $$($$(PKG)_ENV) \ + $$(HOST_DIR)/bin/python3 \ + $$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_BUILD_CMD) \ + $$($$(PKG)_BUILD_OPTS)) endef endif @@ -290,9 +350,10 @@ endif ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS (cd $$($$(PKG)_BUILDDIR)/; \ - $$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \ - $$($(2)_PYTHON_INTERPRETER) \ - $$($$(PKG)_BASE_INSTALL_TARGET_CMD) \ + $$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \ + $$($$(PKG)_ENV) \ + $$(HOST_DIR)/bin/python3 \ + $$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_INSTALL_TARGET_CMD) \ $$($$(PKG)_INSTALL_TARGET_OPTS)) endef endif @@ -304,13 +365,48 @@ endif ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS (cd $$($$(PKG)_BUILDDIR)/; \ - $$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \ - $$($(2)_PYTHON_INTERPRETER) \ - $$($$(PKG)_BASE_INSTALL_STAGING_CMD) \ + $$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \ + $$($$(PKG)_ENV) \ + $$(HOST_DIR)/bin/python3 \ + $$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_INSTALL_STAGING_CMD) \ $$($$(PKG)_INSTALL_STAGING_OPTS)) endef endif +else # host + +# +# Host build step. Only define it if not already defined by the package .mk +# file. +# +ifndef $(2)_BUILD_CMDS +define $(2)_BUILD_CMDS + (cd $$($$(PKG)_BUILDDIR)/; \ + $$(HOST_PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \ + $$($$(PKG)_ENV) \ + $$(HOST_DIR)/bin/python3 \ + $$(HOST_PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_BUILD_CMD) \ + $$($$(PKG)_BUILD_OPTS)) +endef +endif + +# +# Host installation step. Only define it if not already defined by the +# package .mk file. +# +ifndef $(2)_INSTALL_CMDS +define $(2)_INSTALL_CMDS + (cd $$($$(PKG)_BUILDDIR)/; \ + $$(HOST_PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \ + $$($$(PKG)_ENV) \ + $$(HOST_DIR)/bin/python3 \ + $$(HOST_PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_INSTALL_CMD) \ + $$($$(PKG)_INSTALL_OPTS)) +endef +endif + +endif # host / target + # Call the generic package infrastructure to generate the necessary # make targets $(call inner-generic-package,$(1),$(2),$(3),$(4)) diff --git a/package/pkg-qmake.mk b/package/pkg-qmake.mk index fdaddf08dfd..ccf78692e88 100644 --- a/package/pkg-qmake.mk +++ b/package/pkg-qmake.mk @@ -50,7 +50,6 @@ $(2)_DEPENDENCIES += qt5base endif ifeq ($$($(2)_SYNC_QT_HEADERS),YES) -$(2)_DEPENDENCIES += host-perl $(2)_PRE_CONFIGURE_HOOKS += QT_HEADERS_SYNC_HOOK endif diff --git a/package/pkg-rebar.mk b/package/pkg-rebar.mk index e4e3f3bb6c9..4b993dd970d 100644 --- a/package/pkg-rebar.mk +++ b/package/pkg-rebar.mk @@ -32,10 +32,10 @@ REBAR_TARGET_DEPS_DIR = $(STAGING_DIR)/usr/share/rebar/deps # REBAR_HOST_DEPS_ENV = \ ERL_COMPILER_OPTIONS='{i, "$(REBAR_HOST_DEPS_DIR)"}' \ - ERL_EI_LIBDIR=$(HOST_DIR)/lib/erlang/lib/erl_interface-$(ERLANG_EI_VSN)/lib + ERL_EI_LIBDIR=$(HOST_DIR)/lib/erlang/lib/erl_interface-$(call erlang_ei_vsn,$(HOST_DIR))/lib REBAR_TARGET_DEPS_ENV = \ ERL_COMPILER_OPTIONS='{i, "$(REBAR_TARGET_DEPS_DIR)"}' \ - ERL_EI_LIBDIR=$(STAGING_DIR)/usr/lib/erlang/lib/erl_interface-$(ERLANG_EI_VSN)/lib + ERL_EI_LIBDIR=$(STAGING_DIR)/usr/lib/erlang/lib/erl_interface-$(call erlang_ei_vsn,$(STAGING_DIR)/usr)/lib ################################################################################ # Helper functions diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index 0945e6ed318..723bbe4e246 100644 --- a/package/pkg-utils.mk +++ b/package/pkg-utils.mk @@ -34,9 +34,9 @@ define KCONFIG_ENABLE_OPT fi endef # KCONFIG_SET_OPT (option, value [, file]) -KCONFIG_SET_OPT = $(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(1)=$(2), $(3)) +KCONFIG_SET_OPT = $(Q)$(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(1)=$(2), $(3)) # KCONFIG_DISABLE_OPT (option [, file]) -KCONFIG_DISABLE_OPT = $(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(SHARP_SIGN) $(1) is not set, $(2)) +KCONFIG_DISABLE_OPT = $(Q)$(call KCONFIG_MUNGE_DOT_CONFIG, $(1), $(SHARP_SIGN) $(1) is not set, $(2)) # Helper functions to determine the name of a package and its # directory from its makefile directory, using the $(MAKEFILE_LIST) @@ -157,6 +157,10 @@ endef define _json-info-pkg-details "version": $(call mk-json-str,$($(1)_DL_VERSION)), "licenses": $(call mk-json-str,$($(1)_LICENSE)), + "license_files": [ + $(foreach f, $($(1)_LICENSE_FILES),$(call mk-json-str,$(f))$(comma)) + ], + "redistributable": $(if $(filter NO,$($(1)_REDISTRIBUTE)),false,true), "dl_dir": $(call mk-json-str,$($(1)_DL_SUBDIR)), "downloads": [ $(foreach dl,$(sort $($(1)_ALL_DOWNLOADS)), @@ -214,10 +218,19 @@ ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y) # $1: space-separated list of packages to rsync from # $2: 'host' or 'target' # $3: destination directory +# $4: literal "copy" or "hardlink" to copy or hardlink files from src to dest define per-package-rsync mkdir -p $(3) $(foreach pkg,$(1),\ - rsync -a --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \ + rsync -a \ + --hard-links \ + $(if $(filter hardlink,$(4)), \ + --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/, \ + $(if $(filter copy,$(4)), \ + $(empty), \ + $(error per-package-rsync can only "copy" or "hardlink", not "$(4)") \ + ) \ + ) \ $(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \ $(3)$(sep)) endef @@ -230,8 +243,23 @@ endef # # $1: space-separated list of packages to rsync from define prepare-per-package-directory - $(call per-package-rsync,$(1),host,$(HOST_DIR)) - $(call per-package-rsync,$(1),target,$(TARGET_DIR)) + $(call per-package-rsync,$(1),host,$(HOST_DIR),hardlink) + $(call per-package-rsync,$(1),target,$(TARGET_DIR),hardlink) +endef + +# Ensure files like .la, .pc, .pri, .cmake, and so on, point to the +# proper staging and host directories for the current package: find +# all text files that contain the PPD root, and replace it with the +# current package's PPD. +# $1: destination root directory containing host and staging +define ppd-fixup-paths + $(Q)grep --binary-files=without-match -lrZ '$(PER_PACKAGE_DIR)/[^/]\+/' $(HOST_DIR) \ + |while read -d '' f; do \ + file -b --mime-type "$${f}" | grep -q '^text/' || continue; \ + printf '%s\0' "$${f}"; \ + done \ + |xargs -0 --no-run-if-empty \ + $(SED) 's:$(PER_PACKAGE_DIR)/[^/]\+/:$(1)/:g' endef endif @@ -256,13 +284,13 @@ define legal-manifest # {HOST|TARGET}, pkg, version, license, license-files, sou echo '"$(2)","$(3)","$(4)","$(5)","$(6)","$(7)","$(8)"' >>$(LEGAL_MANIFEST_CSV_$(1)) endef -define legal-license-file # pkgname, pkgname-pkgver, pkg-hashfile, filename, file-fullpath, {HOST|TARGET} - mkdir -p $(LICENSE_FILES_DIR_$(6))/$(2)/$(dir $(4)) && \ +define legal-license-file # {HOST|TARGET}, pkgname, pkgname-pkgver, filename, file-fullpath, pkg-hashfiles + mkdir -p $(LICENSE_FILES_DIR_$(1))/$(3)/$(dir $(4)) && \ { \ - support/download/check-hash $(3) $(5) $(4); \ + support/download/check-hash $(5) $(4) $(6); \ case $${?} in (0|3) ;; (*) exit 1;; esac; \ } && \ - cp $(5) $(LICENSE_FILES_DIR_$(6))/$(2)/$(4) + cp $(5) $(LICENSE_FILES_DIR_$(1))/$(3)/$(4) endef non-virtual-deps = $(foreach p,$(1),$(if $($(call UPPERCASE,$(p))_IS_VIRTUAL),,$(p))) diff --git a/package/pkg-waf.mk b/package/pkg-waf.mk index e090afa9e6e..0529bb6ddaf 100644 --- a/package/pkg-waf.mk +++ b/package/pkg-waf.mk @@ -38,6 +38,13 @@ WAF_OPTS = $(if $(VERBOSE),-v) -j $(PARALLEL_JOBS) define inner-waf-package +# The version of waflib has to match with the version of waf, +# otherwise waf errors out with: +# Waf script 'X' and library 'Y' do not match +define WAF_PACKAGE_REMOVE_WAF_LIB + $$(RM) -fr $$(@D)/waf $$(@D)/waflib +endef + # We need host-python3 to run waf $(2)_DEPENDENCIES += host-python3 @@ -47,6 +54,7 @@ $(2)_NEEDS_EXTERNAL_WAF ?= NO ifeq ($$($(2)_NEEDS_EXTERNAL_WAF),YES) $(2)_DEPENDENCIES += host-waf $(2)_WAF = $$(HOST_DIR)/bin/waf +$(2)_POST_PATCH_HOOKS += WAF_PACKAGE_REMOVE_WAF_LIB else $(2)_WAF ?= ./waf endif diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk index 5d65f69c10a..1d73b691e17 100644 --- a/package/pkgconf/pkgconf.mk +++ b/package/pkgconf/pkgconf.mk @@ -5,12 +5,17 @@ ################################################################################ PKGCONF_VERSION = 1.6.3 -PKGCONF_SITE = https://distfiles.dereferenced.org/pkgconf +PKGCONF_SITE = https://distfiles.ariadne.space/pkgconf PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.xz PKGCONF_LICENSE = pkgconf license PKGCONF_LICENSE_FILES = COPYING PKGCONF_CPE_ID_VENDOR = pkgconf +# We are a ccache dependency, so we can't use ccache +HOST_PKGCONF_CONF_ENV = \ + CC="$(HOSTCC_NOCCACHE)" \ + CXX="$(HOSTCXX_NOCCACHE)" + PKG_CONFIG_HOST_BINARY = $(HOST_DIR)/bin/pkg-config define PKGCONF_LINK_PKGCONFIG diff --git a/package/ply/Config.in b/package/ply/Config.in index 0500e7883f6..f7507095c11 100644 --- a/package/ply/Config.in +++ b/package/ply/Config.in @@ -5,16 +5,16 @@ config BR2_PACKAGE_PLY_ARCH_SUPPORTS default y if BR2_powerpc default y if BR2_x86_64 -comment "ply needs a toolchain w/ dynamic library, headers >= 4.14" +comment "ply needs a toolchain w/ dynamic library, headers >= 5.5" depends on BR2_PACKAGE_PLY_ARCH_SUPPORTS depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5 || BR2_STATIC_LIBS config BR2_PACKAGE_PLY bool "ply" depends on BR2_PACKAGE_PLY_ARCH_SUPPORTS depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 # BPF_JLT + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5 # BPF_JLT depends on !BR2_STATIC_LIBS help ply is a light-weight dynamic tracer for Linux. By means of diff --git a/package/ply/ply.hash b/package/ply/ply.hash index df01ae08e01..b6a56aa909d 100644 --- a/package/ply/ply.hash +++ b/package/ply/ply.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8cd92fc8784873fb0507bc11f3f62a31d0345c64914ddaadb958d8b2d6de0100 ply-2.2.0.tar.gz +sha256 99be1ed3942370699cbfc7f493bc3ffd4601312a81471215ac7ccb2e04a0a8b2 ply-2.3.0.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/ply/ply.mk b/package/ply/ply.mk index b3c56bd9a5b..dc02fc5472a 100644 --- a/package/ply/ply.mk +++ b/package/ply/ply.mk @@ -4,7 +4,7 @@ # ################################################################################ -PLY_VERSION = 2.2.0 +PLY_VERSION = 2.3.0 PLY_SITE = $(call github,wkz,ply,$(PLY_VERSION)) PLY_AUTORECONF = YES PLY_LICENSE = GPL-2.0 diff --git a/package/pngquant/pngquant.hash b/package/pngquant/pngquant.hash index a7ea4aa997f..2926dfb6de2 100644 --- a/package/pngquant/pngquant.hash +++ b/package/pngquant/pngquant.hash @@ -1,4 +1,4 @@ # From https://pngquant.org/releases.html -sha256 a27cf0e64db499ccb3ddae9b36036e881f78293e46ec27a9e7a86a3802fcda66 pngquant-2.17.0-src.tar.gz +sha256 e72194b52b36f040deaec49a1ddd5dcd8d4feecc3a5fe6c5e9589a9707b233d4 pngquant-2.18.0-src.tar.gz # Locally computed sha256 e4f467f7abf860b4e620f5f60fdd88bc3a63a0fdb98a481fb002b5e511c9b826 COPYRIGHT diff --git a/package/pngquant/pngquant.mk b/package/pngquant/pngquant.mk index 87537aa18e6..8ef32160073 100644 --- a/package/pngquant/pngquant.mk +++ b/package/pngquant/pngquant.mk @@ -4,7 +4,7 @@ # ################################################################################ -PNGQUANT_VERSION = 2.17.0 +PNGQUANT_VERSION = 2.18.0 PNGQUANT_SOURCE = pngquant-$(PNGQUANT_VERSION)-src.tar.gz PNGQUANT_SITE = https://pngquant.org PNGQUANT_LICENSE = GPL-3.0+ diff --git a/package/poco/0001-Fix-optional-JSON-support-for-MySQL-3753.patch b/package/poco/0001-Fix-optional-JSON-support-for-MySQL-3753.patch deleted file mode 100644 index ba2f073a595..00000000000 --- a/package/poco/0001-Fix-optional-JSON-support-for-MySQL-3753.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 3884c734c261231c34f59e56cde7ae02945b4dae Mon Sep 17 00:00:00 2001 -From: Hernan Martinez -Date: Tue, 16 Aug 2022 23:07:25 -0500 -Subject: [PATCH] Fix optional JSON support for MySQL (#3753) - -* Fix optional JSON support for MySQL - -* Fix optional JSON support for MySQLTest ---- - Data/MySQL/src/ResultMetadata.cpp | 2 ++ - Data/MySQL/testsuite/src/MySQLTest.cpp | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/Data/MySQL/src/ResultMetadata.cpp b/Data/MySQL/src/ResultMetadata.cpp -index 61b49dd54..adb5dae84 100644 ---- a/Data/MySQL/src/ResultMetadata.cpp -+++ b/Data/MySQL/src/ResultMetadata.cpp -@@ -133,8 +133,10 @@ namespace - case MYSQL_TYPE_LONG_BLOB: - case MYSQL_TYPE_BLOB: - return Poco::Data::MetaColumn::FDT_BLOB; -+#ifdef POCO_MYSQL_JSON - case MYSQL_TYPE_JSON: - return Poco::Data::MetaColumn::FDT_JSON; -+#endif - default: - return Poco::Data::MetaColumn::FDT_UNKNOWN; - } -diff --git a/Data/MySQL/testsuite/src/MySQLTest.cpp b/Data/MySQL/testsuite/src/MySQLTest.cpp -index 80a3683b1..2a286d35e 100644 ---- a/Data/MySQL/testsuite/src/MySQLTest.cpp -+++ b/Data/MySQL/testsuite/src/MySQLTest.cpp -@@ -976,7 +976,9 @@ CppUnit::Test* MySQLTest::suite() - CppUnit_addTest(pSuite, MySQLTest, testBLOBStmt); - CppUnit_addTest(pSuite, MySQLTest, testLongBLOB); - CppUnit_addTest(pSuite, MySQLTest, testLongTEXT); -+#ifdef POCO_MYSQL_JSON - CppUnit_addTest(pSuite, MySQLTest, testJSON); -+#endif - CppUnit_addTest(pSuite, MySQLTest, testUnsignedInts); - CppUnit_addTest(pSuite, MySQLTest, testFloat); - CppUnit_addTest(pSuite, MySQLTest, testDouble); --- -2.37.2 - diff --git a/package/poco/Config.in b/package/poco/Config.in index 820e6319662..9bdef125ad3 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_POCO bool "poco" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() @@ -46,7 +46,7 @@ config BR2_PACKAGE_POCO_DATA config BR2_PACKAGE_POCO_DATA_MYSQL bool "Data/MySQL" depends on BR2_USE_MMU # mysql - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB select BR2_PACKAGE_POCO_DATA config BR2_PACKAGE_POCO_DATA_PGSQL @@ -116,8 +116,8 @@ config BR2_PACKAGE_POCO_ZIP endif # BR2_PACKAGE_POCO -comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14" +comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 8" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_PACKAGE_POCO_ARCH_SUPPORTS diff --git a/package/poco/poco.hash b/package/poco/poco.hash index eea3e2494a6..0a1e900b3fb 100644 --- a/package/poco/poco.hash +++ b/package/poco/poco.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 30442ccb097a0074133f699213a59d6f8c77db5b2c98a7c1ad9c5eeb3a2b06f3 poco-1.12.2.tar.gz +sha256 c01221870aa9bccedf1de39890279699207848fe61a0cfb6aeec7c5942c4627f poco-1.13.2.tar.gz sha256 c4b1e1e5f36d8331737231fefcc30f5714326aec7c387ad59a8115eb0ba7d6b5 LICENSE diff --git a/package/poco/poco.mk b/package/poco/poco.mk index d078faa8e53..233252c67b0 100644 --- a/package/poco/poco.mk +++ b/package/poco/poco.mk @@ -4,7 +4,7 @@ # ################################################################################ -POCO_VERSION = 1.12.2 +POCO_VERSION = 1.13.2 POCO_SITE = $(call github,pocoproject,poco,poco-$(POCO_VERSION)-release) POCO_LICENSE = BSL-1.0 POCO_LICENSE_FILES = LICENSE @@ -15,7 +15,7 @@ POCO_DEPENDENCIES = \ pcre2 \ zlib \ $(if $(BR2_PACKAGE_POCO_CRYPTO),openssl) \ - $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),mysql) \ + $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),mariadb) \ $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),sqlite) \ $(if $(BR2_PACKAGE_POCO_DATA_PGSQL),postgresql) \ $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),openssl) \ @@ -57,13 +57,7 @@ ifeq ($(BR2_SOFT_FLOAT),y) POCO_CONF_OPTS += --no-fpenvironment endif -ifeq ($(BR2_STATIC_LIBS),y) -POCO_MAKE_TARGET = static_release -else ifeq ($(BR2_SHARED_LIBS),y) POCO_MAKE_TARGET = shared_release -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -POCO_MAKE_TARGET = all_release -endif POCO_LDFLAGS=$(TARGET_LDFLAGS) ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) @@ -74,7 +68,6 @@ define POCO_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ --config=Linux \ --prefix=/usr \ - --cflags=-std=c++14 \ --ldflags="$(POCO_LDFLAGS)" \ --omit="$(POCO_OMIT)" \ $(POCO_CONF_OPTS) \ diff --git a/package/poke/poke.hash b/package/poke/poke.hash index 09dc4e89727..e6e436570c6 100644 --- a/package/poke/poke.hash +++ b/package/poke/poke.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 841e285917c6738ce982a6930e30ebeadecfb0655a79d9184f16f876a9fe6e47 poke-2.4.tar.gz +sha256 79a9b2f33c9f8c327c499afadaeeabfeecf6ad4988924d2c6c6f317e50317add poke-3.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 jitter/COPYING diff --git a/package/poke/poke.mk b/package/poke/poke.mk index d49e628dbf9..4a6ff344b28 100644 --- a/package/poke/poke.mk +++ b/package/poke/poke.mk @@ -4,7 +4,7 @@ # ################################################################################ -POKE_VERSION = 2.4 +POKE_VERSION = 3.0 POKE_SITE = $(BR2_GNU_MIRROR)/poke # gnulib license is a mix/mess of public-domain and various GPL and LGPL versions. POKE_LICENSE = GPL-3.0+, GPL-3.0+ (jitter), gnulib license (gnulib) diff --git a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch index aa75ca63c04..18f0001aef8 100644 --- a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch +++ b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch @@ -32,7 +32,7 @@ index a3bbbe1..df675cf 100644 +AUDITH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/libaudit.h && echo y) CFLAGS ?= -g -Werror -Wall -W - override LDLIBS += -lselinux -lsepol + override LDLIBS += -lselinux -lsepol -lpthread -- 2.13.6 diff --git a/package/policycoreutils/policycoreutils.hash b/package/policycoreutils/policycoreutils.hash index e7f006b0233..e29d192b138 100644 --- a/package/policycoreutils/policycoreutils.hash +++ b/package/policycoreutils/policycoreutils.hash @@ -1,3 +1,3 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 d1331c6fa766c547b071c491de90b9f343c8dbffdb119be8a5a7e491199b93a9 policycoreutils-3.2.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 78453e1529fbbf800e88860094d555e781ce1fba11a7ef77b5aabb43e1173276 policycoreutils-3.5.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk index 60575ac6448..0e639760fa6 100644 --- a/package/policycoreutils/policycoreutils.mk +++ b/package/policycoreutils/policycoreutils.mk @@ -4,22 +4,18 @@ # ################################################################################ -POLICYCOREUTILS_VERSION = 3.2 +POLICYCOREUTILS_VERSION = 3.5 POLICYCOREUTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(POLICYCOREUTILS_VERSION) POLICYCOREUTILS_LICENSE = GPL-2.0 -POLICYCOREUTILS_LICENSE_FILES = COPYING +POLICYCOREUTILS_LICENSE_FILES = LICENSE POLICYCOREUTILS_CPE_ID_VENDOR = selinuxproject POLICYCOREUTILS_DEPENDENCIES = libsemanage libcap-ng $(TARGET_NLS_DEPENDENCIES) -POLICYCOREUTILS_MAKE_OPTS = LDLIBS=$(TARGET_NLS_LIBS) +POLICYCOREUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) LDLIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_LINUX_PAM),y) POLICYCOREUTILS_DEPENDENCIES += linux-pam POLICYCOREUTILS_MAKE_OPTS += NAMESPACE_PRIV=y -define POLICYCOREUTILS_INSTALL_TARGET_LINUX_PAM_CONFS - $(INSTALL) -D -m 0644 $(@D)/newrole/newrole-lspp.pamd $(TARGET_DIR)/etc/pam.d/newrole - $(INSTALL) -D -m 0644 $(@D)/run_init/run_init.pamd $(TARGET_DIR)/etc/pam.d/run_init -endef endif ifeq ($(BR2_PACKAGE_AUDIT),y) @@ -32,14 +28,6 @@ ifeq ($(BR2_PACKAGE_LINUX_PAM)$(BR2_PACKAGE_AUDIT),yy) POLICYCOREUTILS_MAKE_OPTS += LSPP_PRIV=y endif -# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h -# large file support. -# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information -POLICYCOREUTILS_MAKE_OPTS += \ - $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \ - CPPFLAGS="$(TARGET_CPPFLAGS) -U_FILE_OFFSET_BITS" - POLICYCOREUTILS_MAKE_DIRS = \ load_policy newrole run_init \ secon semodule sestatus setfiles \ @@ -63,14 +51,9 @@ endef HOST_POLICYCOREUTILS_DEPENDENCIES = host-libsemanage -# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h -# large file support. -# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information -# We also need to pass PREFIX because it defaults to $(DESTDIR)/usr +# We need to pass PREFIX because it defaults to $(DESTDIR)/usr HOST_POLICYCOREUTILS_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ - CFLAGS="$(HOST_CFLAGS) -U_FILE_OFFSET_BITS" \ - CPPFLAGS="$(HOST_CPPFLAGS) -U_FILE_OFFSET_BITS" \ PREFIX=$(HOST_DIR) \ ETCDIR=$(HOST_DIR)/etc \ SBINDIR=$(HOST_DIR)/sbin diff --git a/package/polkit/polkit.hash b/package/polkit/polkit.hash index ffdc2a7568a..5eadc897538 100644 --- a/package/polkit/polkit.hash +++ b/package/polkit/polkit.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0d69656d60800835c3d7d1f0a8362b32e1ae3ace2875a35bb624296fc52d5dc4 polkit-122.tar.gz +sha256 b69278f6ea0eac406350c45f5720e2fe5e4beaf9f53c16d9902e025965418864 polkit-123.tar.gz sha256 d2e2aa973e29c75e1b492e67ea7b7da9de2d501d49a934657971fd74f9a0b0a8 COPYING diff --git a/package/polkit/polkit.mk b/package/polkit/polkit.mk index dab5d542ebd..e393672c1e0 100644 --- a/package/polkit/polkit.mk +++ b/package/polkit/polkit.mk @@ -4,11 +4,11 @@ # ################################################################################ -POLKIT_VERSION = 122 +POLKIT_VERSION = 123 POLKIT_SITE = https://gitlab.freedesktop.org/polkit/polkit/-/archive/$(POLKIT_VERSION) POLKIT_LICENSE = GPL-2.0 POLKIT_LICENSE_FILES = COPYING -POLKIT_CPE_ID_VENDOR = polkit_project +POLKIT_CPE_ID_VALID = YES POLKIT_INSTALL_STAGING = YES POLKIT_DEPENDENCIES = \ duktape libglib2 host-intltool expat $(TARGET_NLS_DEPENDENCIES) diff --git a/package/poppler/0001-OutlineItem-open-Fix-crash-on-malformed-files.patch b/package/poppler/0001-OutlineItem-open-Fix-crash-on-malformed-files.patch new file mode 100644 index 00000000000..478759e0ccf --- /dev/null +++ b/package/poppler/0001-OutlineItem-open-Fix-crash-on-malformed-files.patch @@ -0,0 +1,45 @@ +From e5cc11e0b5b867f4705fd28ff1b981c1224be1cd Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Wed, 17 May 2023 22:42:05 +0200 +Subject: [PATCH] OutlineItem::open: Fix crash on malformed files + +Fixes #1399 + +Upstream: https://gitlab.freedesktop.org/poppler/poppler/-/commit/591235c8b6c65a2eee88991b9ae73490fd9afdfe +[Thomas: backported to fix CVE-2023-34872] +Signed-off-by: Thomas Petazzoni +--- + poppler/Outline.cc | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/poppler/Outline.cc b/poppler/Outline.cc +index cbb6cb49..4c68be99 100644 +--- a/poppler/Outline.cc ++++ b/poppler/Outline.cc +@@ -14,7 +14,7 @@ + // under GPL version 2 or later + // + // Copyright (C) 2005 Marco Pesenti Gritti +-// Copyright (C) 2008, 2016-2019, 2021 Albert Astals Cid ++// Copyright (C) 2008, 2016-2019, 2021, 2023 Albert Astals Cid + // Copyright (C) 2009 Nick Jones + // Copyright (C) 2016 Jason Crain + // Copyright (C) 2017 Adrian Johnson +@@ -483,8 +483,12 @@ void OutlineItem::open() + { + if (!kids) { + Object itemDict = xref->fetch(ref); +- const Object &firstRef = itemDict.dictLookupNF("First"); +- kids = readItemList(this, &firstRef, xref, doc); ++ if (itemDict.isDict()) { ++ const Object &firstRef = itemDict.dictLookupNF("First"); ++ kids = readItemList(this, &firstRef, xref, doc); ++ } else { ++ kids = new std::vector(); ++ } + } + } + +-- +2.41.0 + diff --git a/package/poppler/poppler.hash b/package/poppler/poppler.hash index 93681e04af2..bb07b2ee6af 100644 --- a/package/poppler/poppler.hash +++ b/package/poppler/poppler.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 04e40fad924a6de62e63017a6fd4c04696c1f526dedc2ba5ef275cedf646292a poppler-22.10.0.tar.xz +sha256 d9aa9cacdfbd0f8e98fc2b3bb008e645597ed480685757c3e7bc74b4278d15c0 poppler-22.12.0.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk index 02ccf742acd..776fb4d5667 100644 --- a/package/poppler/poppler.mk +++ b/package/poppler/poppler.mk @@ -4,13 +4,15 @@ # ################################################################################ -POPPLER_VERSION = 22.10.0 +POPPLER_VERSION = 22.12.0 POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz POPPLER_SITE = https://poppler.freedesktop.org POPPLER_DEPENDENCIES = fontconfig host-pkgconf POPPLER_LICENSE = GPL-2.0+ POPPLER_LICENSE_FILES = COPYING POPPLER_CPE_ID_VENDOR = freedesktop +# 0001-OutlineItem-open-Fix-crash-on-malformed-files.patch +POPPLER_IGNORE_CVES += CVE-2023-34872 POPPLER_INSTALL_STAGING = YES POPPLER_CONF_OPTS = \ @@ -47,7 +49,8 @@ POPPLER_DEPENDENCIES += gobject-introspection POPPLER_CONF_OPTS += \ -DENABLE_GOBJECT_INTROSPECTION=ON \ -DINTROSPECTION_SCANNER=$(STAGING_DIR)/usr/bin/g-ir-scanner \ - -DINTROSPECTION_COMPILER=$(STAGING_DIR)/usr/bin/g-ir-compiler + -DINTROSPECTION_COMPILER=$(STAGING_DIR)/usr/bin/g-ir-compiler \ + -DINTROSPECTION_COMPILER_ARGS="--includedir=$(STAGING_DIR)/usr/share/gir-1.0" else POPPLER_CONF_OPTS += -DENABLE_GOBJECT_INTROSPECTION=OFF endif diff --git a/package/popt/popt.mk b/package/popt/popt.mk index 842cf0d0352..06bab375f66 100644 --- a/package/popt/popt.mk +++ b/package/popt/popt.mk @@ -9,9 +9,8 @@ POPT_SITE = http://ftp.rpm.org/popt/releases/popt-1.x POPT_INSTALL_STAGING = YES POPT_LICENSE = MIT POPT_LICENSE_FILES = COPYING -POPT_CPE_ID_VENDOR = popt_project +POPT_CPE_ID_VALID = YES -POPT_GETTEXTIZE = YES POPT_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) POPT_CONF_ENV = ac_cv_va_copy=yes diff --git a/package/postgis/Config.in b/package/postgis/Config.in index 405c5c723a9..7f85c030072 100644 --- a/package/postgis/Config.in +++ b/package/postgis/Config.in @@ -2,8 +2,8 @@ config BR2_PACKAGE_POSTGIS bool "postgis" depends on BR2_PACKAGE_POSTGRESQL_FULL depends on BR2_INSTALL_LIBSTDCPP # libgeos, proj - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11, proj - depends on BR2_TOOLCHAIN_HAS_THREADS # libgeos, proj + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libgeos + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # proj depends on BR2_USE_WCHAR # libgeos, proj depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 # libgeos select BR2_PACKAGE_LIBGEOS @@ -18,7 +18,7 @@ config BR2_PACKAGE_POSTGIS https://postgis.net/ -comment "postgis needs a toolchain w/ C++, threads, wchar, gcc >= 4.7, not binutils bug 27597" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ +comment "postgis needs a toolchain w/ C++, NPTL, wchar, gcc >= 4.9, not binutils bug 27597" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR || \ BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 diff --git a/package/postgis/postgis.hash b/package/postgis/postgis.hash index 8550a579393..7e62e8e1681 100644 --- a/package/postgis/postgis.hash +++ b/package/postgis/postgis.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9a2a219da005a1730a39d1959a1c7cec619b1efb009b65be80ffc25bad299068 postgis-3.3.2.tar.gz -sha256 55b69f22e1752830dd565852dc7ff242daf289dbd3a6bfede5db43f90d2e28c9 LICENSE.TXT +sha256 c8c874c00ba4a984a87030af6bf9544821502060ad473d5c96f1d4d0835c5892 postgis-3.4.2.tar.gz +sha256 2a3bde0a77224496ea6d8efa686da7e29ab0dd6b1a8f90ba12beaf7ae28e878a LICENSE.TXT diff --git a/package/postgis/postgis.mk b/package/postgis/postgis.mk index 4148180adfe..867aa4caea9 100644 --- a/package/postgis/postgis.mk +++ b/package/postgis/postgis.mk @@ -4,15 +4,13 @@ # ################################################################################ -POSTGIS_VERSION = 3.3.2 +POSTGIS_VERSION = 3.4.2 POSTGIS_SITE = https://download.osgeo.org/postgis/source # parallel build issues POSTGIS_MAKE = $(MAKE1) -POSTGIS_LICENSE = GPL-2.0+ (PostGIS), BSD-2-Clause, MIT, Apache-2.0, ISC, BSL-1.0, CC-BY-SA-3.0 +POSTGIS_LICENSE = GPL-2.0+ (PostGIS), BSD-3-Clause (xsl), GPL-2.0+ or LGPL-3.0+ (SFCGAL), MIT, Apache-2.0, ISC, BSL-1.0, CC-BY-SA-3.0 POSTGIS_LICENSE_FILES = LICENSE.TXT POSTGIS_CPE_ID_VENDOR = postgis -# configure.ac is patched so need to run autoreconf -POSTGIS_AUTORECONF = YES POSTGIS_DEPENDENCIES = postgresql libgeos proj libxml2 diff --git a/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index 26bb6269439..d917a03ebba 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,4 +1,4 @@ -# From https://ftp.postgresql.org/pub/source/v14.6/postgresql-14.6.tar.bz2.sha256 -sha256 508840fc1809d39ab72274d5f137dabb9fd7fb4f933da4168aeebb20069edf22 postgresql-14.6.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v16.2/postgresql-16.3.tar.bz2.sha256 +sha256 331963d5d3dc4caf4216a049fa40b66d6bcb8c730615859411b9518764e60585 postgresql-16.3.tar.bz2 # License file, Locally calculated -sha256 f6d6616acdb598742e2a7c64fa0551c1c72c309d279fd2d90370e5fdd41c8945 COPYRIGHT +sha256 9bf20ee493926a7e17a74bc7f05089fbc014269667b1540bc35a6b194a40c9de COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index 502860bc99c..0a1d98079a1 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 14.6 +POSTGRESQL_VERSION = 16.3 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = https://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL @@ -15,10 +15,15 @@ POSTGRESQL_INSTALL_STAGING = YES POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ + pgac_cv_prog_cc_LDFLAGS_EX_BE__Wl___export_dynamic=yes \ LIBS=$(TARGET_NLS_LIBS) POSTGRESQL_CONF_OPTS = --disable-rpath POSTGRESQL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +# CVE-2017-8806 is related to postgresql-common package +# It is false positive for postgresql +POSTGRESQL_IGNORE_CVES += CVE-2017-8806 + # https://www.postgresql.org/docs/11/static/install-procedure.html: # "If you want to invoke the build from another makefile rather than # manually, you must unset MAKELEVEL or set it to zero" @@ -83,6 +88,13 @@ else POSTGRESQL_CONF_OPTS += --without-ldap endif +ifeq ($(BR2_PACKAGE_ICU),y) +POSTGRESQL_DEPENDENCIES += icu +POSTGRESQL_CONF_OPTS += --with-icu +else +POSTGRESQL_CONF_OPTS += --without-icu +endif + ifeq ($(BR2_PACKAGE_LIBXML2),y) POSTGRESQL_DEPENDENCIES += libxml2 POSTGRESQL_CONF_OPTS += --with-libxml @@ -91,6 +103,20 @@ else POSTGRESQL_CONF_OPTS += --without-libxml endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +POSTGRESQL_DEPENDENCIES += host-pkgconf zstd +POSTGRESQL_CONF_OPTS += --with-zstd +else +POSTGRESQL_CONF_OPTS += --without-zstd +endif + +ifeq ($(BR2_PACKAGE_LZ4),y) +POSTGRESQL_DEPENDENCIES += host-pkgconf lz4 +POSTGRESQL_CONF_OPTS += --with-lz4 +else +POSTGRESQL_CONF_OPTS += --without-lz4 +endif + # required for postgresql.service Type=notify ifeq ($(BR2_PACKAGE_SYSTEMD),y) POSTGRESQL_DEPENDENCIES += systemd @@ -101,7 +127,7 @@ endif POSTGRESQL_CFLAGS = $(TARGET_CFLAGS) -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) +ifneq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_43744)$(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),) POSTGRESQL_CFLAGS += -O0 endif diff --git a/package/pound/0001-fix-openssl-1.0.2.patch b/package/pound/0001-fix-openssl-1.0.2.patch deleted file mode 100644 index b20fdb36f1b..00000000000 --- a/package/pound/0001-fix-openssl-1.0.2.patch +++ /dev/null @@ -1,127 +0,0 @@ -From eb471de8f26e0367dd08d299d2252fa8b2b958a9 Mon Sep 17 00:00:00 2001 -From: Emilio -Date: Mon, 17 Jul 2017 09:41:32 +0200 -Subject: [PATCH] [Improvement] Added support to compile pound with openssl - 1.0.2 - -Signed-off-by: Emilio - - new file: dh2048.h - modified: svc.c - -Patch was downloaded from 3rd-party repo: -https://github.com/zevenet/pound/commit/eb471de8f26e0367dd08d299d2252fa8b2b958a9 - -This repo was announced on upstream mailinglist: -http://www.apsis.ch/pound/pound_list/archive/2017/2017-07/1500287626000#1500287626000 - -Signed-off-by: Bernd Kuhls ---- - dh2048.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - svc.c | 33 +++++++++++++++++++++++++++++++++ - 2 files changed, 86 insertions(+) - create mode 100644 dh2048.h - -diff --git a/dh2048.h b/dh2048.h -new file mode 100644 -index 0000000..79c693c ---- /dev/null -+++ b/dh2048.h -@@ -0,0 +1,53 @@ -+#ifndef HEADER_DH_H -+# include -+#endif -+ -+DH *get_dh2048() -+{ -+ static unsigned char dhp_2048[] = { -+ 0xBF, 0x6C, 0xC6, 0xBD, 0xEA, 0x10, 0x84, 0x59, 0x40, 0xC2, -+ 0xC6, 0xA2, 0x9B, 0x19, 0xD3, 0x2E, 0x2F, 0xAB, 0xE6, 0xE4, -+ 0x1E, 0x91, 0x0D, 0x59, 0xDC, 0x96, 0x3F, 0x6E, 0x65, 0x38, -+ 0xB9, 0xBE, 0xBB, 0x8F, 0xDF, 0x73, 0xAC, 0xAC, 0xB3, 0x2F, -+ 0xA7, 0x02, 0x0B, 0x87, 0xB7, 0x3F, 0x3A, 0x42, 0x8A, 0x94, -+ 0xDD, 0xEC, 0x33, 0xA4, 0x25, 0xB1, 0xBF, 0x84, 0x91, 0x87, -+ 0xD8, 0x1C, 0x42, 0xB9, 0x8E, 0x00, 0x1F, 0x49, 0xED, 0x57, -+ 0xA4, 0x48, 0xB0, 0xCC, 0xD8, 0xB8, 0x83, 0xCA, 0x3E, 0xDF, -+ 0xA2, 0xF2, 0x07, 0x71, 0x71, 0x18, 0x1F, 0x50, 0x45, 0x3A, -+ 0x66, 0x04, 0x7F, 0x15, 0xB2, 0xA8, 0x02, 0x77, 0xCE, 0xC6, -+ 0xF9, 0x7C, 0x63, 0xE4, 0x52, 0x41, 0xFA, 0x62, 0xB9, 0x0D, -+ 0xDC, 0x08, 0x62, 0xEC, 0x00, 0xAB, 0xB0, 0xF7, 0x79, 0x48, -+ 0x75, 0x22, 0x85, 0xCC, 0x67, 0x3C, 0xEA, 0x09, 0x32, 0xAC, -+ 0x30, 0xED, 0x1E, 0x67, 0xDC, 0x74, 0xF8, 0xD9, 0xC3, 0xD0, -+ 0xA0, 0x60, 0x4D, 0xCE, 0x52, 0xBC, 0xA3, 0xE5, 0x18, 0x7B, -+ 0x0B, 0xC8, 0xCE, 0x70, 0xA2, 0xC8, 0x21, 0xCA, 0xCE, 0xA5, -+ 0xD4, 0xCB, 0x85, 0xFC, 0xC7, 0x07, 0x5C, 0x05, 0x87, 0xFC, -+ 0x2F, 0x67, 0x4D, 0x2D, 0x4F, 0xA4, 0xEE, 0x63, 0x98, 0x49, -+ 0xE4, 0x2E, 0xD7, 0x3F, 0x7D, 0x69, 0x68, 0x0A, 0xA2, 0x3E, -+ 0x5A, 0x04, 0xD4, 0xDD, 0xBB, 0xC7, 0xB4, 0x34, 0xB7, 0x21, -+ 0xD3, 0xAC, 0x99, 0xD7, 0x87, 0x45, 0x5E, 0x18, 0x68, 0x16, -+ 0x3A, 0xAF, 0xE2, 0x04, 0x57, 0xB8, 0x6A, 0xB8, 0x2F, 0x75, -+ 0xD5, 0x79, 0x96, 0x60, 0x8D, 0xD1, 0xCC, 0xD1, 0x33, 0x85, -+ 0x53, 0x88, 0x87, 0x34, 0xA6, 0x4B, 0x49, 0x24, 0x53, 0xD6, -+ 0xF1, 0x1E, 0x4E, 0x98, 0x4D, 0x6B, 0x44, 0x31, 0x94, 0xFF, -+ 0x46, 0xC2, 0x38, 0x2E, 0xEA, 0xBB -+ }; -+ static unsigned char dhg_2048[] = { -+ 0x05 -+ }; -+ DH *dh = DH_new(); -+ BIGNUM *dhp_bn, *dhg_bn; -+ -+ if (dh == NULL) -+ return NULL; -+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); -+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); -+ if (dhp_bn == NULL || dhg_bn == NULL -+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { -+ DH_free(dh); -+ BN_free(dhp_bn); -+ BN_free(dhg_bn); -+ return NULL; -+ } -+ return dh; -+} -diff --git a/svc.c b/svc.c -index 1341397..758dfbd 100644 ---- a/svc.c -+++ b/svc.c -@@ -1512,6 +1512,39 @@ do_RSAgen(void) - return; - } - -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000 -+static inline int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ /* If the fields p and g in d are NULL, the corresponding input -+ * parameters MUST be non-NULL. q may remain NULL. -+ */ -+ if ((dh->p == NULL && p == NULL) -+ || (dh->g == NULL && g == NULL)) -+ return 0; -+ -+ if (p != NULL) { -+ BN_free(dh->p); -+ dh->p = p; -+ } -+ if (q != NULL) { -+ BN_free(dh->q); -+ dh->q = q; -+ } -+ if (g != NULL) { -+ BN_free(dh->g); -+ dh->g = g; -+ } -+ -+ if (q != NULL) { -+ dh->length = BN_num_bits(q); -+ } -+ -+ return 1; -+} -+#endif -+ -+ - #include "dh512.h" - - #if DH_LEN == 1024 diff --git a/package/pound/0001-include-limits.h.patch b/package/pound/0001-include-limits.h.patch new file mode 100644 index 00000000000..8f188af07c2 --- /dev/null +++ b/package/pound/0001-include-limits.h.patch @@ -0,0 +1,75 @@ +From a0374d946e55129b36ba1e0024e1d94675a8f044 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 17 Sep 2023 22:01:21 +0200 +Subject: [PATCH] include limits.h + +Include limits.h to avoid the following build failure: + +poundctl.c: In function 'oi_getn': +poundctl.c:232:29: error: 'INT_MAX' undeclared (first use in this function) + 232 | if (errno || n < 0 || n > INT_MAX) + | ^~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/4edfffcd5d4383c57947d97139331e0bf2cb6155 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/graygnuorg/pound/pull/17 +--- + src/config.c | 1 + + src/poundctl.c | 1 + + src/svc.c | 1 + + src/tmpl.c | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/src/config.c b/src/config.c +index b7e3150..12f5cfa 100644 +--- a/src/config.c ++++ b/src/config.c +@@ -21,6 +21,7 @@ + #include "extern.h" + #include + #include ++#include + + + /* +diff --git a/src/poundctl.c b/src/poundctl.c +index bd1459f..7fa18c8 100644 +--- a/src/poundctl.c ++++ b/src/poundctl.c +@@ -19,6 +19,7 @@ + #include "pound.h" + #include "json.h" + #include ++#include + + char *conf_name = POUND_CONF; + char *socket_name; +diff --git a/src/svc.c b/src/svc.c +index 6e810a6..457f1e0 100644 +--- a/src/svc.c ++++ b/src/svc.c +@@ -20,6 +20,7 @@ + #include "pound.h" + #include "extern.h" + #include "json.h" ++#include + + /* + * basic hashing function, based on fmv +diff --git a/src/tmpl.c b/src/tmpl.c +index 2efa72f..0e5b65d 100644 +--- a/src/tmpl.c ++++ b/src/tmpl.c +@@ -26,6 +26,7 @@ + + #include "pound.h" + #include ++#include + #include "json.h" + + static void +-- +2.40.1 + diff --git a/package/pound/0002-fix-openssl-1.1.0.patch b/package/pound/0002-fix-openssl-1.1.0.patch deleted file mode 100644 index 04eddb15d72..00000000000 --- a/package/pound/0002-fix-openssl-1.1.0.patch +++ /dev/null @@ -1,334 +0,0 @@ -From a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff -Date: Wed, 28 Feb 2018 13:44:01 +0000 -Subject: [PATCH] Support for Openssl 1.1 - -Fixes -http://autobuild.buildroot.net/results/ef2/ef2de6c280bf8622a00d4573bc5bd143e3baa002 - -Downloaded from github fork: -https://github.com/graygnuorg/pound/commit/a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 - -This patch was announced on the upstream mailinglist: -http://www.apsis.ch/pound/pound_list/archive/2018/2018-03/1519920322000 - -Signed-off-by: Bernd Kuhls ---- - .gitignore | 15 ++++++++ - config.c | 17 +++++++-- - http.c | 12 ++++++- - pound.h | 4 ++- - svc.c | 101 +++++++++++++++++++++++++++++++++++++++++++---------- - 5 files changed, 125 insertions(+), 24 deletions(-) - create mode 100644 .gitignore - -diff --git a/config.c b/config.c -index d41a3ee..e8fec0f 100644 ---- a/config.c -+++ b/config.c -@@ -174,6 +174,16 @@ conf_fgets(char *buf, const int max) - } - } - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+# define general_name_string(n) \ -+ strndup(ASN1_STRING_get0_data(n->d.dNSName), \ -+ ASN1_STRING_length(n->d.dNSName) + 1) -+#else -+# define general_name_string(n) \ -+ strndup(ASN1_STRING_data(n->d.dNSName), \ -+ ASN1_STRING_length(n->d.dNSName) + 1) -+#endif -+ - unsigned char ** - get_subjectaltnames(X509 *x509, unsigned int *count) - { -@@ -194,8 +204,7 @@ get_subjectaltnames(X509 *x509, unsigned int *count) - name = sk_GENERAL_NAME_pop(san_stack); - switch(name->type) { - case GEN_DNS: -- temp[local_count] = strndup(ASN1_STRING_data(name->d.dNSName), ASN1_STRING_length(name->d.dNSName) -- + 1); -+ temp[local_count] = general_name_string(name); - if(temp[local_count] == NULL) - conf_err("out of memory"); - local_count++; -@@ -565,7 +574,9 @@ parse_service(const char *svc_name) - pthread_mutex_init(&res->mut, NULL); - if(svc_name) - strncpy(res->name, svc_name, KEY_SIZE); --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL) -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) - #else - if((res->sessions = lh_new(LHASH_HASH_FN(t_hash), LHASH_COMP_FN(t_cmp))) == NULL) -diff --git a/http.c b/http.c -index dd211e4..c8e756a 100644 ---- a/http.c -+++ b/http.c -@@ -527,12 +527,22 @@ log_bytes(char *res, const LONG cnt) - - /* Cleanup code. This should really be in the pthread_cleanup_push, except for bugs in some implementations */ - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+# define clear_error() -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L -+# define clear_error() \ -+ if(ssl != NULL) { ERR_clear_error(); ERR_remove_thread_state(NULL); } -+#else -+# define clear_error() \ -+ if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } -+#endif -+ - #define clean_all() { \ - if(ssl != NULL) { BIO_ssl_shutdown(cl); } \ - if(be != NULL) { BIO_flush(be); BIO_reset(be); BIO_free_all(be); be = NULL; } \ - if(cl != NULL) { BIO_flush(cl); BIO_reset(cl); BIO_free_all(cl); cl = NULL; } \ - if(x509 != NULL) { X509_free(x509); x509 = NULL; } \ -- if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } \ -+ clear_error(); \ - } - - /* -diff --git a/pound.h b/pound.h -index fa22c36..9603b91 100644 ---- a/pound.h -+++ b/pound.h -@@ -344,7 +344,9 @@ typedef struct _tn { - /* maximal session key size */ - #define KEY_SIZE 127 - --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ DEFINE_LHASH_OF(TABNODE); -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - DECLARE_LHASH_OF(TABNODE); - #endif - -diff --git a/svc.c b/svc.c -index 60ba488..063b92c 100644 ---- a/svc.c -+++ b/svc.c -@@ -27,10 +27,17 @@ - - #include "pound.h" - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+# define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t) -+# define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n) -+#else - #ifndef LHASH_OF - #define LHASH_OF(x) LHASH - #define CHECKED_LHASH_OF(type, h) h - #endif -+# define TABNODE_GET_DOWN_LOAD(t) (CHECKED_LHASH_OF(TABNODE, t)->down_load) -+# define TABNODE_SET_DOWN_LOAD(t,n) (CHECKED_LHASH_OF(TABNODE, t)->down_load = n) -+#endif - - /* - * Add a new key/content pair to a hash table -@@ -58,7 +65,9 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const - } - memcpy(t->content, content, cont_len); - t->last_acc = time(NULL); --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ if((old = lh_TABNODE_insert(tab, t)) != NULL) { -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { - #else - if((old = (TABNODE *)lh_insert(tab, t)) != NULL) { -@@ -82,7 +91,9 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key) - TABNODE t, *res; - - t.key = key; --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) { -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { - #else - if((res = (TABNODE *)lh_retrieve(tab, &t)) != NULL) { -@@ -102,7 +113,9 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key) - TABNODE t, *res; - - t.key = key; --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ if((res = lh_TABNODE_delete(tab, &t)) != NULL) { -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { - #else - if((res = (TABNODE *)lh_delete(tab, &t)) != NULL) { -@@ -127,7 +140,9 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a) - TABNODE *res; - - if(t->last_acc < a->lim) --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ if((res = lh_TABNODE_delete(a->tab, t)) != NULL) { -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) { - #else - if((res = lh_delete(a->tab, t)) != NULL) { -@@ -145,6 +160,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) - IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) - #endif - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG); -+#endif -+ - /* - * Expire all old nodes - */ -@@ -156,14 +175,16 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) - - a.tab = tab; - a.lim = lim; -- down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; -- CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+ down_load = TABNODE_GET_DOWN_LOAD(tab); -+ TABNODE_SET_DOWN_LOAD(tab, 0); -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a); -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); - #else - lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_old), &a); - #endif -- CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; -+ TABNODE_SET_DOWN_LOAD(tab, down_load); - return; - } - -@@ -173,7 +194,9 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg) - TABNODE *res; - - if(memcmp(t->content, arg->content, arg->cont_len) == 0) --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) { -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) { - #else - if((res = lh_delete(arg->tab, t)) != NULL) { -@@ -203,15 +226,16 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len - a.tab = tab; - a.content = content; - a.cont_len = cont_len; -- down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; -- CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+ down_load = TABNODE_GET_DOWN_LOAD(tab); -+ TABNODE_SET_DOWN_LOAD(tab, 0); -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a); -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); - #else - lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_cont), &a); - #endif -- CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; -- return; -+ TABNODE_SET_DOWN_LOAD(tab, down_load); - } - - /* -@@ -1262,6 +1286,31 @@ RSA_tmp_callback(/* not used */SSL *ssl, /* not used */int is_export, int keylen - return res; - } - -+static int -+generate_key(RSA **ret_rsa, unsigned long bits) -+{ -+#if OPENSSL_VERSION_NUMBER > 0x00908000L -+ int rc = 0; -+ RSA *rsa; -+ -+ rsa = RSA_new(); -+ if (rsa) { -+ BIGNUM *bne = BN_new(); -+ if (BN_set_word(bne, RSA_F4)) -+ rc = RSA_generate_key_ex(rsa, bits, bne, NULL); -+ BN_free(bne); -+ if (rc) -+ *ret_rsa = rsa; -+ else -+ RSA_free(rsa); -+ } -+ return rc; -+#else -+ *ret_rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL); -+ return *ret_rsa != NULL; -+#endif -+} -+ - /* - * Periodically regenerate ephemeral RSA keys - * runs every T_RSA_KEYS seconds -@@ -1274,8 +1323,9 @@ do_RSAgen(void) - RSA *t_RSA1024_keys[N_RSA_KEYS]; - - for(n = 0; n < N_RSA_KEYS; n++) { -- t_RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL); -- t_RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL); -+ /* FIXME: Error handling */ -+ generate_key(&t_RSA512_keys[n], 512); -+ generate_key(&t_RSA1024_keys[n], 1024); - } - if(ret_val = pthread_mutex_lock(&RSA_mut)) - logmsg(LOG_WARNING, "thr_RSAgen() lock: %s", strerror(ret_val)); -@@ -1329,11 +1379,11 @@ init_timer(void) - * Pre-generate ephemeral RSA keys - */ - for(n = 0; n < N_RSA_KEYS; n++) { -- if((RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL)) == NULL) { -+ if(!generate_key(&RSA512_keys[n], 512)) { - logmsg(LOG_WARNING,"RSA_generate(%d, 512) failed", n); - return; - } -- if((RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL)) == NULL) { -+ if(!generate_key(&RSA1024_keys[n], 1024)) { - logmsg(LOG_WARNING,"RSA_generate(%d, 1024) failed", n); - return; - } -@@ -1420,6 +1470,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE, DUMP_ARG) - IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, DUMP_ARG *) - #endif - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+IMPLEMENT_LHASH_DOALL_ARG(TABNODE,DUMP_ARG); -+#endif -+ - /* - * write sessions to the control socket - */ -@@ -1430,7 +1484,9 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const - - a.control_sock = control_sock; - a.backends = backends; --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+ lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a); -+#elif OPENSSL_VERSION_NUMBER >= 0x10000000L - LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); - #else - lh_doall_arg(sess, LHASH_DOALL_ARG_FN(t_dump), &a); -@@ -1664,6 +1720,13 @@ thr_control(void *arg) - } - } - -+#ifndef SSL3_ST_SR_CLNT_HELLO_A -+# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) -+#endif -+#ifndef SSL23_ST_SR_CLNT_HELLO_A -+# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) -+#endif -+ - void - SSLINFO_callback(const SSL *ssl, int where, int rc) - { diff --git a/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch b/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch deleted file mode 100644 index 3befc271d70..00000000000 --- a/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 145b88d0c1a71ba6f4d216768388e0c5853d3990 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Tue, 5 Feb 2019 10:34:55 -0600 -Subject: [PATCH] Support for libressl coexisting with openssl 1.1.x -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -libressl needs to not follow the 1.1.x path of APIs - -Resolves build failure like -In file included from svc.c:28:0: -pound.h:348:3: warning: data definition has no type or storage class - DEFINE_LHASH_OF(TABNODE); - ^~~~~~~~~~~~~~~ -pound.h:348:3: warning: type defaults to ‘int’ in declaration of ‘DEFINE_LHASH_OF’ [-Wimplicit-int] -svc.c: In function ‘t_add’: -svc.c:69:15: warning: implicit declaration of function ‘lh_TABNODE_insert’; did you mean ‘lh_OBJ_NAME_insert’? [-Wimplicit-function-declaration] - if((old = lh_TABNODE_insert(tab, t)) != NULL) { - ^~~~~~~~~~~~~~~~~ - lh_OBJ_NAME_insert - -Upstream: Site was down when I tried (http://www.apsis.ch/pound) - -Signed-off-by: Matthew Weber ---- - config.c | 2 +- - svc.c | 20 ++++++++++---------- - 2 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/config.c b/config.c -index 58b928e..3ad7fbb 100644 ---- a/config.c -+++ b/config.c -@@ -574,7 +574,7 @@ parse_service(const char *svc_name) - pthread_mutex_init(&res->mut, NULL); - if(svc_name) - strncpy(res->name, svc_name, KEY_SIZE); --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL) - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) -diff --git a/svc.c b/svc.c -index f125be4..8a2f62c 100644 ---- a/svc.c -+++ b/svc.c -@@ -27,7 +27,7 @@ - - #include "pound.h" - --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - # define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t) - # define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n) - #else -@@ -65,7 +65,7 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const - } - memcpy(t->content, content, cont_len); - t->last_acc = time(NULL); --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - if((old = lh_TABNODE_insert(tab, t)) != NULL) { - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { -@@ -91,7 +91,7 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key) - TABNODE t, *res; - - t.key = key; --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) { - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { -@@ -113,7 +113,7 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key) - TABNODE t, *res; - - t.key = key; --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - if((res = lh_TABNODE_delete(tab, &t)) != NULL) { - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { -@@ -140,7 +140,7 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a) - TABNODE *res; - - if(t->last_acc < a->lim) --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - if((res = lh_TABNODE_delete(a->tab, t)) != NULL) { - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) { -@@ -160,7 +160,7 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) - IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) - #endif - --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG); - #endif - -@@ -177,7 +177,7 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) - a.lim = lim; - down_load = TABNODE_GET_DOWN_LOAD(tab); - TABNODE_SET_DOWN_LOAD(tab, 0); --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a); - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); -@@ -194,7 +194,7 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg) - TABNODE *res; - - if(memcmp(t->content, arg->content, arg->cont_len) == 0) --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) { - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) { -@@ -228,7 +228,7 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len - a.cont_len = cont_len; - down_load = TABNODE_GET_DOWN_LOAD(tab); - TABNODE_SET_DOWN_LOAD(tab, 0); --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a); - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); -@@ -1514,7 +1514,7 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const - - a.control_sock = control_sock; - a.backends = backends; --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER - lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a); - #elif OPENSSL_VERSION_NUMBER >= 0x10000000L - LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); --- -1.9.1 - diff --git a/package/pound/Config.in b/package/pound/Config.in index 91c29ea7a68..aa0f1032731 100644 --- a/package/pound/Config.in +++ b/package/pound/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_POUND depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s). Pound was developed to enable @@ -11,7 +12,7 @@ config BR2_PACKAGE_POUND for a convenient SSL wrapper for those Web servers that do not offer it natively. - http://www.apsis.ch/pound + https://github.com/graygnuorg/pound comment "pound needs a toolchain w/ dynamic library, threads" depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/pound/pound.hash b/package/pound/pound.hash index 1e88218692f..c5b08891bef 100644 --- a/package/pound/pound.hash +++ b/package/pound/pound.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a7fd8690de0fd390615e79fd0f4bfd56a544b8ef97dd6659c07ecd3207480c25 Pound-2.8.tgz -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL.txt +sha256 f1a041e060124941b090ad2d4fec5a72be37a5f8a50f0e0ca821dcbbe4b5925b pound-4.8.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/pound/pound.mk b/package/pound/pound.mk index d6839fc2e78..7bd7eaef2a0 100644 --- a/package/pound/pound.mk +++ b/package/pound/pound.mk @@ -4,11 +4,10 @@ # ################################################################################ -POUND_VERSION = 2.8 -POUND_SITE = http://www.apsis.ch/pound -POUND_SOURCE = Pound-$(POUND_VERSION).tgz +POUND_VERSION = 4.8 +POUND_SITE = https://github.com/graygnuorg/pound/releases/download/v$(POUND_VERSION) POUND_LICENSE = GPL-3.0+ -POUND_LICENSE_FILES = GPL.txt +POUND_LICENSE_FILES = COPYING POUND_DEPENDENCIES = openssl host-openssl # Force owner/group to us, otherwise it will try proxy:proxy by @@ -17,8 +16,16 @@ POUND_CONF_OPTS = \ --with-owner=$(shell id -un) \ --with-group=$(shell id -gn) -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) +POUND_CONF_OPTS += --enable-pcreposix=pcre2 +POUND_CONF_ENV += \ + ac_cv_path_PCRE2_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config +POUND_DEPENDENCIES += pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) +POUND_CONF_OPTS += --enable-pcreposix=pcre1 POUND_DEPENDENCIES += pcre +else +POUND_CONF_OPTS += --disable-pcreposix endif $(eval $(autotools-package)) diff --git a/package/powerpc-utils/powerpc-utils.hash b/package/powerpc-utils/powerpc-utils.hash index b3c77fb223b..32387014cc6 100644 --- a/package/powerpc-utils/powerpc-utils.hash +++ b/package/powerpc-utils/powerpc-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 d64d9016a3e63a1e44c6e0833742cf964ae6bb1c6a9c7f0c7c5748aa335dc3db powerpc-utils-1.3.10.tar.gz +sha256 6bb16078068d8b889afdd78927d2f061702ef155e57fc548ae573e2b0b90ca13 powerpc-utils-1.3.11.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/powerpc-utils/powerpc-utils.mk b/package/powerpc-utils/powerpc-utils.mk index 19fa84946c9..ddeb830b073 100644 --- a/package/powerpc-utils/powerpc-utils.mk +++ b/package/powerpc-utils/powerpc-utils.mk @@ -4,13 +4,13 @@ # ################################################################################ -POWERPC_UTILS_VERSION = 1.3.10 +POWERPC_UTILS_VERSION = 1.3.11 POWERPC_UTILS_SITE = $(call github,ibm-power-utilities,powerpc-utils,v$(POWERPC_UTILS_VERSION)) POWERPC_UTILS_DEPENDENCIES = zlib numactl POWERPC_UTILS_AUTORECONF = YES POWERPC_UTILS_LICENSE = GPL-2.0+ POWERPC_UTILS_LICENSE_FILES = COPYING -POWERPC_UTILS_CPE_ID_VENDOR = powerpc-utils_project +POWERPC_UTILS_CPE_ID_VALID = YES POWERPC_UTILS_CONF_ENV = \ ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) diff --git a/package/powertop/0001-add-disable-stack-protector-option.patch b/package/powertop/0001-add-disable-stack-protector-option.patch new file mode 100644 index 00000000000..01a030522d8 --- /dev/null +++ b/package/powertop/0001-add-disable-stack-protector-option.patch @@ -0,0 +1,55 @@ +From 95382246ddd889839633aa0da800a03936b93986 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 31 Oct 2021 18:26:01 +0100 +Subject: [PATCH] add --disable-stack-protector option + +Allow the user to disable stack-protector as not all toolchains support +this feature + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/fenrus75/powertop/pull/138 +--- + configure.ac | 4 ++++ + src/Makefile.am | 5 ++++- + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 37c1304..69160d5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -43,6 +43,10 @@ AX_ADD_FORTIFY_SOURCE + AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory]) + PKG_PROG_PKG_CONFIG + ++AC_ARG_ENABLE([stack-protector], ++ AS_HELP_STRING([--disable-stack-protector], [Disable stack-protector])) ++AM_CONDITIONAL([ENABLE_STACK_PROTECTOR], [test x$enable_stack_protector != xno]) ++ + # Checks for libraries. + AX_PTHREAD([ + LIBS="$PTHREAD_LIBS $LIBS" +diff --git a/src/Makefile.am b/src/Makefile.am +index 6b523f6..ca30d20 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -138,13 +138,16 @@ powertop_CXXFLAGS = \ + -Wformat \ + -Wshadow \ + -fno-omit-frame-pointer \ +- -fstack-protector \ + $(GLIB2_CFLAGS) \ + $(LIBNL_CFLAGS) \ + $(NCURSES_CFLAGS) \ + $(PCIUTILS_CFLAGS) \ + $(PTHREAD_CFLAGS) + ++if ENABLE_STACK_PROTECTOR ++powertop_CXXFLAGS += \ ++ -fstack-protector ++endif + + powertop_CPPFLAGS = \ + -DLOCALEDIR=\"$(localedir)\" \ +-- +2.33.0 + diff --git a/package/powertop/0001-dont-force-stack-smashing-protection.patch b/package/powertop/0001-dont-force-stack-smashing-protection.patch deleted file mode 100644 index 75ed2d1c24f..00000000000 --- a/package/powertop/0001-dont-force-stack-smashing-protection.patch +++ /dev/null @@ -1,18 +0,0 @@ -Do not pass -fstack-protector unconditionally - -Using -fstack-protector only works when the toolchain has SSP support. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/Makefile.am -=================================================================== ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -127,7 +127,6 @@ - -Wformat \ - -Wshadow \ - -fno-omit-frame-pointer \ -- -fstack-protector \ - $(GLIB2_CFLAGS) \ - $(LIBNL_CFLAGS) \ - $(NCURSES_CFLAGS) \ diff --git a/package/powertop/Config.in b/package/powertop/Config.in index 0f323a7bfb9..2f7ba2bb9df 100644 --- a/package/powertop/Config.in +++ b/package/powertop/Config.in @@ -4,13 +4,12 @@ config BR2_PACKAGE_POWERTOP depends on BR2_TOOLCHAIN_HAS_THREADS # libnl depends on BR2_USE_WCHAR select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_PCIUTILS select BR2_PACKAGE_LIBNL help A tool to diagnose issues with power consumption and power management - https://01.org/powertop/ + https://github.com/fenrus75/powertop/ comment "powertop needs a toolchain w/ C++, threads, wchar" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ diff --git a/package/powertop/powertop.hash b/package/powertop/powertop.hash index fc8f3cc52f9..810b80a5144 100644 --- a/package/powertop/powertop.hash +++ b/package/powertop/powertop.hash @@ -1,5 +1,3 @@ -# Locally calculated after checking pgp signature -# https://01.org/sites/default/files/downloads/powertop-2.13.tar.gz.asc.txt -# using key 22E8F306C8FA4BAA2A5F36F3A0303B060918941C -sha256 a65f992ca4a419bc73b623651060eb9fc00c5a86fa03556358cd9db011ef3178 powertop-2.13.tar.gz +# Locally calculated +sha256 e58ab3fd7b8ff5f4dd0d17f11848817e7d83c0a6918145ac81de03b5dccf8f49 powertop-2.15.tar.gz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/package/powertop/powertop.mk b/package/powertop/powertop.mk index c3e8d2549c3..aa7d251b900 100644 --- a/package/powertop/powertop.mk +++ b/package/powertop/powertop.mk @@ -4,15 +4,32 @@ # ################################################################################ -POWERTOP_VERSION = 2.13 -POWERTOP_SITE = https://01.org/sites/default/files/downloads -POWERTOP_DEPENDENCIES = pciutils ncurses libnl host-pkgconf \ - $(TARGET_NLS_DEPENDENCIES) +POWERTOP_VERSION = 2.15 +POWERTOP_SITE = $(call github,fenrus75,powertop,v$(POWERTOP_VERSION)) POWERTOP_LICENSE = GPL-2.0 POWERTOP_LICENSE_FILES = COPYING -POWERTOP_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) -# 0001-dont-force-stack-smashing-protection.patch + +POWERTOP_DEPENDENCIES = \ + host-autoconf-archive \ + host-pkgconf \ + libnl \ + ncurses \ + $(if $(BR2_PACKAGE_PCIUTILS),pciutils) \ + $(TARGET_NLS_DEPENDENCIES) + +# 0001-add-disable-stack-protector-option.patch +POWERTOP_AUTOPOINT = YES POWERTOP_AUTORECONF = YES +POWERTOP_AUTORECONF_OPTS = --include=$(HOST_DIR)/share/autoconf-archive + +POWERTOP_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +POWERTOP_CONF_OPTS = --disable-stack-protector + +# fix missing config.rpath (needed for autoreconf) in the codebase +define POWERTOP_TOUCH_CONFIG_RPATH + touch $(@D)/config.rpath +endef +POWERTOP_PRE_CONFIGURE_HOOKS += POWERTOP_TOUCH_CONFIG_RPATH # Help powertop at finding the right ncurses library depending on # which one is available. diff --git a/package/pppd/0001-pppd-Fix-compilation-with-older-glibc-or-kernel-headers.patch b/package/pppd/0001-pppd-Fix-compilation-with-older-glibc-or-kernel-headers.patch deleted file mode 100644 index 86d8b8f4e3b..00000000000 --- a/package/pppd/0001-pppd-Fix-compilation-with-older-glibc-or-kernel-headers.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 98ec18f098e5ef68e3a8cc6954fcaf5a7fb8b7be Mon Sep 17 00:00:00 2001 -From: pali <7141871+pali@users.noreply.github.com> -Date: Mon, 15 Feb 2021 07:54:01 +0100 -Subject: [PATCH] pppd: Fix compilation with older glibc or kernel headers - (#248) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -glibc versions prior to 2.24 do not define SOL_NETLINK and linux kernel -versions prior to 4.3 do not define NETLINK_CAP_ACK. So add fallback -definitions for these macros into pppd/sys-linux.c file. - -Also extend description why we call SOL_NETLINK/NETLINK_CAP_ACK option. - -Signed-off-by: Pali Rohár - -[Retrieved from: -https://github.com/ppp-project/ppp/commit/98ec18f098e5ef68e3a8cc6954fcaf5a7fb8b7be] -Signed-off-by: Fabrice Fontaine ---- - pppd/sys-linux.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c -index 85033d97..50c4f2da 100644 ---- a/pppd/sys-linux.c -+++ b/pppd/sys-linux.c -@@ -125,6 +125,14 @@ - #include - #include - #include -+/* glibc versions prior to 2.24 do not define SOL_NETLINK */ -+#ifndef SOL_NETLINK -+#define SOL_NETLINK 270 -+#endif -+/* linux kernel versions prior to 4.3 do not define/support NETLINK_CAP_ACK */ -+#ifndef NETLINK_CAP_ACK -+#define NETLINK_CAP_ACK 10 -+#endif - #endif - - #include "pppd.h" -@@ -2843,7 +2851,15 @@ static int append_peer_ipv6_address(unsigned int iface, struct in6_addr *local_a - if (fd < 0) - return 0; - -- /* do not ask for error message content */ -+ /* -+ * Tell kernel to not send to us payload of acknowledgment error message. -+ * NETLINK_CAP_ACK option is supported since Linux kernel version 4.3 and -+ * older kernel versions always send full payload in acknowledgment netlink -+ * message. We ignore payload of this message as we need only error code, -+ * to check if our set remote peer address request succeeded or failed. -+ * So ignore return value from the following setsockopt() call as setting -+ * option NETLINK_CAP_ACK means for us just a kernel hint / optimization. -+ */ - one = 1; - setsockopt(fd, SOL_NETLINK, NETLINK_CAP_ACK, &one, sizeof(one)); - diff --git a/package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch b/package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch deleted file mode 100644 index aefdc5b7a4c..00000000000 --- a/package/pppd/0002-pppd-eap-tls.c-fix-build-with-libressl.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b0a011bc4abac8cb3de8dfff42b754ed236ecf0f Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 4 Jul 2022 10:07:03 +0200 -Subject: [PATCH] pppd/eap-tls.c: fix build with libressl (#338) - -Fix the following build failure with libressl: - -eap-tls.c: In function 'ssl_msg_callback': -eap-tls.c:1284:10: error: 'SSL3_RT_HEADER' undeclared (first use in this function); did you mean 'SSL3_RT_ALERT'? - 1284 | case SSL3_RT_HEADER: - | ^~~~~~~~~~~~~~ - | SSL3_RT_ALERT - -Fixes: - - http://autobuild.buildroot.org/results/7d721833bddf73531fa03b0a626511af6826d0df - -Signed-off-by: Fabrice Fontaine -[Retrieved (and backported) from: -https://github.com/ppp-project/ppp/commit/b0a011bc4abac8cb3de8dfff42b754ed236ecf0f] ---- - pppd/eap-tls.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pppd/eap-tls.c b/pppd/eap-tls.c -index b9bab842..40796d58 100644 ---- a/pppd/eap-tls.c -+++ b/pppd/eap-tls.c -@@ -61,7 +61,7 @@ - #include "mppe.h" - #include "pathnames.h" - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - - #define TLS_method SSLv23_method - diff --git a/package/pppd/Config.in b/package/pppd/Config.in index 898d95f0ee2..88c2180a9b0 100644 --- a/package/pppd/Config.in +++ b/package/pppd/Config.in @@ -19,23 +19,6 @@ config BR2_PACKAGE_PPPD_FILTER the pppd active-filter and pass-filter options are available. -config BR2_PACKAGE_PPPD_RADIUS - bool "radius" - help - Install RADIUS support for pppd - -config BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF - bool "overwrite /etc/resolv.conf" - default y - help - Overwrite /etc/resolv.conf instead of maintaining the - separate list of nameservers in /etc/ppp/resolv.conf - - Note that the pppd default of writing to /etc/ppp/resolv.conf - does not work on a read-only rootfs unless you make it - writable in your rootfs customizations (e.g. by linking it to - a file in tmpfs or by mounting a writable filesystem on it). - endif comment "pppd needs a toolchain w/ dynamic library" diff --git a/package/pppd/pppd.hash b/package/pppd/pppd.hash index 3d471695bb4..bf226508849 100644 --- a/package/pppd/pppd.hash +++ b/package/pppd/pppd.hash @@ -1,7 +1,4 @@ # Locally calculated -sha256 675bff4f366174649f4a3c92fd32ac476e694164ff2b0b7710019b6ead9c561e pppd-2.4.9.tar.gz -sha256 3990c65c506885f7bb75455d1d6188743a14ad46f5b62e136ef3739aed52c532 pppd/tdb.c -sha256 1822ead9d2854adfbd282322b29730a3fec4cc67f6f6a2e487aad3476e3afd59 pppd/plugins/pppoatm/COPYING -sha256 d759ec16875a69c2d5529f8cb3c040fef8fe38d26f70457aadb73c91b72746c8 pppdump/bsd-comp.c -sha256 c0d0f14b6ec9948332f10ded741293ed1f3b96e0d266e4903b605a6e1f8af7cd pppd/ccp.c -sha256 367f334c509db2b293aea5ce9f54284d9a9f6e0a9e0c6e305d544079baf8ab63 pppd/plugins/passprompt.c +sha256 535efa0e7c36e9d443b1b52c296d63ab2c1ec9458816ea0e37c701e0a921466d pppd-e1266c76d1ad39f98f11676e34f180f78c5a510c.tar.gz +sha256 5d588eb3b157d52112afea935c88a7ff9efddc1e2d95a42c25d3b96ad9055008 LICENSE.BSD +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2 diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk index d9d6244f103..d996a391209 100644 --- a/package/pppd/pppd.mk +++ b/package/pppd/pppd.mk @@ -4,128 +4,53 @@ # ################################################################################ -PPPD_VERSION = 2.4.9 -PPPD_SITE = $(call github,paulusmack,ppp,ppp-$(PPPD_VERSION)) +# The tarball provided at https://download.samba.org/pub/ppp/ does not +# include the license files yet so we use the github tarball. +PPPD_VERSION = e1266c76d1ad39f98f11676e34f180f78c5a510c +PPPD_SITE = $(call github,ppp-project,ppp,$(PPPD_VERSION)) PPPD_LICENSE = LGPL-2.0+, LGPL, BSD-4-Clause, BSD-3-Clause, GPL-2.0+ -PPPD_LICENSE_FILES = \ - pppd/tdb.c pppd/plugins/pppoatm/COPYING \ - pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c +PPPD_LICENSE_FILES = LICENSE.BSD LICENSE.GPL-2 PPPD_CPE_ID_VENDOR = point-to-point_protocol_project PPPD_CPE_ID_PRODUCT = point-to-point_protocol PPPD_SELINUX_MODULES = ppp +PPPD_AUTORECONF = YES +PPPD_INSTALL_STAGING = YES +PPPD_CONF_OPTS = --enable-multilink -PPPD_MAKE_OPTS = HAVE_INET6=y +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +PPPD_CONF_OPTS += --with-pam=$(STAGING_DIR)/usr +PPPD_DEPENDENCIES += linux-pam +else +PPPD_CONF_OPTS += --without-pam +endif ifeq ($(BR2_PACKAGE_OPENSSL),y) +PPPD_CONF_OPTS += \ + --enable-eaptls \ + --enable-openssl-engine \ + --enable-peap \ + --with-openssl=$(STAGING_DIR)/usr PPPD_DEPENDENCIES += openssl -PPPD_MAKE_OPTS += USE_EAPTLS=y else -PPPD_MAKE_OPTS += \ - USE_CRYPT=y \ - USE_EAPTLS= +PPPD_CONF_OPTS += \ + --disable-eaptls \ + --disable-openssl-engine \ + --disable-peap \ + --without-openssl endif -PPPD_INSTALL_STAGING = YES -PPPD_TARGET_BINS = chat pppd pppdump pppstats -PPPD_RADIUS_CONF = \ - dictionary dictionary.ascend dictionary.compat \ - dictionary.merit dictionary.microsoft \ - issue port-id-map realms servers radiusclient.conf - ifeq ($(BR2_PACKAGE_PPPD_FILTER),y) +PPPD_CONF_OPTS += --with-pcap=$(STAGING_DIR)/usr PPPD_DEPENDENCIES += libpcap -PPPD_MAKE_OPTS += FILTER=y -endif - -# pppd bundles some but not all of the needed kernel headers. The embedded -# if_pppol2tp.h is unfortunately not compatible with kernel headers > 2.6.34, -# and has been part of the kernel headers since 2.6.23, so drop it -define PPPD_DROP_INTERNAL_IF_PPOL2TP_H - $(RM) $(@D)/include/linux/if_pppol2tp.h -endef - -PPPD_POST_EXTRACT_HOOKS += PPPD_DROP_INTERNAL_IF_PPOL2TP_H - -# pppd defaults to /etc/ppp/resolv.conf, which not be writable and is -# definitely not useful since the C library only uses -# /etc/resolv.conf. Therefore, we change pppd to use /etc/resolv.conf -# instead. -define PPPD_SET_RESOLV_CONF - $(SED) 's,ppp/resolv.conf,resolv.conf,' $(@D)/pppd/pathnames.h -endef -ifeq ($(BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF),y) -PPPD_POST_EXTRACT_HOOKS += PPPD_SET_RESOLV_CONF -endif - -ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15),y) -define PPPD_DROP_IPX - $(SED) 's/-DIPX_CHANGE//' $(PPPD_DIR)/pppd/Makefile.linux -endef -PPPD_POST_EXTRACT_HOOKS += PPPD_DROP_IPX +else +PPPD_CONF_OPTS += --without-pcap endif -define PPPD_CONFIGURE_CMDS - $(SED) 's/FILTER=y/#FILTER=y/' $(PPPD_DIR)/pppd/Makefile.linux - $(SED) 's/ifneq ($$(wildcard \/usr\/include\/pcap-bpf.h),)/ifdef FILTER/' $(PPPD_DIR)/*/Makefile.linux - ( cd $(@D); $(TARGET_MAKE_ENV) ./configure --prefix=/usr ) -endef - -define PPPD_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" COPTS="$(TARGET_CFLAGS)" \ - -C $(@D) $(PPPD_MAKE_OPTS) -endef - -ifeq ($(BR2_PACKAGE_PPPD_RADIUS),y) -define PPPD_INSTALL_RADIUS - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/radius/radattr.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/radattr.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/radius/radius.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/radius.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/radius/radrealms.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/radrealms.so - for m in $(PPPD_RADIUS_CONF); do \ - $(INSTALL) -m 644 -D $(PPPD_DIR)/pppd/plugins/radius/etc/$$m \ - $(TARGET_DIR)/etc/ppp/radius/$$m; \ - done - $(SED) 's:/usr/local/etc:/etc:' \ - $(TARGET_DIR)/etc/ppp/radius/radiusclient.conf - $(SED) 's:/usr/local/sbin:/usr/sbin:' \ - $(TARGET_DIR)/etc/ppp/radius/radiusclient.conf - $(SED) 's:/etc/radiusclient:/etc/ppp/radius:g' \ - $(TARGET_DIR)/etc/ppp/radius/* -endef +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +PPPD_CONF_OPTS += --enable-systemd +PPPD_DEPENDENCIES += systemd +else +PPPD_CONF_OPTS += --disable-systemd endif -define PPPD_INSTALL_TARGET_CMDS - for sbin in $(PPPD_TARGET_BINS); do \ - $(INSTALL) -D $(PPPD_DIR)/$$sbin/$$sbin \ - $(TARGET_DIR)/usr/sbin/$$sbin; \ - done - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/minconn.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/minconn.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/passprompt.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/passprompt.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/passwordfd.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/passwordfd.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoatm/pppoatm.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppoatm.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoe/pppoe.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppoe.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoe/pppoe-discovery \ - $(TARGET_DIR)/usr/sbin/pppoe-discovery - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/winbind.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/winbind.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppol2tp/openl2tp.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/openl2tp.so - $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppol2tp/pppol2tp.so \ - $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppol2tp.so - $(INSTALL) -D -m 0755 $(PPPD_DIR)/scripts/pon $(TARGET_DIR)/usr/bin/pon - $(INSTALL) -D -m 0755 $(PPPD_DIR)/scripts/poff $(TARGET_DIR)/usr/bin/poff - $(PPPD_INSTALL_RADIUS) -endef - -define PPPD_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) INSTROOT=$(STAGING_DIR)/ -C $(@D) $(PPPD_MAKE_OPTS) install-devel -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/package/pptp-linux/pptp-linux.mk b/package/pptp-linux/pptp-linux.mk index 7fd07339776..b6c740e7104 100644 --- a/package/pptp-linux/pptp-linux.mk +++ b/package/pptp-linux/pptp-linux.mk @@ -7,7 +7,6 @@ PPTP_LINUX_VERSION = 1.10.0 PPTP_LINUX_SITE = http://downloads.sourceforge.net/project/pptpclient/pptp/pptp-$(PPTP_LINUX_VERSION) PPTP_LINUX_SOURCE = pptp-$(PPTP_LINUX_VERSION).tar.gz -PPTP_LINUX_MAKE = $(MAKE1) PPTP_LINUX_LICENSE = GPL-2.0+ PPTP_LINUX_LICENSE_FILES = COPYING diff --git a/package/prboom/prboom.mk b/package/prboom/prboom.mk index 36692d29a3f..c1ba05ff703 100644 --- a/package/prboom/prboom.mk +++ b/package/prboom/prboom.mk @@ -6,7 +6,7 @@ PRBOOM_VERSION = 2.5.0 PRBOOM_SITE = http://downloads.sourceforge.net/project/prboom/prboom%20stable/$(PRBOOM_VERSION) -PRBOOM_CONF_ENV = ac_cv_type_uid_t=yes +PRBOOM_CONF_ENV = ac_cv_type_gid_t=yes ac_cv_type_uid_t=yes PRBOOM_DEPENDENCIES = sdl sdl_net sdl_mixer PRBOOM_LICENSE = GPL-2.0+ PRBOOM_LICENSE_FILES = COPYING diff --git a/package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch b/package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch new file mode 100644 index 00000000000..e04d191ce00 --- /dev/null +++ b/package/privoxy/0001-GNUmakefile-in-Don-t-exit-if-configuration-files-are.patch @@ -0,0 +1,30 @@ +From 4b3b267db159dc23314de3062859481b7c397e32 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 17 Mar 2024 12:36:31 +0100 +Subject: [PATCH] GNUmakefile.in: Don't exit if configuration files are + installed as root + +... as this can be considered acceptable when cross-compiling +Privoxy inside an autobuilder with only a root user. + +Upstream: https://www.privoxy.org/gitweb/?p=privoxy.git;a=commit;h=4b3b267db159dc23314de3062859481b7c397e32 +Signed-off-by: Fabrice Fontaine +--- + GNUmakefile.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/GNUmakefile.in b/GNUmakefile.in +index 04cceb15..cf79aae1 100644 +--- a/GNUmakefile.in ++++ b/GNUmakefile.in +@@ -927,7 +927,6 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T + $(ECHO) " and to install the config files as that user and/or group!" ;\ + $(ECHO) " Please read INSTALL, and create a privoxy user and group!" ;\ + $(ECHO) "*******************************************************************" ;\ +- exit 1 ;\ + fi ;\ + else \ + GROUP_T=$(GROUP) ;\ +-- +2.39.2 + diff --git a/package/privoxy/0002-GNUMakefile.in-fix-root-install.patch b/package/privoxy/0002-GNUMakefile.in-fix-root-install.patch new file mode 100644 index 00000000000..89347c214e1 --- /dev/null +++ b/package/privoxy/0002-GNUMakefile.in-fix-root-install.patch @@ -0,0 +1,35 @@ +From 25bd5ae1664f5603c05c72b2c38525602f33da0a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 31 Mar 2024 19:17:45 +0200 +Subject: [PATCH] GNUMakefile.in: fix root install + +Set GROUP_T when installing configuration files as root to avoid the +following build failure since commit +4b3b267db159dc23314de3062859481b7c397e32: + +/usr/bin/install: missing destination file operand after '/home/buildroot/instance-0/output-1/target/etc' + +Fixes: + - http://autobuild.buildroot.org/results/eb4ccf248c9c5048e9b71058bb0311b1e0763883 + +Signed-off-by: Fabrice Fontaine +Upstream: https://lists.privoxy.org/pipermail/privoxy-devel/2024-March/000760.html +--- + GNUmakefile.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/GNUmakefile.in b/GNUmakefile.in +index cf79aae1..db1bab59 100644 +--- a/GNUmakefile.in ++++ b/GNUmakefile.in +@@ -927,6 +927,7 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T + $(ECHO) " and to install the config files as that user and/or group!" ;\ + $(ECHO) " Please read INSTALL, and create a privoxy user and group!" ;\ + $(ECHO) "*******************************************************************" ;\ ++ GROUP_T=$(GROUP) ;\ + fi ;\ + else \ + GROUP_T=$(GROUP) ;\ +-- +2.43.0 + diff --git a/package/privoxy/privoxy.hash b/package/privoxy/privoxy.hash index cf1056ecc4d..67a44f2c948 100644 --- a/package/privoxy/privoxy.hash +++ b/package/privoxy/privoxy.hash @@ -1,6 +1,5 @@ -# From https://sourceforge.net/projects/ijbswa/files/Sources/3.0.33%20%28stable%29/ -md5 d6caf3eaad4812f0658b68d5b3ba3a06 privoxy-3.0.33-stable-src.tar.gz -sha1 688da305077d8ecbcf6423e02201f01f7a7098f4 privoxy-3.0.33-stable-src.tar.gz +# From https://sourceforge.net/projects/ijbswa/files/Sources/3.0.34%20%28stable%29/ +sha1 e65298c4ee235320ea9ddfb689187bda29a63bbb privoxy-3.0.34-stable-src.tar.gz # Locally computed -sha256 04b104e70dac61561b9dd110684b250fafc8c13dbe437a60fae18ddd9a881fae privoxy-3.0.33-stable-src.tar.gz +sha256 e6ccbca1656f4e616b4657f8514e33a70f6697e9d7294356577839322a3c5d2c privoxy-3.0.34-stable-src.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/privoxy/privoxy.mk b/package/privoxy/privoxy.mk index 06642200df0..e1353ef0c78 100644 --- a/package/privoxy/privoxy.mk +++ b/package/privoxy/privoxy.mk @@ -4,8 +4,8 @@ # ################################################################################ -PRIVOXY_VERSION = 3.0.33 -PRIVOXY_SITE = http://downloads.sourceforge.net/project/ijbswa/Sources/$(PRIVOXY_VERSION)%20%28stable%29 +PRIVOXY_VERSION = 3.0.34 +PRIVOXY_SITE = https://downloads.sourceforge.net/project/ijbswa/Sources/$(PRIVOXY_VERSION)%20%28stable%29 PRIVOXY_SOURCE = privoxy-$(PRIVOXY_VERSION)-stable-src.tar.gz # configure not shipped PRIVOXY_AUTORECONF = YES diff --git a/package/procps-ng/S02sysctl b/package/procps-ng/S02sysctl index 85d9ed50d0d..c202833ab83 100644 --- a/package/procps-ng/S02sysctl +++ b/package/procps-ng/S02sysctl @@ -43,7 +43,7 @@ run_logger() { break } echo "* Applying $file ..." - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" done 2>&1 >&3 | /usr/bin/logger -t sysctl -p kern.err } 3>&1 | /usr/bin/logger -t sysctl -p kern.info } @@ -60,7 +60,7 @@ run_std() { break } echo "* Applying $file ..." - /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL" + /sbin/sysctl $SYSCTL_ARGS -p "$file" || prog_status="FAIL" done } } diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index 46f75a48ef9..ba8958d146e 100644 --- a/package/procps-ng/procps-ng.mk +++ b/package/procps-ng/procps-ng.mk @@ -9,7 +9,7 @@ PROCPS_NG_SOURCE = procps-ng-$(PROCPS_NG_VERSION).tar.xz PROCPS_NG_SITE = http://downloads.sourceforge.net/project/procps-ng/Production PROCPS_NG_LICENSE = GPL-2.0+, LGPL-2.0+ (libproc and libps) PROCPS_NG_LICENSE_FILES = COPYING COPYING.LIB -PROCPS_NG_CPE_ID_VENDOR = procps-ng_project +PROCPS_NG_CPE_ID_VALID = YES PROCPS_NG_INSTALL_STAGING = YES # We're patching configure.ac PROCPS_NG_AUTORECONF = YES diff --git a/package/procs/Config.in b/package/procs/Config.in new file mode 100644 index 00000000000..946fa68c63f --- /dev/null +++ b/package/procs/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PROCS + bool "procs" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC + help + procs is a modern replacement for ps written in Rust + + https://github.com/dalance/procs.git diff --git a/package/procs/procs.hash b/package/procs/procs.hash new file mode 100644 index 00000000000..19832e38976 --- /dev/null +++ b/package/procs/procs.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 2f9fdbcf7324952e22565ded58148fa40387b5a5f8723996620d6c4588925713 procs-0.14.3.tar.gz +sha256 feb87a2e0c305de3464cc44077da5393c52d8ca6362d37427157d04ec6f4510d LICENSE diff --git a/package/procs/procs.mk b/package/procs/procs.mk new file mode 100644 index 00000000000..8567bf3da36 --- /dev/null +++ b/package/procs/procs.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# procs +# +################################################################################ + +PROCS_VERSION = 0.14.3 +PROCS_SITE = $(call github,dalance,procs,v$(PROCS_VERSION)) +PROCS_LICENSE = MIT +PROCS_LICENSE_FILES = LICENSE + +$(eval $(cargo-package)) diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in index 83094028a0c..7b9f74895a1 100644 --- a/package/proftpd/Config.in +++ b/package/proftpd/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PROFTPD bool "proftpd" depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS help ProFTPD, a highly configurable FTP server. @@ -29,7 +30,8 @@ config BR2_PACKAGE_PROFTPD_MOD_REDIS config BR2_PACKAGE_PROFTPD_MOD_SFTP bool "mod_sftp support" select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160 help Compile ProFTPD with mod_sftp support @@ -103,3 +105,7 @@ config BR2_PACKAGE_PROFTPD_BUFFER_SIZE 0 uses the default size of 1024. endif + +comment "proftpd needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/proftpd/proftpd.hash b/package/proftpd/proftpd.hash index f950f26b860..5a7d153a310 100644 --- a/package/proftpd/proftpd.hash +++ b/package/proftpd/proftpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f7139e7377a2cb059b8b9b14d76a6df5f440e3181cb15ae890d43bbcae574748 proftpd-1.3.8.tar.gz +sha256 183ab7c6107de271a2959ff268f55c9b6c76b2cf0029e6584fccc019686601e0 proftpd-1.3.8b.tar.gz sha256 391a473d755c29b5326fb726326ff3c37e42512f53a8f5789fc310232150bf80 COPYING diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk index 8e7d108c9e0..445ece779d0 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -4,8 +4,8 @@ # ################################################################################ -PROFTPD_VERSION = 1.3.8 -PROFTPD_SITE = ftp://ftp.proftpd.org/distrib/source +PROFTPD_VERSION = 1.3.8b +PROFTPD_SITE = https://github.com/proftpd/proftpd/archive/v$(PROFTPD_VERSION) PROFTPD_LICENSE = GPL-2.0+ PROFTPD_LICENSE_FILES = COPYING PROFTPD_CPE_ID_VENDOR = proftpd @@ -27,6 +27,17 @@ PROFTPD_CONF_OPTS = \ --with-gnu-ld \ --without-openssl-cmdline +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +PROFTPD_DEPENDENCIES += libidn2 +endif + +ifeq ($(BR2_PACKAGE_PCRE2),y) +PROFTPD_CONF_OPTS += --enable-pcre2 +PROFTPD_DEPENDENCIES += pcre2 +else +PROFTPD_CONF_OPTS += --disable-pcre2 +endif + ifeq ($(BR2_PACKAGE_PROFTPD_MOD_CAP),y) PROFTPD_CONF_OPTS += --enable-cap PROFTPD_DEPENDENCIES += libcap diff --git a/package/proj/Config.in b/package/proj/Config.in index 1952fc7d9a5..6d172e2ee99 100644 --- a/package/proj/Config.in +++ b/package/proj/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PROJ bool "proj" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_WCHAR select BR2_PACKAGE_SQLITE help @@ -14,7 +14,7 @@ config BR2_PACKAGE_PROJ http://proj4.org/ -comment "proj needs a toolchain w/ C++, gcc >= 4.7, threads, wchar" +comment "proj needs a toolchain w/ C++, gcc >= 4.7, NPTL, wchar" depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ - !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR diff --git a/package/proj/proj.hash b/package/proj/proj.hash index 96d94e458e3..22e6a43bf72 100644 --- a/package/proj/proj.hash +++ b/package/proj/proj.hash @@ -1,5 +1,5 @@ -# Fetched from http://download.osgeo.org/proj/proj-8.1.1.tar.gz.md5 -md5 f017fd7d35311b0d65b2cf0503844690 proj-8.1.1.tar.gz +# Fetched from http://download.osgeo.org/proj/proj-9.3.0.tar.gz.md5 +md5 f1d70cb8873bb4429a03c437c65c41c4 proj-9.3.0.tar.gz # Locally calculated -sha256 82f1345e5fa530c407cb1fc0752e83f8d08d2b98772941bbdc7820241f7fada2 proj-8.1.1.tar.gz +sha256 91a3695a004ea28db0448a34460bed4cc3b130e5c7d74339ec999efdab0e547d proj-9.3.0.tar.gz sha256 6a8f30793e877d32e3f88b972f0970a051a3b5a26cd057d3993cb51e21c43319 COPYING diff --git a/package/proj/proj.mk b/package/proj/proj.mk index bc924b41fb2..0e913fa3356 100644 --- a/package/proj/proj.mk +++ b/package/proj/proj.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROJ_VERSION = 8.1.1 +PROJ_VERSION = 9.3.0 PROJ_SITE = http://download.osgeo.org/proj PROJ_LICENSE = MIT PROJ_LICENSE_FILES = COPYING @@ -19,22 +19,23 @@ PROJ_CFLAGS += -O0 PROJ_CXXFLAGS += -O0 endif -PROJ_CONF_ENV = \ - CFLAGS="$(PROJ_CFLAGS)" \ - CXXFLAGS="$(PROJ_CXXFLAGS)" +PROJ_CONF_OPTS = \ + -DBUILD_APPS=OFF \ + -DCMAKE_C_FLAGS="$(PROJ_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(PROJ_CXXFLAGS)" ifeq ($(BR2_PACKAGE_LIBCURL),y) PROJ_DEPENDENCIES += libcurl -PROJ_CONF_OPTS += --with-curl=$(STAGING_DIR)/usr/bin/curl-config +PROJ_CONF_OPTS += -DENABLE_CURL=ON else -PROJ_CONF_OPTS += --without-curl +PROJ_CONF_OPTS += -DENABLE_CURL=OFF endif ifeq ($(BR2_PACKAGE_TIFF),y) PROJ_DEPENDENCIES += tiff -PROJ_CONF_OPTS += --enable-tiff +PROJ_CONF_OPTS += -DENABLE_TIFF=ON else -PROJ_CONF_OPTS += --disable-tiff +PROJ_CONF_OPTS += -DENABLE_TIFF=OFF endif -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/prosody/prosody.hash b/package/prosody/prosody.hash index 3a3a363a4bd..1fd1abafe92 100644 --- a/package/prosody/prosody.hash +++ b/package/prosody/prosody.hash @@ -1,8 +1,8 @@ # Locally computed: -md5 7214ee57d4702585bd0d3428e69790b4 prosody-0.11.13.tar.gz -sha1 1cc5a72d98738872d0c1a4c34b1fcb8878348c7d prosody-0.11.13.tar.gz -sha256 39c61b346a09b5125b604cb969e14206cbbcb86c81156ffc6ba2d62527cf0432 prosody-0.11.13.tar.gz -sha512 7616785536b7b51767a26963a80c961ef2403609e1e78dda3f88cf68c00d5bb899278c70a22b006b58c36c62cbb1bbd390a9298bad5b8d6524928a1cd5457813 prosody-0.11.13.tar.gz +md5 93665d86c47e99c9c525610ac53400fb prosody-0.11.14.tar.gz +sha1 abbd0ad42e2b30051f4d3f198c54a52b4e9f39d0 prosody-0.11.14.tar.gz +sha256 ec0c7447ec07ed336b6912d06a2f533439cb16d60d8d3bffa8ce46269ee52c87 prosody-0.11.14.tar.gz +sha512 128e12427ae0b5080fd3cc2380974c04570b16f0f79de7b39ef85cec6e8f579bee2d1150ce70ca731222c487dba646cbcd48bdb4a102a14395644eb5f19f1c88 prosody-0.11.14.tar.gz # Hash for license file: sha256 bbbdc1c5426e5944cf869fc0faeaf19d88a220cd2b39ea98b7b8e86b0e88a2ef COPYING diff --git a/package/prosody/prosody.mk b/package/prosody/prosody.mk index 62ba073b9ec..b5d89ebba42 100644 --- a/package/prosody/prosody.mk +++ b/package/prosody/prosody.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROSODY_VERSION = 0.11.13 +PROSODY_VERSION = 0.11.14 PROSODY_SITE = https://prosody.im/downloads/source PROSODY_LICENSE = MIT PROSODY_LICENSE_FILES = COPYING diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in index d96cd7b382c..a438b32221b 100644 --- a/package/protobuf-c/Config.in +++ b/package/protobuf-c/Config.in @@ -4,12 +4,13 @@ config BR2_PACKAGE_PROTOBUF_C depends on BR2_TOOLCHAIN_HAS_THREADS # host-protobuf only builds on certain architectures depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_7 # c++17 for host variant help Code generator and runtime libraries to use Protocol Buffers from pure C (not C++). https://github.com/protobuf-c/protobuf-c -comment "protobuf-c needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_HOST_GCC_AT_LEAST_7 depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS diff --git a/package/protobuf-c/protobuf-c.hash b/package/protobuf-c/protobuf-c.hash index ec00442277d..aafd98416ae 100644 --- a/package/protobuf-c/protobuf-c.hash +++ b/package/protobuf-c/protobuf-c.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4cc4facd508172f3e0a4d3a8736225d472418aee35b4ad053384b137b220339f protobuf-c-1.4.1.tar.gz -sha256 b8999cb392cc5bbe8cd679de59584ad8d2f26033123e76f1d662fa14b9d4f287 LICENSE +sha256 7b404c63361ed35b3667aec75cc37b54298d56dd2bcf369de3373212cc06fd98 protobuf-c-1.5.0.tar.gz +sha256 ad28bbf89340b86d15aad1ff62c4f4590025d836415307dc66cf0338235cc2f4 LICENSE diff --git a/package/protobuf-c/protobuf-c.mk b/package/protobuf-c/protobuf-c.mk index 0742a33db2d..2b3e86a1bcd 100644 --- a/package/protobuf-c/protobuf-c.mk +++ b/package/protobuf-c/protobuf-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROTOBUF_C_VERSION = 1.4.1 +PROTOBUF_C_VERSION = 1.5.0 PROTOBUF_C_SITE = https://github.com/protobuf-c/protobuf-c/releases/download/v$(PROTOBUF_C_VERSION) PROTOBUF_C_DEPENDENCIES = host-protobuf-c HOST_PROTOBUF_C_DEPENDENCIES = host-protobuf host-pkgconf @@ -13,10 +13,10 @@ PROTOBUF_C_CONF_OPTS = --disable-protoc PROTOBUF_C_INSTALL_STAGING = YES PROTOBUF_C_LICENSE = BSD-2-Clause PROTOBUF_C_LICENSE_FILES = LICENSE -PROTOBUF_C_CPE_ID_VENDOR = protobuf-c_project +PROTOBUF_C_CPE_ID_VALID = YES -# host-protobuf needs c++11 (since 3.6.0) -HOST_PROTOBUF_C_CONF_ENV += CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" +# when building with protoc (from host-protobuf) c++17 is now required +HOST_PROTOBUF_C_CONF_ENV += CXXFLAGS="$(HOST_CXXFLAGS) -std=c++17" $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/protobuf/protobuf.hash b/package/protobuf/protobuf.hash index f1f5fa77cd3..b092c9303f1 100644 --- a/package/protobuf/protobuf.hash +++ b/package/protobuf/protobuf.hash @@ -1,3 +1,3 @@ # Locally calculated sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE -sha256 96f0ab99b7414e44e7bf9b218bb59510d61549ca68e648f19e3622f9999bec00 protobuf-cpp-3.21.11.tar.gz +sha256 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460 protobuf-cpp-3.21.12.tar.gz diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk index 33a7c40f400..8cd4e99e067 100644 --- a/package/protobuf/protobuf.mk +++ b/package/protobuf/protobuf.mk @@ -7,7 +7,7 @@ # When bumping this package, make sure to also verify if the # python-protobuf package still works and to update its hash, # as they share the same version/site variables. -PROTOBUF_VERSION = 21.11 +PROTOBUF_VERSION = 21.12 PROTOBUF_SOURCE = protobuf-cpp-3.$(PROTOBUF_VERSION).tar.gz PROTOBUF_SITE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOBUF_VERSION) PROTOBUF_LICENSE = BSD-3-Clause diff --git a/package/protozero/Config.in b/package/protozero/Config.in index 19048dfe8da..e6347e6f7f3 100644 --- a/package/protozero/Config.in +++ b/package/protozero/Config.in @@ -16,5 +16,5 @@ config BR2_PACKAGE_PROTOZERO https://github.com/mapbox/protozero -comment "protozero needs a toolchain w/ C++, gcc >= 4.7" +comment "protozero needs a toolchain w/ C++, gcc >= 4.7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/package/proxychains-ng/proxychains-ng.mk b/package/proxychains-ng/proxychains-ng.mk index c4d487c7dbc..3573cf1f093 100644 --- a/package/proxychains-ng/proxychains-ng.mk +++ b/package/proxychains-ng/proxychains-ng.mk @@ -9,11 +9,12 @@ PROXYCHAINS_NG_SOURCE = proxychains-ng-$(PROXYCHAINS_NG_VERSION).tar.xz PROXYCHAINS_NG_SITE = https://github.com/rofl0r/proxychains-ng/releases/download/v$(PROXYCHAINS_NG_VERSION) PROXYCHAINS_NG_LICENSE = GPL-2.0+ PROXYCHAINS_NG_LICENSE_FILES = COPYING -PROXYCHAINS_NG_CPE_ID_VENDOR = proxychains-ng_project +PROXYCHAINS_NG_CPE_ID_VALID = YES define PROXYCHAINS_NG_CONFIGURE_CMDS cd $(@D) && \ - $(TARGET_CONFIGURE_OPTS) ./configure --prefix=/usr --sysconfdir=/etc + $(TARGET_CONFIGURE_OPTS) CPPFLAGS="$(TARGET_CPPFLAGS) -fPIC" \ + ./configure --prefix=/usr --sysconfdir=/etc endef define PROXYCHAINS_NG_BUILD_CMDS diff --git a/package/psplash/psplash-start.service b/package/psplash/psplash-start.service index b97e883e547..74cbc33955a 100644 --- a/package/psplash/psplash-start.service +++ b/package/psplash/psplash-start.service @@ -2,8 +2,10 @@ Description=Starts Psplash Boot screen DefaultDependencies=no RequiresMountsFor=/run +Before=sysinit.target [Service] +Type=exec ExecStart=/usr/bin/psplash -n [Install] diff --git a/package/psplash/psplash-systemd.service b/package/psplash/psplash-systemd.service index 249aa540394..f89bc5f4fee 100644 --- a/package/psplash/psplash-systemd.service +++ b/package/psplash/psplash-systemd.service @@ -1,8 +1,8 @@ [Unit] Description=Start psplash-systemd progress communication helper DefaultDependencies=no -After=systemd-start.service -Requires=psplash-start.service +After=psplash-start.service +BindsTo=psplash-start.service RequiresMountsFor=/run [Service] diff --git a/package/ptm2human/ptm2human.hash b/package/ptm2human/ptm2human.hash index 03460196677..d581491bded 100644 --- a/package/ptm2human/ptm2human.hash +++ b/package/ptm2human/ptm2human.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 28947eeb458d8b6a362cbeb8c5cb6098006274af04ebb4f5da70eac89f927d95 ptm2human-d0b8b6be9897ea5b04fd6460038a4773cec078bc.tar.gz +sha256 4c66e9429dfb92b5f4332b08050db0436511581102d1ec56555eb8229d9c2c74 ptm2human-c8c5e7d5bdacd73114f4f244355e88c7f4e7d64a.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/ptm2human/ptm2human.mk b/package/ptm2human/ptm2human.mk index 28a7b7ab488..edba21d401d 100644 --- a/package/ptm2human/ptm2human.mk +++ b/package/ptm2human/ptm2human.mk @@ -4,7 +4,7 @@ # ################################################################################ -PTM2HUMAN_VERSION = d0b8b6be9897ea5b04fd6460038a4773cec078bc +PTM2HUMAN_VERSION = c8c5e7d5bdacd73114f4f244355e88c7f4e7d64a PTM2HUMAN_SITE = $(call github,hwangcc23,ptm2human,$(PTM2HUMAN_VERSION)) PTM2HUMAN_LICENSE = GPL-2.0 PTM2HUMAN_LICENSE_FILES = LICENSE diff --git a/package/pugixml/Config.in b/package/pugixml/Config.in index 6b7d2e32591..d5a3cb3ebbb 100644 --- a/package/pugixml/Config.in +++ b/package/pugixml/Config.in @@ -39,15 +39,6 @@ config BR2_PACKAGE_PUGIXML_COMPACT http://pugixml.org/docs/manual.html#dom.memory.compact -config BR2_PACKAGE_PUGIXML_HEADER_ONLY - bool "Enable header-only version" - help - All source code for pugixml will be included in every - translation unit that includes pugixml.hpp. This is how most - of Boost and STL libraries work. - - http://pugixml.org/docs/manual.html#install.building.header - endif comment "pugixml needs a toolchain w/ C++" diff --git a/package/pugixml/pugixml.hash b/package/pugixml/pugixml.hash index b828e03561d..2446788d899 100644 --- a/package/pugixml/pugixml.hash +++ b/package/pugixml/pugixml.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 40c0b3914ec131485640fa57e55bf1136446026b41db91c1bef678186a12abbe pugixml-1.13.tar.gz -sha256 206f671b6d342557adcc973088c2c638df0ec0b1dabbcd24e65aadd2191778d2 LICENSE.md +sha256 2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015 pugixml-1.14.tar.gz +sha256 01e13f39d058cca09968f18d423912a18f8bf61b9161c65f8e5bcc418a8aba28 LICENSE.md diff --git a/package/pugixml/pugixml.mk b/package/pugixml/pugixml.mk index c7961868275..3935526af6f 100644 --- a/package/pugixml/pugixml.mk +++ b/package/pugixml/pugixml.mk @@ -4,14 +4,26 @@ # ################################################################################ -PUGIXML_VERSION = 1.13 +PUGIXML_VERSION = 1.14 PUGIXML_SITE = https://github.com/zeux/pugixml/releases/download/v$(PUGIXML_VERSION) PUGIXML_LICENSE = MIT PUGIXML_LICENSE_FILES = LICENSE.md -PUGIXML_CPE_ID_VENDOR = pugixml_project +PUGIXML_CPE_ID_VALID = YES PUGIXML_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_PUGIXML_XPATH_SUPPORT),y) +PUGIXML_CONF_OPTS += -DPUGIXML_NO_XPATH=OFF +else +PUGIXML_CONF_OPTS += -DPUGIXML_NO_XPATH=ON +endif + +ifeq ($(BR2_PACKAGE_PUGIXML_COMPACT),y) +PUGIXML_CONF_OPTS += -DPUGIXML_COMPACT=ON +else +PUGIXML_CONF_OPTS += -DPUGIXML_COMPACT=OFF +endif + # Pugixml will automatically enable 'long long' support on C++11 compilers, # which means gcc 4.8+. As gcc always supports the 'long long' type, # force-enable this option to support older gcc versions. See also: @@ -19,23 +31,11 @@ PUGIXML_INSTALL_STAGING = YES PUGIXML_BUILD_DEFINES += PUGIXML_HAS_LONG_LONG HOST_PUGIXML_BUILD_DEFINES += PUGIXML_HAS_LONG_LONG -ifeq ($(BR2_PACKAGE_PUGIXML_XPATH_SUPPORT),) -PUGIXML_BUILD_DEFINES += PUGIXML_NO_XPATH -endif -ifeq ($(BR2_PACKAGE_PUGIXML_COMPACT),y) -PUGIXML_BUILD_DEFINES += PUGIXML_COMPACT -endif -ifeq ($(BR2_PACKAGE_PUGIXML_HEADER_ONLY),y) -PUGIXML_BUILD_DEFINES += PUGIXML_HEADER_ONLY -endif - -ifdef PUGIXML_BUILD_DEFINES -PUGIXML_CONF_OPTS += -DBUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))" -endif +PUGIXML_CONF_OPTS += -DPUGIXML_BUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))" HOST_PUGIXML_CONF_OPTS += \ -DBUILD_PKGCONFIG=ON \ - -DBUILD_DEFINES="$(subst $(space),;,$(HOST_PUGIXML_BUILD_DEFINES))" + -DPUGIXML_BUILD_DEFINES="$(subst $(space),;,$(HOST_PUGIXML_BUILD_DEFINES))" $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch b/package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch deleted file mode 100644 index 631cb7f0161..00000000000 --- a/package/pulseaudio/0002-build-sys-Fix-atomic-support-detection.patch +++ /dev/null @@ -1,59 +0,0 @@ -From a5392576ceba92d04706cefc1929ddd5ace5537a Mon Sep 17 00:00:00 2001 -From: Nicolas Cavallari -Date: Fri, 1 Jul 2022 14:03:44 +0200 -Subject: [PATCH] build-sys: Fix atomic support detection - -Attempting to use atomics operations on an architecture that does not -support them generally results in a link error: - -ld: /tmp/ccjYcMPP.o: in function `func': -testfile.c:(.text+0x1c): undefined reference to `__sync_bool_compare_and_swap_4' - -The current build system uses cc.compiles() to check if atomic ops are -supported, but cc.compiles() does not attempt to link, so the test fails -to enable libatomics_opts. - -Fix this by using cc.links() instead of cc.compiles(). - -Signed-off-by: Nicolas Cavallari -Upstream-status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/732] ---- - meson.build | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/meson.build b/meson.build -index c6db7e670..c5135330f 100644 ---- a/meson.build -+++ b/meson.build -@@ -498,22 +498,24 @@ endif - - need_libatomic_ops = false - --atomictest = '''void func() { -+atomictest = '''int main() { - volatile int atomic = 2; - __sync_bool_compare_and_swap (&atomic, 2, 3); -+ return 0; - } - ''' - --if cc.compiles(atomictest) -+if cc.links(atomictest) - cdata.set('HAVE_ATOMIC_BUILTINS', 1) - -- newatomictest = '''void func() { -+ newatomictest = '''int main() { - int c = 0; - __atomic_store_n(&c, 4, __ATOMIC_SEQ_CST); -+ return 0; - } - ''' - -- if(cc.compiles(newatomictest)) -+ if(cc.links(newatomictest)) - cdata.set('HAVE_ATOMIC_BUILTINS_MEMORY_MODEL', 1) - endif - --- -2.36.1 - diff --git a/package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch b/package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch deleted file mode 100644 index fac441e7dd2..00000000000 --- a/package/pulseaudio/0003-build-sys-Add-missing-libatomic_ops-dependencies.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 96361ff2a8f37dd3ce7ea188ce4e7b038bb6a5aa Mon Sep 17 00:00:00 2001 -From: Nicolas Cavallari -Date: Mon, 4 Jul 2022 13:49:34 +0200 -Subject: [PATCH] build-sys: Add missing libatomic_ops dependencies - -Add libatomic_ops dependencies to libraries/modules that showed a -failure on an arch that does not have native atomic operations support. - -Not all optional dependencies were tested, so it is possible that -some optional modules are still missing libatomic_ops dependencies. - -Signed-off-by: Nicolas Cavallari -Upstream-status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/732] ---- - src/meson.build | 2 +- - src/modules/meson.build | 6 +++--- - src/pulse/meson.build | 2 +- - src/pulsecore/meson.build | 10 +++++----- - 4 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/meson.build b/src/meson.build -index 96dcec354..9efb561d8 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -205,7 +205,7 @@ else - libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep, - x11_dep, libsystemd_dep, glib_dep.partial_dependency(compile_args: true), - gtk_dep.partial_dependency(compile_args: true), asyncns_dep, libintl_dep, -- platform_dep, platform_socket_dep, execinfo_dep, -+ platform_dep, platform_socket_dep, execinfo_dep, libatomic_ops_dep, - ], - implicit_include_directories : false) - -diff --git a/src/modules/meson.build b/src/modules/meson.build -index 1d8004300..1e12569dc 100644 ---- a/src/modules/meson.build -+++ b/src/modules/meson.build -@@ -14,7 +14,7 @@ all_modules = [ - [ 'module-cli-protocol-tcp', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_CLI', '-DUSE_TCP_SOCKETS'], [], libprotocol_cli ], - [ 'module-cli-protocol-unix', 'module-protocol-stub.c', [], ['-DUSE_PROTOCOL_CLI', '-DUSE_UNIX_SOCKETS'], [], libprotocol_cli ], - [ 'module-combine', 'module-combine.c' ], -- [ 'module-combine-sink', 'module-combine-sink.c' ], -+ [ 'module-combine-sink', 'module-combine-sink.c', [], [], [libatomic_ops_dep] ], - # [ 'module-coreaudio-detect', 'macosx/module-coreaudio-detect.c' ], - # [ 'module-coreaudio-device', 'macosx/module-coreaudio-device.c' ], - [ 'module-default-device-restore', 'module-default-device-restore.c', [], [], [], libprotocol_native ], -@@ -73,7 +73,7 @@ endif - - if host_machine.system() != 'windows' - all_modules += [ -- [ 'module-rtp-recv', 'rtp/module-rtp-recv.c', [], [], [], librtp ], -+ [ 'module-rtp-recv', 'rtp/module-rtp-recv.c', [], [], [libatomic_ops_dep], librtp ], - [ 'module-rtp-send', 'rtp/module-rtp-send.c' , [], [], [], librtp ], - ] - endif -@@ -243,7 +243,7 @@ module_echo_cancel_sources = [ - ] - module_echo_cancel_orc_sources = [] - module_echo_cancel_flags = [] --module_echo_cancel_deps = [] -+module_echo_cancel_deps = [libatomic_ops_dep] - module_echo_cancel_libs = [] - - if get_option('adrian-aec') -diff --git a/src/pulse/meson.build b/src/pulse/meson.build -index c2128e087..1b82c807c 100644 ---- a/src/pulse/meson.build -+++ b/src/pulse/meson.build -@@ -85,7 +85,7 @@ libpulse = shared_library('pulse', - link_args : [nodelete_link_args, versioning_link_args], - install : true, - install_rpath : privlibdir, -- dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep], -+ dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep, libatomic_ops_dep], - implicit_include_directories : false) - - libpulse_dep = declare_dependency(link_with: libpulse) -diff --git a/src/pulsecore/meson.build b/src/pulsecore/meson.build -index b30264b3a..b37fec499 100644 ---- a/src/pulsecore/meson.build -+++ b/src/pulsecore/meson.build -@@ -251,7 +251,7 @@ libcli = shared_library('cli', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, -@@ -268,7 +268,7 @@ libprotocol_cli = shared_library('protocol-cli', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libcli_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libcli_dep, libatomic_ops_dep], - install : true, - install_rpath : rpath_dirs, - install_dir : modlibexecdir, -@@ -280,7 +280,7 @@ libprotocol_http = shared_library('protocol-http', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, -@@ -292,7 +292,7 @@ libprotocol_native = shared_library('protocol-native', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, -@@ -304,7 +304,7 @@ libprotocol_simple = shared_library('protocol-simple', - c_args : [pa_c_args, server_c_args, database_c_args], - link_args : [nodelete_link_args], - include_directories : [configinc, topinc], -- dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], -+ dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep], - install : true, - install_rpath : privlibdir, - install_dir : modlibexecdir, --- -2.36.1 - diff --git a/package/pulseaudio/0004-meson.build-fix-build-without-C.patch b/package/pulseaudio/0004-meson.build-fix-build-without-C.patch deleted file mode 100644 index e770927f541..00000000000 --- a/package/pulseaudio/0004-meson.build-fix-build-without-C.patch +++ /dev/null @@ -1,56 +0,0 @@ -From ac88536d7c3fde3c22933368296c9029bb67b9fc Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 25 Jul 2022 21:49:25 +0200 -Subject: [PATCH] meson.build: fix build without C++ - -Fix the following build failure without C++: - -../output-1/build/pulseaudio-16.1/meson.build:1:0: ERROR: Unknown compiler(s): [['/home/autobuild/autobuild/instance-1/output-1/per-package/pulseaudio/host/bin/powerpc64-buildroot-linux-gnu-g++']] -The following exception(s) were encountered: -Running "/home/autobuild/autobuild/instance-1/output-1/per-package/pulseaudio/host/bin/powerpc64-buildroot-linux-gnu-g++ --version" gave "[Errno 2] No such file or directory: '/home/autobuild/autobuild/instance-1/output-1/per-package/pulseaudio/host/bin/powerpc64-buildroot-linux-gnu-g++'" - -Fixes: - - http://autobuild.buildroot.org/results/6526a21bd4da3b8458188f27c1ec04c381e4b673 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/737] ---- - meson.build | 3 ++- - src/modules/echo-cancel/meson.build | 2 ++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index c5135330f..8248f263b 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,4 +1,4 @@ --project('pulseaudio', 'c', 'cpp', -+project('pulseaudio', 'c', - version : run_command(find_program('git-version-gen'), join_paths(meson.current_source_dir(), '.tarball-version')).stdout().strip(), - meson_version : '>= 0.50.0', - default_options : [ 'c_std=gnu11', 'cpp_std=c++11' ] -@@ -433,6 +433,7 @@ endif - # Code coverage - - if get_option('gcov') -+ add_languages('cpp') - add_project_arguments('--coverage', language: ['c', 'cpp']) - add_project_link_arguments('--coverage', language: ['c', 'cpp']) - endif -diff --git a/src/modules/echo-cancel/meson.build b/src/modules/echo-cancel/meson.build -index 641cd35e7..3b998364e 100644 ---- a/src/modules/echo-cancel/meson.build -+++ b/src/modules/echo-cancel/meson.build -@@ -6,6 +6,8 @@ - # '-Wl,--unresolved-symbols=ignore-in-object-files' otherwise it fails - # at link time. - -+add_languages('cpp') -+ - libwebrtc_util_sources = [ - 'webrtc.cc' - ] --- -GitLab - diff --git a/package/pulseaudio/pulseaudio.hash b/package/pulseaudio/pulseaudio.hash index acbb56a07df..67f6cc6ef2e 100644 --- a/package/pulseaudio/pulseaudio.hash +++ b/package/pulseaudio/pulseaudio.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2022-June/032287.html -sha256 8eef32ce91d47979f95fd9a935e738cd7eb7463430dabc72863251751e504ae4 pulseaudio-16.1.tar.xz +# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2024-January/032426.html +sha256 053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5 pulseaudio-17.0.tar.xz # Locally computed sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 GPL sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index 8c4b99b6ffa..254e05348d4 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -4,7 +4,7 @@ # ################################################################################ -PULSEAUDIO_VERSION = 16.1 +PULSEAUDIO_VERSION = 17.0 PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz PULSEAUDIO_SITE = https://freedesktop.org/software/pulseaudio/releases PULSEAUDIO_INSTALL_STAGING = YES @@ -25,7 +25,7 @@ PULSEAUDIO_DEPENDENCIES = \ PULSEAUDIO_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) -ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y) +ifeq ($(BR2_PACKAGE_AVAHI_LIBAVAHI_CLIENT),y) PULSEAUDIO_CONF_OPTS += -Davahi=enabled PULSEAUDIO_DEPENDENCIES += avahi else diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index 138b05ebb40..b918c709303 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -10,7 +10,6 @@ PURE_FTPD_SOURCE = pure-ftpd-$(PURE_FTPD_VERSION).tar.bz2 PURE_FTPD_LICENSE = ISC PURE_FTPD_LICENSE_FILES = COPYING PURE_FTPD_CPE_ID_VENDOR = pureftpd -PURE_FTPD_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) PURE_FTPD_CONF_OPTS = \ --with-altlog \ @@ -31,9 +30,9 @@ ifeq ($(BR2_PACKAGE_LIBSODIUM),y) PURE_FTPD_DEPENDENCIES += libsodium endif -ifeq ($(BR2_PACKAGE_MYSQL),y) +ifeq ($(BR2_PACKAGE_MARIADB),y) PURE_FTPD_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr -PURE_FTPD_DEPENDENCIES += mysql +PURE_FTPD_DEPENDENCIES += mariadb else PURE_FTPD_CONF_OPTS += --without-mysql endif diff --git a/package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch b/package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch new file mode 100644 index 00000000000..d2abcb64cf7 --- /dev/null +++ b/package/putty/0001-unix-utils-arm_arch_queries.h-fix-uclibc-build.patch @@ -0,0 +1,41 @@ +From 2631c745f986b356fbe5e1d418cff63b46134df6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 19 Mar 2024 20:37:33 +0100 +Subject: [PATCH] unix/utils/arm_arch_queries.h: fix uclibc build + +Build on uclibc is broken since version 0.75 and commit +65383082bf0c49cec63f4b36001a40bd9b13edf6 because AT_HWCAP2 is used +even if is not available: + +/home/buildroot/autobuild/run/instance-3/output-1/build/putty-0.80/unix/utils/arm_arch_queries.c: In function 'platform_aes_neon_available': +/home/buildroot/autobuild/run/instance-3/output-1/build/putty-0.80/unix/utils/arm_arch_queries.c:18:22: error: 'AT_HWCAP2' undeclared (first use in this function) + 18 | return getauxval(AT_HWCAP2) & HWCAP2_AES; + | ^~~~~~~~~ + +To fix this build failure, include + +Fixes: + - http://autobuild.buildroot.org/results/547d1c0e8a89e1e4b601aa756d26886bfc3d586f + +Upstream: Rejected after sending to Simon Tatham +Signed-off-by: Fabrice Fontaine +--- + unix/utils/arm_arch_queries.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/unix/utils/arm_arch_queries.h b/unix/utils/arm_arch_queries.h +index fa46c622..5cce7f31 100644 +--- a/unix/utils/arm_arch_queries.h ++++ b/unix/utils/arm_arch_queries.h +@@ -18,6 +18,8 @@ + + #if defined __arm__ || defined __aarch64__ + ++#include ++ + #if HAVE_SYS_TYPES_H + #include + #endif +-- +2.43.0 + diff --git a/package/putty/0001-unix-uxutils.h-fix-build-on-uclibc.patch b/package/putty/0001-unix-uxutils.h-fix-build-on-uclibc.patch deleted file mode 100644 index 78cef8b908b..00000000000 --- a/package/putty/0001-unix-uxutils.h-fix-build-on-uclibc.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 3f30f3a7e3f07f5ca3cef0f405b02e22a018c6e4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 9 May 2021 15:22:29 +0200 -Subject: [PATCH] unix/uxutils.h: fix build on uclibc - -Build on uclibc is broken since version 0.75 and commit -65383082bf0c49cec63f4b36001a40bd9b13edf6 because AT_HWCAP2 is used -even if is not available: - -unix/uxutils.c: In function 'platform_aes_hw_available': -unix/uxutils.c:13:22: error: 'AT_HWCAP2' undeclared (first use in this function) - 13 | return getauxval(AT_HWCAP2) & HWCAP2_AES; - | ^~~~~~~~~ - -To fix this build failure, include - -Fixes: - - http://autobuild.buildroot.org/results/726f7c5ce13e78ed91e827b872e9d7ccfa13f298 - -Signed-off-by: Fabrice Fontaine -[Upstream status: sent to Simon Tatham ] ---- - unix/uxutils.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/unix/uxutils.h b/unix/uxutils.h -index c9acff53..b80bf972 100644 ---- a/unix/uxutils.h -+++ b/unix/uxutils.h -@@ -18,6 +18,8 @@ - - #if defined __arm__ || defined __aarch64__ - -+#include -+ - #ifdef HAVE_SYS_TYPES_H - #include - #endif --- -2.30.2 - diff --git a/package/putty/Config.in b/package/putty/Config.in index cd8b3bb2132..f89283b99ae 100644 --- a/package/putty/Config.in +++ b/package/putty/Config.in @@ -3,10 +3,10 @@ config BR2_PACKAGE_PUTTY depends on BR2_USE_MMU # fork() depends on BR2_USE_WCHAR help - PuTTY is a free SSH and Telnet client. Without GTK2 + PuTTY is a free SSH and Telnet client. Without GTK2 or GTK3 activated, only the commandline tools plink, pscp, psftp, - and puttygen are built; enable GTK2 for the graphical - client. + and puttygen are built; enable GTK2 or GTK3 for the + graphical client. http://www.chiark.greenend.org.uk/~sgtatham/putty/ diff --git a/package/putty/putty.hash b/package/putty/putty.hash index 861d45cb769..30b749c47bb 100644 --- a/package/putty/putty.hash +++ b/package/putty/putty.hash @@ -1,8 +1,7 @@ -# Hashes from: http://the.earth.li/~sgtatham/putty/0.76/{md5,sha1,sha256,sha512}sums -md5 9d22f8c56c1eaa1c0af3098438f25908 putty-0.76.tar.gz -sha1 de09f50aee330eb05ad0cb81b970d0cc8e5c9b25 putty-0.76.tar.gz -sha256 547cd97a8daa87ef71037fab0773bceb54a8abccb2f825a49ef8eba5e045713f putty-0.76.tar.gz -sha512 4576b359593928c6eba923f2d7b66ac0f2cf00e0c217cdbbb124471c3b35feb090e623847bfc507a4ef106cb3067aac47419e241b11dd8bf4ae554061fa93c25 putty-0.76.tar.gz +# Hashes from: http://the.earth.li/~sgtatham/putty/0.80/{sha1,sha256,sha512}sums +sha1 8c88d871855d3730a0473bb1cb1006654e73b680 putty-0.81.tar.gz +sha256 cb8b00a94f453494e345a3df281d7a3ed26bb0dd7e36264f145206f8857639fe putty-0.81.tar.gz +sha512 d86f2fd0e126b18275d58cf64334b3b27c450899a1c2be2502de9faa2ef58f7fc8efc5d45f25c8395623f1e21917aa02407343bb2fee44c4c00b9f81267d5ecd putty-0.81.tar.gz # Locally calculated -sha256 3f3e870dd3d0867d79370b1d433602c60bb91b59de04e5d8f2a149b788530d53 LICENCE +sha256 e0410341c5e45f7479c28d79298edbf615589cdfc115b2d69683d4ccd0425ce0 LICENCE diff --git a/package/putty/putty.mk b/package/putty/putty.mk index e57a78be961..617518e6477 100644 --- a/package/putty/putty.mk +++ b/package/putty/putty.mk @@ -4,18 +4,22 @@ # ################################################################################ -PUTTY_VERSION = 0.76 +PUTTY_VERSION = 0.81 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) PUTTY_LICENSE = MIT PUTTY_LICENSE_FILES = LICENCE PUTTY_CPE_ID_VENDOR = putty -PUTTY_CONF_OPTS = --disable-gtktest +PUTTY_DEPENDENCIES = host-pkgconf +PUTTY_CONF_OPTS = -DPUTTY_GSSAPI=OFF -ifeq ($(BR2_PACKAGE_LIBGTK2),y) -PUTTY_CONF_OPTS += --with-gtk=2 +ifeq ($(BR2_PACKAGE_LIBGTK3),y) +PUTTY_DEPENDENCIES += libgtk3 +else ifeq ($(BR2_PACKAGE_LIBGTK2),y) PUTTY_DEPENDENCIES += libgtk2 -else -PUTTY_CONF_OPTS += --without-gtk endif -$(eval $(autotools-package)) +ifeq ($(BR2_STATIC_LIBS),y) +PUTTY_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -DNO_LIBDL" +endif + +$(eval $(cmake-package)) diff --git a/package/pv/pv.hash b/package/pv/pv.hash index b3dd71f74bc..ed4cc21d895 100644 --- a/package/pv/pv.hash +++ b/package/pv/pv.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 e831951eff0718fba9b1ef286128773b9d0e723e1fbfae88d5a3188814fdc603 pv-1.6.20.tar.bz2 +sha256 d22948d06be06a5be37336318de540a2215be10ab0163f8cd23a20149647b780 pv-1.8.5.tar.gz # Hash for license file -sha256 280e182171df3e9bb4a9b407326e88521151fcb8f4f8557255f26177d5900ccf doc/COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 docs/COPYING diff --git a/package/pv/pv.mk b/package/pv/pv.mk index 27060cf07e9..f7243da8bec 100644 --- a/package/pv/pv.mk +++ b/package/pv/pv.mk @@ -4,28 +4,10 @@ # ################################################################################ -PV_VERSION = 1.6.20 -PV_SOURCE = pv-$(PV_VERSION).tar.bz2 +PV_VERSION = 1.8.5 PV_SITE = http://www.ivarch.com/programs/sources -PV_LICENSE = Artistic-2.0 -PV_LICENSE_FILES = doc/COPYING +PV_LICENSE = GPL-3.0+ +PV_LICENSE_FILES = docs/COPYING PV_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) -# --relax linker option is enabled by default on sparc/sparc64 -# architectures, and it can't be used together with -r option, so -# disable it. -ifeq ($(BR2_sparc)$(BR2_sparc64),y) -PV_LDFLAGS = "-Wl,--no-relax" -endif - -# While 'pv' uses autoconf, it does not use automake for its -# makefiles. It uses $(LD) $(LDFLAGS) to achieve partial linking, but -# using 'ld' directly doesn't work well with some toolchain -# configuration, as the ld default emulation may not necessarily be -# the correct one. By passing the below values for LD and LDFLAGS, we -# ensure that 'gcc' is used to do these partial linking steps. -PV_MAKE_OPTS = \ - LD="$(TARGET_CC)" \ - LDFLAGS="-Wl,-r -nostdlib $(PV_LDFLAGS)" - $(eval $(autotools-package)) diff --git a/package/pwgen/pwgen.mk b/package/pwgen/pwgen.mk index 89925bb3009..90b5ac63fad 100644 --- a/package/pwgen/pwgen.mk +++ b/package/pwgen/pwgen.mk @@ -8,7 +8,7 @@ PWGEN_VERSION = 2.08 PWGEN_SITE = http://downloads.sourceforge.net/project/pwgen/pwgen/$(PWGEN_VERSION) PWGEN_LICENSE = GPL-2.0 PWGEN_LICENSE_FILES = debian/copyright -PWGEN_CPE_ID_VENDOR = pwgen_project +PWGEN_CPE_ID_VALID = YES $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/python-aenum/python-aenum.hash b/package/python-aenum/python-aenum.hash index 40c0e55fc52..9c59804d6e0 100644 --- a/package/python-aenum/python-aenum.hash +++ b/package/python-aenum/python-aenum.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aenum/json -md5 c0b78a74cdfacc0bf0cbb42785afaed8 aenum-3.1.11.tar.gz -sha256 aed2c273547ae72a0d5ee869719c02a643da16bf507c80958faadc7e038e3f73 aenum-3.1.11.tar.gz +md5 f3fa11cda9ddaaed4d3f03b35f3a65ea aenum-3.1.15.tar.gz +sha256 8cbd76cd18c4f870ff39b24284d3ea028fbe8731a58df3aa581e434c575b9559 aenum-3.1.15.tar.gz # Locally computed sha256 checksums sha256 0db837e38002017b352666c83c8d3216ee5b9b2229375eb2cf4487f8c24e1f8c aenum/LICENSE diff --git a/package/python-aenum/python-aenum.mk b/package/python-aenum/python-aenum.mk index 603fc66d0cc..27f9e5cea6b 100644 --- a/package/python-aenum/python-aenum.mk +++ b/package/python-aenum/python-aenum.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AENUM_VERSION = 3.1.11 +PYTHON_AENUM_VERSION = 3.1.15 PYTHON_AENUM_SOURCE = aenum-$(PYTHON_AENUM_VERSION).tar.gz -PYTHON_AENUM_SITE = https://files.pythonhosted.org/packages/63/6c/a71e18de7c651f384b328be6bccadbbd472aca62f547c1a307b9388d03ca +PYTHON_AENUM_SITE = https://files.pythonhosted.org/packages/d0/f8/33e75863394f42e429bb553e05fda7c59763f0fd6848de847a25b3fbccf6 PYTHON_AENUM_SETUP_TYPE = setuptools PYTHON_AENUM_LICENSE = BSD-3-Clause PYTHON_AENUM_LICENSE_FILES = aenum/LICENSE diff --git a/package/python-aexpect/Config.in b/package/python-aexpect/Config.in index cc805da6572..59671621dcc 100644 --- a/package/python-aexpect/Config.in +++ b/package/python-aexpect/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AEXPECT bool "python-aexpect" - select BR2_PACKAGE_PYTHON_SIX # runtime help Aexpect. diff --git a/package/python-aexpect/python-aexpect.hash b/package/python-aexpect/python-aexpect.hash index efe4f55fb83..ff30c765e39 100644 --- a/package/python-aexpect/python-aexpect.hash +++ b/package/python-aexpect/python-aexpect.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aexpect/json -md5 d37473ff0024c15938bfe86a543537e6 aexpect-1.6.4.tar.gz -sha256 3998aa84ae54963fd59488f0caa533f6edbb31bc6cb842da09b041cbad56ad88 aexpect-1.6.4.tar.gz +md5 bb05319c277cfe97114780579d251c30 aexpect-1.7.0.tar.gz +sha256 11bfeea78ef6147ac8f6e29c2a720bd332598383d88274cdca5e6413c2070d52 aexpect-1.7.0.tar.gz # Locally computed sha256 checksums sha256 7be26abf35e531a226dc742d2379d42d372cb61f027a6e26477c0e2f1a03bfcb LICENSE diff --git a/package/python-aexpect/python-aexpect.mk b/package/python-aexpect/python-aexpect.mk index 8b5e1651358..1cfcc9ffafc 100644 --- a/package/python-aexpect/python-aexpect.mk +++ b/package/python-aexpect/python-aexpect.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AEXPECT_VERSION = 1.6.4 +PYTHON_AEXPECT_VERSION = 1.7.0 PYTHON_AEXPECT_SOURCE = aexpect-$(PYTHON_AEXPECT_VERSION).tar.gz -PYTHON_AEXPECT_SITE = https://files.pythonhosted.org/packages/3b/22/f87ffa70348dde4597d9314995be89c8d4c7728260033b972a8d691e3f7d +PYTHON_AEXPECT_SITE = https://files.pythonhosted.org/packages/dd/32/738b5190adb5ed387d3e755885f646b714fbf9c22adbda7ff988db7ede49 PYTHON_AEXPECT_SETUP_TYPE = setuptools PYTHON_AEXPECT_LICENSE = GPL-2.0+ PYTHON_AEXPECT_LICENSE_FILES = LICENSE diff --git a/package/python-aioblescan/python-aioblescan.hash b/package/python-aioblescan/python-aioblescan.hash index 9a40ca4560b..c754325fb1f 100644 --- a/package/python-aioblescan/python-aioblescan.hash +++ b/package/python-aioblescan/python-aioblescan.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aioblescan/json -md5 0601cf9335e5d89166a88f53597c79bf aioblescan-0.2.13.tar.gz -sha256 28632e32c8180ea4b792f4cf9b88968dd100f4d3cee0cf16d27c193cf954422a aioblescan-0.2.13.tar.gz +md5 10014cfd24b8f9f54099bbf7e2ea528a aioblescan-0.2.14.tar.gz +sha256 3a47c5292186ee87fc49cb076a5271c766510f44749b93ac4a32bbb4cb5258a0 aioblescan-0.2.14.tar.gz # Locally computed sha256 checksums sha256 c2066cd44079e0c706234001af18cb6ad4b62fc68d0d08d29fdc7319916647e0 LICENSE.txt diff --git a/package/python-aioblescan/python-aioblescan.mk b/package/python-aioblescan/python-aioblescan.mk index f0e277d5287..7e0cde6c85a 100644 --- a/package/python-aioblescan/python-aioblescan.mk +++ b/package/python-aioblescan/python-aioblescan.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOBLESCAN_VERSION = 0.2.13 +PYTHON_AIOBLESCAN_VERSION = 0.2.14 PYTHON_AIOBLESCAN_SOURCE = aioblescan-$(PYTHON_AIOBLESCAN_VERSION).tar.gz -PYTHON_AIOBLESCAN_SITE = https://files.pythonhosted.org/packages/bd/04/c6798c76704d57da22f19c2e47485821d4b23144ef75f9c0e18dbfe47565 +PYTHON_AIOBLESCAN_SITE = https://files.pythonhosted.org/packages/45/15/faf503083bc5a2d81f1b17fbbe30d15f35217b6c5e944c771c8760354d59 PYTHON_AIOBLESCAN_SETUP_TYPE = setuptools PYTHON_AIOBLESCAN_LICENSE = MIT PYTHON_AIOBLESCAN_LICENSE_FILES = LICENSE.txt diff --git a/package/python-aiocoap/python-aiocoap.hash b/package/python-aiocoap/python-aiocoap.hash index 176b3d22c7b..c9d73cda263 100644 --- a/package/python-aiocoap/python-aiocoap.hash +++ b/package/python-aiocoap/python-aiocoap.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiocoap/json -md5 218178420e8fc3581001f52eb726b016 aiocoap-0.4.4.tar.gz -sha256 9d7c9626cbc4dc24a91c6b8694cbeb834e376ab7e20e4137609380f726a9540b aiocoap-0.4.4.tar.gz +md5 baebbc38bc8db31472c438521f7121e3 aiocoap-0.4.7.tar.gz +sha256 90f3bcaffd454f5421d3ad55ddbe3fe10a686d4b9f3c4445d427b130493a96a4 aiocoap-0.4.7.tar.gz # Locally computed sha256 checksums -sha256 2bb211d412a6bfa4b2a9cf01123c7fe90e5e6185938896e23ab07b84f8494180 LICENSE +sha256 0ad39132b3529369998eb7493b950dc7452b07ba9d8cca7619766b6c6d8270fa doc/LICENSE.rst diff --git a/package/python-aiocoap/python-aiocoap.mk b/package/python-aiocoap/python-aiocoap.mk index 96d8619a846..73a0d61eba0 100644 --- a/package/python-aiocoap/python-aiocoap.mk +++ b/package/python-aiocoap/python-aiocoap.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_AIOCOAP_VERSION = 0.4.4 +PYTHON_AIOCOAP_VERSION = 0.4.7 PYTHON_AIOCOAP_SOURCE = aiocoap-$(PYTHON_AIOCOAP_VERSION).tar.gz -PYTHON_AIOCOAP_SITE = https://files.pythonhosted.org/packages/6a/7c/139993da8dcdfc86446ee6df65b98c68e40c5fcb0caeff3a6b348d9f7d6f +PYTHON_AIOCOAP_SITE = https://files.pythonhosted.org/packages/de/14/843232b56c0f09b2ceddae3da37598d9109c4b1d9383b1ab72232018e9e8 PYTHON_AIOCOAP_SETUP_TYPE = setuptools PYTHON_AIOCOAP_LICENSE = MIT -PYTHON_AIOCOAP_LICENSE_FILES = LICENSE +PYTHON_AIOCOAP_LICENSE_FILES = doc/LICENSE.rst $(eval $(python-package)) diff --git a/package/python-aioconsole/python-aioconsole.hash b/package/python-aioconsole/python-aioconsole.hash index 107910b6be6..b52140cca56 100644 --- a/package/python-aioconsole/python-aioconsole.hash +++ b/package/python-aioconsole/python-aioconsole.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aioconsole/json -md5 ae7bae13cb8aab6b1a4d2c25284ffcd3 aioconsole-0.5.1.tar.gz -sha256 c8ddd9fd21db71ea51fb9b0d20d21d11c409c92988edf07c935d705fa60e026b aioconsole-0.5.1.tar.gz +md5 e8cb2e4dc434e20a3e75acb54d89bdf3 aioconsole-0.7.0.tar.gz +sha256 c702d24406378d37d9873f91e03ce71520bac503d5ab03f81d8b563ff010bd54 aioconsole-0.7.0.tar.gz # Locally computed sha256 checksums -sha256 fe3eea6c599e23a00c08c5f5cb2320c30adc8f8687db5fcec9b79a662c53ff6b LICENSE +sha256 e1c0ad728983d8a57335e52cf1064f1affd1d454173d8cebd3ed8b4a72b48704 LICENSE diff --git a/package/python-aioconsole/python-aioconsole.mk b/package/python-aioconsole/python-aioconsole.mk index dc0eb36158b..b109d8e358a 100644 --- a/package/python-aioconsole/python-aioconsole.mk +++ b/package/python-aioconsole/python-aioconsole.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOCONSOLE_VERSION = 0.5.1 +PYTHON_AIOCONSOLE_VERSION = 0.7.0 PYTHON_AIOCONSOLE_SOURCE = aioconsole-$(PYTHON_AIOCONSOLE_VERSION).tar.gz -PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/71/74/cd64dbc518f71486b235f0e1538ea4b7cbf4375a8bdc6f96c9c9595291ab +PYTHON_AIOCONSOLE_SITE = https://files.pythonhosted.org/packages/85/da/6a238a72274fa338b2ff20007f026944a6721245fa65d3bd4adeb83be419 PYTHON_AIOCONSOLE_SETUP_TYPE = setuptools PYTHON_AIOCONSOLE_LICENSE = GPL-3.0 PYTHON_AIOCONSOLE_LICENSE_FILES = LICENSE diff --git a/package/python-aiodns/python-aiodns.hash b/package/python-aiodns/python-aiodns.hash index 2cdedc6f95f..bf65691b895 100644 --- a/package/python-aiodns/python-aiodns.hash +++ b/package/python-aiodns/python-aiodns.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiodns/json -md5 181e11935c78965de2b2b7b0e5efba8d aiodns-3.0.0.tar.gz -sha256 946bdfabe743fceeeb093c8a010f5d1645f708a241be849e17edfb0e49e08cd6 aiodns-3.0.0.tar.gz +md5 13fdfc38f30c9498e3e23c6f372e40ba aiodns-3.1.1.tar.gz +sha256 1073eac48185f7a4150cad7f96a5192d6911f12b4fb894de80a088508c9b3a99 aiodns-3.1.1.tar.gz # Locally computed sha256 checksums sha256 eb0455d35129425ed399883cd710923de3e246a510e2eb84d9f00032d0bbec97 LICENSE diff --git a/package/python-aiodns/python-aiodns.mk b/package/python-aiodns/python-aiodns.mk index 2318dcab3a5..f5cbb653345 100644 --- a/package/python-aiodns/python-aiodns.mk +++ b/package/python-aiodns/python-aiodns.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIODNS_VERSION = 3.0.0 +PYTHON_AIODNS_VERSION = 3.1.1 PYTHON_AIODNS_SOURCE = aiodns-$(PYTHON_AIODNS_VERSION).tar.gz -PYTHON_AIODNS_SITE = https://files.pythonhosted.org/packages/27/79/df72e25df0fdd9bf5a5ab068539731d27c5f2ae5654621ae0c92ceca94cf +PYTHON_AIODNS_SITE = https://files.pythonhosted.org/packages/fa/10/4de99e6e67703d8f6b10ea92a4d2a6c5b96a9c0708b75389a00203387925 PYTHON_AIODNS_SETUP_TYPE = setuptools PYTHON_AIODNS_LICENSE = MIT PYTHON_AIODNS_LICENSE_FILES = LICENSE diff --git a/package/python-aiofiles/python-aiofiles.hash b/package/python-aiofiles/python-aiofiles.hash index d1594c3989c..3dc9281de77 100644 --- a/package/python-aiofiles/python-aiofiles.hash +++ b/package/python-aiofiles/python-aiofiles.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiofiles/json -md5 b22db90039c881f6aa64431c6b23f30f aiofiles-22.1.0.tar.gz -sha256 9107f1ca0b2a5553987a94a3c9959fe5b491fdf731389aa5b7b1bd0733e32de6 aiofiles-22.1.0.tar.gz +md5 ab5dfab3180f56a21b46e1e90b16c6e6 aiofiles-23.2.1.tar.gz +sha256 84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a aiofiles-23.2.1.tar.gz # Locally computed sha256 checksums sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/python-aiofiles/python-aiofiles.mk b/package/python-aiofiles/python-aiofiles.mk index b65d2cfa82b..582f7908cdd 100644 --- a/package/python-aiofiles/python-aiofiles.mk +++ b/package/python-aiofiles/python-aiofiles.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOFILES_VERSION = 22.1.0 +PYTHON_AIOFILES_VERSION = 23.2.1 PYTHON_AIOFILES_SOURCE = aiofiles-$(PYTHON_AIOFILES_VERSION).tar.gz -PYTHON_AIOFILES_SITE = https://files.pythonhosted.org/packages/86/26/6e5060a159a6131c430e8a01ec8327405a19a449a506224b394e36f2ebc9 +PYTHON_AIOFILES_SITE = https://files.pythonhosted.org/packages/af/41/cfed10bc64d774f497a86e5ede9248e1d062db675504b41c320954d99641 PYTHON_AIOFILES_SETUP_TYPE = setuptools PYTHON_AIOFILES_LICENSE = Apache-2.0 PYTHON_AIOFILES_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash b/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash index 3cd9462d72e..441574bbe24 100644 --- a/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash +++ b/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp_debugtoolbar/json -md5 496734057cb413d7a49a52a817802dbb aiohttp-debugtoolbar-0.6.0.tar.gz -sha256 ec231661133b40136608d39dfb688e7ea0c3d47b6ae6dee52d5bf24ceb9e4d45 aiohttp-debugtoolbar-0.6.0.tar.gz +md5 3be0e457798dbd301f4cfe8da43166d4 aiohttp-debugtoolbar-0.6.1.tar.gz +sha256 cd7ae54c600db7ae7d9dc3404b81f95209a6367df1d59e13ea20f9926e36e001 aiohttp-debugtoolbar-0.6.1.tar.gz # Locally computed sha256 checksums -sha256 94d638be2cb4f186cc62bb567455837757547c15f1b350863aaf05a38843b542 LICENSE +sha256 dd064918c2da830f543f6b34b699efd423c2ad82fdbda15c25214410fcd3f84b LICENSE diff --git a/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.mk b/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.mk index 319d20ffc58..8eb38e86ccb 100644 --- a/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.mk +++ b/package/python-aiohttp-debugtoolbar/python-aiohttp-debugtoolbar.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_DEBUGTOOLBAR_VERSION = 0.6.0 +PYTHON_AIOHTTP_DEBUGTOOLBAR_VERSION = 0.6.1 PYTHON_AIOHTTP_DEBUGTOOLBAR_SOURCE = aiohttp-debugtoolbar-$(PYTHON_AIOHTTP_DEBUGTOOLBAR_VERSION).tar.gz -PYTHON_AIOHTTP_DEBUGTOOLBAR_SITE = https://files.pythonhosted.org/packages/3f/dd/5121417dfbeb4661673afa5c8708f1539889d0e54b1509a6fdf66705efc5 +PYTHON_AIOHTTP_DEBUGTOOLBAR_SITE = https://files.pythonhosted.org/packages/bd/72/cd80c0d1d425d5ef50e5b23553040e8d9fa5de5714208d3d18ae8806b6de PYTHON_AIOHTTP_DEBUGTOOLBAR_SETUP_TYPE = setuptools PYTHON_AIOHTTP_DEBUGTOOLBAR_LICENSE = Apache-2.0 PYTHON_AIOHTTP_DEBUGTOOLBAR_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash index fbf244e4703..0a7b7cc0581 100644 --- a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash +++ b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-jinja2/json -md5 50f74689fd60a5bc0b0a74545277e9bc aiohttp-jinja2-1.5.tar.gz -sha256 7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b aiohttp-jinja2-1.5.tar.gz +md5 8f72451a7da006b4b91ef18ec6f75885 aiohttp-jinja2-1.5.1.tar.gz +sha256 8d149b2a57d91f794b33a394ea5bc66b567f38c74a5a6a9477afc2450f105c01 aiohttp-jinja2-1.5.1.tar.gz # Locally computed sha256 checksums sha256 d9d867affaeac220a60381cc544681dcd37c668ed6ea5ddbf9948617f828889a LICENSE diff --git a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk index 371b4f0b3ea..17f9a4018a8 100644 --- a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk +++ b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_JINJA2_VERSION = 1.5 +PYTHON_AIOHTTP_JINJA2_VERSION = 1.5.1 PYTHON_AIOHTTP_JINJA2_SOURCE = aiohttp-jinja2-$(PYTHON_AIOHTTP_JINJA2_VERSION).tar.gz -PYTHON_AIOHTTP_JINJA2_SITE = https://files.pythonhosted.org/packages/15/d7/8bdbdb65e2926de332d3c430839d655db61d30a7b5a4a9b2edafbeb3aa20 +PYTHON_AIOHTTP_JINJA2_SITE = https://files.pythonhosted.org/packages/4e/4c/fadbfcc1269fa79e69fcdb29027840ab022a91471a5aeaa8fd8b27cc5406 PYTHON_AIOHTTP_JINJA2_SETUP_TYPE = setuptools PYTHON_AIOHTTP_JINJA2_LICENSE = Apache-2.0 PYTHON_AIOHTTP_JINJA2_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-remotes/0001-Fix-flit_core-build-requires-backend.patch b/package/python-aiohttp-remotes/0001-Fix-flit_core-build-requires-backend.patch new file mode 100644 index 00000000000..cf940eaf87a --- /dev/null +++ b/package/python-aiohttp-remotes/0001-Fix-flit_core-build-requires-backend.patch @@ -0,0 +1,32 @@ +From 3d39ee9a03a1c96b8e798dc6acf98165da31da1f Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Fri, 11 Mar 2022 12:59:53 -0700 +Subject: [PATCH] Fix flit_core build requires/backend. + +Only flit_core should be required by pyproject.toml, the regular flit +package is the pep517 frontend which is not what should be set for the +build system. + +Signed-off-by: James Hilliard +[Upstream status: +https://github.com/aio-libs/aiohttp-remotes/pull/355] +--- + pyproject.toml | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 214d64d..8c6b882 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,6 +1,6 @@ + [build-system] +-requires=["flit"] +-build-backend="flit.buildapi" ++requires=["flit_core"] ++build-backend="flit_core.buildapi" + + [tool.flit.metadata] + module="aiohttp_remotes" +-- +2.38.1 + diff --git a/package/python-aiohttp-remotes/python-aiohttp-remotes.hash b/package/python-aiohttp-remotes/python-aiohttp-remotes.hash index 595340d5d87..51c5cf08b42 100644 --- a/package/python-aiohttp-remotes/python-aiohttp-remotes.hash +++ b/package/python-aiohttp-remotes/python-aiohttp-remotes.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-remotes/json -md5 da13880f25ec3b9cf98c7baff92835a2 aiohttp_remotes-1.1.0.tar.gz -sha256 e44f2c5fd5fc3305477c89bb25f14570589100cc58c48b36745d4239839d3174 aiohttp_remotes-1.1.0.tar.gz +md5 c46a71df656e7f1e111684ced68a85d0 aiohttp_remotes-1.2.0.tar.gz +sha256 f95c3a6be5e2de746a85ce9af49ec548da6db8378d7e81bb171ec77b13562a6c aiohttp_remotes-1.2.0.tar.gz # Locally computed sha256 checksums sha256 4e7d0edf250abe2a28027788b8c55a53d1b5c9ff961b8a00643c76aed637ba13 LICENSE diff --git a/package/python-aiohttp-remotes/python-aiohttp-remotes.mk b/package/python-aiohttp-remotes/python-aiohttp-remotes.mk index e2bc3e1c180..e0ec789f416 100644 --- a/package/python-aiohttp-remotes/python-aiohttp-remotes.mk +++ b/package/python-aiohttp-remotes/python-aiohttp-remotes.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_AIOHTTP_REMOTES_VERSION = 1.1.0 +PYTHON_AIOHTTP_REMOTES_VERSION = 1.2.0 PYTHON_AIOHTTP_REMOTES_SOURCE = aiohttp_remotes-$(PYTHON_AIOHTTP_REMOTES_VERSION).tar.gz -PYTHON_AIOHTTP_REMOTES_SITE = https://files.pythonhosted.org/packages/e3/fc/5523010172e2d8685a8934fbb49d564118c9ebc1e4233a62b77310f979db -PYTHON_AIOHTTP_REMOTES_SETUP_TYPE = distutils +PYTHON_AIOHTTP_REMOTES_SITE = https://files.pythonhosted.org/packages/54/05/7c4be6171cc78a13171a4f89e5d308c4a636bdd8ee36101367e99e410ed8 +PYTHON_AIOHTTP_REMOTES_SETUP_TYPE = flit PYTHON_AIOHTTP_REMOTES_LICENSE = MIT PYTHON_AIOHTTP_REMOTES_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp-security/python-aiohttp-security.hash b/package/python-aiohttp-security/python-aiohttp-security.hash index 2c23df14d6f..6a76070298c 100644 --- a/package/python-aiohttp-security/python-aiohttp-security.hash +++ b/package/python-aiohttp-security/python-aiohttp-security.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp-security/json -md5 1624f982d7a779e6ed396ef2ed20acc7 aiohttp-security-0.4.0.tar.gz -sha256 40d4bb150454e392c2dfa3620f6eab28e140e94cf0c2d3b4bf43aef653ec9405 aiohttp-security-0.4.0.tar.gz +md5 b34fb62c6f4dd130f3c94f74c3bdc150 aiohttp-security-0.5.0.tar.gz +sha256 50cb724d310e1d0289798bb98ae852c3b75b77e8f51ce5159c57b7261d0638bd aiohttp-security-0.5.0.tar.gz # Locally computed sha256 checksums sha256 a1cc8ff7210897d55d2552fa0792340f8e59720e0160b6918699d40f9a782b1c LICENSE diff --git a/package/python-aiohttp-security/python-aiohttp-security.mk b/package/python-aiohttp-security/python-aiohttp-security.mk index 9ab3b16b306..274f60423fa 100644 --- a/package/python-aiohttp-security/python-aiohttp-security.mk +++ b/package/python-aiohttp-security/python-aiohttp-security.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOHTTP_SECURITY_VERSION = 0.4.0 +PYTHON_AIOHTTP_SECURITY_VERSION = 0.5.0 PYTHON_AIOHTTP_SECURITY_SOURCE = aiohttp-security-$(PYTHON_AIOHTTP_SECURITY_VERSION).tar.gz -PYTHON_AIOHTTP_SECURITY_SITE = https://files.pythonhosted.org/packages/36/01/d85be376b7c1773b3cb7849cd56dc7d38165664df7de2d3e20af507ef5bb +PYTHON_AIOHTTP_SECURITY_SITE = https://files.pythonhosted.org/packages/31/49/56c131fe3dead875ab5907b154dac7fb6ee727662de80b7da0ff045030d4 PYTHON_AIOHTTP_SECURITY_SETUP_TYPE = setuptools PYTHON_AIOHTTP_SECURITY_LICENSE = Apache-2.0 PYTHON_AIOHTTP_SECURITY_LICENSE_FILES = LICENSE diff --git a/package/python-aiohttp/Config.in b/package/python-aiohttp/Config.in index 35c162b948d..0507106fe76 100644 --- a/package/python-aiohttp/Config.in +++ b/package/python-aiohttp/Config.in @@ -4,10 +4,9 @@ config BR2_PACKAGE_PYTHON_AIOHTTP select BR2_PACKAGE_PYTHON_AIOSIGNAL # runtime select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime select BR2_PACKAGE_PYTHON_ATTRS # runtime - select BR2_PACKAGE_PYTHON_CCHARDET if BR2_INSTALL_LIBSTDCPP # runtime - select BR2_PACKAGE_PYTHON_CHARDET if !BR2_INSTALL_LIBSTDCPP # runtime + select BR2_PACKAGE_PYTHON_BROTLI # runtime + select BR2_PACKAGE_PYTHON_FROZENLIST # runtime select BR2_PACKAGE_PYTHON_MULTIDICT # runtime - select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime select BR2_PACKAGE_PYTHON_YARL # runtime select BR2_PACKAGE_PYTHON3_ZLIB # runtime help diff --git a/package/python-aiohttp/python-aiohttp.hash b/package/python-aiohttp/python-aiohttp.hash index e59b6969e63..542a46f032b 100644 --- a/package/python-aiohttp/python-aiohttp.hash +++ b/package/python-aiohttp/python-aiohttp.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiohttp/json -md5 642653db642be1508e50fcdeafe0f928 aiohttp-3.8.3.tar.gz -sha256 3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269 aiohttp-3.8.3.tar.gz +md5 f237bcac4ade112b9e7c4b1098197244 aiohttp-3.9.3.tar.gz +sha256 90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7 aiohttp-3.9.3.tar.gz # Locally computed sha256 checksums sha256 9f80d0db7d755a941db4572172c270ecbd8f082ba215ddd095985942ed94a9eb LICENSE.txt diff --git a/package/python-aiohttp/python-aiohttp.mk b/package/python-aiohttp/python-aiohttp.mk index 8b0b15f13b1..315d68cb2ed 100644 --- a/package/python-aiohttp/python-aiohttp.mk +++ b/package/python-aiohttp/python-aiohttp.mk @@ -4,13 +4,13 @@ # ################################################################################ -PYTHON_AIOHTTP_VERSION = 3.8.3 +PYTHON_AIOHTTP_VERSION = 3.9.3 PYTHON_AIOHTTP_SOURCE = aiohttp-$(PYTHON_AIOHTTP_VERSION).tar.gz -PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/ff/4f/62d9859b7d4e6dc32feda67815c5f5ab4421e6909e48cbc970b6a40d60b7 +PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/18/93/1f005bbe044471a0444a82cdd7356f5120b9cf94fe2c50c0cdbf28f1258b PYTHON_AIOHTTP_SETUP_TYPE = setuptools PYTHON_AIOHTTP_LICENSE = Apache-2.0 PYTHON_AIOHTTP_LICENSE_FILES = LICENSE.txt -PYTHON_AIOHTTP_CPE_ID_VENDOR = aiohttp_project +PYTHON_AIOHTTP_CPE_ID_VENDOR = aiohttp PYTHON_AIOHTTP_CPE_ID_PRODUCT = aiohttp $(eval $(python-package)) diff --git a/package/python-aiojobs/Config.in b/package/python-aiojobs/Config.in index 2dc4f3f9550..0cdd1c106f2 100644 --- a/package/python-aiojobs/Config.in +++ b/package/python-aiojobs/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_AIOJOBS bool "python-aiojobs" - select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime help Jobs scheduler for managing background task (asyncio). diff --git a/package/python-aiojobs/python-aiojobs.hash b/package/python-aiojobs/python-aiojobs.hash index 511953713b9..baaa61b331f 100644 --- a/package/python-aiojobs/python-aiojobs.hash +++ b/package/python-aiojobs/python-aiojobs.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiojobs/json -md5 18a5b38cc13b2d59a91fdfec64588b4c aiojobs-1.1.0.tar.gz -sha256 f0c43dfc4de359052a67df309b593732c32028deef1bb787c7a363da29accde3 aiojobs-1.1.0.tar.gz +md5 d4742018c2188147f1efa41645b5758b aiojobs-1.2.1.tar.gz +sha256 59d6e7ad7829e9d0f73bfceeae28153b541be6b0959a08cc5ceb222717c888ff aiojobs-1.2.1.tar.gz # Locally computed sha256 checksums sha256 1803dc89455114eefad3b827543343edc2452432fdac29b5edc66c8b66d4cbf3 LICENSE diff --git a/package/python-aiojobs/python-aiojobs.mk b/package/python-aiojobs/python-aiojobs.mk index 075d807d8b1..9e4a55e13cc 100644 --- a/package/python-aiojobs/python-aiojobs.mk +++ b/package/python-aiojobs/python-aiojobs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AIOJOBS_VERSION = 1.1.0 +PYTHON_AIOJOBS_VERSION = 1.2.1 PYTHON_AIOJOBS_SOURCE = aiojobs-$(PYTHON_AIOJOBS_VERSION).tar.gz -PYTHON_AIOJOBS_SITE = https://files.pythonhosted.org/packages/99/75/b6d3678d804fffda81ebbac6214c35a4417d5ddbd70ffe7958ad951e64d2 +PYTHON_AIOJOBS_SITE = https://files.pythonhosted.org/packages/07/ad/e4240f9225022798e0e651ced8f6dc022e88eae4f2df6e1482a8f3c0d54d PYTHON_AIOJOBS_SETUP_TYPE = setuptools PYTHON_AIOJOBS_LICENSE = Apache-2.0 PYTHON_AIOJOBS_LICENSE_FILES = LICENSE diff --git a/package/python-aiologstash/python-aiologstash.mk b/package/python-aiologstash/python-aiologstash.mk index be1c40b7141..de0ed820a0e 100644 --- a/package/python-aiologstash/python-aiologstash.mk +++ b/package/python-aiologstash/python-aiologstash.mk @@ -7,7 +7,7 @@ PYTHON_AIOLOGSTASH_VERSION = 2.0.0 PYTHON_AIOLOGSTASH_SOURCE = aiologstash-$(PYTHON_AIOLOGSTASH_VERSION).tar.gz PYTHON_AIOLOGSTASH_SITE = https://files.pythonhosted.org/packages/1c/dc/382861d5d25ccc976d02118922598fc4547f74f3287793e270ed614d8176 -PYTHON_AIOLOGSTASH_SETUP_TYPE = distutils +PYTHON_AIOLOGSTASH_SETUP_TYPE = setuptools PYTHON_AIOLOGSTASH_LICENSE = MIT PYTHON_AIOLOGSTASH_LICENSE_FILES = LICENSE diff --git a/package/python-aiomonitor/Config.in b/package/python-aiomonitor/Config.in index 435900ae32e..9f3787f9b39 100644 --- a/package/python-aiomonitor/Config.in +++ b/package/python-aiomonitor/Config.in @@ -1,7 +1,15 @@ config BR2_PACKAGE_PYTHON_AIOMONITOR bool "python-aiomonitor" - select BR2_PACKAGE_PYTHON_TERMINALTABLES # runtime select BR2_PACKAGE_PYTHON_AIOCONSOLE # runtime + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_CLICK # runtime + select BR2_PACKAGE_PYTHON_JANUS # runtime + select BR2_PACKAGE_PYTHON_JINJA2 # runtime + select BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT # runtime + select BR2_PACKAGE_PYTHON_TERMINALTABLES # runtime + select BR2_PACKAGE_PYTHON_TRAFARET # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help aiomonitor adds monitor and python REPL capabilities for asyncio application. diff --git a/package/python-aiomonitor/python-aiomonitor.hash b/package/python-aiomonitor/python-aiomonitor.hash index 652702c479b..f1c0e37667b 100644 --- a/package/python-aiomonitor/python-aiomonitor.hash +++ b/package/python-aiomonitor/python-aiomonitor.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/aiomonitor/json -md5 5f184e4b97ea161fc2d690aef604f997 aiomonitor-0.4.5.tar.gz -sha256 6232c1ab14bf06cd7217845801c27340032f74e283bdaf32d01cdd3b7c673d0e aiomonitor-0.4.5.tar.gz +md5 75fc8f84c0ff385931d76c46265cfc0d aiomonitor-0.7.0.tar.gz +sha256 109b9ad309a44c0c5db1219d106f4062615151ad3f0e288a0c104fbb004d0398 aiomonitor-0.7.0.tar.gz # Locally computed sha256 checksums -sha256 9b42fe3a288996988c552e387e7877be7525a1649e62086aedd6b32d3cb56365 LICENSE +sha256 98397c300949e0cc1ddc68b0e48e67b10f2d0a4ffada4903d891a1315fe04156 LICENSE diff --git a/package/python-aiomonitor/python-aiomonitor.mk b/package/python-aiomonitor/python-aiomonitor.mk index a8860097d5a..8eaddcbfa6f 100644 --- a/package/python-aiomonitor/python-aiomonitor.mk +++ b/package/python-aiomonitor/python-aiomonitor.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_AIOMONITOR_VERSION = 0.4.5 +PYTHON_AIOMONITOR_VERSION = 0.7.0 PYTHON_AIOMONITOR_SOURCE = aiomonitor-$(PYTHON_AIOMONITOR_VERSION).tar.gz -PYTHON_AIOMONITOR_SITE = https://files.pythonhosted.org/packages/98/76/b62e9fbe267287527fb6f4b6774394d4f00650195774173bb0055a99ab3d +PYTHON_AIOMONITOR_SITE = https://files.pythonhosted.org/packages/50/30/1d903b716489c2b5d0a92baccf172f972e97c2de94d4ea41c154287e9b60 PYTHON_AIOMONITOR_SETUP_TYPE = setuptools PYTHON_AIOMONITOR_LICENSE = Apache-2.0 PYTHON_AIOMONITOR_LICENSE_FILES = LICENSE +PYTHON_AIOMONITOR_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-aiosqlite/Config.in b/package/python-aiosqlite/Config.in new file mode 100644 index 00000000000..c95c2b9510a --- /dev/null +++ b/package/python-aiosqlite/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOSQLITE + bool "python-aiosqlite" + select BR2_PACKAGE_PYTHON3_SQLITE # runtime + help + aiosqlite provides a friendly, async interface to sqlite + databases. + + https://aiosqlite.omnilib.dev diff --git a/package/python-aiosqlite/python-aiosqlite.hash b/package/python-aiosqlite/python-aiosqlite.hash new file mode 100644 index 00000000000..e06061346c4 --- /dev/null +++ b/package/python-aiosqlite/python-aiosqlite.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiosqlite/json +md5 e829bf8f641ab115c1a9ca0494d35278 aiosqlite-0.19.0.tar.gz +sha256 95ee77b91c8d2808bd08a59fbebf66270e9090c3d92ffbf260dc0db0b979577d aiosqlite-0.19.0.tar.gz +# Locally computed sha256 checksums +sha256 ab0c171dc3ef8bf325a84bb77d855421f2611335ddf6e08816b2922c4edc0f76 LICENSE diff --git a/package/python-aiosqlite/python-aiosqlite.mk b/package/python-aiosqlite/python-aiosqlite.mk new file mode 100644 index 00000000000..e513d53c02f --- /dev/null +++ b/package/python-aiosqlite/python-aiosqlite.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiosqlite +# +################################################################################ + +PYTHON_AIOSQLITE_VERSION = 0.19.0 +PYTHON_AIOSQLITE_SOURCE = aiosqlite-$(PYTHON_AIOSQLITE_VERSION).tar.gz +PYTHON_AIOSQLITE_SITE = https://files.pythonhosted.org/packages/ea/51/060efa10a814145acd4e42c6e5ed540b8714cad52ca026c5930e7c473049 +PYTHON_AIOSQLITE_SETUP_TYPE = flit +PYTHON_AIOSQLITE_LICENSE = MIT +PYTHON_AIOSQLITE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-alembic/Config.in b/package/python-alembic/Config.in index a53dde7f7f6..33fe3c36828 100644 --- a/package/python-alembic/Config.in +++ b/package/python-alembic/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_PYTHON_ALEMBIC bool "python-alembic" + select BR2_PACKAGE_PYTHON_MAKO # runtime + select BR2_PACKAGE_PYTHON_SQLALCHEMY # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help Alembic is a database migrations tool written by the author of SQLAlchemy. diff --git a/package/python-alembic/python-alembic.hash b/package/python-alembic/python-alembic.hash index e256e9dc089..1f752ebc7e6 100644 --- a/package/python-alembic/python-alembic.hash +++ b/package/python-alembic/python-alembic.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/alembic/json -md5 667a722df7dbef926a4ce760b9917622 alembic-1.8.1.tar.gz -sha256 cd0b5e45b14b706426b833f06369b9a6d5ee03f826ec3238723ce8caaf6e5ffa alembic-1.8.1.tar.gz +md5 29579d34ea694627280b52a3d3116664 alembic-1.13.1.tar.gz +sha256 4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595 alembic-1.13.1.tar.gz # Locally computed sha256 checksums -sha256 f0e3f7a5080879ccae798882d9bee3d48fe335d0bad84ca8eec86fa594375ea0 LICENSE +sha256 b285268a86f4416eaf4d05b2ae3880c156f7c59a8f935a402bc056eafb33af08 LICENSE diff --git a/package/python-alembic/python-alembic.mk b/package/python-alembic/python-alembic.mk index 735678b3849..52e30e39ba3 100644 --- a/package/python-alembic/python-alembic.mk +++ b/package/python-alembic/python-alembic.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ALEMBIC_VERSION = 1.8.1 +PYTHON_ALEMBIC_VERSION = 1.13.1 PYTHON_ALEMBIC_SOURCE = alembic-$(PYTHON_ALEMBIC_VERSION).tar.gz -PYTHON_ALEMBIC_SITE = https://files.pythonhosted.org/packages/37/ab/80e6d86ca81235ea1a7104089dddf74de4b45f8af0a05d4b265be44d6ff9 +PYTHON_ALEMBIC_SITE = https://files.pythonhosted.org/packages/7b/24/ddce068e2ac9b5581bd58602edb2a1be1b0752e1ff2963c696ecdbe0470d PYTHON_ALEMBIC_SETUP_TYPE = setuptools PYTHON_ALEMBIC_LICENSE = MIT PYTHON_ALEMBIC_LICENSE_FILES = LICENSE diff --git a/package/python-alsaaudio/python-alsaaudio.hash b/package/python-alsaaudio/python-alsaaudio.hash index af3d0faad24..ab8b868b970 100644 --- a/package/python-alsaaudio/python-alsaaudio.hash +++ b/package/python-alsaaudio/python-alsaaudio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyalsaaudio/json -md5 5408be7d7017ae9272706acb4a543c2f pyalsaaudio-0.9.2.tar.gz -sha256 e74a66d6c7a6bcceb990df66d3ebc0fe382fc9d765f35f050f9d98c695304b36 pyalsaaudio-0.9.2.tar.gz +md5 720b2e1a47a5fdb587ea1b4eabbd23e6 pyalsaaudio-0.10.0.tar.gz +sha256 e21175500a2bd310ae3867e7991639defc1e2a5c92cf1b9f7083296b346738ab pyalsaaudio-0.10.0.tar.gz # Locally computed sha256 checksums sha256 ef6ba930f96986d78082e67c817ac617b9e833d60d5a0460f24c9c674a010935 LICENSE diff --git a/package/python-alsaaudio/python-alsaaudio.mk b/package/python-alsaaudio/python-alsaaudio.mk index 205bfdb86ca..0692f4a8e9b 100644 --- a/package/python-alsaaudio/python-alsaaudio.mk +++ b/package/python-alsaaudio/python-alsaaudio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ALSAAUDIO_VERSION = 0.9.2 +PYTHON_ALSAAUDIO_VERSION = 0.10.0 PYTHON_ALSAAUDIO_SOURCE = pyalsaaudio-$(PYTHON_ALSAAUDIO_VERSION).tar.gz -PYTHON_ALSAAUDIO_SITE = https://files.pythonhosted.org/packages/a9/bd/24f576c07953671edfeba2545c3c92c46e97384f622957ecf95967c2b456 +PYTHON_ALSAAUDIO_SITE = https://files.pythonhosted.org/packages/e5/f0/411140b1c2d8eea8531233f39103e7ebda560030493e298be6439ce36936 PYTHON_ALSAAUDIO_SETUP_TYPE = setuptools PYTHON_ALSAAUDIO_LICENSE = Python-2.0 PYTHON_ALSAAUDIO_LICENSE_FILES = LICENSE diff --git a/package/python-annotated-types/Config.in b/package/python-annotated-types/Config.in new file mode 100644 index 00000000000..36525a526b5 --- /dev/null +++ b/package/python-annotated-types/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_ANNOTATED_TYPES + bool "python-annotated-types" + help + Reusable constraint types to use with typing.Annotated. + + https://github.com/annotated-types/annotated-types diff --git a/package/python-annotated-types/python-annotated-types.hash b/package/python-annotated-types/python-annotated-types.hash new file mode 100644 index 00000000000..1663bcb51f3 --- /dev/null +++ b/package/python-annotated-types/python-annotated-types.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/annotated-types/json +md5 5fe2125b08851f0d05a8efad6456861c annotated_types-0.6.0.tar.gz +sha256 563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d annotated_types-0.6.0.tar.gz +# Locally computed sha256 checksums +sha256 fe1049884b1a0d9342901e88e07f32925d24b3121d9972b6a6805fb9824b095d LICENSE diff --git a/package/python-annotated-types/python-annotated-types.mk b/package/python-annotated-types/python-annotated-types.mk new file mode 100644 index 00000000000..8bc617069d3 --- /dev/null +++ b/package/python-annotated-types/python-annotated-types.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-annotated-types +# +################################################################################ + +PYTHON_ANNOTATED_TYPES_VERSION = 0.6.0 +PYTHON_ANNOTATED_TYPES_SOURCE = annotated_types-$(PYTHON_ANNOTATED_TYPES_VERSION).tar.gz +PYTHON_ANNOTATED_TYPES_SITE = https://files.pythonhosted.org/packages/67/fe/8c7b275824c6d2cd17c93ee85d0ee81c090285b6d52f4876ccc47cf9c3c4 +PYTHON_ANNOTATED_TYPES_SETUP_TYPE = pep517 +PYTHON_ANNOTATED_TYPES_LICENSE = MIT +PYTHON_ANNOTATED_TYPES_LICENSE_FILES = LICENSE +PYTHON_ANNOTATED_TYPES_DEPENDENCIES = host-python-hatchling + +$(eval $(python-package)) diff --git a/package/python-anyio/Config.in b/package/python-anyio/Config.in new file mode 100644 index 00000000000..d843f37af03 --- /dev/null +++ b/package/python-anyio/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_ANYIO + bool "python-anyio" + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_SNIFFIO # runtime + help + High level compatibility layer for multiple asynchronous + event loop implementations. + + https://github.com/agronholm/anyio diff --git a/package/python-anyio/python-anyio.hash b/package/python-anyio/python-anyio.hash new file mode 100644 index 00000000000..e77d30249c6 --- /dev/null +++ b/package/python-anyio/python-anyio.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/anyio/json +md5 22e660fff1a584e72281f0d6a083e4e0 anyio-4.2.0.tar.gz +sha256 e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f anyio-4.2.0.tar.gz +# Locally computed sha256 checksums +sha256 5361ac9dc58f2ef5fd2e9b09c68297c17f04950909bbc8023bdb82eacf22c2b0 LICENSE diff --git a/package/python-anyio/python-anyio.mk b/package/python-anyio/python-anyio.mk new file mode 100644 index 00000000000..32c22861577 --- /dev/null +++ b/package/python-anyio/python-anyio.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-anyio +# +################################################################################ + +PYTHON_ANYIO_VERSION = 4.2.0 +PYTHON_ANYIO_SOURCE = anyio-$(PYTHON_ANYIO_VERSION).tar.gz +PYTHON_ANYIO_SITE = https://files.pythonhosted.org/packages/2d/b8/7333d87d5f03247215d86a86362fd3e324111788c6cdd8d2e6196a6ba833 +PYTHON_ANYIO_SETUP_TYPE = setuptools +PYTHON_ANYIO_LICENSE = MIT +PYTHON_ANYIO_LICENSE_FILES = LICENSE +PYTHON_ANYIO_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-apispec/Config.in b/package/python-apispec/Config.in new file mode 100644 index 00000000000..7a322c99699 --- /dev/null +++ b/package/python-apispec/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_APISPEC + bool "python-apispec" + select BR2_PACKAGE_PYTHON_PACKAGING # runtime + help + A pluggable API specification generator. Currently supports + the OpenAPI Specification (f.k.a. the Swagger + specification). + + https://github.com/marshmallow-code/apispec diff --git a/package/python-apispec/python-apispec.hash b/package/python-apispec/python-apispec.hash new file mode 100644 index 00000000000..9c47a2c1a69 --- /dev/null +++ b/package/python-apispec/python-apispec.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/apispec/json +md5 1aa13f34a226fca977d72f061360e96e apispec-6.3.1.tar.gz +sha256 b38e4479916d43f2b1e88ce15fc2fae93adf2e8d55cb59ec74ac66a827941483 apispec-6.3.1.tar.gz +# Locally computed sha256 checksums +sha256 a452afcef750956a8396f7e7a6f913a117d28ef99a13170c29dc74c3b7a95f29 LICENSE diff --git a/package/python-apispec/python-apispec.mk b/package/python-apispec/python-apispec.mk new file mode 100644 index 00000000000..aee0e168407 --- /dev/null +++ b/package/python-apispec/python-apispec.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-apispec +# +################################################################################ + +PYTHON_APISPEC_VERSION = 6.3.1 +PYTHON_APISPEC_SOURCE = apispec-$(PYTHON_APISPEC_VERSION).tar.gz +PYTHON_APISPEC_SITE = https://files.pythonhosted.org/packages/ff/0c/e70aa981d8ebe2e8a500a85c923579ce3363feccd704268e6ff8053875dd +PYTHON_APISPEC_SETUP_TYPE = setuptools +PYTHON_APISPEC_LICENSE = MIT +PYTHON_APISPEC_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-argh/python-argh.hash b/package/python-argh/python-argh.hash index 15f72eb015c..bac9df42d6a 100644 --- a/package/python-argh/python-argh.hash +++ b/package/python-argh/python-argh.hash @@ -1,5 +1,6 @@ -# md5 from https://pypi.python.org/pypi/argh/json -md5 edda25f3f0164a963dd89c0e3c619973 argh-0.26.2.tar.gz -# Locally computed -sha256 e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65 argh-0.26.2.tar.gz -sha256 9c318783389a2e78735dc3d633e745e5648b826744521857045e84ed2e79ce2e README.rst +# md5, sha256 from https://pypi.org/pypi/argh/json +md5 2659a6353589156e6aa65a99797f8913 argh-0.31.0.tar.gz +sha256 b93093544309ddbfe6c73dc9bfd60dbc4acecef39f3f464774b3084a1ec5d7b0 argh-0.31.0.tar.gz +# Locally computed sha256 checksums +sha256 2594f46b9b23a5fddeca090faeb270c7ceee8116675fe35082be859aa7466e89 COPYING +sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 COPYING.LESSER diff --git a/package/python-argh/python-argh.mk b/package/python-argh/python-argh.mk index ac514174c8c..0da3281d495 100644 --- a/package/python-argh/python-argh.mk +++ b/package/python-argh/python-argh.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_ARGH_VERSION = 0.26.2 +PYTHON_ARGH_VERSION = 0.31.0 PYTHON_ARGH_SOURCE = argh-$(PYTHON_ARGH_VERSION).tar.gz -PYTHON_ARGH_SITE = https://pypi.python.org/packages/e3/75/1183b5d1663a66aebb2c184e0398724b624cecd4f4b679cb6e25de97ed15 -PYTHON_ARGH_SETUP_TYPE = setuptools +PYTHON_ARGH_SITE = https://files.pythonhosted.org/packages/7c/3c/1b7f3fab380c96d61119178040c0183161fe0f182c4da3933bcb3284538f +PYTHON_ARGH_SETUP_TYPE = flit PYTHON_ARGH_LICENSE = LGPL-3.0+ -PYTHON_ARGH_LICENSE_FILES = README.rst +PYTHON_ARGH_LICENSE_FILES = COPYING COPYING.LESSER $(eval $(python-package)) diff --git a/package/python-argon2-cffi/python-argon2-cffi.hash b/package/python-argon2-cffi/python-argon2-cffi.hash index 09da5855a3f..e11195e1e2b 100644 --- a/package/python-argon2-cffi/python-argon2-cffi.hash +++ b/package/python-argon2-cffi/python-argon2-cffi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/argon2-cffi/json -md5 b7843e8690c790f8e743d37bb75c25a8 argon2-cffi-21.3.0.tar.gz -sha256 d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b argon2-cffi-21.3.0.tar.gz +md5 7371c126f21a895b33c4fe7e00ac6fc1 argon2_cffi-23.1.0.tar.gz +sha256 879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08 argon2_cffi-23.1.0.tar.gz # Locally computed sha256 checksums -sha256 bf659a28b49240602f56bbdf490cbe2ec509b15b98f99d7b19a52c740e327863 LICENSE +sha256 b6944d386e87ccf49d9632da083685a4b7624733e686a7fe283dd2d428341d77 LICENSE diff --git a/package/python-argon2-cffi/python-argon2-cffi.mk b/package/python-argon2-cffi/python-argon2-cffi.mk index 0fb3e50ff35..238271f5f78 100644 --- a/package/python-argon2-cffi/python-argon2-cffi.mk +++ b/package/python-argon2-cffi/python-argon2-cffi.mk @@ -4,11 +4,15 @@ # ################################################################################ -PYTHON_ARGON2_CFFI_VERSION = 21.3.0 -PYTHON_ARGON2_CFFI_SOURCE = argon2-cffi-$(PYTHON_ARGON2_CFFI_VERSION).tar.gz -PYTHON_ARGON2_CFFI_SITE = https://files.pythonhosted.org/packages/3f/18/20bb5b6bf55e55d14558b57afc3d4476349ab90e0c43e60f27a7c2187289 -PYTHON_ARGON2_CFFI_SETUP_TYPE = flit +PYTHON_ARGON2_CFFI_VERSION = 23.1.0 +PYTHON_ARGON2_CFFI_SOURCE = argon2_cffi-$(PYTHON_ARGON2_CFFI_VERSION).tar.gz +PYTHON_ARGON2_CFFI_SITE = https://files.pythonhosted.org/packages/31/fa/57ec2c6d16ecd2ba0cf15f3c7d1c3c2e7b5fcb83555ff56d7ab10888ec8f +PYTHON_ARGON2_CFFI_SETUP_TYPE = pep517 PYTHON_ARGON2_CFFI_LICENSE = MIT PYTHON_ARGON2_CFFI_LICENSE_FILES = LICENSE +PYTHON_ARGON2_CFFI_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-fancy-pypi-readme \ + host-python-hatch-vcs $(eval $(python-package)) diff --git a/package/python-arrow/Config.in b/package/python-arrow/Config.in index 244956879cf..4a43ef98a74 100644 --- a/package/python-arrow/Config.in +++ b/package/python-arrow/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_ARROW bool "python-arrow" select BR2_PACKAGE_PYTHON_DATEUTIL # runtime + select BR2_PACKAGE_PYTHON_TYPES_PYTHON_DATEUTIL # runtime help Better dates and times for Python. diff --git a/package/python-arrow/python-arrow.hash b/package/python-arrow/python-arrow.hash index 30fb88e8c04..6120069abf6 100644 --- a/package/python-arrow/python-arrow.hash +++ b/package/python-arrow/python-arrow.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/arrow/json -md5 a964a7574e486b0642f3fbc02ef22773 arrow-1.2.3.tar.gz -sha256 3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1 arrow-1.2.3.tar.gz +md5 f03ecc3edbe2db99f366142f6e0f6d0b arrow-1.3.0.tar.gz +sha256 d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85 arrow-1.3.0.tar.gz # Locally computed sha256 checksums -sha256 40d6e1255d7151f5f041a514725d3c94ffa8c1881e5a0c29b6bea93f03e2e3bb LICENSE +sha256 b481f87296cb0abdb13fd8cbb94b14c328be880ec9e68547a61b84dacffd067a LICENSE diff --git a/package/python-arrow/python-arrow.mk b/package/python-arrow/python-arrow.mk index 1e34ef09c81..793cc2640fe 100644 --- a/package/python-arrow/python-arrow.mk +++ b/package/python-arrow/python-arrow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ARROW_VERSION = 1.2.3 +PYTHON_ARROW_VERSION = 1.3.0 PYTHON_ARROW_SOURCE = arrow-$(PYTHON_ARROW_VERSION).tar.gz -PYTHON_ARROW_SITE = https://files.pythonhosted.org/packages/7f/c0/c601ea7811f422700ef809f167683899cdfddec5aa3f83597edf97349962 +PYTHON_ARROW_SITE = https://files.pythonhosted.org/packages/2e/00/0f6e8fcdb23ea632c866620cc872729ff43ed91d284c866b515c6342b173 PYTHON_ARROW_SETUP_TYPE = setuptools PYTHON_ARROW_LICENSE = Apache-2.0 PYTHON_ARROW_LICENSE_FILES = LICENSE diff --git a/package/python-asgiref/python-asgiref.hash b/package/python-asgiref/python-asgiref.hash index fec707ce02f..7f3bca57c0c 100644 --- a/package/python-asgiref/python-asgiref.hash +++ b/package/python-asgiref/python-asgiref.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/asgiref/json -md5 b3cf42bb1f9191196f9ed1678f9dc106 asgiref-3.5.2.tar.gz -sha256 4a29362a6acebe09bf1d6640db38c1dc3d9217c68e6f9f6204d72667fc19a424 asgiref-3.5.2.tar.gz +md5 7cd61836ec3c329f415309f88e92e0e3 asgiref-3.7.2.tar.gz +sha256 9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed asgiref-3.7.2.tar.gz # Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-asgiref/python-asgiref.mk b/package/python-asgiref/python-asgiref.mk index afc083fb1f2..abd89624767 100644 --- a/package/python-asgiref/python-asgiref.mk +++ b/package/python-asgiref/python-asgiref.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASGIREF_VERSION = 3.5.2 +PYTHON_ASGIREF_VERSION = 3.7.2 PYTHON_ASGIREF_SOURCE = asgiref-$(PYTHON_ASGIREF_VERSION).tar.gz -PYTHON_ASGIREF_SITE = https://files.pythonhosted.org/packages/1f/35/e7d59b92ceffb1dc62c65156278de378670b46ab2364a3ea7216fe194ba3 +PYTHON_ASGIREF_SITE = https://files.pythonhosted.org/packages/12/19/64e38c1c2cbf0da9635b7082bbdf0e89052e93329279f59759c24a10cc96 PYTHON_ASGIREF_SETUP_TYPE = setuptools PYTHON_ASGIREF_LICENSE = BSD-3-Clause PYTHON_ASGIREF_LICENSE_FILES = LICENSE diff --git a/package/python-asttokens/Config.in b/package/python-asttokens/Config.in new file mode 100644 index 00000000000..2732b8124bc --- /dev/null +++ b/package/python-asttokens/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_ASTTOKENS + bool "python-asttokens" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Annotate AST trees with source code positions. + + https://github.com/gristlabs/asttokens diff --git a/package/python-asttokens/python-asttokens.hash b/package/python-asttokens/python-asttokens.hash new file mode 100644 index 00000000000..9042c3002d0 --- /dev/null +++ b/package/python-asttokens/python-asttokens.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/asttokens/json +md5 c353679585a40f43c24ca60fca33bbf6 asttokens-2.4.1.tar.gz +sha256 b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0 asttokens-2.4.1.tar.gz +# Locally computed sha256 checksums +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/python-asttokens/python-asttokens.mk b/package/python-asttokens/python-asttokens.mk new file mode 100644 index 00000000000..4806d179150 --- /dev/null +++ b/package/python-asttokens/python-asttokens.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-asttokens +# +################################################################################ + +PYTHON_ASTTOKENS_VERSION = 2.4.1 +PYTHON_ASTTOKENS_SOURCE = asttokens-$(PYTHON_ASTTOKENS_VERSION).tar.gz +PYTHON_ASTTOKENS_SITE = https://files.pythonhosted.org/packages/45/1d/f03bcb60c4a3212e15f99a56085d93093a497718adf828d050b9d675da81 +PYTHON_ASTTOKENS_SETUP_TYPE = setuptools +PYTHON_ASTTOKENS_LICENSE = Apache-2.0 +PYTHON_ASTTOKENS_LICENSE_FILES = LICENSE + +PYTHON_ASTTOKENS_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-async-generator/Config.in b/package/python-async-generator/Config.in new file mode 100644 index 00000000000..eb5720c652b --- /dev/null +++ b/package/python-async-generator/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_ASYNC_GENERATOR + bool "python-async-generator" + help + Async generators and context managers for Python 3.5+. + + https://github.com/python-trio/async_generator diff --git a/package/python-async-generator/python-async-generator.hash b/package/python-async-generator/python-async-generator.hash new file mode 100644 index 00000000000..3a94d5eb319 --- /dev/null +++ b/package/python-async-generator/python-async-generator.hash @@ -0,0 +1,7 @@ +# md5, sha256 from https://pypi.org/pypi/async_generator/json +md5 078a29b4afb3d7f38c097a530f042a55 async_generator-1.10.tar.gz +sha256 6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144 async_generator-1.10.tar.gz +# Locally computed sha256 checksums +sha256 b54d37617a67005623de975715952a2df062a2616c197bc3b6b451245b0c9265 LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.APACHE2 +sha256 3e6dae555eb92787fc82d1d48355677f454c7f65aeb38d3f9e72bf9a3daf034b LICENSE.MIT diff --git a/package/python-async-generator/python-async-generator.mk b/package/python-async-generator/python-async-generator.mk new file mode 100644 index 00000000000..d5e4f430fc5 --- /dev/null +++ b/package/python-async-generator/python-async-generator.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-async-generator +# +################################################################################ + +PYTHON_ASYNC_GENERATOR_VERSION = 1.10 +PYTHON_ASYNC_GENERATOR_SOURCE = async_generator-$(PYTHON_ASYNC_GENERATOR_VERSION).tar.gz +PYTHON_ASYNC_GENERATOR_SITE = https://files.pythonhosted.org/packages/ce/b6/6fa6b3b598a03cba5e80f829e0dadbb49d7645f523d209b2fb7ea0bbb02a +PYTHON_ASYNC_GENERATOR_SETUP_TYPE = setuptools +PYTHON_ASYNC_GENERATOR_LICENSE = Apache-2.0 or MIT +PYTHON_ASYNC_GENERATOR_LICENSE_FILES = LICENSE LICENSE.APACHE2 LICENSE.MIT + +$(eval $(python-package)) diff --git a/package/python-async-lru/python-async-lru.hash b/package/python-async-lru/python-async-lru.hash index 231af32baa0..0a7cd03be93 100644 --- a/package/python-async-lru/python-async-lru.hash +++ b/package/python-async-lru/python-async-lru.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/async-lru/json -md5 4dfcb328f2e9a8fdc9cf78dfdb6d3eef async-lru-1.0.3.tar.gz -sha256 c2cb9b2915eb14e6cf3e717154b40f715bf90e596d73623677affd0d1fbcd32a async-lru-1.0.3.tar.gz +md5 cd57e4d7f51bcbe2b940c523a5851b40 async-lru-2.0.4.tar.gz +sha256 b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627 async-lru-2.0.4.tar.gz # Locally computed sha256 checksums sha256 ea65975679bc2093be925d520358e41096bd96fddedee3e929160a5faadcf573 LICENSE diff --git a/package/python-async-lru/python-async-lru.mk b/package/python-async-lru/python-async-lru.mk index 872540b713c..16c6a32ffdc 100644 --- a/package/python-async-lru/python-async-lru.mk +++ b/package/python-async-lru/python-async-lru.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASYNC_LRU_VERSION = 1.0.3 +PYTHON_ASYNC_LRU_VERSION = 2.0.4 PYTHON_ASYNC_LRU_SOURCE = async-lru-$(PYTHON_ASYNC_LRU_VERSION).tar.gz -PYTHON_ASYNC_LRU_SITE = https://files.pythonhosted.org/packages/fe/67/4cb179c14ffa8b4a35fbe02255744bee4cbbaf61b35612c96ba4a618e4d5 +PYTHON_ASYNC_LRU_SITE = https://files.pythonhosted.org/packages/80/e2/2b4651eff771f6fd900d233e175ddc5e2be502c7eb62c0c42f975c6d36cd PYTHON_ASYNC_LRU_SETUP_TYPE = setuptools PYTHON_ASYNC_LRU_LICENSE = MIT PYTHON_ASYNC_LRU_LICENSE_FILES = LICENSE diff --git a/package/python-async-timeout/python-async-timeout.hash b/package/python-async-timeout/python-async-timeout.hash index 0ecf1ef5ae3..d46489396f0 100644 --- a/package/python-async-timeout/python-async-timeout.hash +++ b/package/python-async-timeout/python-async-timeout.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/async-timeout/json -md5 10571272b2e0fab839ec23f8293bf482 async-timeout-4.0.2.tar.gz -sha256 2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 async-timeout-4.0.2.tar.gz +md5 9bf7b764a7310cb063c1c261c21342e4 async-timeout-4.0.3.tar.gz +sha256 4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f async-timeout-4.0.3.tar.gz # Locally computed sha256 checksums sha256 e18d7bb8f513e2c46bb585c94b585bd30720dd3ccb21ddb0786f72d16658f92c LICENSE diff --git a/package/python-async-timeout/python-async-timeout.mk b/package/python-async-timeout/python-async-timeout.mk index b3c5f79e45f..9760b8ae25e 100644 --- a/package/python-async-timeout/python-async-timeout.mk +++ b/package/python-async-timeout/python-async-timeout.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ASYNC_TIMEOUT_VERSION = 4.0.2 +PYTHON_ASYNC_TIMEOUT_VERSION = 4.0.3 PYTHON_ASYNC_TIMEOUT_SOURCE = async-timeout-$(PYTHON_ASYNC_TIMEOUT_VERSION).tar.gz -PYTHON_ASYNC_TIMEOUT_SITE = https://files.pythonhosted.org/packages/54/6e/9678f7b2993537452710ffb1750c62d2c26df438aa621ad5fa9d1507a43a +PYTHON_ASYNC_TIMEOUT_SITE = https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8 PYTHON_ASYNC_TIMEOUT_LICENSE = Apache-2.0 PYTHON_ASYNC_TIMEOUT_LICENSE_FILES = LICENSE PYTHON_ASYNC_TIMEOUT_SETUP_TYPE = setuptools diff --git a/package/python-asyncssh/Config.in b/package/python-asyncssh/Config.in new file mode 100644 index 00000000000..eef4478f3cd --- /dev/null +++ b/package/python-asyncssh/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_ASYNCSSH + bool "python-asyncssh" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography + select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime + help + AsyncSSH: Asynchronous SSHv2 client and server library. + + http://asyncssh.timeheart.net diff --git a/package/python-asyncssh/python-asyncssh.hash b/package/python-asyncssh/python-asyncssh.hash new file mode 100644 index 00000000000..f74cbe9c836 --- /dev/null +++ b/package/python-asyncssh/python-asyncssh.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/asyncssh/json +md5 3b22a39fa9d638b277c9441187b73c5c asyncssh-2.14.2.tar.gz +sha256 e956bf8988d07a06ba3305f6604e261f4ca014c4a232f0873f1c7692fbe3cfc2 asyncssh-2.14.2.tar.gz +# Locally computed sha256 checksums +sha256 0becf16567beb77fa252b7664631dd177c8f9a1889e48995b45379c7130e5303 LICENSE +sha256 68c286b0cf4507bec8922103efe861adb0bd3218003b1ec1b25e2e64bdd76bd3 COPYRIGHT diff --git a/package/python-asyncssh/python-asyncssh.mk b/package/python-asyncssh/python-asyncssh.mk new file mode 100644 index 00000000000..1f6b9d79a25 --- /dev/null +++ b/package/python-asyncssh/python-asyncssh.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-asyncssh +# +################################################################################ + +PYTHON_ASYNCSSH_VERSION = 2.14.2 +PYTHON_ASYNCSSH_SOURCE = asyncssh-$(PYTHON_ASYNCSSH_VERSION).tar.gz +PYTHON_ASYNCSSH_SITE = https://files.pythonhosted.org/packages/6c/f9/849f158fe50cdb0b1bf75009861865c9a30c3b5a0d62ad43bb5e00b10feb +PYTHON_ASYNCSSH_SETUP_TYPE = setuptools +PYTHON_ASYNCSSH_LICENSE = EPL-2.0 or GPL-2.0+ +PYTHON_ASYNCSSH_LICENSE_FILES = LICENSE COPYRIGHT +PYTHON_ASYNCSSH_CPE_ID_VENDOR = asyncssh_project +PYTHON_ASYNCSSH_CPE_ID_PRODUCT = asyncssh + +$(eval $(python-package)) diff --git a/package/python-attrs/python-attrs.hash b/package/python-attrs/python-attrs.hash index d5548c0ed3a..d8c6d147d58 100644 --- a/package/python-attrs/python-attrs.hash +++ b/package/python-attrs/python-attrs.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/attrs/json -md5 0487081b7ead8753fc46cf7c6d1e28e3 attrs-22.1.0.tar.gz -sha256 29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 attrs-22.1.0.tar.gz +md5 60588a146fb413a997c7519d77198a5e attrs-23.2.0.tar.gz +sha256 935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 attrs-23.2.0.tar.gz # Locally computed sha256 checksums sha256 882115c95dfc2af1eeb6714f8ec6d5cbcabf667caff8729f42420da63f714e9f LICENSE diff --git a/package/python-attrs/python-attrs.mk b/package/python-attrs/python-attrs.mk index 33651ee80a8..8a1236cc440 100644 --- a/package/python-attrs/python-attrs.mk +++ b/package/python-attrs/python-attrs.mk @@ -4,11 +4,15 @@ # ################################################################################ -PYTHON_ATTRS_VERSION = 22.1.0 +PYTHON_ATTRS_VERSION = 23.2.0 PYTHON_ATTRS_SOURCE = attrs-$(PYTHON_ATTRS_VERSION).tar.gz -PYTHON_ATTRS_SITE = https://files.pythonhosted.org/packages/1a/cb/c4ffeb41e7137b23755a45e1bfec9cbb76ecf51874c6f1d113984ecaa32c -PYTHON_ATTRS_SETUP_TYPE = setuptools +PYTHON_ATTRS_SITE = https://files.pythonhosted.org/packages/e3/fc/f800d51204003fa8ae392c4e8278f256206e7a919b708eef054f5f4b650d +PYTHON_ATTRS_SETUP_TYPE = pep517 PYTHON_ATTRS_LICENSE = MIT PYTHON_ATTRS_LICENSE_FILES = LICENSE +PYTHON_ATTRS_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-fancy-pypi-readme \ + host-python-hatch-vcs $(eval $(python-package)) diff --git a/package/python-autobahn/python-autobahn.hash b/package/python-autobahn/python-autobahn.hash index 4ae158be035..11448fef3ac 100644 --- a/package/python-autobahn/python-autobahn.hash +++ b/package/python-autobahn/python-autobahn.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/autobahn/json -md5 2921fb2bdea60b4cb36ccec367625995 autobahn-22.7.1.tar.gz -sha256 8b462ea2e6aad6b4dc0ed45fb800b6cbfeb0325e7fe6983907f122f2be4a1fe9 autobahn-22.7.1.tar.gz +md5 f29d3cebec06c81a87823a2776ffcc5c autobahn-23.6.2.tar.gz +sha256 ec9421c52a2103364d1ef0468036e6019ee84f71721e86b36fe19ad6966c1181 autobahn-23.6.2.tar.gz # Locally computed sha256 checksums -sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE +sha256 ab1dd7a42dbdae302346c5a4571f2149691cc1ec06836232bf4923527e3fe41c LICENSE diff --git a/package/python-autobahn/python-autobahn.mk b/package/python-autobahn/python-autobahn.mk index fb3a7b84dec..703f1065156 100644 --- a/package/python-autobahn/python-autobahn.mk +++ b/package/python-autobahn/python-autobahn.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AUTOBAHN_VERSION = 22.7.1 +PYTHON_AUTOBAHN_VERSION = 23.6.2 PYTHON_AUTOBAHN_SOURCE = autobahn-$(PYTHON_AUTOBAHN_VERSION).tar.gz -PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/c5/b5/c92d6640fd55cbbdd97c05800ab534d84197f7b485d89a9df981ab67cce3 +PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/92/ee/c3320c326919394ff597592549ff5d29d2f7bf12be9ddaa9017caff1a170 PYTHON_AUTOBAHN_LICENSE = MIT PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE PYTHON_AUTOBAHN_CPE_ID_VENDOR = crossbar diff --git a/package/python-avro/python-avro.hash b/package/python-avro/python-avro.hash index 0d457a11fdf..e57b6a722b6 100644 --- a/package/python-avro/python-avro.hash +++ b/package/python-avro/python-avro.hash @@ -1,5 +1,5 @@ -# From https://downloads.apache.org/avro/avro-1.11.1/py/avro-1.11.1.tar.gz.sha512 -sha512 bce5983cd7ed20be848cca41d143f16bf5bab57edc010d590fc1268405de4267e028ff7ec740282a03034aff5aa528feadb2be4e71ee6879b3080e0a9e19cb37 avro-1.11.1.tar.gz +# From https://downloads.apache.org/avro/avro-1.11.3/py/avro-1.11.3.tar.gz.sha512 +sha512 c2066b4dd8b55b0534fb5bb8fc5a81abcef76ab46458b666c98732811f632c34062c1a0cefaf370aa0843c1cad5bd822f9a6ef0ad88cda5177519a3d3c73072d avro-1.11.3.tar.gz # License files sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 avro/LICENSE diff --git a/package/python-avro/python-avro.mk b/package/python-avro/python-avro.mk index 6193cbbd8e9..4e9db9fefc6 100644 --- a/package/python-avro/python-avro.mk +++ b/package/python-avro/python-avro.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update avro-c -PYTHON_AVRO_VERSION = 1.11.1 +PYTHON_AVRO_VERSION = 1.11.3 PYTHON_AVRO_SITE = \ https://www-eu.apache.org/dist/avro/avro-$(PYTHON_AVRO_VERSION)/py PYTHON_AVRO_SOURCE = avro-$(PYTHON_AVRO_VERSION).tar.gz diff --git a/package/python-babel/python-babel.hash b/package/python-babel/python-babel.hash index 2b2f56d8c64..ab4e0225648 100644 --- a/package/python-babel/python-babel.hash +++ b/package/python-babel/python-babel.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/babel/json -md5 9ee7784fd452d456206ecd3a12694010 Babel-2.11.0.tar.gz -sha256 5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6 Babel-2.11.0.tar.gz +md5 3bec3f4c842144c15d839bdde41a44d4 Babel-2.14.0.tar.gz +sha256 6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363 Babel-2.14.0.tar.gz # Locally computed sha256 checksums -sha256 2499aec3c5f041c3ac2c448a15fb233314e4c20cbac1530be04ec31b2788631c LICENSE +sha256 908e0ad72053ae27c1d17e3340bd14cff9bf935992ed56526d17c983ab6e7af7 LICENSE diff --git a/package/python-babel/python-babel.mk b/package/python-babel/python-babel.mk index 35857dc1273..eb39b9aef7c 100644 --- a/package/python-babel/python-babel.mk +++ b/package/python-babel/python-babel.mk @@ -4,13 +4,26 @@ # ################################################################################ -PYTHON_BABEL_VERSION = 2.11.0 +PYTHON_BABEL_VERSION = 2.14.0 PYTHON_BABEL_SOURCE = Babel-$(PYTHON_BABEL_VERSION).tar.gz -PYTHON_BABEL_SITE = https://files.pythonhosted.org/packages/ff/80/45b42203ecc32c8de281f52e3ec81cb5e4ef16127e9e8543089d8b1649fb +PYTHON_BABEL_SITE = https://files.pythonhosted.org/packages/e2/80/cfbe44a9085d112e983282ee7ca4c00429bc4d1ce86ee5f4e60259ddff7f PYTHON_BABEL_SETUP_TYPE = setuptools PYTHON_BABEL_LICENSE = BSD-3-Clause PYTHON_BABEL_LICENSE_FILES = LICENSE HOST_PYTHON_BABEL_DEPENDENCIES = host-python-pytz +# purge locale data (if enabled), keep special en_US_POSIX data which +# is used by default by the python-babel code +ifeq ($(BR2_ENABLE_LOCALE_PURGE),y) +define PYTHON_BABEL_CLEANUP_LOCALE + for i in `ls $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/babel/locale-data/*.dat`; \ + do \ + i_base=`basename "$$i" .dat`; \ + echo "$(BR2_ENABLE_LOCALE_WHITELIST) en_US_POSIX" | grep -qw "$$i_base" || rm "$$i"; \ + done +endef +PYTHON_BABEL_TARGET_FINALIZE_HOOKS += PYTHON_BABEL_CLEANUP_LOCALE +endif + $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-backcall/python-backcall.mk b/package/python-backcall/python-backcall.mk index 2ead3421a83..ea9ffb863ca 100644 --- a/package/python-backcall/python-backcall.mk +++ b/package/python-backcall/python-backcall.mk @@ -7,7 +7,7 @@ PYTHON_BACKCALL_VERSION = 0.2.0 PYTHON_BACKCALL_SOURCE = backcall-$(PYTHON_BACKCALL_VERSION).tar.gz PYTHON_BACKCALL_SITE = https://files.pythonhosted.org/packages/a2/40/764a663805d84deee23043e1426a9175567db89c8b3287b5c2ad9f71aa93 -PYTHON_BACKCALL_SETUP_TYPE = distutils +PYTHON_BACKCALL_SETUP_TYPE = setuptools PYTHON_BACKCALL_LICENSE = BSD-3-Clause PYTHON_BACKCALL_LICENSE_FILES = LICENSE diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.hash b/package/python-beautifulsoup4/python-beautifulsoup4.hash index 4641d2e3a3b..0387af8a650 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.hash +++ b/package/python-beautifulsoup4/python-beautifulsoup4.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/beautifulsoup4/json -md5 22f22f89cf9da41b22e1ece9639c66a3 beautifulsoup4-4.11.1.tar.gz -sha256 ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693 beautifulsoup4-4.11.1.tar.gz +md5 b49a6696a762e946c2be97c36a5adaa8 beautifulsoup4-4.12.2.tar.gz +sha256 492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da beautifulsoup4-4.12.2.tar.gz # Locally computed sha256 checksums -sha256 9e41dab3a48f5c734a9d5446557b28a6616e4924ee51d205598e4416bb93ce25 LICENSE +sha256 55b4d8d4b1e5bc86d10efac91b74c87bcb77526b0f5b9edaf8b9cd2adc7397b2 LICENSE diff --git a/package/python-beautifulsoup4/python-beautifulsoup4.mk b/package/python-beautifulsoup4/python-beautifulsoup4.mk index 78f885ba08b..4c8b996d078 100644 --- a/package/python-beautifulsoup4/python-beautifulsoup4.mk +++ b/package/python-beautifulsoup4/python-beautifulsoup4.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_BEAUTIFULSOUP4_VERSION = 4.11.1 +PYTHON_BEAUTIFULSOUP4_VERSION = 4.12.2 PYTHON_BEAUTIFULSOUP4_SOURCE = beautifulsoup4-$(PYTHON_BEAUTIFULSOUP4_VERSION).tar.gz -PYTHON_BEAUTIFULSOUP4_SITE = https://files.pythonhosted.org/packages/e8/b0/cd2b968000577ec5ce6c741a54d846dfa402372369b8b6861720aa9ecea7 -PYTHON_BEAUTIFULSOUP4_SETUP_TYPE = setuptools +PYTHON_BEAUTIFULSOUP4_SITE = https://files.pythonhosted.org/packages/af/0b/44c39cf3b18a9280950ad63a579ce395dda4c32193ee9da7ff0aed547094 +PYTHON_BEAUTIFULSOUP4_SETUP_TYPE = pep517 PYTHON_BEAUTIFULSOUP4_LICENSE = MIT PYTHON_BEAUTIFULSOUP4_LICENSE_FILES = LICENSE +PYTHON_BEAUTIFULSOUP4_DEPENDENCIES = host-python-hatchling $(eval $(python-package)) diff --git a/package/python-bidict/python-bidict.hash b/package/python-bidict/python-bidict.hash index fe9a94af537..bcb9ea3f34e 100644 --- a/package/python-bidict/python-bidict.hash +++ b/package/python-bidict/python-bidict.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bidict/json -md5 da3d37ae93c740c191b5666918c3164f bidict-0.22.0.tar.gz -sha256 5c826b3e15e97cc6e615de295756847c282a79b79c5430d3bfc909b1ac9f5bd8 bidict-0.22.0.tar.gz +md5 67dd74f41341e7ff437d69e00a6fd514 bidict-0.22.1.tar.gz +sha256 1e0f7f74e4860e6d0943a05d4134c63a2fad86f3d4732fb265bd79e4e856d81d bidict-0.22.1.tar.gz # Locally computed sha256 checksums sha256 be0487398bba08e7772b4077b637787b94973b53c44b3cbdd6c7dab10ed15035 LICENSE diff --git a/package/python-bidict/python-bidict.mk b/package/python-bidict/python-bidict.mk index 7ba15db6052..ae3a1ee024c 100644 --- a/package/python-bidict/python-bidict.mk +++ b/package/python-bidict/python-bidict.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BIDICT_VERSION = 0.22.0 +PYTHON_BIDICT_VERSION = 0.22.1 PYTHON_BIDICT_SOURCE = bidict-$(PYTHON_BIDICT_VERSION).tar.gz -PYTHON_BIDICT_SITE = https://files.pythonhosted.org/packages/2b/84/159749556b9c49ea4489dadeb94d44f05d6033d1db3af4c83120ecac5b15 +PYTHON_BIDICT_SITE = https://files.pythonhosted.org/packages/f2/be/b31e6ea9c94096a323e7a0e2c61480db01f07610bb7e7ea72a06fd1a23a8 PYTHON_BIDICT_SETUP_TYPE = setuptools PYTHON_BIDICT_LICENSE = MPL-2.0 PYTHON_BIDICT_LICENSE_FILES = LICENSE diff --git a/package/python-bitarray/Config.in b/package/python-bitarray/Config.in new file mode 100644 index 00000000000..38d685f4fd7 --- /dev/null +++ b/package/python-bitarray/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_BITARRAY + bool "python-bitarray" + help + efficient arrays of booleans -- C extension. + + https://github.com/ilanschnell/bitarray diff --git a/package/python-bitarray/python-bitarray.hash b/package/python-bitarray/python-bitarray.hash new file mode 100644 index 00000000000..d91a28af20f --- /dev/null +++ b/package/python-bitarray/python-bitarray.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/bitarray/json +md5 024324a82314e9e68ecdcdefdc69071f bitarray-2.9.2.tar.gz +sha256 a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e bitarray-2.9.2.tar.gz +# Locally computed sha256 checksums +sha256 6b5e04f6e0462e1b97be833f9d65e66cd5eceb3283f4a6f532261087d0ab1233 LICENSE diff --git a/package/python-bitarray/python-bitarray.mk b/package/python-bitarray/python-bitarray.mk new file mode 100644 index 00000000000..f86320c1122 --- /dev/null +++ b/package/python-bitarray/python-bitarray.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-bitarray +# +################################################################################ + +PYTHON_BITARRAY_VERSION = 2.9.2 +PYTHON_BITARRAY_SOURCE = bitarray-$(PYTHON_BITARRAY_VERSION).tar.gz +PYTHON_BITARRAY_SITE = https://files.pythonhosted.org/packages/c7/bf/25cf92a83e1fe4948d7935ae3c02f4c9ff9cb9c13e977fba8af11a5f642c +PYTHON_BITARRAY_SETUP_TYPE = setuptools +PYTHON_BITARRAY_LICENSE = Python-2.0 +PYTHON_BITARRAY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-bitstring/Config.in b/package/python-bitstring/Config.in index 93d7682577e..82d0bb29c6a 100644 --- a/package/python-bitstring/Config.in +++ b/package/python-bitstring/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_BITSTRING bool "python-bitstring" + select BR2_PACKAGE_PYTHON_BITARRAY # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Simple construction, analysis and modification of binary data. diff --git a/package/python-bitstring/python-bitstring.hash b/package/python-bitstring/python-bitstring.hash index f078cc7f146..1889983f473 100644 --- a/package/python-bitstring/python-bitstring.hash +++ b/package/python-bitstring/python-bitstring.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bitstring/json -md5 ffd806650062e2fae33ee19b51906924 bitstring-4.0.1.tar.gz -sha256 7719f08f6df89ce28453a5e580d4a8ec1d1bda892dbb033466da0ccd9bdcb706 bitstring-4.0.1.tar.gz +md5 3909415d89586edabd577b62b0d0c1be bitstring-4.1.4.tar.gz +sha256 94f3f1c45383ebe8fd4a359424ffeb75c2f290760ae8fcac421b44f89ac85213 bitstring-4.1.4.tar.gz # Locally computed sha256 checksums sha256 3705eed5a923f35d9bfaca1f10e9136cc84d6e576570aec661bda69991f129ea LICENSE diff --git a/package/python-bitstring/python-bitstring.mk b/package/python-bitstring/python-bitstring.mk index 11c9375707b..983491303dd 100644 --- a/package/python-bitstring/python-bitstring.mk +++ b/package/python-bitstring/python-bitstring.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BITSTRING_VERSION = 4.0.1 +PYTHON_BITSTRING_VERSION = 4.1.4 PYTHON_BITSTRING_SOURCE = bitstring-$(PYTHON_BITSTRING_VERSION).tar.gz -PYTHON_BITSTRING_SITE = https://files.pythonhosted.org/packages/d2/64/e733b18349be383a4b7859c865d6c9e5ccc5845e9b4258504055607ec1cb +PYTHON_BITSTRING_SITE = https://files.pythonhosted.org/packages/7f/07/0fd502a29127b968bada3d1824a8af997546d2b9ff73f00e800b3d9888cb PYTHON_BITSTRING_SETUP_TYPE = setuptools PYTHON_BITSTRING_LICENSE = MIT PYTHON_BITSTRING_LICENSE_FILES = LICENSE diff --git a/package/python-bleak/python-bleak.hash b/package/python-bleak/python-bleak.hash index 9a8310b11c4..8462e19d39b 100644 --- a/package/python-bleak/python-bleak.hash +++ b/package/python-bleak/python-bleak.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bleak/json -md5 57564087d6e17ad1853109f530279b27 bleak-0.19.1.tar.gz -sha256 dff7c7f281dcb6629d0d722209c79ec3aa2a6c33867cb5c1ea3d44b72ca155c0 bleak-0.19.1.tar.gz +md5 5e27e052efc45b64da1a1f017610c561 bleak-0.21.1.tar.gz +sha256 ec4a1a2772fb315b992cbaa1153070c7e26968a52b0e2727035f443a1af5c18f bleak-0.21.1.tar.gz # Locally computed sha256 checksums sha256 c4029a2b63b3824ab68be841f414addbdde20cb79cdbe272fa80c0b2abe65374 LICENSE diff --git a/package/python-bleak/python-bleak.mk b/package/python-bleak/python-bleak.mk index 00a4946ef6e..ed3c3f2f933 100644 --- a/package/python-bleak/python-bleak.mk +++ b/package/python-bleak/python-bleak.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BLEAK_VERSION = 0.19.1 +PYTHON_BLEAK_VERSION = 0.21.1 PYTHON_BLEAK_SOURCE = bleak-$(PYTHON_BLEAK_VERSION).tar.gz -PYTHON_BLEAK_SITE = https://files.pythonhosted.org/packages/30/b9/60e1f455365e2340fe076cf7683f4e6d03db0b759d4f93fa45e68dc371e5 +PYTHON_BLEAK_SITE = https://files.pythonhosted.org/packages/6a/c0/3aca655fa43b8ff5340d99fac4e67061f53f42f092fc847bdd0559d67846 PYTHON_BLEAK_SETUP_TYPE = setuptools PYTHON_BLEAK_LICENSE = MIT PYTHON_BLEAK_LICENSE_FILES = LICENSE diff --git a/package/python-blinker/Config.in b/package/python-blinker/Config.in new file mode 100644 index 00000000000..3540ca74523 --- /dev/null +++ b/package/python-blinker/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_BLINKER + bool "python-blinker" + help + Fast, simple object-to-object and broadcast signaling. + + https://blinker.readthedocs.io diff --git a/package/python-blinker/python-blinker.hash b/package/python-blinker/python-blinker.hash new file mode 100644 index 00000000000..e0c1d600ebe --- /dev/null +++ b/package/python-blinker/python-blinker.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/blinker/json +md5 0306b831281e9918ffb0ac6e3e18b47f blinker-1.7.0.tar.gz +sha256 e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182 blinker-1.7.0.tar.gz +# Locally computed sha256 checksums +sha256 9eb73a1f38597a4aa17025d2ae1be3839624c795e985d4f0e9769ce29faca467 LICENSE.rst diff --git a/package/python-blinker/python-blinker.mk b/package/python-blinker/python-blinker.mk new file mode 100644 index 00000000000..234126a5005 --- /dev/null +++ b/package/python-blinker/python-blinker.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-blinker +# +################################################################################ + +PYTHON_BLINKER_VERSION = 1.7.0 +PYTHON_BLINKER_SOURCE = blinker-$(PYTHON_BLINKER_VERSION).tar.gz +PYTHON_BLINKER_SITE = https://files.pythonhosted.org/packages/a1/13/6df5fc090ff4e5d246baf1f45fe9e5623aa8565757dfa5bd243f6a545f9e +PYTHON_BLINKER_SETUP_TYPE = setuptools +PYTHON_BLINKER_LICENSE = MIT +PYTHON_BLINKER_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/package/python-bluezero/python-bluezero.hash b/package/python-bluezero/python-bluezero.hash index 6bedf62b27e..e9ccb9133e1 100644 --- a/package/python-bluezero/python-bluezero.hash +++ b/package/python-bluezero/python-bluezero.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bluezero/json -md5 efa07525f1bf6db9af66eb7d9775cdb0 bluezero-0.7.1.tar.gz -sha256 f146feb65ee9f6fd9f3638ff0a44df9fd6efb48cf66a39ce51a62a7d38ab5206 bluezero-0.7.1.tar.gz +md5 5c256c89c3973cfd20f340f095525af2 bluezero-0.8.0.tar.gz +sha256 9bd6706ff6b941c3bedd5b64e0447051120ae8eeac458fb65f56cc6730e1e598 bluezero-0.8.0.tar.gz # Locally computed sha256 checksums sha256 59319e80b4caa94ace4817c9f84aa16abc9d4d2b5f7866251b5fda92e87ccdef LICENSE diff --git a/package/python-bluezero/python-bluezero.mk b/package/python-bluezero/python-bluezero.mk index 34efb6155cd..8e078f10733 100644 --- a/package/python-bluezero/python-bluezero.mk +++ b/package/python-bluezero/python-bluezero.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BLUEZERO_VERSION = 0.7.1 +PYTHON_BLUEZERO_VERSION = 0.8.0 PYTHON_BLUEZERO_SOURCE = bluezero-$(PYTHON_BLUEZERO_VERSION).tar.gz -PYTHON_BLUEZERO_SITE = https://files.pythonhosted.org/packages/9a/66/d4a92869ed2afd9483a65aff200b2ba0ca4365429bc9a836c5803ab876a5 +PYTHON_BLUEZERO_SITE = https://files.pythonhosted.org/packages/67/e1/15fc417b9828d38aa8e09ba06df61d6889740fe45867510a781df9a8ba35 PYTHON_BLUEZERO_SETUP_TYPE = setuptools PYTHON_BLUEZERO_LICENSE = MIT PYTHON_BLUEZERO_LICENSE_FILES = LICENSE diff --git a/package/python-boto3/python-boto3.hash b/package/python-boto3/python-boto3.hash index 60fd07681c3..02440a2960e 100644 --- a/package/python-boto3/python-boto3.hash +++ b/package/python-boto3/python-boto3.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/boto3/json -md5 9d5447419233a259b3ade6fb86d86cb6 boto3-1.26.27.tar.gz -sha256 255a7565226c21c5d500f69aabb977e1ac07dbaf576f4428d00558e8e508a23b boto3-1.26.27.tar.gz +md5 7cc00aa828c5d3a5c09e3af284e6d23e boto3-1.34.14.tar.gz +sha256 5c1bb487c68120aae236354d81b8a1a55d0aa3395d30748a01825ef90891921e boto3-1.34.14.tar.gz # Locally computed sha256 checksums sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/package/python-boto3/python-boto3.mk b/package/python-boto3/python-boto3.mk index e40ac92f096..52bb5bc3b17 100644 --- a/package/python-boto3/python-boto3.mk +++ b/package/python-boto3/python-boto3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTO3_VERSION = 1.26.27 +PYTHON_BOTO3_VERSION = 1.34.14 PYTHON_BOTO3_SOURCE = boto3-$(PYTHON_BOTO3_VERSION).tar.gz -PYTHON_BOTO3_SITE = https://files.pythonhosted.org/packages/62/7b/7cdcb980d9d90c910a6abec2cdee0ff6aa7a3d8afea4044ffd968d5c107c +PYTHON_BOTO3_SITE = https://files.pythonhosted.org/packages/5f/b6/1e45c3a145304c3feaf48959c6a46efe9a256eec4d417a445b0d9827d20c PYTHON_BOTO3_SETUP_TYPE = setuptools PYTHON_BOTO3_LICENSE = Apache-2.0 PYTHON_BOTO3_LICENSE_FILES = LICENSE diff --git a/package/python-botocore/python-botocore.hash b/package/python-botocore/python-botocore.hash index 8314c534e9c..47fb30f960e 100644 --- a/package/python-botocore/python-botocore.hash +++ b/package/python-botocore/python-botocore.hash @@ -1,5 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/botocore/json -md5 488df64a4fcd884f9fbcf990bdc8b34c botocore-1.29.27.tar.gz -sha256 0932b22d8737b11037adf7e734f9b90425b575d0757e4c1a035e99f382955221 botocore-1.29.27.tar.gz +md5 6c8ba4112df2c114c71522330deb0f9a botocore-1.34.14.tar.gz +sha256 041bed0852649cab7e4dcd4d87f9d1cc084467fb846e5b60015e014761d96414 botocore-1.34.14.tar.gz # Locally computed sha256 checksums sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 tests/unit/auth/aws4_testsuite/LICENSE diff --git a/package/python-botocore/python-botocore.mk b/package/python-botocore/python-botocore.mk index 4b14af4368f..485e9731354 100644 --- a/package/python-botocore/python-botocore.mk +++ b/package/python-botocore/python-botocore.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_BOTOCORE_VERSION = 1.29.27 +PYTHON_BOTOCORE_VERSION = 1.34.14 PYTHON_BOTOCORE_SOURCE = botocore-$(PYTHON_BOTOCORE_VERSION).tar.gz -PYTHON_BOTOCORE_SITE = https://files.pythonhosted.org/packages/08/3f/e9f97b0700e0be670404a7d4a9ac62fd59495897f15c928dd38874e98ef7 +PYTHON_BOTOCORE_SITE = https://files.pythonhosted.org/packages/35/6d/a5aaf38f980060d17905398301033e9eb45c2552bf281fa7fd4c8e23ebdd PYTHON_BOTOCORE_SETUP_TYPE = setuptools PYTHON_BOTOCORE_LICENSE = Apache-2.0 -PYTHON_BOTOCORE_LICENSE_FILES = LICENSE.txt +PYTHON_BOTOCORE_LICENSE_FILES = LICENSE.txt tests/unit/auth/aws4_testsuite/LICENSE $(eval $(python-package)) diff --git a/package/python-bottle/python-bottle.hash b/package/python-bottle/python-bottle.hash index 58bc52e3cb1..48a576aaecf 100644 --- a/package/python-bottle/python-bottle.hash +++ b/package/python-bottle/python-bottle.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bottle/json -md5 d07df795cd4baa596ee803e964ba77fd bottle-0.12.23.tar.gz -sha256 683de3aa399fb26e87b274dbcf70b1a651385d459131716387abdc3792e04167 bottle-0.12.23.tar.gz +md5 7d79d6131ecd524530f4e919bc60f444 bottle-0.12.25.tar.gz +sha256 e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021 bottle-0.12.25.tar.gz # Locally computed sha256 checksums sha256 d0e7211f1c3c1a1c56f39d18bcb07f27f480c8a9552617756dda3a335933b8a6 LICENSE diff --git a/package/python-bottle/python-bottle.mk b/package/python-bottle/python-bottle.mk index e1691972c3f..b35f726f959 100644 --- a/package/python-bottle/python-bottle.mk +++ b/package/python-bottle/python-bottle.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BOTTLE_VERSION = 0.12.23 +PYTHON_BOTTLE_VERSION = 0.12.25 PYTHON_BOTTLE_SOURCE = bottle-$(PYTHON_BOTTLE_VERSION).tar.gz -PYTHON_BOTTLE_SITE = https://files.pythonhosted.org/packages/7c/58/75f3765b0a3f86ef0b6e0b23d0503920936752ca6e0fc27efce7403b01bd +PYTHON_BOTTLE_SITE = https://files.pythonhosted.org/packages/fd/04/1c09ab851a52fe6bc063fd0df758504edede5cc741bd2e807bf434a09215 PYTHON_BOTTLE_LICENSE = MIT PYTHON_BOTTLE_LICENSE_FILES = LICENSE PYTHON_BOTTLE_CPE_ID_VENDOR = bottlepy diff --git a/package/python-brotli/Config.in b/package/python-brotli/Config.in index c31315392b7..ca493bfeffc 100644 --- a/package/python-brotli/Config.in +++ b/package/python-brotli/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_PYTHON_BROTLI bool "python-brotli" - depends on BR2_INSTALL_LIBSTDCPP help Python bindings for the Brotli compression library. https://github.com/google/brotli - -comment "python-brotli needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-brotli/python-brotli.hash b/package/python-brotli/python-brotli.hash index de4964dd257..e8036d3bb84 100644 --- a/package/python-brotli/python-brotli.hash +++ b/package/python-brotli/python-brotli.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/brotli/json -md5 08f1f098697c64aa4596468b556d0c94 Brotli-1.0.9.zip -sha256 4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438 Brotli-1.0.9.zip +md5 908d109a0309c33b626d01137eb4a060 Brotli-1.1.0.tar.gz +sha256 81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724 Brotli-1.1.0.tar.gz # Locally computed sha256 checksums sha256 3d180008e36922a4e8daec11c34c7af264fed5962d07924aea928c38e8663c94 LICENSE diff --git a/package/python-brotli/python-brotli.mk b/package/python-brotli/python-brotli.mk index ff78e6ab2c3..865c4e363f7 100644 --- a/package/python-brotli/python-brotli.mk +++ b/package/python-brotli/python-brotli.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BROTLI_VERSION = 1.0.9 -PYTHON_BROTLI_SOURCE = Brotli-$(PYTHON_BROTLI_VERSION).zip -PYTHON_BROTLI_SITE = https://files.pythonhosted.org/packages/2a/18/70c32fe9357f3eea18598b23aa9ed29b1711c3001835f7cf99a9818985d0 +PYTHON_BROTLI_VERSION = 1.1.0 +PYTHON_BROTLI_SOURCE = Brotli-$(PYTHON_BROTLI_VERSION).tar.gz +PYTHON_BROTLI_SITE = https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b PYTHON_BROTLI_SETUP_TYPE = setuptools PYTHON_BROTLI_LICENSE = MIT PYTHON_BROTLI_LICENSE_FILES = LICENSE @@ -19,10 +19,4 @@ endif PYTHON_BROTLI_ENV = CFLAGS="$(PYTHON_BROTLI_CFLAGS)" -define PYTHON_BROTLI_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(PYTHON_BROTLI_DL_DIR)/$(PYTHON_BROTLI_SOURCE) - mv $(@D)/Brotli-$(PYTHON_BROTLI_VERSION)/* $(@D) - $(RM) -r $(@D)/Brotli-$(PYTHON_BROTLI_VERSION) -endef - $(eval $(python-package)) diff --git a/package/python-bsdiff4/python-bsdiff4.hash b/package/python-bsdiff4/python-bsdiff4.hash index bb84bb09a5f..5f7585af6ac 100644 --- a/package/python-bsdiff4/python-bsdiff4.hash +++ b/package/python-bsdiff4/python-bsdiff4.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/bsdiff4/json -md5 fc5ea1adfe629a7c7ac6f4bb1a0dca93 bsdiff4-1.2.2.tar.gz -sha256 1880ac3f52a6c46ae6bcc6db117e4fb35f9b0ccd5af75fd4fee6907d00d6983c bsdiff4-1.2.2.tar.gz +md5 ebc06d059f3c4ed4c4a5b952f55ae239 bsdiff4-1.2.4.tar.gz +sha256 1d7129a8121860731e8cce2901d3183e14aec70244f64e8f74563275dc388067 bsdiff4-1.2.4.tar.gz # Locally computed sha256 checksums sha256 c6c921c90383f1c43beb53c49a652d28309a410a7c394c729fd8870271451cf0 LICENSE diff --git a/package/python-bsdiff4/python-bsdiff4.mk b/package/python-bsdiff4/python-bsdiff4.mk index 7a50e3379a4..71d212fb280 100644 --- a/package/python-bsdiff4/python-bsdiff4.mk +++ b/package/python-bsdiff4/python-bsdiff4.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BSDIFF4_VERSION = 1.2.2 +PYTHON_BSDIFF4_VERSION = 1.2.4 PYTHON_BSDIFF4_SOURCE = bsdiff4-$(PYTHON_BSDIFF4_VERSION).tar.gz -PYTHON_BSDIFF4_SITE = https://files.pythonhosted.org/packages/34/e2/e28dd282974f919a6b9adb3b7e64bb1fa4390046706c3e58a60b94aeb497 +PYTHON_BSDIFF4_SITE = https://files.pythonhosted.org/packages/58/b2/ccf01309dda2c08e0600027bc0f5a99534c91f2f8728b5009fc363df6c2c PYTHON_BSDIFF4_LICENSE = BSD-2-Clause, BSD-Protection (core.c) PYTHON_BSDIFF4_LICENSE_FILES = LICENSE PYTHON_BSDIFF4_CPE_ID_VENDOR = pypi diff --git a/package/python-bunch/Config.in b/package/python-bunch/Config.in deleted file mode 100644 index 89eae742b8e..00000000000 --- a/package/python-bunch/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config BR2_PACKAGE_PYTHON_BUNCH - bool "python-bunch" - help - A dot-accessible dictionary (a la JavaScript objects). - - http://github.com/dsc/bunch diff --git a/package/python-bunch/python-bunch.hash b/package/python-bunch/python-bunch.hash deleted file mode 100644 index cfde2db6036..00000000000 --- a/package/python-bunch/python-bunch.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/bunch/json -md5 0a829d64e95ed96defbcae2bf9061bb0 bunch-1.0.1.tar.gz -sha256 50c77a0fc0cb372dfe48b5e11937d5f70e743adbf42683f3a6d2857645a76aaa bunch-1.0.1.tar.gz -# Locally computed sha256 checksums -sha256 57ca95c92059c8380625192462979bd32994aae3fcdf902ff6eb1e467eeb0469 LICENSE.txt diff --git a/package/python-bunch/python-bunch.mk b/package/python-bunch/python-bunch.mk deleted file mode 100644 index 18fdc223bb6..00000000000 --- a/package/python-bunch/python-bunch.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-bunch -# -################################################################################ - -PYTHON_BUNCH_VERSION = 1.0.1 -PYTHON_BUNCH_SOURCE = bunch-$(PYTHON_BUNCH_VERSION).tar.gz -PYTHON_BUNCH_SITE = https://files.pythonhosted.org/packages/ef/bf/a4cf1779a4ffb4f610903fa08e15d1f4a8a2f4e3353a02afbe097c5bf4a8 -PYTHON_BUNCH_SETUP_TYPE = setuptools -PYTHON_BUNCH_LICENSE = MIT -PYTHON_BUNCH_LICENSE_FILES = LICENSE.txt - -$(eval $(python-package)) diff --git a/package/python-cachetools/Config.in b/package/python-cachetools/Config.in new file mode 100644 index 00000000000..550e3d25607 --- /dev/null +++ b/package/python-cachetools/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_CACHETOOLS + bool "python-cachetools" + help + Extensible memoizing collections and decorators. + + https://github.com/tkem/cachetools/ diff --git a/package/python-cachetools/python-cachetools.hash b/package/python-cachetools/python-cachetools.hash new file mode 100644 index 00000000000..7b6b9391911 --- /dev/null +++ b/package/python-cachetools/python-cachetools.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/cachetools/json +md5 5317c13b69c4021e925a2fbbc199bcc9 cachetools-5.3.2.tar.gz +sha256 086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2 cachetools-5.3.2.tar.gz +# Locally computed sha256 checksums +sha256 76260c1370a7d41d5fac71a27d781f3add5d7249adfbbfa930846d2d9e47dbd5 LICENSE diff --git a/package/python-cachetools/python-cachetools.mk b/package/python-cachetools/python-cachetools.mk new file mode 100644 index 00000000000..c841e0761ff --- /dev/null +++ b/package/python-cachetools/python-cachetools.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-cachetools +# +################################################################################ + +PYTHON_CACHETOOLS_VERSION = 5.3.2 +PYTHON_CACHETOOLS_SOURCE = cachetools-$(PYTHON_CACHETOOLS_VERSION).tar.gz +PYTHON_CACHETOOLS_SITE = https://files.pythonhosted.org/packages/10/21/1b6880557742c49d5b0c4dcf0cf544b441509246cdd71182e0847ac859d5 +PYTHON_CACHETOOLS_SETUP_TYPE = setuptools +PYTHON_CACHETOOLS_LICENSE = MIT +PYTHON_CACHETOOLS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-calver/python-calver.hash b/package/python-calver/python-calver.hash new file mode 100644 index 00000000000..ebc054e6170 --- /dev/null +++ b/package/python-calver/python-calver.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/calver/json +md5 e1fd924b9bf953c0b28c49bdfe117d7a calver-2022.6.26.tar.gz +sha256 e05493a3b17517ef1748fbe610da11f10485faa7c416b9d33fd4a52d74894f8b calver-2022.6.26.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-calver/python-calver.mk b/package/python-calver/python-calver.mk new file mode 100644 index 00000000000..2fd5468ed40 --- /dev/null +++ b/package/python-calver/python-calver.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-calver +# +################################################################################ + +PYTHON_CALVER_VERSION = 2022.6.26 +PYTHON_CALVER_SOURCE = calver-$(PYTHON_CALVER_VERSION).tar.gz +PYTHON_CALVER_SITE = https://files.pythonhosted.org/packages/b5/00/96cbed7c019c49ee04b8a08357a981983db7698ae6de402e57097cefc9ad +PYTHON_CALVER_SETUP_TYPE = setuptools +PYTHON_CALVER_LICENSE = Apache-2.0 +PYTHON_CALVER_LICENSE_FILES = LICENSE + +$(eval $(host-python-package)) diff --git a/package/python-can/Config.in b/package/python-can/Config.in index 5d21e29d88f..a00c9263cff 100644 --- a/package/python-can/Config.in +++ b/package/python-can/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_CAN bool "python-can" select BR2_PACKAGE_PYTHON3_SQLITE # runtime - select BR2_PACKAGE_PYTHON_AENUM # runtime select BR2_PACKAGE_PYTHON_MSGPACK # runtime select BR2_PACKAGE_PYTHON_PACKAGING # runtime select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime diff --git a/package/python-can/python-can.hash b/package/python-can/python-can.hash index 73be2302016..4e706519bec 100644 --- a/package/python-can/python-can.hash +++ b/package/python-can/python-can.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-can/json -md5 d8365b7a09e49f47dac0da75d8518808 python-can-4.1.0.tar.gz -sha256 3f2b6b0dc5f459591d171ee0c0136dce79acedc2740ce695024aa3444e911bb9 python-can-4.1.0.tar.gz +md5 a84ace55fdeca8efd50986deacfba584 python-can-4.3.1.tar.gz +sha256 008bea1c12e31586e1aa76971126b831bf01056a900e91862a11360e011ab933 python-can-4.3.1.tar.gz # Locally computed sha256 checksums sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt diff --git a/package/python-can/python-can.mk b/package/python-can/python-can.mk index ba98337d5d3..c7100e3ddae 100644 --- a/package/python-can/python-can.mk +++ b/package/python-can/python-can.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_CAN_VERSION = 4.1.0 -PYTHON_CAN_SITE = https://files.pythonhosted.org/packages/90/55/898e69e37d5d4692bf21ba8750e095493d2ecbb29be7394d5cb735f0ab0f +PYTHON_CAN_VERSION = 4.3.1 +PYTHON_CAN_SITE = https://files.pythonhosted.org/packages/02/fc/d5fd33ee93f17a4eb0dcd75aebf522396e3f511bf474058e99e86ae4e33f PYTHON_CAN_SETUP_TYPE = setuptools PYTHON_CAN_LICENSE = LGPL-3.0 PYTHON_CAN_LICENSE_FILES = LICENSE.txt diff --git a/package/python-canopen/python-canopen.hash b/package/python-canopen/python-canopen.hash index 610dca3f343..fc3668bc6cb 100644 --- a/package/python-canopen/python-canopen.hash +++ b/package/python-canopen/python-canopen.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/canopen/json -md5 0719b73bd8ccaeaa9fb758c5338fd030 canopen-2.0.0.tar.gz -sha256 bcc8aa9ea83f7ada5da0dade81038977be52a93802c2657649729eb1f82065d9 canopen-2.0.0.tar.gz +md5 2a757a6996f896d2e6afbf2bcf598df2 canopen-2.2.0.tar.gz +sha256 5f18651b9df6e4769b9882e969f934ae773ef24a45aabc3334b586982048d08c canopen-2.2.0.tar.gz # Locally computed sha256 checksums sha256 0740d30978affcd91c0fc817b7cf942a332381bf0380fe17e60c6a0b377c6e0d LICENSE.txt diff --git a/package/python-canopen/python-canopen.mk b/package/python-canopen/python-canopen.mk index bd0a3bfba74..963c4ab801e 100644 --- a/package/python-canopen/python-canopen.mk +++ b/package/python-canopen/python-canopen.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CANOPEN_VERSION = 2.0.0 +PYTHON_CANOPEN_VERSION = 2.2.0 PYTHON_CANOPEN_SOURCE = canopen-$(PYTHON_CANOPEN_VERSION).tar.gz -PYTHON_CANOPEN_SITE = https://files.pythonhosted.org/packages/9e/d6/6ced4b410b904aeee5f7d0227187eae95a5ad769f01014a74fc0e016845e +PYTHON_CANOPEN_SITE = https://files.pythonhosted.org/packages/49/55/67e555f6f4ea51d6d966e998a77881c1bd726c6e8cc602fd04852772ce87 PYTHON_CANOPEN_SETUP_TYPE = setuptools PYTHON_CANOPEN_LICENSE = MIT PYTHON_CANOPEN_LICENSE_FILES = LICENSE.txt diff --git a/package/python-cbor2/python-cbor2.hash b/package/python-cbor2/python-cbor2.hash index 70c35ca8645..42ed828d535 100644 --- a/package/python-cbor2/python-cbor2.hash +++ b/package/python-cbor2/python-cbor2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cbor2/json -md5 74512376482be8a6af10596a63b6d254 cbor2-5.4.6.tar.gz -sha256 b893500db0fe033e570c3adc956af6eefc57e280026bd2d86fd53da9f1e594d7 cbor2-5.4.6.tar.gz +md5 b44037904de5b0f833020bfe01f741ca cbor2-5.5.1.tar.gz +sha256 f9e192f461a9f8f6082df28c035b006d153904213dc8640bed8a72d72bbc9475 cbor2-5.5.1.tar.gz # Locally computed sha256 checksums sha256 a6afd126d8f545a15166a22f25fadff4b9fb4978bbdd17e97d97d950b66d2fef LICENSE.txt diff --git a/package/python-cbor2/python-cbor2.mk b/package/python-cbor2/python-cbor2.mk index a2fcd73b74d..e0e9bfd9207 100644 --- a/package/python-cbor2/python-cbor2.mk +++ b/package/python-cbor2/python-cbor2.mk @@ -4,13 +4,16 @@ # ################################################################################ -PYTHON_CBOR2_VERSION = 5.4.6 +PYTHON_CBOR2_VERSION = 5.5.1 PYTHON_CBOR2_SOURCE = cbor2-$(PYTHON_CBOR2_VERSION).tar.gz -PYTHON_CBOR2_SITE = https://files.pythonhosted.org/packages/d9/69/de486293f5211d2e8fe1a19854e69f2811a18448162c52b48c67f8fbcac3 +PYTHON_CBOR2_SITE = https://files.pythonhosted.org/packages/d6/37/a0a75c2cae532ecb155d05edc1fbbe54fa3957e86f875a38542f87e1379c PYTHON_CBOR2_SETUP_TYPE = setuptools PYTHON_CBOR2_LICENSE = MIT PYTHON_CBOR2_LICENSE_FILES = LICENSE.txt PYTHON_CBOR2_DEPENDENCIES = host-python-setuptools-scm PYTHON_CBOR2_ENV = CBOR2_BUILD_C_EXTENSION=1 +HOST_PYTHON_CBOR2_SETUP_TYPE = pep517 +HOST_PYTHON_CBOR2_DEPENDENCIES += host-python-setuptools-scm $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-certifi/python-certifi.hash b/package/python-certifi/python-certifi.hash index d3cf24ecfad..48e25119e5e 100644 --- a/package/python-certifi/python-certifi.hash +++ b/package/python-certifi/python-certifi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/certifi/json -md5 d00966473b8ac42c2c033b75f4bed6f4 certifi-2022.12.7.tar.gz -sha256 35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3 certifi-2022.12.7.tar.gz +md5 5a41f94d681748e76675f3cb4a7d517e certifi-2023.11.17.tar.gz +sha256 9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1 certifi-2023.11.17.tar.gz # Locally computed sha256 checksums -sha256 a02f6c638f9fb84d06f7764c3ab085d8af7eda5b93c166da54312479077c6fb0 LICENSE +sha256 e93716da6b9c0d5a4a1df60fe695b370f0695603d21f6f83f053e42cfc10caf7 LICENSE diff --git a/package/python-certifi/python-certifi.mk b/package/python-certifi/python-certifi.mk index 70f9e69d2ca..90aabaa1ace 100644 --- a/package/python-certifi/python-certifi.mk +++ b/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2022.12.7 +PYTHON_CERTIFI_VERSION = 2023.11.17 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/37/f7/2b1b0ec44fdc30a3d31dfebe52226be9ddc40cd6c0f34ffc8923ba423b69 +PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/d4/91/c89518dd4fe1f3a4e3f6ab7ff23cb00ef2e8c9adf99dacc618ad5e068e28 PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE diff --git a/package/python-cffi/python-cffi.hash b/package/python-cffi/python-cffi.hash index ae7f9a477f8..0573d6ec066 100644 --- a/package/python-cffi/python-cffi.hash +++ b/package/python-cffi/python-cffi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cffi/json -md5 f493860a6e98cd0c4178149568a6b4f6 cffi-1.15.1.tar.gz -sha256 d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9 cffi-1.15.1.tar.gz +md5 0bcaed453da3004d0bea103038345c1e cffi-1.16.0.tar.gz +sha256 bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0 cffi-1.16.0.tar.gz # Locally computed sha256 checksums sha256 04b80f5b077bbed68808cfebadeb5e3523f2a8c9a96495c587bd96df1eac2a33 LICENSE diff --git a/package/python-cffi/python-cffi.mk b/package/python-cffi/python-cffi.mk index c1fcfda5fe6..1f83db079b0 100644 --- a/package/python-cffi/python-cffi.mk +++ b/package/python-cffi/python-cffi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CFFI_VERSION = 1.15.1 +PYTHON_CFFI_VERSION = 1.16.0 PYTHON_CFFI_SOURCE = cffi-$(PYTHON_CFFI_VERSION).tar.gz -PYTHON_CFFI_SITE = https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a +PYTHON_CFFI_SITE = https://files.pythonhosted.org/packages/68/ce/95b0bae7968c65473e1298efb042e10cafc7bafc14d9e4f154008241c91d PYTHON_CFFI_SETUP_TYPE = setuptools PYTHON_CFFI_DEPENDENCIES = host-pkgconf libffi PYTHON_CFFI_LICENSE = MIT diff --git a/package/python-channels-redis/Config.in b/package/python-channels-redis/Config.in index d25f8ffe31a..785b05cac05 100644 --- a/package/python-channels-redis/Config.in +++ b/package/python-channels-redis/Config.in @@ -2,10 +2,10 @@ config BR2_PACKAGE_PYTHON_CHANNELS_REDIS bool "python-channels-redis" # python-channels -> python-daphne -> python-autobahn -> python-cryptography depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS - select BR2_PACKAGE_PYTHON_AIOREDIS # runtime select BR2_PACKAGE_PYTHON_ASGIREF # runtime select BR2_PACKAGE_PYTHON_CHANNELS # runtime select BR2_PACKAGE_PYTHON_MSGPACK # runtime + select BR2_PACKAGE_PYTHON_REDIS # runtime help A Django Channels channel layer that uses Redis as its backing store, and supports both a single-server and diff --git a/package/python-channels-redis/python-channels-redis.hash b/package/python-channels-redis/python-channels-redis.hash index eaab5814a66..943712b3fd3 100644 --- a/package/python-channels-redis/python-channels-redis.hash +++ b/package/python-channels-redis/python-channels-redis.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/channels-redis/json -md5 82898cb3b50bb19e8484b80b4d940910 channels_redis-4.0.0.tar.gz -sha256 122414f29f525f7b9e0c9d59cdcfc4dc1b0eecba16fbb6a1c23f1d9b58f49dcb channels_redis-4.0.0.tar.gz +md5 a184dded3478e618735a42174c334565 channels_redis-4.1.0.tar.gz +sha256 6bd4f75f4ab4a7db17cee495593ace886d7e914c66f8214a1f247ff6659c073a channels_redis-4.1.0.tar.gz # Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-channels-redis/python-channels-redis.mk b/package/python-channels-redis/python-channels-redis.mk index 727f403aafd..9186f07f170 100644 --- a/package/python-channels-redis/python-channels-redis.mk +++ b/package/python-channels-redis/python-channels-redis.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CHANNELS_REDIS_VERSION = 4.0.0 +PYTHON_CHANNELS_REDIS_VERSION = 4.1.0 PYTHON_CHANNELS_REDIS_SOURCE = channels_redis-$(PYTHON_CHANNELS_REDIS_VERSION).tar.gz -PYTHON_CHANNELS_REDIS_SITE = https://files.pythonhosted.org/packages/8a/8d/bf96c62e3ca6c5ae59eb3482804afbe026c1c98b05b3ab65a0d46663644a +PYTHON_CHANNELS_REDIS_SITE = https://files.pythonhosted.org/packages/5b/3b/941efa8e337c3537475926fbf86e8cfe38a919e0f60bb9538b1cff364b8d PYTHON_CHANNELS_REDIS_SETUP_TYPE = setuptools PYTHON_CHANNELS_REDIS_LICENSE = BSD-3-Clause PYTHON_CHANNELS_REDIS_LICENSE_FILES = LICENSE diff --git a/package/python-chardet/python-chardet.hash b/package/python-chardet/python-chardet.hash index 7887dd769d6..bf0ed47df68 100644 --- a/package/python-chardet/python-chardet.hash +++ b/package/python-chardet/python-chardet.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/chardet/json -md5 394bd03d7a258d2771040bfbd5a7bf66 chardet-5.1.0.tar.gz -sha256 0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5 chardet-5.1.0.tar.gz +md5 cc2d8cc9a751641463b4f7cfecad2ffa chardet-5.2.0.tar.gz +sha256 1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 chardet-5.2.0.tar.gz # Locally computed sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE diff --git a/package/python-chardet/python-chardet.mk b/package/python-chardet/python-chardet.mk index 42646aa5132..16e5f303b62 100644 --- a/package/python-chardet/python-chardet.mk +++ b/package/python-chardet/python-chardet.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CHARDET_VERSION = 5.1.0 +PYTHON_CHARDET_VERSION = 5.2.0 PYTHON_CHARDET_SOURCE = chardet-$(PYTHON_CHARDET_VERSION).tar.gz -PYTHON_CHARDET_SITE = https://files.pythonhosted.org/packages/41/32/cdc91dcf83849c7385bf8e2a5693d87376536ed000807fa07f5eab33430d +PYTHON_CHARDET_SITE = https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079 PYTHON_CHARDET_SETUP_TYPE = setuptools PYTHON_CHARDET_LICENSE = LGPL-2.1+ PYTHON_CHARDET_LICENSE_FILES = LICENSE diff --git a/package/python-charset-normalizer/python-charset-normalizer.hash b/package/python-charset-normalizer/python-charset-normalizer.hash index a70499917a4..8ef0e3fed04 100644 --- a/package/python-charset-normalizer/python-charset-normalizer.hash +++ b/package/python-charset-normalizer/python-charset-normalizer.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/charset-normalizer/json -md5 12ee1c8bedbfba84e99db46d5d94f411 charset-normalizer-3.0.1.tar.gz -sha256 ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f charset-normalizer-3.0.1.tar.gz +md5 0a4019908d9e50ff13138e8a794d9e2b charset-normalizer-3.3.2.tar.gz +sha256 f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 charset-normalizer-3.3.2.tar.gz # Locally computed sha256 checksums sha256 eb31a0c5a4fb09b8a4e32055d25c1e5f9c358a2752fef3cd720213d1ccfee241 LICENSE diff --git a/package/python-charset-normalizer/python-charset-normalizer.mk b/package/python-charset-normalizer/python-charset-normalizer.mk index 95c55ffd3c9..914b96eb69a 100644 --- a/package/python-charset-normalizer/python-charset-normalizer.mk +++ b/package/python-charset-normalizer/python-charset-normalizer.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CHARSET_NORMALIZER_VERSION = 3.0.1 +PYTHON_CHARSET_NORMALIZER_VERSION = 3.3.2 PYTHON_CHARSET_NORMALIZER_SOURCE = charset-normalizer-$(PYTHON_CHARSET_NORMALIZER_VERSION).tar.gz -PYTHON_CHARSET_NORMALIZER_SITE = https://files.pythonhosted.org/packages/96/d7/1675d9089a1f4677df5eb29c3f8b064aa1e70c1251a0a8a127803158942d +PYTHON_CHARSET_NORMALIZER_SITE = https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8 PYTHON_CHARSET_NORMALIZER_SETUP_TYPE = setuptools PYTHON_CHARSET_NORMALIZER_LICENSE = MIT PYTHON_CHARSET_NORMALIZER_LICENSE_FILES = LICENSE diff --git a/package/python-cheroot/0001-Use-setuptools-scm-v7-for-building-the-dists.patch b/package/python-cheroot/0001-Use-setuptools-scm-v7-for-building-the-dists.patch new file mode 100644 index 00000000000..837f2804d2c --- /dev/null +++ b/package/python-cheroot/0001-Use-setuptools-scm-v7-for-building-the-dists.patch @@ -0,0 +1,101 @@ +From f0c51af263e20f332c6f675aa90ec6705ae4f5d1 Mon Sep 17 00:00:00 2001 +From: Serhii Abarovskyi +Date: Tue, 9 May 2023 18:33:54 +0300 +Subject: [PATCH] Use setuptools-scm v7+ for building the dists + +Since version 7, setuptools-scm has native support for git archive, +so the setuptools-scm-git-archive project is obsolete +and this patch removes it from the build dependencies. +Close #515 + +Upstream: https://github.com/cherrypy/cheroot/commit/f0c51af263e20f332c6f675aa90ec6705ae4f5d1 +Signed-off-by: Fabrice Fontaine +--- + .git_archival.txt | 3 +++ + pyproject.toml | 3 +-- + requirements/dist-build-constraints.in | 3 +-- + requirements/dist-build-constraints.txt | 16 +++++++--------- + setup.cfg | 3 +-- + 5 files changed, 13 insertions(+), 15 deletions(-) + +diff --git a/.git_archival.txt b/.git_archival.txt +index 95cb3eea4e..3994ec0a83 100644 +--- a/.git_archival.txt ++++ b/.git_archival.txt +@@ -1 +1,4 @@ ++node: $Format:%H$ ++node-date: $Format:%cI$ ++describe-name: $Format:%(describe:tags=true)$ + ref-names: $Format:%D$ +diff --git a/pyproject.toml b/pyproject.toml +index b1e5f60a80..88df57dcc1 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -6,8 +6,7 @@ requires = [ + "setuptools>=34.4", + + # Plugins +- "setuptools_scm[toml]>=3.5", +- "setuptools_scm_git_archive>=1.1", ++ "setuptools-scm >= 7.0.0", + ] + build-backend = "setuptools.build_meta" + +diff --git a/requirements/dist-build-constraints.in b/requirements/dist-build-constraints.in +index 26b57228a9..a37baef1a9 100644 +--- a/requirements/dist-build-constraints.in ++++ b/requirements/dist-build-constraints.in +@@ -5,8 +5,7 @@ + setuptools >= 34.4 + + # Plugins +-setuptools_scm[toml] >= 3.5 +-setuptools_scm_git_archive >= 1.1 ++setuptools-scm[toml] >= 7.0.0 + + # Dynamic (coming from setuptools' PEP 517 build backend) + wheel +diff --git a/requirements/dist-build-constraints.txt b/requirements/dist-build-constraints.txt +index 525f2be30f..8bd4343ff6 100644 +--- a/requirements/dist-build-constraints.txt ++++ b/requirements/dist-build-constraints.txt +@@ -1,18 +1,16 @@ + # +-# This file is autogenerated by pip-compile with python 3.10 +-# To update, run: ++# This file is autogenerated by pip-compile with Python 3.10 ++# by the following command: + # + # pip-compile --allow-unsafe --output-file=requirements/dist-build-constraints.txt --strip-extras requirements/dist-build-constraints.in + # +-packaging==21.3 ++packaging==23.1 + # via setuptools-scm +-pyparsing==3.0.6 +- # via packaging +-setuptools-scm==6.3.2 ++setuptools-scm==7.1.0 + # via -r requirements/dist-build-constraints.in +-setuptools-scm-git-archive==1.1 +- # via -r requirements/dist-build-constraints.in +-tomli==2.0.0 ++tomli==2.0.1 ++ # via setuptools-scm ++typing-extensions==4.6.3 + # via setuptools-scm + wheel==0.37.1 + # via -r requirements/dist-build-constraints.in +diff --git a/setup.cfg b/setup.cfg +index 1f2b08f4c3..900c7b4feb 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -64,8 +64,7 @@ include_package_data = True + packages = find: + include_package_data = True + setup_requires = +- setuptools_scm>=1.15.0 +- setuptools_scm_git_archive>=1.0 ++ setuptools_scm >= 7.0.0 + install_requires = + importlib_metadata; python_version < '3.8' + more_itertools >= 2.6 diff --git a/package/python-cheroot/Config.in b/package/python-cheroot/Config.in index bb9b4abbc3f..4c907ff8c6a 100644 --- a/package/python-cheroot/Config.in +++ b/package/python-cheroot/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_CHEROOT bool "python-cheroot" - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_MORE_ITERTOOLS # runtime select BR2_PACKAGE_PYTHON_JARACO_FUNCTOOLS # runtime help diff --git a/package/python-cheroot/python-cheroot.hash b/package/python-cheroot/python-cheroot.hash index c3556109cd1..d103eb6f963 100644 --- a/package/python-cheroot/python-cheroot.hash +++ b/package/python-cheroot/python-cheroot.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cheroot/json -md5 1617fdbaba7d6edbe5b0ff48f7563111 cheroot-9.0.0.tar.gz -sha256 3d47ad9ee19ecbec144b4758399036692fdbf67a40b96eef1fb1454367b3d338 cheroot-9.0.0.tar.gz +md5 be96fa052c54892240f916fbb06cc571 cheroot-10.0.0.tar.gz +sha256 59c4a1877fef9969b3c3c080caaaf377e2780919437853fc0d32a9df40b311f0 cheroot-10.0.0.tar.gz # Locally computed sha256 checksums sha256 e20feeb491a7e98084f15719349e9857aad41c4503c5e479f8815b063dbf7564 LICENSE.md diff --git a/package/python-cheroot/python-cheroot.mk b/package/python-cheroot/python-cheroot.mk index f75065c7da6..19aa7ae1938 100644 --- a/package/python-cheroot/python-cheroot.mk +++ b/package/python-cheroot/python-cheroot.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_CHEROOT_VERSION = 9.0.0 +PYTHON_CHEROOT_VERSION = 10.0.0 PYTHON_CHEROOT_SOURCE = cheroot-$(PYTHON_CHEROOT_VERSION).tar.gz -PYTHON_CHEROOT_SITE = https://files.pythonhosted.org/packages/8c/e7/8e6387d59a352c5799e917a23e7b76771a8bb97322c1ce7e42934d0066c3 +PYTHON_CHEROOT_SITE = https://files.pythonhosted.org/packages/08/7c/95c154177b16077de0fec1b821b0d8b3df2b59c5c7b3575a9c1bf52a437e PYTHON_CHEROOT_LICENSE = BSD-3-Clause PYTHON_CHEROOT_LICENSE_FILES = LICENSE.md PYTHON_CHEROOT_SETUP_TYPE = setuptools -PYTHON_CHEROOT_DEPENDENCIES = host-python-setuptools-scm host-python-setuptools-scm-git-archive +PYTHON_CHEROOT_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-click/python-click.hash b/package/python-click/python-click.hash index 81d19c419ea..0fc04d638ac 100644 --- a/package/python-click/python-click.hash +++ b/package/python-click/python-click.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/click/json -md5 a804b085de7a3ff96968e38e0f6f2e05 click-8.1.3.tar.gz -sha256 7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e click-8.1.3.tar.gz +md5 7c3b52c56fd30699f453a7dc7b42cecb click-8.1.7.tar.gz +sha256 ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de click-8.1.7.tar.gz # Locally computed sha256 checksums sha256 9a8ad106a394e853bfe21f42f4e72d592819a22805d991b5f3275029292b658d LICENSE.rst diff --git a/package/python-click/python-click.mk b/package/python-click/python-click.mk index 6444d0148e2..3223ab39ced 100644 --- a/package/python-click/python-click.mk +++ b/package/python-click/python-click.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_CLICK_VERSION = 8.1.3 +PYTHON_CLICK_VERSION = 8.1.7 PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz -PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/59/87/84326af34517fca8c58418d148f2403df25303e02736832403587318e9e8 +PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5 PYTHON_CLICK_LICENSE = BSD-3-Clause PYTHON_CLICK_LICENSE_FILES = LICENSE.rst PYTHON_CLICK_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-colorlog/python-colorlog.hash b/package/python-colorlog/python-colorlog.hash index f4d0dd4c0ec..9df94b19ba1 100644 --- a/package/python-colorlog/python-colorlog.hash +++ b/package/python-colorlog/python-colorlog.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/colorlog/json -md5 80b79f7824d39d4f3b11c75d1cba094e colorlog-6.7.0.tar.gz -sha256 bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5 colorlog-6.7.0.tar.gz +md5 805e982037ba071d3d42c3d53cf73fd8 colorlog-6.8.0.tar.gz +sha256 fbb6fdf9d5685f2517f388fb29bb27d54e8654dd31f58bc2a3b217e967a95ca6 colorlog-6.8.0.tar.gz # Locally computed sha256 checksums sha256 b1d9082bc483623fd59fc7279b457f0e40d942a76426cde257239e04dfe4125a LICENSE diff --git a/package/python-colorlog/python-colorlog.mk b/package/python-colorlog/python-colorlog.mk index 12a1c8ec77c..f96318ce5aa 100644 --- a/package/python-colorlog/python-colorlog.mk +++ b/package/python-colorlog/python-colorlog.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_COLORLOG_VERSION = 6.7.0 +PYTHON_COLORLOG_VERSION = 6.8.0 PYTHON_COLORLOG_SOURCE = colorlog-$(PYTHON_COLORLOG_VERSION).tar.gz -PYTHON_COLORLOG_SITE = https://files.pythonhosted.org/packages/78/6b/4e5481ddcdb9c255b2715f54c863629f1543e97bc8c309d1c5c131ad14f2 +PYTHON_COLORLOG_SITE = https://files.pythonhosted.org/packages/1f/b0/e4e3850d43f5429f9e53404056d705117fbb8a4d9e755425e762a9f68317 PYTHON_COLORLOG_SETUP_TYPE = setuptools PYTHON_COLORLOG_LICENSE = MIT PYTHON_COLORLOG_LICENSE_FILES = LICENSE diff --git a/package/python-configshell-fb/python-configshell-fb.hash b/package/python-configshell-fb/python-configshell-fb.hash index 8fc38f61a6b..e090501056a 100644 --- a/package/python-configshell-fb/python-configshell-fb.hash +++ b/package/python-configshell-fb/python-configshell-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 24b47284b463dcfb9ee0c1558827e13442127e62fa279b6e0253f136cf49058c python-configshell-fb-1.1.29.tar.gz +sha256 44696b92bea2b44c1d0bf2828477dddeb3b4dfb312ad82ce06d7b704c0985e27 python-configshell-fb-1.1.30.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/python-configshell-fb/python-configshell-fb.mk b/package/python-configshell-fb/python-configshell-fb.mk index d0dd421e8da..3446a86e8db 100644 --- a/package/python-configshell-fb/python-configshell-fb.mk +++ b/package/python-configshell-fb/python-configshell-fb.mk @@ -6,7 +6,7 @@ # When upgrading the version, be sure to also upgrade python-rtslib-fb # and targetcli-fb at the same time. -PYTHON_CONFIGSHELL_FB_VERSION = 1.1.29 +PYTHON_CONFIGSHELL_FB_VERSION = 1.1.30 PYTHON_CONFIGSHELL_FB_SITE = $(call github,open-iscsi,configshell-fb,v$(PYTHON_CONFIGSHELL_FB_VERSION)) PYTHON_CONFIGSHELL_FB_LICENSE = Apache-2.0 PYTHON_CONFIGSHELL_FB_LICENSE_FILES = COPYING diff --git a/package/python-constantly/python-constantly.hash b/package/python-constantly/python-constantly.hash index 8e646d82ba1..7a246e882a4 100644 --- a/package/python-constantly/python-constantly.hash +++ b/package/python-constantly/python-constantly.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/constantly/json -md5 f0762f083d83039758e53f8cf0086eef constantly-15.1.0.tar.gz +md5 c090579309b2b34be04385b54b0a5a85 constantly-23.10.4.tar.gz # Locally computed -sha256 586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35 constantly-15.1.0.tar.gz +sha256 aa92b70a33e2ac0bb33cd745eb61776594dc48764b06c35e0efd050b7f1c7cbd constantly-23.10.4.tar.gz sha256 020870fcaf4bf9c50b233e331817094fe109b91c0880570fd476f527cfbfc085 LICENSE diff --git a/package/python-constantly/python-constantly.mk b/package/python-constantly/python-constantly.mk index 783d198d063..466c9bf4552 100644 --- a/package/python-constantly/python-constantly.mk +++ b/package/python-constantly/python-constantly.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_CONSTANTLY_VERSION = 15.1.0 +PYTHON_CONSTANTLY_VERSION = 23.10.4 PYTHON_CONSTANTLY_SOURCE = constantly-$(PYTHON_CONSTANTLY_VERSION).tar.gz -PYTHON_CONSTANTLY_SITE = https://pypi.python.org/packages/95/f1/207a0a478c4bb34b1b49d5915e2db574cadc415c9ac3a7ef17e29b2e8951 +PYTHON_CONSTANTLY_SITE = https://files.pythonhosted.org/packages/4d/6f/cb2a94494ff74aa9528a36c5b1422756330a75a8367bf20bd63171fc324d PYTHON_CONSTANTLY_SETUP_TYPE = setuptools PYTHON_CONSTANTLY_LICENSE = MIT PYTHON_CONSTANTLY_LICENSE_FILES = LICENSE +PYTHON_CONSTANTLY_DEPENDENCIES = host-python-versioneer $(eval $(python-package)) diff --git a/package/python-construct/python-construct.hash b/package/python-construct/python-construct.hash index f406d6739ba..395de7a18b7 100644 --- a/package/python-construct/python-construct.hash +++ b/package/python-construct/python-construct.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/project/construct -md5 e426d3dd1566066e4ef1a03fe474dec0 construct-2.10.68.tar.gz -sha256 7b2a3fd8e5f597a5aa1d614c3bd516fa065db01704c72a1efaaeec6ef23d8b45 construct-2.10.68.tar.gz +# md5, sha256 from https://pypi.org/pypi/construct/json +md5 e880b97796c16ae362600b7e32339a7e construct-2.10.70.tar.gz +sha256 4d2472f9684731e58cc9c56c463be63baa1447d674e0d66aeb5627b22f512c29 construct-2.10.70.tar.gz # Locally computed sha256 checksums sha256 1552d70acfd0d3fe464ce13d30113ddc6fe4bac21e52212acc98509e3cc1a8f4 LICENSE diff --git a/package/python-construct/python-construct.mk b/package/python-construct/python-construct.mk index 3b0bb56106d..46cae959eac 100644 --- a/package/python-construct/python-construct.mk +++ b/package/python-construct/python-construct.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CONSTRUCT_VERSION = 2.10.68 +PYTHON_CONSTRUCT_VERSION = 2.10.70 PYTHON_CONSTRUCT_SOURCE = construct-$(PYTHON_CONSTRUCT_VERSION).tar.gz -PYTHON_CONSTRUCT_SITE = https://files.pythonhosted.org/packages/e0/b7/a4a032e94bcfdff481f2e6fecd472794d9da09f474a2185ed33b2c7cad64 +PYTHON_CONSTRUCT_SITE = https://files.pythonhosted.org/packages/02/77/8c84b98eca70d245a2a956452f21d57930d22ab88cbeed9290ca630cf03f PYTHON_CONSTRUCT_SETUP_TYPE = setuptools PYTHON_CONSTRUCT_LICENSE = MIT PYTHON_CONSTRUCT_LICENSE_FILES = LICENSE diff --git a/package/python-contourpy/Config.in b/package/python-contourpy/Config.in new file mode 100644 index 00000000000..313d270ddad --- /dev/null +++ b/package/python-contourpy/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_CONTOURPY + bool "python-contourpy" + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_PYTHON_PYBIND + help + Python library for calculating contours of 2D quadrilateral + grids. + + https://github.com/contourpy/contourpy + +comment "python-contourpy needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-contourpy/python-contourpy.hash b/package/python-contourpy/python-contourpy.hash new file mode 100644 index 00000000000..8f23d107aea --- /dev/null +++ b/package/python-contourpy/python-contourpy.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/contourpy/json +md5 cae5b781ade023c01bc1a8a53312f2ac contourpy-1.1.0.tar.gz +sha256 e53046c3863828d21d531cc3b53786e6580eb1ba02477e8681009b6aa0870b21 contourpy-1.1.0.tar.gz +# Locally computed sha256 checksums +sha256 c2522156ba7d4dfbbec266dfea98bf76a69bc41edb18cad323177fad6b19b35f LICENSE diff --git a/package/python-contourpy/python-contourpy.mk b/package/python-contourpy/python-contourpy.mk new file mode 100644 index 00000000000..f305793cb28 --- /dev/null +++ b/package/python-contourpy/python-contourpy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-contourpy +# +################################################################################ + +PYTHON_CONTOURPY_VERSION = 1.1.0 +PYTHON_CONTOURPY_SOURCE = contourpy-$(PYTHON_CONTOURPY_VERSION).tar.gz +PYTHON_CONTOURPY_SITE = https://files.pythonhosted.org/packages/a7/3b/632c003e1dfbc82d32c0466762f2d2cf139d26032626dc65944e38d0e5b9 +PYTHON_CONTOURPY_LICENSE = BSD-3-Clause +PYTHON_CONTOURPY_LICENSE_FILES = LICENSE +PYTHON_CONTOURPY_DEPENDENCIES = python-pybind host-python-meson-python + +$(eval $(meson-package)) diff --git a/package/python-crc16/python-crc16.mk b/package/python-crc16/python-crc16.mk index 9809f1ed84a..86e6f2ecf24 100644 --- a/package/python-crc16/python-crc16.mk +++ b/package/python-crc16/python-crc16.mk @@ -8,6 +8,6 @@ PYTHON_CRC16_VERSION = 0.1.1 PYTHON_CRC16_SITE = $(call github,gennady,pycrc16,v$(PYTHON_CRC16_VERSION)) PYTHON_CRC16_LICENSE = LGPL-3.0+ PYTHON_CRC16_LICENSE_FILES = COPYING.txt -PYTHON_CRC16_SETUP_TYPE = distutils +PYTHON_CRC16_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-crcmod/python-crcmod.mk b/package/python-crcmod/python-crcmod.mk index 1aab7f50842..c97f8808c19 100644 --- a/package/python-crcmod/python-crcmod.mk +++ b/package/python-crcmod/python-crcmod.mk @@ -7,7 +7,7 @@ PYTHON_CRCMOD_VERSION = 1.7 PYTHON_CRCMOD_SOURCE = crcmod-$(PYTHON_CRCMOD_VERSION).tar.gz PYTHON_CRCMOD_SITE = https://pypi.python.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b -PYTHON_CRCMOD_SETUP_TYPE = distutils +PYTHON_CRCMOD_SETUP_TYPE = setuptools PYTHON_CRCMOD_LICENSE = MIT PYTHON_CRCMOD_LICENSE_FILES = LICENSE diff --git a/package/python-crontab/python-crontab.hash b/package/python-crontab/python-crontab.hash index b3aa96fc1bc..10ba469d5a8 100644 --- a/package/python-crontab/python-crontab.hash +++ b/package/python-crontab/python-crontab.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-crontab/json -md5 2982bdce2d9b7789f32da649a9507c4b python-crontab-2.6.0.tar.gz -sha256 1e35ed7a3cdc3100545b43e196d34754e6551e7f95e4caebbe0e1c0ca41c2f1b python-crontab-2.6.0.tar.gz +md5 1675bdeeb821441b8b4c35e0a7ba861c python-crontab-3.0.0.tar.gz +sha256 79fb7465039ddfd4fb93d072d6ee0d45c1ac8bf1597f0686ea14fd4361dba379 python-crontab-3.0.0.tar.gz # Locally computed sha256 checksums sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/python-crontab/python-crontab.mk b/package/python-crontab/python-crontab.mk index 9b29e11ccd8..21a9edef9b8 100644 --- a/package/python-crontab/python-crontab.mk +++ b/package/python-crontab/python-crontab.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_CRONTAB_VERSION = 2.6.0 -PYTHON_CRONTAB_SITE = https://files.pythonhosted.org/packages/06/b0/c270a1b5c83d9e0f83ab654d3153c39d80f61ba49fefde50fd23ab351381 +PYTHON_CRONTAB_VERSION = 3.0.0 +PYTHON_CRONTAB_SITE = https://files.pythonhosted.org/packages/fb/6f/14adf2570e83c90f3f5af1af5225a70f914ba9e7ab9d08e675c5f6887102 PYTHON_CRONTAB_SETUP_TYPE = setuptools PYTHON_CRONTAB_LICENSE = LGPL-3.0+ PYTHON_CRONTAB_LICENSE_FILES = COPYING diff --git a/package/python-crossbar/0001-Avoid-intentional-syntax-error.patch b/package/python-crossbar/0001-Avoid-intentional-syntax-error.patch deleted file mode 100644 index 0ff7cae21af..00000000000 --- a/package/python-crossbar/0001-Avoid-intentional-syntax-error.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 423a1b081f6b7198f6a921ca83043270ebbace1a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 1 May 2016 15:35:32 +0200 -Subject: [PATCH] Avoid intentional syntax error - -This file has an intentional syntax error, meant to validate QA, but -it breaks byte compilation of this package. - -Issue reported upstream: -https://github.com/crossbario/crossbar/issues/750. - -Signed-off-by: Thomas Petazzoni ---- - crossbar/worker/test/examples/syntaxerror.py | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/crossbar/worker/test/examples/syntaxerror.py b/crossbar/worker/test/examples/syntaxerror.py -index 7b88e088..cd7de901 100644 ---- a/crossbar/worker/test/examples/syntaxerror.py -+++ b/crossbar/worker/test/examples/syntaxerror.py -@@ -27,5 +27,3 @@ - # with this program. If not, see . - # - ##################################################################################### -- --class # noqa --- -2.20.1 - diff --git a/package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch b/package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch deleted file mode 100644 index 12027d779cf..00000000000 --- a/package/python-crossbar/0002-requirements-min.txt-drop-indirect-dependencies.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 3ae2b36e48fc0f75f0bb6c89f893ece033bccd87 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 7 Aug 2022 18:44:29 +0200 -Subject: [PATCH] requirements-min.txt: drop indirect dependencies - -For some interesting reason, the crossbar maintainers have decided to -include indirect dependencies in their requirements-min.txt, i.e -dependencies that they don't use directly, but that packages they -depend on themselves depend on. - -This makes the packaging in Buildroot confusing, as it means not all -dependencies in requirements-min.txt should be taken into -account. Also some of these indirect dependencies cause issues due to -upper bounds set on the version (which is the case for idna and -urllib3). - -This patch therefore clarifies the situation by removing such indirect -dependencies from requirements-min.txt. As the patch is obviously not -upstreamable, it will require some maintenance effort, but that effort -is anyway already there to sort out direct dependencies from indirect -dependencies when updating the Buildroot packaging for crossbar. - -Signed-off-by: Thomas Petazzoni ---- - requirements-min.txt | 12 ------------ - 1 file changed, 12 deletions(-) - -diff --git a/requirements-min.txt b/requirements-min.txt -index 5ac4e0ee..cdd82d27 100644 ---- a/requirements-min.txt -+++ b/requirements-min.txt -@@ -1,20 +1,13 @@ --attrs>=17.2.0 - autobahn[asyncio,twisted,encryption,compress,serialization,scram]>=21.3.1 - bitstring>=3.1.5 --bcrypt>=3.1.6 - cbor>=1.0.0 - click>=6.7 - colorama>=0.4.4 --constantly>=15.1.0 - cryptography>=2.6.1 --h2>=3.2.0 --idna<2.6,>=2.5 - importlib-resources>=4.1.1 --incremental>=17.5.0 - jinja2>=2.10.1 - lmdb>=0.92 - mistune>=0.7.4 --netaddr>=0.7.19 - passlib>=1.7.1 - priority>=1.3.0 - psutil>=5.2.2 -@@ -28,7 +21,6 @@ pyqrcode>=1.2.1 - pytrie>=0.3 - pyyaml>=4.2b4 - sdnotify>=0.3.1 --service_identity>=17.0.0 - setproctitle>=1.1.10 - setuptools>=36.2.7 - treq>=20.4.1 -@@ -37,10 +29,6 @@ twisted[tls,conch,http2,osx_platform]>=20.3.0; sys_platform == 'darwin' - twisted[tls,conch,http2,windows_platform]>=20.3.0; sys_platform == 'win32' - txaio>=21.2.1 - txtorcon>=20.0.0 --u-msgpack-python>=2.4.1 --# urllib3 is an indirect dependency, but we force a recent version because of https://nvd.nist.gov/vuln/detail/CVE-2019-11324 --# workaround for version conflict in requests vs sth else: --urllib3<1.25,>=1.21.1 - vmprof>=0.4.12; platform_machine=='x86_64' or platform_machine=='i386' or platform_machine=='arm' - watchdog>=0.8.3 - werkzeug>=0.14.1 --- -2.37.1 - diff --git a/package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch b/package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch deleted file mode 100644 index ab2d4709bdc..00000000000 --- a/package/python-crossbar/0003-crossbar-webservice-wap-use-markupsafe-instead-of-we.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a6866509b0387ab6d6f99f68cd82bcac922fe839 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Mon, 30 May 2022 19:38:11 +0200 -Subject: [PATCH] crossbar/webservice/wap: use markupsafe instead of werkzeug - -wap.py use escape from werkzeug but it has been removed since -the version 2.1.0 [1]. - -Replace with escape from markupsafe like upstream commit [2] -(wihout other changes). - -[1] https://github.com/pallets/werkzeug/commit/22d1e9ac13829b83347107a9b4d77072a8e1af6a -[2] https://github.com/crossbario/crossbar/commit/ca8d383f01231e2b3f986e791f215f12f2deee5d - -Signed-off-by: Romain Naour ---- - crossbar/webservice/wap.py | 7 ++++++- - requirements-min.txt | 1 + - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/crossbar/webservice/wap.py b/crossbar/webservice/wap.py -index 825558b1..6daa9b21 100644 ---- a/crossbar/webservice/wap.py -+++ b/crossbar/webservice/wap.py -@@ -36,7 +36,12 @@ from collections.abc import Mapping, Sequence - - from werkzeug.routing import Map, Rule - from werkzeug.exceptions import NotFound, MethodNotAllowed --from werkzeug.utils import escape -+ -+try: -+ # removed in werkzeug 2.1.0 -+ from werkzeug.utils import escape -+except ImportError: -+ from markupsafe import escape - - from jinja2 import Environment, FileSystemLoader - from jinja2.sandbox import SandboxedEnvironment -diff --git a/requirements-min.txt b/requirements-min.txt -index cdd82d27..50cb1489 100644 ---- a/requirements-min.txt -+++ b/requirements-min.txt -@@ -7,6 +7,7 @@ cryptography>=2.6.1 - importlib-resources>=4.1.1 - jinja2>=2.10.1 - lmdb>=0.92 -+MarkupSafe>=1.1.1 - mistune>=0.7.4 - passlib>=1.7.1 - priority>=1.3.0 --- -2.37.1 - diff --git a/package/python-crossbar/Config.in b/package/python-crossbar/Config.in deleted file mode 100644 index aadcb2c3609..00000000000 --- a/package/python-crossbar/Config.in +++ /dev/null @@ -1,71 +0,0 @@ -config BR2_PACKAGE_PYTHON_CROSSBAR - bool "python-crossbar" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography - depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy - depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy - depends on BR2_INSTALL_LIBSTDCPP # python-autobahn's compress and serialization - # All the following dependencies are runtime dependencies. It - # matches almost 1:1 the requirements-min.txt from crossbar - # with the following exceptions: - # - importlib-resources is in Python itself, so no external - # module is needed - # - vmprof, while listed as a needed dependency, isn't - # actually strictly necesary - # - wsaccel is not a direct dependency, it is there to make - # sure autobahn has the 'accelerate' feature, when the - # Python implementation is CPython, and our package does - # enable autobahn[accelerate] - select BR2_PACKAGE_PYTHON_AUTOBAHN - select BR2_PACKAGE_PYTHON_AUTOBAHN_ACCELERATE - select BR2_PACKAGE_PYTHON_AUTOBAHN_COMPRESS - select BR2_PACKAGE_PYTHON_AUTOBAHN_ENCRYPTION - select BR2_PACKAGE_PYTHON_AUTOBAHN_SCRAM - select BR2_PACKAGE_PYTHON_AUTOBAHN_SERIALIZATION - select BR2_PACKAGE_PYTHON_AUTOBAHN_TWISTED - select BR2_PACKAGE_PYTHON_BITSTRING - select BR2_PACKAGE_PYTHON_CBOR - select BR2_PACKAGE_PYTHON_CLICK - select BR2_PACKAGE_PYTHON_COLORAMA - select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY - select BR2_PACKAGE_PYTHON_JINJA2 - select BR2_PACKAGE_PYTHON_LMDB - select BR2_PACKAGE_PYTHON_MARKUPSAFE - select BR2_PACKAGE_PYTHON_MISTUNE - select BR2_PACKAGE_PYTHON_PASSLIB - select BR2_PACKAGE_PYTHON_PRIORITY - select BR2_PACKAGE_PYTHON_PSUTIL - select BR2_PACKAGE_PYTHON_PYASN1 - select BR2_PACKAGE_PYTHON_PYASN1_MODULES - select BR2_PACKAGE_PYTHON_PYGMENTS - select BR2_PACKAGE_PYTHON_PYNACL - select BR2_PACKAGE_PYTHON_PYOPENSSL - select BR2_PACKAGE_PYTHON_PYQRCODE - select BR2_PACKAGE_PYTHON_PYTRIE - select BR2_PACKAGE_PYTHON_PYYAML - select BR2_PACKAGE_PYTHON_SDNOTIFY - select BR2_PACKAGE_PYTHON_SETPROCTITLE - select BR2_PACKAGE_PYTHON_SETUPTOOLS - select BR2_PACKAGE_PYTHON_TREQ - select BR2_PACKAGE_PYTHON_TWISTED - select BR2_PACKAGE_PYTHON_TWISTED_CONCH - select BR2_PACKAGE_PYTHON_TWISTED_HTTP2 - select BR2_PACKAGE_PYTHON_TWISTED_TLS - select BR2_PACKAGE_PYTHON_TXAIO - select BR2_PACKAGE_PYTHON_TXTORCON - select BR2_PACKAGE_PYTHON_UBJSON - select BR2_PACKAGE_PYTHON_WATCHDOG - select BR2_PACKAGE_PYTHON_WERKZEUG - select BR2_PACKAGE_PYTHON_ZLMDB - select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE - help - Crossbar.io is an open-source WAMP application router that - allows to build advanced applications from loosely-coupled - components that can talk in real-time with each other. - - https://pypi.python.org/pypi/crossbar - -comment "python-crossbar needs a glibc or musl toolchain w/ C++" - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS - depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \ - !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-crossbar/python-crossbar.hash b/package/python-crossbar/python-crossbar.hash deleted file mode 100644 index 4441578a298..00000000000 --- a/package/python-crossbar/python-crossbar.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/crossbar/json -md5 df576100bcf6e423cdc1e2e96b602140 crossbar-21.3.1.tar.gz -sha256 ac71959f0c57ab08d43f7830b85c6312e000b25543a179cd751ac357944dd7ef crossbar-21.3.1.tar.gz -# Locally computed -sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 crossbar/LICENSE diff --git a/package/python-crossbar/python-crossbar.mk b/package/python-crossbar/python-crossbar.mk deleted file mode 100644 index aae61cd2e8a..00000000000 --- a/package/python-crossbar/python-crossbar.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-crossbar -# -################################################################################ - -PYTHON_CROSSBAR_VERSION = 21.3.1 -PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz -PYTHON_CROSSBAR_SITE = https://files.pythonhosted.org/packages/17/37/aafc4ec30068fd7ebb97f1a00d4ddf8de482dfa4c1d2a1fc6bb814d91400 -PYTHON_CROSSBAR_LICENSE = AGPL-3.0 -PYTHON_CROSSBAR_LICENSE_FILES = crossbar/LICENSE -PYTHON_CROSSBAR_SETUP_TYPE = setuptools - -$(eval $(python-package)) diff --git a/package/python-cryptography/python-cryptography.hash b/package/python-cryptography/python-cryptography.hash index a01c8810e3d..e0830147500 100644 --- a/package/python-cryptography/python-cryptography.hash +++ b/package/python-cryptography/python-cryptography.hash @@ -1,5 +1,5 @@ # Locally calculated after vendoring -sha256 2abbeb6d42e8844de036bf2e0d78a42feeee1d57ebf29a07684490f98bdcab37 cryptography-38.0.4.tar.gz +sha256 405c9a6271e1a088ea0b432bc2094e2e8baadb2241e192ce9c73a7cc9793b127 cryptography-39.0.2.tar.gz # Locally computed sha256 checksums sha256 43dad2cc752ab721cd9a9f36ece70fb53ab7713551f2d3d8694d8e8c5a06d6e2 LICENSE sha256 aac73b3148f6d1d7111dbca32099f68d26c644c6813ae1e4f05f6579aa2663fe LICENSE.APACHE diff --git a/package/python-cryptography/python-cryptography.mk b/package/python-cryptography/python-cryptography.mk index 4254fa35574..07c88ec3da6 100644 --- a/package/python-cryptography/python-cryptography.mk +++ b/package/python-cryptography/python-cryptography.mk @@ -4,39 +4,17 @@ # ################################################################################ -PYTHON_CRYPTOGRAPHY_VERSION = 38.0.4 +PYTHON_CRYPTOGRAPHY_VERSION = 39.0.2 PYTHON_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON_CRYPTOGRAPHY_VERSION).tar.gz -PYTHON_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/e3/3f/41186b1f2fd86a542d399175f6b8e43f82cd4dfa51235a0b030a042b811a -PYTHON_CRYPTOGRAPHY_SETUP_TYPE = setuptools +PYTHON_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/fa/f3/f4b8c175ea9a1de650b0085858059050b7953a93d66c97ed89b93b232996 +PYTHON_CRYPTOGRAPHY_SETUP_TYPE = setuptools-rust PYTHON_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause PYTHON_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD PYTHON_CRYPTOGRAPHY_CPE_ID_VENDOR = cryptography_project PYTHON_CRYPTOGRAPHY_CPE_ID_PRODUCT = cryptography -PYTHON_CRYPTOGRAPHY_DEPENDENCIES = \ - host-python-setuptools-rust \ - host-python-cffi \ - host-rustc \ - openssl -HOST_PYTHON_CRYPTOGRAPHY_DEPENDENCIES = \ - host-python-setuptools-rust \ - host-python-cffi \ - host-rustc \ - host-openssl -PYTHON_CRYPTOGRAPHY_ENV = \ - $(PKG_CARGO_ENV) \ - PYO3_CROSS_LIB_DIR="$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)" -HOST_PYTHON_CRYPTOGRAPHY_ENV = \ - $(HOST_PKG_CARGO_ENV) \ - PYO3_CROSS_LIB_DIR="$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)" -# We need to vendor the Cargo crates at download time -PYTHON_CRYPTOGRAPHY_DOWNLOAD_POST_PROCESS = cargo -PYTHON_CRYPTOGRAPHY_DOWNLOAD_DEPENDENCIES = host-rustc -PYTHON_CRYPTOGRAPHY_DL_ENV = \ - $(PKG_CARGO_ENV) \ - BR_CARGO_MANIFEST_PATH=src/rust/Cargo.toml -HOST_PYTHON_CRYPTOGRAPHY_DL_ENV = \ - $(HOST_PKG_CARGO_ENV) \ - BR_CARGO_MANIFEST_PATH=src/rust/Cargo.toml +PYTHON_CRYPTOGRAPHY_CARGO_MANIFEST_PATH = src/rust/Cargo.toml +PYTHON_CRYPTOGRAPHY_DEPENDENCIES = host-python-cffi openssl +HOST_PYTHON_CRYPTOGRAPHY_DEPENDENCIES = host-python-cffi host-openssl $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-cssutils/python-cssutils.hash b/package/python-cssutils/python-cssutils.hash index cb989131a3e..d93135a9894 100644 --- a/package/python-cssutils/python-cssutils.hash +++ b/package/python-cssutils/python-cssutils.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cssutils/json -md5 b01ea364e79eada181c3ae46d69249af cssutils-2.6.0.tar.gz -sha256 f7dcd23c1cec909fdf3630de346e1413b7b2555936dec14ba2ebb9913bf0818e cssutils-2.6.0.tar.gz +md5 11707e5da7c40bd98e5b4998489f10e0 cssutils-2.9.0.tar.gz +sha256 89477b3d17d790e97b9fb4def708767061055795aae6f7c82ae32e967c9be4cd cssutils-2.9.0.tar.gz # Locally computed sha256 checksums sha256 03c570a068086ee577dcd795519ea93462b2ed2fcb6dcc4dfce56a71a2fd6e5a COPYING.LESSER diff --git a/package/python-cssutils/python-cssutils.mk b/package/python-cssutils/python-cssutils.mk index fff9e393f32..be5be30eee2 100644 --- a/package/python-cssutils/python-cssutils.mk +++ b/package/python-cssutils/python-cssutils.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CSSUTILS_VERSION = 2.6.0 +PYTHON_CSSUTILS_VERSION = 2.9.0 PYTHON_CSSUTILS_SOURCE = cssutils-$(PYTHON_CSSUTILS_VERSION).tar.gz -PYTHON_CSSUTILS_SITE = https://files.pythonhosted.org/packages/43/d5/505d96b7456fd334f8b963c05bd9425dacd317e209bb9adf103613339325 +PYTHON_CSSUTILS_SITE = https://files.pythonhosted.org/packages/b4/65/a054545c81eb87af898d664043578b8444ea3ded656db3da8f9d9fa21334 PYTHON_CSSUTILS_LICENSE = LGPL-3.0+ PYTHON_CSSUTILS_LICENSE_FILES = COPYING.LESSER PYTHON_CSSUTILS_SETUP_TYPE = setuptools diff --git a/package/python-cycler/python-cycler.hash b/package/python-cycler/python-cycler.hash index cef416a86d4..4c33c293a5f 100644 --- a/package/python-cycler/python-cycler.hash +++ b/package/python-cycler/python-cycler.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/cycler/json -md5 4d0c25f418956e91c47163179682e0ef cycler-0.11.0.tar.gz -sha256 9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f cycler-0.11.0.tar.gz +md5 16905ad17e5724a6919f64d46c4e7143 cycler-0.12.1.tar.gz +sha256 88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c cycler-0.12.1.tar.gz # Locally computed sha256 checksums sha256 f1218143d766da3fea66f13396b7f15df46a83303f29bf96ba6e98eb4d42f408 LICENSE diff --git a/package/python-cycler/python-cycler.mk b/package/python-cycler/python-cycler.mk index 03155d72419..df7abdf9279 100644 --- a/package/python-cycler/python-cycler.mk +++ b/package/python-cycler/python-cycler.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CYCLER_VERSION = 0.11.0 +PYTHON_CYCLER_VERSION = 0.12.1 PYTHON_CYCLER_SOURCE = cycler-$(PYTHON_CYCLER_VERSION).tar.gz -PYTHON_CYCLER_SITE = https://files.pythonhosted.org/packages/34/45/a7caaacbfc2fa60bee42effc4bcc7d7c6dbe9c349500e04f65a861c15eb9 +PYTHON_CYCLER_SITE = https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8 PYTHON_CYCLER_LICENSE = BSD-3-Clause PYTHON_CYCLER_LICENSE_FILES = LICENSE PYTHON_CYCLER_SETUP_TYPE = setuptools diff --git a/package/python-cython/python-cython.hash b/package/python-cython/python-cython.hash index 3ed9fb56a14..08ad8f6d84a 100644 --- a/package/python-cython/python-cython.hash +++ b/package/python-cython/python-cython.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/cython/json -md5 91c36ea86c00adcc5c1c11cf48b733c0 Cython-0.29.32.tar.gz -sha256 8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7 Cython-0.29.32.tar.gz +md5 a4d0f9fbc9c137f1a88937cd40e8c5ee Cython-0.29.36.tar.gz +sha256 41c0cfd2d754e383c9eeb95effc9aa4ab847d0c9747077ddd7c0dcb68c3bc01f Cython-0.29.36.tar.gz # Locally computed sha256 checksums sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE.txt sha256 e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7 COPYING.txt diff --git a/package/python-cython/python-cython.mk b/package/python-cython/python-cython.mk index 9a90f6198eb..47e105c0650 100644 --- a/package/python-cython/python-cython.mk +++ b/package/python-cython/python-cython.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CYTHON_VERSION = 0.29.32 +PYTHON_CYTHON_VERSION = 0.29.36 PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz -PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/4c/76/1e41fbb365ad20b6efab2e61b0f4751518444c953b390f9b2d36cf97eea0 +PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/38/db/df0e99d6c5fe19ee5c981d22aad557be4bdeed3ecfae25d47b84b07f0f98 PYTHON_CYTHON_SETUP_TYPE = setuptools PYTHON_CYTHON_LICENSE = Apache-2.0 PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt diff --git a/package/python-daemon/python-daemon.hash b/package/python-daemon/python-daemon.hash index 005a9692076..695b8fb9b30 100644 --- a/package/python-daemon/python-daemon.hash +++ b/package/python-daemon/python-daemon.hash @@ -1,6 +1,6 @@ -# md5, sha256 https://pypi.org/pypi/python-daemon/json -md5 b7397fe73d516dc14921500a1245b41c python-daemon-2.3.2.tar.gz -sha256 3deeb808e72b6b89f98611889e11cc33754f5b2c1517ecfa1aaf25f402051fb5 python-daemon-2.3.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/python-daemon/json +md5 4c369b8c6d3de956d8f9dfb2c872c284 python-daemon-3.0.1.tar.gz +sha256 6c57452372f7eaff40934a1c03ad1826bf5e793558e87fef49131e6464b4dae5 python-daemon-3.0.1.tar.gz # Locally computed sha256 sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.ASF-2 sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL-3 diff --git a/package/python-daemon/python-daemon.mk b/package/python-daemon/python-daemon.mk index aa8019f4be4..f4d4205a313 100644 --- a/package/python-daemon/python-daemon.mk +++ b/package/python-daemon/python-daemon.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_DAEMON_VERSION = 2.3.2 -PYTHON_DAEMON_SITE = https://files.pythonhosted.org/packages/d9/3c/727b06abb46fead341a2bdad04ba4a4db5395c44c45d8ba0aa82b517e462 +PYTHON_DAEMON_VERSION = 3.0.1 +PYTHON_DAEMON_SITE = https://files.pythonhosted.org/packages/84/50/97b81327fccbb70eb99f3c95bd05a0c9d7f13fb3f4cfd975885110d1205a PYTHON_DAEMON_LICENSE = Apache-2.0 (library), GPL-3.0+ (test, build) PYTHON_DAEMON_LICENSE_FILES = LICENSE.ASF-2 LICENSE.GPL-3 PYTHON_DAEMON_SETUP_TYPE = setuptools diff --git a/package/python-dataproperty/python-dataproperty.hash b/package/python-dataproperty/python-dataproperty.hash index 3edec5cc8c2..ee5644a7ff7 100644 --- a/package/python-dataproperty/python-dataproperty.hash +++ b/package/python-dataproperty/python-dataproperty.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dataproperty/json -md5 8c8864a1dc456d25456b5c4de99a3fb6 DataProperty-0.55.0.tar.gz -sha256 73ccf10f8b123968210438a1a1aa859ea6d5a16b4e1f4d307da7a81b838e79fa DataProperty-0.55.0.tar.gz +md5 aca50cd5f543b7831d8a48ab1c02a152 DataProperty-1.0.1.tar.gz +sha256 723e5729fa6e885e127a771a983ee1e0e34bb141aca4ffe1f0bfa7cde34650a4 DataProperty-1.0.1.tar.gz # Locally computed sha256 checksums sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-dataproperty/python-dataproperty.mk b/package/python-dataproperty/python-dataproperty.mk index 0feef553103..6cac4f27e5d 100644 --- a/package/python-dataproperty/python-dataproperty.mk +++ b/package/python-dataproperty/python-dataproperty.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DATAPROPERTY_VERSION = 0.55.0 +PYTHON_DATAPROPERTY_VERSION = 1.0.1 PYTHON_DATAPROPERTY_SOURCE = DataProperty-$(PYTHON_DATAPROPERTY_VERSION).tar.gz -PYTHON_DATAPROPERTY_SITE = https://files.pythonhosted.org/packages/85/6e/627eba99858c486c5b82468e4aaf60808c2e35d1bb768ee5da712b6fe9be +PYTHON_DATAPROPERTY_SITE = https://files.pythonhosted.org/packages/48/e2/31ffb67d2a9ab4ff70b106e08ad01a3e7696f8d409457042d1eb18244f82 PYTHON_DATAPROPERTY_SETUP_TYPE = setuptools PYTHON_DATAPROPERTY_LICENSE = MIT PYTHON_DATAPROPERTY_LICENSE_FILES = LICENSE diff --git a/package/python-dbus-fast/Config.in b/package/python-dbus-fast/Config.in new file mode 100644 index 00000000000..b7168106d7a --- /dev/null +++ b/package/python-dbus-fast/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_DBUS_FAST + bool "python-dbus-fast" + select BR2_PACKAGE_HOST_PYTHON_CYTHON + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + help + A faster version of dbus-next, a DBus library for Python with + asyncio support. + + https://github.com/bluetooth-devices/dbus-fast diff --git a/package/python-dbus-fast/python-dbus-fast.hash b/package/python-dbus-fast/python-dbus-fast.hash new file mode 100644 index 00000000000..08d2675443e --- /dev/null +++ b/package/python-dbus-fast/python-dbus-fast.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/dbus-fast/json +md5 791ce3b0c04099959161a18ae983bf25 dbus_fast-2.12.0.tar.gz +sha256 849478e11d251fa4ebb99ce5bfee332cb6383c63ef0bc97bae23cef4e0badf9c dbus_fast-2.12.0.tar.gz +# Locally computed sha256 checksums +sha256 c37e9c75110e01d1f0c5360dc7d7776a30ac5f70d2440db214423e4b7a77a6af LICENSE diff --git a/package/python-dbus-fast/python-dbus-fast.mk b/package/python-dbus-fast/python-dbus-fast.mk new file mode 100644 index 00000000000..b890177c74a --- /dev/null +++ b/package/python-dbus-fast/python-dbus-fast.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-dbus-fast +# +################################################################################ + +PYTHON_DBUS_FAST_VERSION = 2.12.0 +PYTHON_DBUS_FAST_SOURCE = dbus_fast-$(PYTHON_DBUS_FAST_VERSION).tar.gz +PYTHON_DBUS_FAST_SITE = https://files.pythonhosted.org/packages/f5/8c/220fcbe4337b842d730d5752f207fc8efd3a02405c71c329e61218e947b8 +PYTHON_DBUS_FAST_SETUP_TYPE = setuptools +PYTHON_DBUS_FAST_LICENSE = MIT +PYTHON_DBUS_FAST_LICENSE_FILES = LICENSE +PYTHON_DBUS_FAST_ENV = REQUIRE_CYTHON=1 +PYTHON_DBUS_FAST_DEPENDENCIES = host-python-cython + +$(eval $(python-package)) diff --git a/package/python-decouple/Config.in b/package/python-decouple/Config.in new file mode 100644 index 00000000000..528f43d0cb0 --- /dev/null +++ b/package/python-decouple/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_DECOUPLE + bool "python-decouple" + help + Strict separation of settings from code. + + http://github.com/henriquebastos/python-decouple/ diff --git a/package/python-decouple/python-decouple.hash b/package/python-decouple/python-decouple.hash new file mode 100644 index 00000000000..cf1290c90e2 --- /dev/null +++ b/package/python-decouple/python-decouple.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/python-decouple/json +md5 21b174a381d6bff5f4814018a4fd44cd python-decouple-3.8.tar.gz +sha256 ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f python-decouple-3.8.tar.gz +# Locally computed sha256 checksums +sha256 4d6e3c2ef229ec3c1a486f52c9d76235e9eb7c94db8ec71a8bff0af60e4f0aa4 LICENSE diff --git a/package/python-decouple/python-decouple.mk b/package/python-decouple/python-decouple.mk new file mode 100644 index 00000000000..c0d0cdb909e --- /dev/null +++ b/package/python-decouple/python-decouple.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-decouple +# +################################################################################ + +PYTHON_DECOUPLE_VERSION = 3.8 +PYTHON_DECOUPLE_SITE = https://files.pythonhosted.org/packages/e1/97/373dcd5844ec0ea5893e13c39a2c67e7537987ad8de3842fe078db4582fa +PYTHON_DECOUPLE_SETUP_TYPE = setuptools +PYTHON_DECOUPLE_LICENSE = MIT +PYTHON_DECOUPLE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-dicttoxml/python-dicttoxml.hash b/package/python-dicttoxml/python-dicttoxml.hash index dcde7cf1b69..1c94d3446ac 100644 --- a/package/python-dicttoxml/python-dicttoxml.hash +++ b/package/python-dicttoxml/python-dicttoxml.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dicttoxml/json -md5 234550e3aa875c6f3520aa9a2dff1ef1 dicttoxml-1.7.15.tar.gz -sha256 5540fe7dfde2d2ed9467e67fcc981cbd2e164dc3120c862bdb7333202ac48838 dicttoxml-1.7.15.tar.gz +md5 f4853a05c41f9056172447d4e59517b9 dicttoxml-1.7.16.tar.gz +sha256 6f36ce644881db5cd8940bee9b7cb3f3f6b7b327ba8a67d83d3e2caa0538bf9d dicttoxml-1.7.16.tar.gz # Locally computed sha256 checksums sha256 4514114bd9da0b2fbf8c4fa264c0e6cc80fd41e6ac7f09d7a39a215662951c7c LICENCE.txt diff --git a/package/python-dicttoxml/python-dicttoxml.mk b/package/python-dicttoxml/python-dicttoxml.mk index 3e5f90e9ded..eb0049fd03c 100644 --- a/package/python-dicttoxml/python-dicttoxml.mk +++ b/package/python-dicttoxml/python-dicttoxml.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DICTTOXML_VERSION = 1.7.15 +PYTHON_DICTTOXML_VERSION = 1.7.16 PYTHON_DICTTOXML_SOURCE = dicttoxml-$(PYTHON_DICTTOXML_VERSION).tar.gz -PYTHON_DICTTOXML_SITE = https://files.pythonhosted.org/packages/45/b5/efa170fd88e8b8bc025c59592eade0fb7de6ae02ed3dd63957956adc1396 -PYTHON_DICTTOXML_SETUP_TYPE = distutils +PYTHON_DICTTOXML_SITE = https://files.pythonhosted.org/packages/ee/c9/3132427f9e64d572688e6a1cbe3d542d1a03f676b81fb600f3d1fd7d2ec5 +PYTHON_DICTTOXML_SETUP_TYPE = setuptools PYTHON_DICTTOXML_LICENSE = GPL-2.0 PYTHON_DICTTOXML_LICENSE_FILES = LICENCE.txt diff --git a/package/python-distlib/python-distlib.hash b/package/python-distlib/python-distlib.hash new file mode 100644 index 00000000000..1a14e6ba779 --- /dev/null +++ b/package/python-distlib/python-distlib.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/distlib/json +md5 c4df5794463d3710bae3d162bf953ba6 distlib-0.3.8.tar.gz +sha256 1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64 distlib-0.3.8.tar.gz +# Locally computed sha256 checksums +sha256 808e10c8a6ab8deb149ff9b3fb19f447a808094606d712a9ca57fead3552599d LICENSE.txt diff --git a/package/python-distlib/python-distlib.mk b/package/python-distlib/python-distlib.mk new file mode 100644 index 00000000000..2eba3ae64f9 --- /dev/null +++ b/package/python-distlib/python-distlib.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-distlib +# +################################################################################ + +PYTHON_DISTLIB_VERSION = 0.3.8 +PYTHON_DISTLIB_SOURCE = distlib-$(PYTHON_DISTLIB_VERSION).tar.gz +PYTHON_DISTLIB_SITE = https://files.pythonhosted.org/packages/c4/91/e2df406fb4efacdf46871c25cde65d3c6ee5e173b7e5a4547a47bae91920 +PYTHON_DISTLIB_SETUP_TYPE = setuptools +PYTHON_DISTLIB_LICENSE = PSF-2.0 +PYTHON_DISTLIB_LICENSE_FILES = LICENSE.txt + +$(eval $(host-python-package)) diff --git a/package/python-distro/python-distro.hash b/package/python-distro/python-distro.hash index 3d3e4258de9..7f8277896da 100644 --- a/package/python-distro/python-distro.hash +++ b/package/python-distro/python-distro.hash @@ -1,5 +1,5 @@ -# From https://pypi.org/pypi/distro/json -md5 a1e81972bbcfc0dc77dd0cde590c22a6 distro-1.8.0.tar.gz -sha256 02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8 distro-1.8.0.tar.gz -# Locally computed +# md5, sha256 from https://pypi.org/pypi/distro/json +md5 c4eee99e1d05691230f223c37b895027 distro-1.9.0.tar.gz +sha256 2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed distro-1.9.0.tar.gz +# Locally computed sha256 checksums sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/python-distro/python-distro.mk b/package/python-distro/python-distro.mk index e079d8e2654..05faab38886 100644 --- a/package/python-distro/python-distro.mk +++ b/package/python-distro/python-distro.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DISTRO_VERSION = 1.8.0 -PYTHON_DISTRO_SITE = https://files.pythonhosted.org/packages/4b/89/eaa3a3587ebf8bed93e45aa79be8c2af77d50790d15b53f6dfc85b57f398 +PYTHON_DISTRO_VERSION = 1.9.0 PYTHON_DISTRO_SOURCE = distro-$(PYTHON_DISTRO_VERSION).tar.gz +PYTHON_DISTRO_SITE = https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3 PYTHON_DISTRO_LICENSE = Apache-2.0 PYTHON_DISTRO_LICENSE_FILES = LICENSE PYTHON_DISTRO_SETUP_TYPE = setuptools diff --git a/package/python-django/Config.in b/package/python-django/Config.in index 5830cadc93d..c236a6dc0b4 100644 --- a/package/python-django/Config.in +++ b/package/python-django/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PYTHON_DJANGO bool "python-django" select BR2_PACKAGE_PYTHON3_UNICODEDATA select BR2_PACKAGE_PYTHON3_PYEXPAT + select BR2_PACKAGE_PYTHON3_ZLIB # runtime select BR2_PACKAGE_PYTHON_ASGIREF # runtime select BR2_PACKAGE_PYTHON_SQLPARSE # runtime help diff --git a/package/python-django/python-django.hash b/package/python-django/python-django.hash index 40526bc0ff7..d5684a083c0 100644 --- a/package/python-django/python-django.hash +++ b/package/python-django/python-django.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/django/json -md5 02e2222d064d800f37c6a0ba78ce87f3 Django-4.1.4.tar.gz -sha256 d38a4e108d2386cb9637da66a82dc8d0733caede4c83c4afdbda78af4214211b Django-4.1.4.tar.gz +md5 1009c48d70060cadb40000cc15a8058a Django-5.0.3.tar.gz +sha256 5fb37580dcf4a262f9258c1f4373819aacca906431f505e4688e37f3a99195df Django-5.0.3.tar.gz # Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-django/python-django.mk b/package/python-django/python-django.mk index 96ec53f82c0..258ff9e0c1c 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,11 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 4.1.4 +PYTHON_DJANGO_VERSION = 5.0.3 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/de/7d/ca5d224f7d345b0defd0a57c6deb0c6115fbe5304e4d9571f728b617f1a3 - +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/e1/b1/ac6a16aaf0049637b50afbcf06b8ec2fa5c6ce42d4ae6ba66bbaf4c3609a PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_CPE_ID_VENDOR = djangoproject diff --git a/package/python-dnspython/0001-Remove-spurious-wheel-build-dependency.patch b/package/python-dnspython/0001-Remove-spurious-wheel-build-dependency.patch deleted file mode 100644 index b43217edad5..00000000000 --- a/package/python-dnspython/0001-Remove-spurious-wheel-build-dependency.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 53b989e4ce32c941d748ad33502600497595914a Mon Sep 17 00:00:00 2001 -From: James Hilliard -Date: Wed, 2 Nov 2022 14:01:58 -0600 -Subject: [PATCH] Remove spurious wheel build dependency - -Wheel isn't a build dependency so it shouldn't be in setup_requires. -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -53b989e4ce32c941d748ad33502600497595914a] ---- - setup.cfg | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.cfg b/setup.cfg -index 0abd270..2cb3e06 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -46,7 +46,7 @@ packages = - dns.rdtypes.CH - python_requires = >=3.7 - test_suite = tests --setup_requires = setuptools>=44; wheel; setuptools_scm[toml]>=3.4.3 -+setup_requires = setuptools>=44; setuptools_scm[toml]>=3.4.3 - - [options.extras_require] - DOH = httpx>=0.21.1; h2>=4.1.0; requests; requests-toolbelt --- -2.34.1 - diff --git a/package/python-dnspython/python-dnspython.hash b/package/python-dnspython/python-dnspython.hash index 29441b41ea3..77ffb5dedcd 100644 --- a/package/python-dnspython/python-dnspython.hash +++ b/package/python-dnspython/python-dnspython.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dnspython/json -md5 c7172f4115cd7b60fd5037cfcd8f9408 dnspython-2.2.1.tar.gz -sha256 0f7569a4a6ff151958b64304071d370daa3243d15941a7beedf0c9fe5105603e dnspython-2.2.1.tar.gz +md5 fac4e1580e5e9dfee722cb97bc073722 dnspython-2.4.2.tar.gz +sha256 8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984 dnspython-2.4.2.tar.gz # Locally computed sha256 checksums sha256 c3ea3ff5654b329c19d3bc5f7481af623c3dded4a6145585499f843ad3d741cd LICENSE diff --git a/package/python-dnspython/python-dnspython.mk b/package/python-dnspython/python-dnspython.mk index 43030ae476b..1459ec8881e 100644 --- a/package/python-dnspython/python-dnspython.mk +++ b/package/python-dnspython/python-dnspython.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DNSPYTHON_VERSION = 2.2.1 +PYTHON_DNSPYTHON_VERSION = 2.4.2 PYTHON_DNSPYTHON_SOURCE = dnspython-$(PYTHON_DNSPYTHON_VERSION).tar.gz -PYTHON_DNSPYTHON_SITE = https://files.pythonhosted.org/packages/99/fb/e7cd35bba24295ad41abfdff30f6b4c271fd6ac70d20132fa503c3e768e0 +PYTHON_DNSPYTHON_SITE = https://files.pythonhosted.org/packages/65/2d/372a20e52a87b2ba0160997575809806111a72e18aa92738daccceb8d2b9 PYTHON_DNSPYTHON_LICENSE = ISC PYTHON_DNSPYTHON_LICENSE_FILES = LICENSE PYTHON_DNSPYTHON_SETUP_TYPE = setuptools diff --git a/package/python-docker/Config.in b/package/python-docker/Config.in index b2296f42eb9..944992f2519 100644 --- a/package/python-docker/Config.in +++ b/package/python-docker/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_PYTHON_DOCKER bool "python-docker" # docker-engine may be running on another host, so no other dependency select BR2_PACKAGE_PYTHON3_SSL # runtime + select BR2_PACKAGE_PYTHON_PACKAGING # runtime select BR2_PACKAGE_PYTHON_REQUESTS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_URLLIB3 # runtime select BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT # runtime help A Python library for the Docker Engine API. diff --git a/package/python-docker/python-docker.hash b/package/python-docker/python-docker.hash index 3fc3c4f0f40..8e561e93a78 100644 --- a/package/python-docker/python-docker.hash +++ b/package/python-docker/python-docker.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/docker/json -md5 8e85e23ed30a3d07129e197d35e56eb4 docker-6.0.1.tar.gz -sha256 896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97 docker-6.0.1.tar.gz +md5 c319e75054a226776f32797e56ec82da docker-6.1.3.tar.gz +sha256 aa6d17830045ba5ef0168d5eaa34d37beeb113948c413affe1d5991fc11f9a20 docker-6.1.3.tar.gz # Locally computed sha256 checksums sha256 f2f0b07fa5e492c11d27aa0d2f3f1a0e64b9d17f32d8aa489ae2af9609af33b2 LICENSE diff --git a/package/python-docker/python-docker.mk b/package/python-docker/python-docker.mk index 4da972e017b..ab03ac6af0b 100644 --- a/package/python-docker/python-docker.mk +++ b/package/python-docker/python-docker.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DOCKER_VERSION = 6.0.1 +PYTHON_DOCKER_VERSION = 6.1.3 PYTHON_DOCKER_SOURCE = docker-$(PYTHON_DOCKER_VERSION).tar.gz -PYTHON_DOCKER_SITE = https://files.pythonhosted.org/packages/79/26/6609b51ecb418e12d1534d00b888ce7e108f38b47dc6cd589598d5c6aaa2 +PYTHON_DOCKER_SITE = https://files.pythonhosted.org/packages/f0/73/f7c9a14e88e769f38cb7fb45aa88dfd795faa8e18aea11bababf6e068d5e PYTHON_DOCKER_SETUP_TYPE = setuptools PYTHON_DOCKER_LICENSE = Apache-2.0 PYTHON_DOCKER_LICENSE_FILES = LICENSE diff --git a/package/python-docutils/python-docutils.hash b/package/python-docutils/python-docutils.hash index 6a36f362e9d..2386cc2891d 100644 --- a/package/python-docutils/python-docutils.hash +++ b/package/python-docutils/python-docutils.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/docutils/json -md5 0afa992a6e93db892107c3f087d0d9df docutils-0.19.tar.gz -sha256 33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6 docutils-0.19.tar.gz +md5 93bcfe0065cf1d0b6a0bcabeca7a2335 docutils-0.20.1.tar.gz +sha256 f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b docutils-0.20.1.tar.gz # Locally computed sha256 checksums -sha256 16b78bd9994588326a871ac39f64480969ebeb57ecd46a31874744560e72390a COPYING.txt +sha256 a0d7ee761e8d757c0b904518514f98233fd94f2398da3703130d15142ca47a77 COPYING.txt diff --git a/package/python-docutils/python-docutils.mk b/package/python-docutils/python-docutils.mk index d06521d10f6..2b496f0d468 100644 --- a/package/python-docutils/python-docutils.mk +++ b/package/python-docutils/python-docutils.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DOCUTILS_VERSION = 0.19 +PYTHON_DOCUTILS_VERSION = 0.20.1 PYTHON_DOCUTILS_SOURCE = docutils-$(PYTHON_DOCUTILS_VERSION).tar.gz -PYTHON_DOCUTILS_SITE = https://files.pythonhosted.org/packages/6b/5c/330ea8d383eb2ce973df34d1239b3b21e91cd8c865d21ff82902d952f91f +PYTHON_DOCUTILS_SITE = https://files.pythonhosted.org/packages/1f/53/a5da4f2c5739cf66290fac1431ee52aff6851c7c8ffd8264f13affd7bcdd PYTHON_DOCUTILS_LICENSE = Public Domain, BSD-2-Clause, BSD-3-Clause, Python-2.0, GPL-3.0+ (emacs mode) PYTHON_DOCUTILS_LICENSE_FILES = COPYING.txt PYTHON_DOCUTILS_SETUP_TYPE = setuptools diff --git a/package/python-dominate/python-dominate.hash b/package/python-dominate/python-dominate.hash index 89293baec60..26840e5f0ce 100644 --- a/package/python-dominate/python-dominate.hash +++ b/package/python-dominate/python-dominate.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dominate/json -md5 77bba29beaaac4dfb657092cd89db033 dominate-2.7.0.tar.gz -sha256 520101360892ebf9d0553f67d37e359ff92403d8a1e33814030503088a05da49 dominate-2.7.0.tar.gz +md5 4dc4bbb39297999624e2312b6fe2b46f dominate-2.9.1.tar.gz +sha256 558284687d9b8aae1904e3d6051ad132dd4a8c0cf551b37ea4e7e42a31d19dc4 dominate-2.9.1.tar.gz # Locally computed sha256 checksums sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 LICENSE.txt diff --git a/package/python-dominate/python-dominate.mk b/package/python-dominate/python-dominate.mk index 0f3687de5ff..d6301af9dbb 100644 --- a/package/python-dominate/python-dominate.mk +++ b/package/python-dominate/python-dominate.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DOMINATE_VERSION = 2.7.0 +PYTHON_DOMINATE_VERSION = 2.9.1 PYTHON_DOMINATE_SOURCE = dominate-$(PYTHON_DOMINATE_VERSION).tar.gz -PYTHON_DOMINATE_SITE = https://files.pythonhosted.org/packages/12/d7/5e5f50f5d5bdd4282d2a70b9479c1d91d6628bebd4829e455cdf7366a92e +PYTHON_DOMINATE_SITE = https://files.pythonhosted.org/packages/fb/f3/1c8088ff19a0fcd9c3234802a0ee47006ea64bd8852f1019194f0e3583ff PYTHON_DOMINATE_SETUP_TYPE = setuptools PYTHON_DOMINATE_LICENSE = LGPL-3.0+ PYTHON_DOMINATE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-dtschema/Config.in b/package/python-dtschema/Config.in index 961d0e04b20..5baad45e643 100644 --- a/package/python-dtschema/Config.in +++ b/package/python-dtschema/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_DTSCHEMA bool "python-dtschema" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-jsonschema -> python-rpds-py select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime select BR2_PACKAGE_PYTHON_PYLIBFDT # runtime select BR2_PACKAGE_PYTHON_RFC3987 # runtime diff --git a/package/python-dtschema/python-dtschema.hash b/package/python-dtschema/python-dtschema.hash index 734ff3f6816..3e1dd22133d 100644 --- a/package/python-dtschema/python-dtschema.hash +++ b/package/python-dtschema/python-dtschema.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/dtschema/json -md5 3fd3ba2d98ad320c06277274ca40d045 dtschema-2022.12.tar.gz -sha256 f532d433a915e507d4b426b7ef57a6730d23c0938b682fb4866f9dfa80a58ec6 dtschema-2022.12.tar.gz +md5 cc4be8cfc01804cc31a123b56f68aeb1 dtschema-2023.11.tar.gz +sha256 cf9a449ea743c0a955cf6034ef246668fa5ea177684977c61fef7604af5f273b dtschema-2023.11.tar.gz # Locally computed sha256 checksums sha256 ca0d66263406dc684fe9db60577b234f65ffdf620d7e041c708e969447b69111 LICENSE.txt diff --git a/package/python-dtschema/python-dtschema.mk b/package/python-dtschema/python-dtschema.mk index dbdf43160cc..e1dd5009fda 100644 --- a/package/python-dtschema/python-dtschema.mk +++ b/package/python-dtschema/python-dtschema.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DTSCHEMA_VERSION = 2022.12 +PYTHON_DTSCHEMA_VERSION = 2023.11 PYTHON_DTSCHEMA_SOURCE = dtschema-$(PYTHON_DTSCHEMA_VERSION).tar.gz -PYTHON_DTSCHEMA_SITE = https://files.pythonhosted.org/packages/f2/61/7d7e907ea6eed33708ce07766258b961fe476221fbd2e759a1921487e381 +PYTHON_DTSCHEMA_SITE = https://files.pythonhosted.org/packages/5a/94/7890ef663fba1cca84cf0ab64c7f68685343c921ab883f0356cd9978b605 PYTHON_DTSCHEMA_SETUP_TYPE = setuptools PYTHON_DTSCHEMA_LICENSE = BSD-2-Clause PYTHON_DTSCHEMA_LICENSE_FILES = LICENSE.txt diff --git a/package/python-ecdsa/python-ecdsa.mk b/package/python-ecdsa/python-ecdsa.mk index d3d49c2520b..321e87e0a3a 100644 --- a/package/python-ecdsa/python-ecdsa.mk +++ b/package/python-ecdsa/python-ecdsa.mk @@ -10,6 +10,6 @@ PYTHON_ECDSA_SITE = https://files.pythonhosted.org/packages/ff/7b/ba6547a76c468a PYTHON_ECDSA_SETUP_TYPE = setuptools PYTHON_ECDSA_LICENSE = MIT PYTHON_ECDSA_LICENSE_FILES = LICENSE -PYTHON_ECDSA_CPE_ID_VENDOR = python-ecdsa_project +PYTHON_ECDSA_CPE_ID_VALID = YES $(eval $(python-package)) diff --git a/package/python-editables/python-editables.hash b/package/python-editables/python-editables.hash index 3c28c44cc36..a34c7ad20ec 100644 --- a/package/python-editables/python-editables.hash +++ b/package/python-editables/python-editables.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/editables/json -md5 e91709fbb0ef586cb7b785042068ab67 editables-0.3.tar.gz -sha256 167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a editables-0.3.tar.gz +md5 520de8c3a9dc5dfb2b365d104541c9de editables-0.5.tar.gz +sha256 309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2 editables-0.5.tar.gz # Locally computed sha256 checksums sha256 c73e08a04e1557fdb49525fb7a579f73bcab84a254910b9350ee56daf143932d LICENSE.txt diff --git a/package/python-editables/python-editables.mk b/package/python-editables/python-editables.mk index db67e7a16d8..e60d50f9d64 100644 --- a/package/python-editables/python-editables.mk +++ b/package/python-editables/python-editables.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_EDITABLES_VERSION = 0.3 +PYTHON_EDITABLES_VERSION = 0.5 PYTHON_EDITABLES_SOURCE = editables-$(PYTHON_EDITABLES_VERSION).tar.gz -PYTHON_EDITABLES_SITE = https://files.pythonhosted.org/packages/01/b0/a2a87db4b6cb8e7d57004b6836faa634e0747e3e39ded126cdbe5a33ba36 +PYTHON_EDITABLES_SITE = https://files.pythonhosted.org/packages/37/4a/986d35164e2033ddfb44515168a281a7986e260d344cf369c3f52d4c3275 PYTHON_EDITABLES_LICENSE = MIT PYTHON_EDITABLES_LICENSE_FILES = LICENSE.txt PYTHON_EDITABLES_SETUP_TYPE = setuptools diff --git a/package/python-engineio/python-engineio.hash b/package/python-engineio/python-engineio.hash index 651226cc9c7..c1b02350bc2 100644 --- a/package/python-engineio/python-engineio.hash +++ b/package/python-engineio/python-engineio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-engineio/json -md5 cb093c07bc5b5351e6a2edb555b02f33 python-engineio-4.3.4.tar.gz -sha256 d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae python-engineio-4.3.4.tar.gz +md5 619e7fce0257a8219187f50aa94844a3 python-engineio-4.8.2.tar.gz +sha256 f8609e3afdda318fdc336b4ba2de8dd397bb8f9b8a1b43e56c27330e32c2e34c python-engineio-4.8.2.tar.gz # Locally computed sha256 checksums sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/package/python-engineio/python-engineio.mk b/package/python-engineio/python-engineio.mk index 388e6691558..67092402b49 100644 --- a/package/python-engineio/python-engineio.mk +++ b/package/python-engineio/python-engineio.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_ENGINEIO_VERSION = 4.3.4 -PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/7e/ff/970c5d084f513fb38108cd7c90497489d7cff8666f9bfabae00a3f4e13d4 +PYTHON_ENGINEIO_VERSION = 4.8.2 +PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/e2/24/4a69dd119d10e31c4439f910a2a0f71b540b9f835ab60efa1f0f7bcae0c7 PYTHON_ENGINEIO_SETUP_TYPE = setuptools PYTHON_ENGINEIO_LICENSE = MIT PYTHON_ENGINEIO_LICENSE_FILES = LICENSE -PYTHON_ENGINEIO_CPE_ID_VENDOR = python-engineio_project +PYTHON_ENGINEIO_CPE_ID_VALID = YES $(eval $(python-package)) diff --git a/package/python-esptool/Config.in b/package/python-esptool/Config.in index 36243fa89e7..4099957971e 100644 --- a/package/python-esptool/Config.in +++ b/package/python-esptool/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_PYTHON_ESPTOOL select BR2_PACKAGE_PYTHON_BITSTRING # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_ECDSA # runtime + select BR2_PACKAGE_PYTHON_INTELHEX # runtime + select BR2_PACKAGE_PYTHON_PYYAML # runtime select BR2_PACKAGE_PYTHON_REEDSOLO # runtime select BR2_PACKAGE_PYTHON_SERIAL # runtime select BR2_PACKAGE_PYTHON3_ZLIB diff --git a/package/python-esptool/python-esptool.hash b/package/python-esptool/python-esptool.hash index b7246f97885..490b4e7e9c1 100644 --- a/package/python-esptool/python-esptool.hash +++ b/package/python-esptool/python-esptool.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/esptool/json -md5 92c38551bc33bd5271bdea033aa51610 esptool-4.4.tar.gz -sha256 8acd4dfe70819b1302861ae92894380fb4700b377f5a4739479a4ec276e0b256 esptool-4.4.tar.gz +md5 e7f2012cf31cd23f60049b179fb3b53a esptool-4.7.0.tar.gz +sha256 01454e69e1ef3601215db83ff2cb1fc79ece67d24b0e5d43d451b410447c4893 esptool-4.7.0.tar.gz # Locally computed sha256 checksums sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/python-esptool/python-esptool.mk b/package/python-esptool/python-esptool.mk index 0a71e1a78bb..648748237dc 100644 --- a/package/python-esptool/python-esptool.mk +++ b/package/python-esptool/python-esptool.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_ESPTOOL_VERSION = 4.4 +PYTHON_ESPTOOL_VERSION = 4.7.0 PYTHON_ESPTOOL_SOURCE = esptool-$(PYTHON_ESPTOOL_VERSION).tar.gz -PYTHON_ESPTOOL_SITE = https://files.pythonhosted.org/packages/8b/4c/82d7fe5fa0643415bbb90bebff1f861816903c481ee5156fabd6d76dc684 +PYTHON_ESPTOOL_SITE = https://files.pythonhosted.org/packages/1b/8b/f0d1e75879dee053874a4f955ed1e9ad97275485f51cb4bc2cb4e9b24479 PYTHON_ESPTOOL_SETUP_TYPE = setuptools PYTHON_ESPTOOL_LICENSE = GPL-2.0+ PYTHON_ESPTOOL_LICENSE_FILES = LICENSE +PYTHON_ESPTOOL_CPE_ID_VENDOR = espressif +PYTHON_ESPTOOL_CPE_ID_PRODUCT = esptool $(eval $(python-package)) diff --git a/package/python-evdev/Config.in b/package/python-evdev/Config.in new file mode 100644 index 00000000000..33e43c1f77f --- /dev/null +++ b/package/python-evdev/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_EVDEV + bool "python-evdev" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + help + Bindings to the Linux input handling subsystem. + + https://github.com/gvalkov/python-evdev + +comment "python-evdev needs a toolchain w/ headers >= 4.4" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 diff --git a/package/python-evdev/python-evdev.hash b/package/python-evdev/python-evdev.hash new file mode 100644 index 00000000000..9a6d0d07beb --- /dev/null +++ b/package/python-evdev/python-evdev.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/evdev/json +md5 905b12ef6136b518ddf418d8d5b053e4 evdev-1.6.1.tar.gz +sha256 299db8628cc73b237fc1cc57d3c2948faa0756e2a58b6194b5bf81dc2081f1e3 evdev-1.6.1.tar.gz +# Locally computed sha256 checksums +sha256 55fd76d7b3f90d312f161d318631b93c58a0e69d662d07c4f5aca2c6c9ecc85e LICENSE diff --git a/package/python-evdev/python-evdev.mk b/package/python-evdev/python-evdev.mk new file mode 100644 index 00000000000..5cf62b51603 --- /dev/null +++ b/package/python-evdev/python-evdev.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# python-evdev +# +################################################################################ + +PYTHON_EVDEV_VERSION = 1.6.1 +PYTHON_EVDEV_SOURCE = evdev-$(PYTHON_EVDEV_VERSION).tar.gz +PYTHON_EVDEV_SITE = https://files.pythonhosted.org/packages/05/50/629b011a7f61cb2fca754ea8631575784bf8605a1ec4d6970a010bc54e2b +PYTHON_EVDEV_SETUP_TYPE = setuptools +PYTHON_EVDEV_LICENSE = Revised BSD License +PYTHON_EVDEV_LICENSE_FILES = LICENSE + +PYTHON_EVDEV_BUILD_OPTS = \ + build_ecodes \ + --evdev-headers $(STAGING_DIR)/usr/include/linux/input.h:$(STAGING_DIR)/usr/include/linux/input-event-codes.h:$(STAGING_DIR)/usr/include/linux/uinput.h + +$(eval $(python-package)) diff --git a/package/python-executing/Config.in b/package/python-executing/Config.in new file mode 100644 index 00000000000..e1f8f8efdf2 --- /dev/null +++ b/package/python-executing/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_EXECUTING + bool "python-executing" + help + Get the currently executing AST node of a frame, and other + information. + + https://github.com/alexmojaki/executing diff --git a/package/python-executing/python-executing.hash b/package/python-executing/python-executing.hash new file mode 100644 index 00000000000..e21418aae98 --- /dev/null +++ b/package/python-executing/python-executing.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/executing/json +md5 91da12f933267a5fe085033db2a3b84d executing-2.0.1.tar.gz +sha256 35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147 executing-2.0.1.tar.gz +# Locally computed sha256 checksums +sha256 a476a2cb0ef4c41450340a577a28b91ac4c7f669136b2ee148047fabd5fc4181 LICENSE.txt diff --git a/package/python-executing/python-executing.mk b/package/python-executing/python-executing.mk new file mode 100644 index 00000000000..071e8679417 --- /dev/null +++ b/package/python-executing/python-executing.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-executing +# +################################################################################ + +PYTHON_EXECUTING_VERSION = 2.0.1 +PYTHON_EXECUTING_SOURCE = executing-$(PYTHON_EXECUTING_VERSION).tar.gz +PYTHON_EXECUTING_SITE = https://files.pythonhosted.org/packages/08/41/85d2d28466fca93737592b7f3cc456d1cfd6bcd401beceeba17e8e792b50 +PYTHON_EXECUTING_SETUP_TYPE = setuptools +PYTHON_EXECUTING_LICENSE = MIT +PYTHON_EXECUTING_LICENSE_FILES = LICENSE.txt + +PYTHON_EXECUTING_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-falcon/python-falcon.hash b/package/python-falcon/python-falcon.hash index 497b5d2b57f..2d54d278377 100644 --- a/package/python-falcon/python-falcon.hash +++ b/package/python-falcon/python-falcon.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/falcon/json -md5 383673fc6378428d0db5861a416cad0d falcon-3.1.1.tar.gz -sha256 5dd393dbf01cbaf99493893de4832121bd495dc49a46c571915b79c59aad7ef4 falcon-3.1.1.tar.gz +md5 22a5c32f3d9dd96d498febe8e16ddffe falcon-3.1.3.tar.gz +sha256 23335dbccd44f29e85ec55f2f35d5a0bc12bd7a509f641ab81f5c64b65626263 falcon-3.1.3.tar.gz # Locally computed sha256 checksums sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-falcon/python-falcon.mk b/package/python-falcon/python-falcon.mk index b5ebc399dc7..6c96bf16ebf 100644 --- a/package/python-falcon/python-falcon.mk +++ b/package/python-falcon/python-falcon.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FALCON_VERSION = 3.1.1 +PYTHON_FALCON_VERSION = 3.1.3 PYTHON_FALCON_SOURCE = falcon-$(PYTHON_FALCON_VERSION).tar.gz -PYTHON_FALCON_SITE = https://files.pythonhosted.org/packages/29/bc/c11c9a14bb5b4d18a024ee51da15b793d1c869d151bb4101e324e0d055a8 +PYTHON_FALCON_SITE = https://files.pythonhosted.org/packages/3b/30/a7bc770025b6a7a36d0508e3d735dca239df7c27b862856e54d661f24632 PYTHON_FALCON_SETUP_TYPE = setuptools PYTHON_FALCON_LICENSE = Apache-2.0 PYTHON_FALCON_LICENSE_FILES = LICENSE diff --git a/package/python-fastapi-sessions/Config.in b/package/python-fastapi-sessions/Config.in new file mode 100644 index 00000000000..a54b072f090 --- /dev/null +++ b/package/python-fastapi-sessions/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_FASTAPI_SESSIONS + bool "python-fastapi-sessions" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-pydantic -> python-pydantic-core + select BR2_PACKAGE_PYTHON_FASTAPI # runtime + select BR2_PACKAGE_PYTHON_ITSDANGEROUS # runtime + select BR2_PACKAGE_PYTHON_PYDANTIC # runtime + help + Ready-to-use session library for FastAPI. + + https://github.com/jordanisaacs/fastapi-sessions diff --git a/package/python-fastapi-sessions/python-fastapi-sessions.hash b/package/python-fastapi-sessions/python-fastapi-sessions.hash new file mode 100644 index 00000000000..dd5e224bdeb --- /dev/null +++ b/package/python-fastapi-sessions/python-fastapi-sessions.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/fastapi-sessions/json +md5 397ee37291bdbb7330ef8f4af378cd28 fastapi-sessions-0.3.2.tar.gz +sha256 5159023fd548f8a9c198a966cf1086a73a43038cf3b9b79175fe33129f15e64c fastapi-sessions-0.3.2.tar.gz +# Locally computed sha256 checksums +sha256 4962ee6d7777ff7d2f96ad81424c2e78d73ea7f6282d368afa14a7500c2d223e LICENSE diff --git a/package/python-fastapi-sessions/python-fastapi-sessions.mk b/package/python-fastapi-sessions/python-fastapi-sessions.mk new file mode 100644 index 00000000000..abfb41b5b68 --- /dev/null +++ b/package/python-fastapi-sessions/python-fastapi-sessions.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-fastapi-sessions +# +################################################################################ + +PYTHON_FASTAPI_SESSIONS_VERSION = 0.3.2 +PYTHON_FASTAPI_SESSIONS_SOURCE = fastapi-sessions-$(PYTHON_FASTAPI_SESSIONS_VERSION).tar.gz +PYTHON_FASTAPI_SESSIONS_SITE = https://files.pythonhosted.org/packages/1d/89/da83ba47bd70101e14eca0ac57c7f300b055b70104446badfdc1dcbe813f +PYTHON_FASTAPI_SESSIONS_SETUP_TYPE = setuptools +PYTHON_FASTAPI_SESSIONS_LICENSE = MIT +PYTHON_FASTAPI_SESSIONS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-fastapi/Config.in b/package/python-fastapi/Config.in new file mode 100644 index 00000000000..d4a527c601a --- /dev/null +++ b/package/python-fastapi/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_FASTAPI + bool "python-fastapi" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-pydantic -> python-pydantic-core + select BR2_PACKAGE_PYTHON_PYDANTIC # runtime + select BR2_PACKAGE_PYTHON_STARLETTE # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime + help + FastAPI framework, high performance, easy to learn, fast to + code, ready for production. + + https://github.com/tiangolo/fastapi diff --git a/package/python-fastapi/python-fastapi.hash b/package/python-fastapi/python-fastapi.hash new file mode 100644 index 00000000000..c16b7d22de3 --- /dev/null +++ b/package/python-fastapi/python-fastapi.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/fastapi/json +md5 b48191c0322fb5479773925af005b2c1 fastapi-0.109.2.tar.gz +sha256 f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73 fastapi-0.109.2.tar.gz +# Locally computed sha256 checksums +sha256 4ec89ffc81485b97fec584b2d4a961032eeffe834453894fd9c1274906cc744e LICENSE diff --git a/package/python-fastapi/python-fastapi.mk b/package/python-fastapi/python-fastapi.mk new file mode 100644 index 00000000000..a2191c73b7f --- /dev/null +++ b/package/python-fastapi/python-fastapi.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-fastapi +# +################################################################################ + +PYTHON_FASTAPI_VERSION = 0.109.2 +PYTHON_FASTAPI_SOURCE = fastapi-$(PYTHON_FASTAPI_VERSION).tar.gz +PYTHON_FASTAPI_SITE = https://files.pythonhosted.org/packages/01/d5/33a8992fe0e811211cd1cbc219cefa4732f9fb0555921346a59d1fec0040 +PYTHON_FASTAPI_SETUP_TYPE = pep517 +PYTHON_FASTAPI_LICENSE = MIT +PYTHON_FASTAPI_LICENSE_FILES = LICENSE +PYTHON_FASTAPI_CPE_ID_VENDOR = fastapi_project +PYTHON_FASTAPI_CPE_ID_PRODUCT = fastapi +PYTHON_FASTAPI_DEPENDENCIES = host-python-hatchling + +$(eval $(python-package)) diff --git a/package/python-filelock/python-filelock.hash b/package/python-filelock/python-filelock.hash index f9e6bc03e86..3013cb6789e 100644 --- a/package/python-filelock/python-filelock.hash +++ b/package/python-filelock/python-filelock.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/filelock/json -md5 d66099b8823ebbdd980cde0dae8f7341 filelock-3.8.2.tar.gz -sha256 7565f628ea56bfcd8e54e42bdc55da899c85c1abfe1b5bcfd147e9188cebb3b2 filelock-3.8.2.tar.gz +md5 368d00d1946b89c910d4bf1da68b5a66 filelock-3.13.1.tar.gz +sha256 521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e filelock-3.13.1.tar.gz # Locally computed sha256 checksums sha256 88d9b4eb60579c191ec391ca04c16130572d7eedc4a86daa58bf28c6e14c9bcd LICENSE diff --git a/package/python-filelock/python-filelock.mk b/package/python-filelock/python-filelock.mk index 86f1220b54d..a32517b1ad1 100644 --- a/package/python-filelock/python-filelock.mk +++ b/package/python-filelock/python-filelock.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_FILELOCK_VERSION = 3.8.2 +PYTHON_FILELOCK_VERSION = 3.13.1 PYTHON_FILELOCK_SOURCE = filelock-$(PYTHON_FILELOCK_VERSION).tar.gz -PYTHON_FILELOCK_SITE = https://files.pythonhosted.org/packages/d8/73/292d9ea2370840a163e6dd2d2816a571244e9335e2f6ad957bf0527c492f -PYTHON_FILELOCK_SETUP_TYPE = setuptools +PYTHON_FILELOCK_SITE = https://files.pythonhosted.org/packages/70/70/41905c80dcfe71b22fb06827b8eae65781783d4a14194bce79d16a013263 +PYTHON_FILELOCK_SETUP_TYPE = pep517 PYTHON_FILELOCK_LICENSE = Public Domain PYTHON_FILELOCK_LICENSE_FILES = LICENSE +PYTHON_FILELOCK_DEPENDENCIES = host-python-hatchling host-python-hatch-vcs $(eval $(python-package)) diff --git a/package/python-fire/python-fire.hash b/package/python-fire/python-fire.hash index d86376c52b1..ce44bef96e2 100644 --- a/package/python-fire/python-fire.hash +++ b/package/python-fire/python-fire.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/fire/json -md5 799be84cbbd7df2cf159cdcb538ab6f9 fire-0.4.0.tar.gz -sha256 c5e2b8763699d1142393a46d0e3e790c5eb2f0706082df8f647878842c216a62 fire-0.4.0.tar.gz +md5 8b24d579bd2a1b344b4f9670fa49ebc8 fire-0.5.0.tar.gz +sha256 a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6 fire-0.5.0.tar.gz # Locally computed sha256 checksums sha256 a5de77b62266bca0bb97bf058992f0b0f308a83a8ca55ee10fbf6bd8ed8f7ed0 LICENSE diff --git a/package/python-fire/python-fire.mk b/package/python-fire/python-fire.mk index 40631fce867..7a6c31e8a45 100644 --- a/package/python-fire/python-fire.mk +++ b/package/python-fire/python-fire.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FIRE_VERSION = 0.4.0 +PYTHON_FIRE_VERSION = 0.5.0 PYTHON_FIRE_SOURCE = fire-$(PYTHON_FIRE_VERSION).tar.gz -PYTHON_FIRE_SITE = https://files.pythonhosted.org/packages/11/07/a119a1aa04d37bc819940d95ed7e135a7dcca1c098123a3764a6dcace9e7 +PYTHON_FIRE_SITE = https://files.pythonhosted.org/packages/94/ed/3b9a10605163f48517931083aee8364d4d6d3bb1aa9b75eb0a4a5e9fbfc1 PYTHON_FIRE_SETUP_TYPE = setuptools PYTHON_FIRE_LICENSE = Apache-2.0 PYTHON_FIRE_LICENSE_FILES = LICENSE diff --git a/package/python-flask-babel/Config.in b/package/python-flask-babel/Config.in index 272d9ef1c11..1248783e803 100644 --- a/package/python-flask-babel/Config.in +++ b/package/python-flask-babel/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PYTHON_FLASK_BABEL select BR2_PACKAGE_PYTHON_FLASK # runtime select BR2_PACKAGE_PYTHON_BABEL # runtime select BR2_PACKAGE_PYTHON_JINJA2 # runtime + select BR2_PACKAGE_PYTHON_PYTZ # runtime help Flask-Babel is an extension to Flask that adds i18n and l10n support to any Flask application with the help of babel, diff --git a/package/python-flask-babel/python-flask-babel.hash b/package/python-flask-babel/python-flask-babel.hash index 484af86179d..b946561308c 100644 --- a/package/python-flask-babel/python-flask-babel.hash +++ b/package/python-flask-babel/python-flask-babel.hash @@ -1,6 +1,5 @@ -# From: https://pypi.org/project/Flask-Babel/#copy-hash-modal-80f92a70-1c66-4cce-bb3d-8d6f98287e3f -md5 50d5e92d96ef58787bf85b5a1b0a5567 Flask-Babel-2.0.0.tar.gz -sha256 f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d Flask-Babel-2.0.0.tar.gz - -# License files +# md5, sha256 from https://pypi.org/pypi/flask-babel/json +md5 62116080b8d3a446e1f0f07cbaf74dc1 flask_babel-4.0.0.tar.gz +sha256 dbeab4027a3f4a87678a11686496e98e1492eb793cbdd77ab50f4e9a2602a593 flask_babel-4.0.0.tar.gz +# Locally computed sha256 checksums sha256 a526100a7047237360a394ba4f70ae801b50ff9b8c9b9e73e7795480a59f6b7e LICENSE diff --git a/package/python-flask-babel/python-flask-babel.mk b/package/python-flask-babel/python-flask-babel.mk index 35241e78db0..b3ecdf6cf6c 100644 --- a/package/python-flask-babel/python-flask-babel.mk +++ b/package/python-flask-babel/python-flask-babel.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_BABEL_VERSION = 2.0.0 -PYTHON_FLASK_BABEL_SOURCE = Flask-Babel-$(PYTHON_FLASK_BABEL_VERSION).tar.gz -PYTHON_FLASK_BABEL_SITE = https://files.pythonhosted.org/packages/d7/fe/655e6a5a99ceb815fe839f0698956a9d6c7d5bcc06ca1ee7c6eb6dac154b +PYTHON_FLASK_BABEL_VERSION = 4.0.0 +PYTHON_FLASK_BABEL_SOURCE = flask_babel-$(PYTHON_FLASK_BABEL_VERSION).tar.gz +PYTHON_FLASK_BABEL_SITE = https://files.pythonhosted.org/packages/58/1a/4c65e3b90bda699a637bfb7fb96818b0a9bbff7636ea91aade67f6020a31 PYTHON_FLASK_BABEL_LICENSE = BSD-3-Clause PYTHON_FLASK_BABEL_SETUP_TYPE = setuptools PYTHON_FLASK_BABEL_LICENSE_FILES = LICENSE diff --git a/package/python-flask-cors/Config.in b/package/python-flask-cors/Config.in index e2e84797f90..fc0908e870d 100644 --- a/package/python-flask-cors/Config.in +++ b/package/python-flask-cors/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_FLASK_CORS bool "python-flask-cors" select BR2_PACKAGE_PYTHON_FLASK # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help A Flask extension adding a decorator for CORS support. diff --git a/package/python-flask-cors/python-flask-cors.hash b/package/python-flask-cors/python-flask-cors.hash index 94ec262db89..ced7d9dceac 100644 --- a/package/python-flask-cors/python-flask-cors.hash +++ b/package/python-flask-cors/python-flask-cors.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flask-cors/json -md5 647ff0632b960ba063a077fb4063077e Flask-Cors-3.0.10.tar.gz -sha256 b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de Flask-Cors-3.0.10.tar.gz +md5 0ccfa375e744200243d85719b38cdbc6 Flask-Cors-4.0.0.tar.gz +sha256 f268522fcb2f73e2ecdde1ef45e2fd5c71cc48fe03cffb4b441c6d1b40684eb0 Flask-Cors-4.0.0.tar.gz # Locally computed sha256 checksums sha256 6e1a1bdc54834c1e0740cbce5d5f6f2cae1c846fd2a7f482b11649594fafbd5d LICENSE diff --git a/package/python-flask-cors/python-flask-cors.mk b/package/python-flask-cors/python-flask-cors.mk index d6001572635..bfcaf63c641 100644 --- a/package/python-flask-cors/python-flask-cors.mk +++ b/package/python-flask-cors/python-flask-cors.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_CORS_VERSION = 3.0.10 +PYTHON_FLASK_CORS_VERSION = 4.0.0 PYTHON_FLASK_CORS_SOURCE = Flask-Cors-$(PYTHON_FLASK_CORS_VERSION).tar.gz -PYTHON_FLASK_CORS_SITE = https://files.pythonhosted.org/packages/cf/25/e3b2553d22ed542be807739556c69621ad2ab276ae8d5d2560f4ed20f652 +PYTHON_FLASK_CORS_SITE = https://files.pythonhosted.org/packages/c8/b0/bd7130837a921497520f62023c7ba754e441dcedf959a43e6d1fd86e5451 PYTHON_FLASK_CORS_SETUP_TYPE = setuptools PYTHON_FLASK_CORS_LICENSE = MIT PYTHON_FLASK_CORS_LICENSE_FILES = LICENSE diff --git a/package/python-flask-expects-json/Config.in b/package/python-flask-expects-json/Config.in index 901234762ec..55a752bf22c 100644 --- a/package/python-flask-expects-json/Config.in +++ b/package/python-flask-expects-json/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_FLASK_EXPECTS_JSON bool "python-flask-expects-json" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-jsonschema -> python-rpds-py select BR2_PACKAGE_PYTHON_FLASK # runtime select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime help diff --git a/package/python-flask-login/python-flask-login.hash b/package/python-flask-login/python-flask-login.hash index c88b70f2d54..af034ae7512 100644 --- a/package/python-flask-login/python-flask-login.hash +++ b/package/python-flask-login/python-flask-login.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flask-login/json -md5 8020b22ad7ec6f17034f90117a520633 Flask-Login-0.6.2.tar.gz -sha256 c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3 Flask-Login-0.6.2.tar.gz +md5 689564b8b7f3782f0db382b7aa85bbc2 Flask-Login-0.6.3.tar.gz +sha256 5e23d14a607ef12806c699590b89d0f0e0d67baeec599d75947bf9c147330333 Flask-Login-0.6.3.tar.gz # Locally computed sha256 checksums sha256 7a9dfb9c5da204ed1370f3b62c13e2992a12da1da707f47e156897eeb4344e5b LICENSE diff --git a/package/python-flask-login/python-flask-login.mk b/package/python-flask-login/python-flask-login.mk index 394fe197e3f..ed10c98f5ac 100644 --- a/package/python-flask-login/python-flask-login.mk +++ b/package/python-flask-login/python-flask-login.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_LOGIN_VERSION = 0.6.2 +PYTHON_FLASK_LOGIN_VERSION = 0.6.3 PYTHON_FLASK_LOGIN_SOURCE = Flask-Login-$(PYTHON_FLASK_LOGIN_VERSION).tar.gz -PYTHON_FLASK_LOGIN_SITE = https://files.pythonhosted.org/packages/cc/da/eae45ba9ec58af45b46ef94c6ca04fb211ee57c06421b696e894eb11b064 +PYTHON_FLASK_LOGIN_SITE = https://files.pythonhosted.org/packages/c3/6e/2f4e13e373bb49e68c02c51ceadd22d172715a06716f9299d9df01b6ddb2 PYTHON_FLASK_LOGIN_LICENSE = MIT PYTHON_FLASK_LOGIN_LICENSE_FILES = LICENSE PYTHON_FLASK_LOGIN_SETUP_TYPE = setuptools diff --git a/package/python-flask-smorest/Config.in b/package/python-flask-smorest/Config.in new file mode 100644 index 00000000000..a8ccfbd9f73 --- /dev/null +++ b/package/python-flask-smorest/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_FLASK_SMOREST + bool "python-flask-smorest" + select BR2_PACKAGE_PYTHON_APISPEC # runtime + select BR2_PACKAGE_PYTHON_FLASK # runtime + select BR2_PACKAGE_PYTHON_MARSHMALLOW # runtime + select BR2_PACKAGE_PYTHON_WEBARGS # runtime + select BR2_PACKAGE_PYTHON_WERKZEUG # runtime + help + Flask/Marshmallow-based REST API framework. + + https://github.com/marshmallow-code/flask-smorest diff --git a/package/python-flask-smorest/python-flask-smorest.hash b/package/python-flask-smorest/python-flask-smorest.hash new file mode 100644 index 00000000000..b468c48fd85 --- /dev/null +++ b/package/python-flask-smorest/python-flask-smorest.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/flask-smorest/json +md5 b10a7a0bdee4505dec3cc7652560bc9e flask-smorest-0.42.3.tar.gz +sha256 736ef072bd5522de750a5a9d9f1bfb6d750d05c66e1b3702bc7a20e4277af9bf flask-smorest-0.42.3.tar.gz +# Locally computed sha256 checksums +sha256 40999ea1d9c1b8202fa44f8e6849a557e22df892481e067abf999879064b9521 LICENSE diff --git a/package/python-flask-smorest/python-flask-smorest.mk b/package/python-flask-smorest/python-flask-smorest.mk new file mode 100644 index 00000000000..6eb1abc6fad --- /dev/null +++ b/package/python-flask-smorest/python-flask-smorest.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-flask-smorest +# +################################################################################ + +PYTHON_FLASK_SMOREST_VERSION = 0.42.3 +PYTHON_FLASK_SMOREST_SOURCE = flask-smorest-$(PYTHON_FLASK_SMOREST_VERSION).tar.gz +PYTHON_FLASK_SMOREST_SITE = https://files.pythonhosted.org/packages/25/91/da55ec1288e821069ab61b6db4acfa171fa268c426523bb4f3a8a91210db +PYTHON_FLASK_SMOREST_SETUP_TYPE = setuptools +PYTHON_FLASK_SMOREST_LICENSE = MIT +PYTHON_FLASK_SMOREST_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash index 50ca14371d5..637733d0026 100644 --- a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash +++ b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flask-sqlalchemy/json -md5 cbc5756b7e14683de1a540516159a81a Flask-SQLAlchemy-3.0.2.tar.gz -sha256 16199f5b3ddfb69e0df2f52ae4c76aedbfec823462349dabb21a1b2e0a2b65e9 Flask-SQLAlchemy-3.0.2.tar.gz +md5 b2439ba29a86fd594e0de4fc0e42ceb6 flask_sqlalchemy-3.1.1.tar.gz +sha256 e4b68bb881802dda1a7d878b2fc84c06d1ee57fb40b874d3dc97dabfa36b8312 flask_sqlalchemy-3.1.1.tar.gz # Locally computed sha256 checksums sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst diff --git a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk index ca6fd0c7933..2ee53d4b00e 100644 --- a/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk +++ b/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_SQLALCHEMY_VERSION = 3.0.2 -PYTHON_FLASK_SQLALCHEMY_SOURCE = Flask-SQLAlchemy-$(PYTHON_FLASK_SQLALCHEMY_VERSION).tar.gz -PYTHON_FLASK_SQLALCHEMY_SITE = https://files.pythonhosted.org/packages/0b/b7/05a8f9c3f010775275f8dec53e40ff7ea1ae61bf1cfa4b524caf4d3da982 +PYTHON_FLASK_SQLALCHEMY_VERSION = 3.1.1 +PYTHON_FLASK_SQLALCHEMY_SOURCE = flask_sqlalchemy-$(PYTHON_FLASK_SQLALCHEMY_VERSION).tar.gz +PYTHON_FLASK_SQLALCHEMY_SITE = https://files.pythonhosted.org/packages/91/53/b0a9fcc1b1297f51e68b69ed3b7c3c40d8c45be1391d77ae198712914392 PYTHON_FLASK_SQLALCHEMY_SETUP_TYPE = setuptools PYTHON_FLASK_SQLALCHEMY_LICENSE = BSD-3-Clause PYTHON_FLASK_SQLALCHEMY_LICENSE_FILES = LICENSE.rst diff --git a/package/python-flask-wtf/python-flask-wtf.hash b/package/python-flask-wtf/python-flask-wtf.hash index 01e4290950b..f4267579550 100644 --- a/package/python-flask-wtf/python-flask-wtf.hash +++ b/package/python-flask-wtf/python-flask-wtf.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flask-wtf/json -md5 d86dbc0befe30fd577a623a51689b900 Flask-WTF-1.0.1.tar.gz -sha256 34fe5c6fee0f69b50e30f81a3b7ea16aa1492a771fe9ad0974d164610c09a6c9 Flask-WTF-1.0.1.tar.gz +md5 cbdd73ec30c7b3b887dc12026fd4954c flask_wtf-1.2.1.tar.gz +sha256 8bb269eb9bb46b87e7c8233d7e7debdf1f8b74bf90cc1789988c29b37a97b695 flask_wtf-1.2.1.tar.gz # Locally computed sha256 checksums sha256 d5f19036451578cb36eeef04c99ebf7d7ca2e70dcf043636519bc420e15a7c62 LICENSE.rst diff --git a/package/python-flask-wtf/python-flask-wtf.mk b/package/python-flask-wtf/python-flask-wtf.mk index 97291e1b26e..8274585ad3a 100644 --- a/package/python-flask-wtf/python-flask-wtf.mk +++ b/package/python-flask-wtf/python-flask-wtf.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FLASK_WTF_VERSION = 1.0.1 -PYTHON_FLASK_WTF_SOURCE = Flask-WTF-$(PYTHON_FLASK_WTF_VERSION).tar.gz -PYTHON_FLASK_WTF_SITE = https://files.pythonhosted.org/packages/d9/38/d4798dd05be711d666e1befb08b1d3db57bd146d1a14d15657f60c88b446 +PYTHON_FLASK_WTF_VERSION = 1.2.1 +PYTHON_FLASK_WTF_SOURCE = flask_wtf-$(PYTHON_FLASK_WTF_VERSION).tar.gz +PYTHON_FLASK_WTF_SITE = https://files.pythonhosted.org/packages/9b/ef/b6ec35e02f479f6e76e02ede14594c9cfa5e6dcbab6ea0e82fa413993a2a PYTHON_FLASK_WTF_LICENSE = BSD-3-Clause PYTHON_FLASK_WTF_LICENSE_FILES = LICENSE.rst PYTHON_FLASK_WTF_SETUP_TYPE = setuptools diff --git a/package/python-flask/Config.in b/package/python-flask/Config.in index 8a44bf2db4a..8dc2cef356d 100644 --- a/package/python-flask/Config.in +++ b/package/python-flask/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_PYTHON_FLASK bool "python-flask" + select BR2_PACKAGE_PYTHON_BLINKER # runtime select BR2_PACKAGE_PYTHON_CLICK # runtime select BR2_PACKAGE_PYTHON_JINJA2 # runtime select BR2_PACKAGE_PYTHON_WERKZEUG # runtime select BR2_PACKAGE_PYTHON_ITSDANGEROUS # runtime - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON3_SSL select BR2_PACKAGE_PYTHON3_ZLIB help diff --git a/package/python-flask/python-flask.hash b/package/python-flask/python-flask.hash index 9b6391750aa..3b5afc48e79 100644 --- a/package/python-flask/python-flask.hash +++ b/package/python-flask/python-flask.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/flask/json -md5 c0d2276cb7d59a06d62c915da9c77ba6 Flask-2.2.2.tar.gz -sha256 642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b Flask-2.2.2.tar.gz +md5 4848c9d5305197822b5b00c8e9a6d9aa flask-3.0.0.tar.gz +sha256 cfadcdb638b609361d29ec22360d6070a77d7463dcb3ab08d2c2f2f168845f58 flask-3.0.0.tar.gz # Locally computed sha256 checksums sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst -sha256 7535eac513edd12fb8e33f203c6a403549629e34b363418cdbd6c6ea5464515d docs/license.rst +sha256 c9362a7258a11c84a8f7e825ccbbb5c425c6fc02368d3aee6494533fb99ba1f4 docs/license.rst diff --git a/package/python-flask/python-flask.mk b/package/python-flask/python-flask.mk index 1b1ffdf0345..1372d915c13 100644 --- a/package/python-flask/python-flask.mk +++ b/package/python-flask/python-flask.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_FLASK_VERSION = 2.2.2 -PYTHON_FLASK_SOURCE = Flask-$(PYTHON_FLASK_VERSION).tar.gz -PYTHON_FLASK_SITE = https://files.pythonhosted.org/packages/69/b6/53cfa30eed5aa7343daff36622843688ba8c6fe9829bb2b92e193ab1163f -PYTHON_FLASK_SETUP_TYPE = setuptools +PYTHON_FLASK_VERSION = 3.0.0 +PYTHON_FLASK_SOURCE = flask-$(PYTHON_FLASK_VERSION).tar.gz +PYTHON_FLASK_SITE = https://files.pythonhosted.org/packages/d8/09/c1a7354d3925a3c6c8cfdebf4245bae67d633ffda1ba415add06ffc839c5 +PYTHON_FLASK_SETUP_TYPE = flit PYTHON_FLASK_LICENSE = BSD-3-Clause PYTHON_FLASK_LICENSE_FILES = LICENSE.rst docs/license.rst PYTHON_FLASK_CPE_ID_VENDOR = palletsprojects diff --git a/package/python-flit-core/python-flit-core.hash b/package/python-flit-core/python-flit-core.hash index 9281635f1ad..4d4907f5dc4 100644 --- a/package/python-flit-core/python-flit-core.hash +++ b/package/python-flit-core/python-flit-core.hash @@ -1,3 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/flit_core/json -md5 7c41da13273f7787709a24f74e0f5a99 flit_core-3.8.0.tar.gz -sha256 b305b30c99526df5e63d6022dd2310a0a941a187bd3884f4c8ef0418df6c39f3 flit_core-3.8.0.tar.gz +md5 3bc52f1952b9a78361114147da63c35b flit_core-3.9.0.tar.gz +sha256 72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba flit_core-3.9.0.tar.gz +# Locally computed +sha256 35b4f1dec512e617077fd6980dbb43ef8c2887adc5d0185edb4c04da175dd816 LICENSE diff --git a/package/python-flit-core/python-flit-core.mk b/package/python-flit-core/python-flit-core.mk index 4d7bee81dab..34e58d03ca2 100644 --- a/package/python-flit-core/python-flit-core.mk +++ b/package/python-flit-core/python-flit-core.mk @@ -4,15 +4,21 @@ # ################################################################################ -PYTHON_FLIT_CORE_VERSION = 3.8.0 +PYTHON_FLIT_CORE_VERSION = 3.9.0 PYTHON_FLIT_CORE_SOURCE = flit_core-$(PYTHON_FLIT_CORE_VERSION).tar.gz -PYTHON_FLIT_CORE_SITE = https://files.pythonhosted.org/packages/10/e5/be08751d07b30889af130cec20955c987a74380a10058e6e8856e4010afc +PYTHON_FLIT_CORE_SITE = https://files.pythonhosted.org/packages/c4/e6/c1ac50fe3eebb38a155155711e6e864e254ce4b6e17fe2429b4c4d5b9e80 PYTHON_FLIT_CORE_LICENSE = BSD-3-Clause +PYTHON_FLIT_CORE_LICENSE_FILES = LICENSE PYTHON_FLIT_CORE_SETUP_TYPE = flit-bootstrap # Use flit built in bootstrap_install for installing host-python-flit-core. # This is due to host-python-installer depending on host-python-flit-core. -# -HOST_PYTHON_FLIT_CORE_BASE_INSTALL_CMD = -m bootstrap_install dist/* $(HOST_PKG_PYTHON_PEP517_BOOTSTRAP_INSTALL_OPTS) +define HOST_PYTHON_FLIT_CORE_INSTALL_CMDS + cd $($(PKG)_BUILDDIR)/; \ + $(HOST_PKG_PYTHON_FLIT_BOOTSTRAP_ENV) \ + $(HOST_DIR)/bin/python3 \ + -m bootstrap_install dist/* \ + --installdir=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages +endef $(eval $(host-python-package)) diff --git a/package/python-fonttools/python-fonttools.hash b/package/python-fonttools/python-fonttools.hash index 4b4751dc822..74766564107 100644 --- a/package/python-fonttools/python-fonttools.hash +++ b/package/python-fonttools/python-fonttools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/fonttools/json -md5 f4775967d29b0da2f29ba499eed34f88 fonttools-4.38.0.zip -sha256 2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1 fonttools-4.38.0.zip +md5 767059d1d373ade070d38295feaa3f92 fonttools-4.47.0.tar.gz +sha256 ec13a10715eef0e031858c1c23bfaee6cba02b97558e4a7bfa089dba4a8c2ebf fonttools-4.47.0.tar.gz # Locally computed sha256 checksums sha256 6787208f83f659ccbc2223b2fde952ffa6f7e8aca62f1a8a2bf5bc51bb1b2383 LICENSE diff --git a/package/python-fonttools/python-fonttools.mk b/package/python-fonttools/python-fonttools.mk index d31d3a28898..e2472aa1846 100644 --- a/package/python-fonttools/python-fonttools.mk +++ b/package/python-fonttools/python-fonttools.mk @@ -4,19 +4,13 @@ # ################################################################################ -PYTHON_FONTTOOLS_VERSION = 4.38.0 -PYTHON_FONTTOOLS_SOURCE = fonttools-$(PYTHON_FONTTOOLS_VERSION).zip -PYTHON_FONTTOOLS_SITE = https://files.pythonhosted.org/packages/55/5c/a4a25cf6db42d113d8f626901bb156b2f7cf7c7564a6bbc7b5cd6f7cb484 +PYTHON_FONTTOOLS_VERSION = 4.47.0 +PYTHON_FONTTOOLS_SOURCE = fonttools-$(PYTHON_FONTTOOLS_VERSION).tar.gz +PYTHON_FONTTOOLS_SITE = https://files.pythonhosted.org/packages/dd/e5/9adc30ebca9009d5ad36c7e74462ee5fc51985ca9a845fd26f9f5c99b3df PYTHON_FONTTOOLS_SETUP_TYPE = setuptools PYTHON_FONTTOOLS_LICENSE = MIT PYTHON_FONTTOOLS_LICENSE_FILES = LICENSE PYTHON_FONTTOOLS_DEPENDENCIES = host-python-cython PYTHON_FONTTOOLS_ENV = FONTTOOLS_WITH_CYTHON=1 -define PYTHON_FONTTOOLS_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(PYTHON_FONTTOOLS_DL_DIR)/$(PYTHON_FONTTOOLS_SOURCE) - mv $(@D)/fonttools-$(PYTHON_FONTTOOLS_VERSION)/* $(@D) - $(RM) -r $(@D)/fonttools-$(PYTHON_FONTTOOLS_VERSION) -endef - $(eval $(python-package)) diff --git a/package/python-frozenlist/python-frozenlist.hash b/package/python-frozenlist/python-frozenlist.hash index 04a3a44e894..40a87d2ec04 100644 --- a/package/python-frozenlist/python-frozenlist.hash +++ b/package/python-frozenlist/python-frozenlist.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/frozenlist/json -md5 14e9ffd849c6a1dfa3c6b1fb1ff77b14 frozenlist-1.3.3.tar.gz -sha256 58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a frozenlist-1.3.3.tar.gz +md5 e64b421e8e571623695cd414515f0081 frozenlist-1.4.1.tar.gz +sha256 c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b frozenlist-1.4.1.tar.gz # Locally computed sha256 checksums sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE diff --git a/package/python-frozenlist/python-frozenlist.mk b/package/python-frozenlist/python-frozenlist.mk index 88833b0465a..93335988089 100644 --- a/package/python-frozenlist/python-frozenlist.mk +++ b/package/python-frozenlist/python-frozenlist.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FROZENLIST_VERSION = 1.3.3 +PYTHON_FROZENLIST_VERSION = 1.4.1 PYTHON_FROZENLIST_SOURCE = frozenlist-$(PYTHON_FROZENLIST_VERSION).tar.gz -PYTHON_FROZENLIST_SITE = https://files.pythonhosted.org/packages/e9/10/d629476346112b85c912527b9080944fd2c39a816c2225413dbc0bb6fcc0 +PYTHON_FROZENLIST_SITE = https://files.pythonhosted.org/packages/cf/3d/2102257e7acad73efc4a0c306ad3953f68c504c16982bbdfee3ad75d8085 PYTHON_FROZENLIST_SETUP_TYPE = setuptools PYTHON_FROZENLIST_LICENSE = Apache-2.0 PYTHON_FROZENLIST_LICENSE_FILES = LICENSE diff --git a/package/python-future/python-future.hash b/package/python-future/python-future.hash index 4fb5d2a2d72..3b2bbb02126 100644 --- a/package/python-future/python-future.hash +++ b/package/python-future/python-future.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.python.org/pypi/future/json -md5 e4579c836b9c025872efe230f6270349 future-0.18.2.tar.gz -sha256 b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d future-0.18.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/future/json +md5 dedcb70d14b23388670d54145aab8be4 future-0.18.3.tar.gz +sha256 34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307 future-0.18.3.tar.gz # Locally computed sha256 checksums sha256 916e561392d48471b9c23437f56e2652f320cb3b119ceaa162edf41016f746b9 LICENSE.txt diff --git a/package/python-future/python-future.mk b/package/python-future/python-future.mk index 76f32180ac0..57bf13d83bb 100644 --- a/package/python-future/python-future.mk +++ b/package/python-future/python-future.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FUTURE_VERSION = 0.18.2 +PYTHON_FUTURE_VERSION = 0.18.3 PYTHON_FUTURE_SOURCE = future-$(PYTHON_FUTURE_VERSION).tar.gz -PYTHON_FUTURE_SITE = https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9 +PYTHON_FUTURE_SITE = https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec PYTHON_FUTURE_SETUP_TYPE = setuptools PYTHON_FUTURE_LICENSE = MIT PYTHON_FUTURE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-gast/python-gast.hash b/package/python-gast/python-gast.hash index f16d001a6a8..9ce52969386 100644 --- a/package/python-gast/python-gast.hash +++ b/package/python-gast/python-gast.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/gast/json -md5 fdff900805e03e9dd76d377eb4cbaed7 gast-0.5.3.tar.gz -sha256 cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea gast-0.5.3.tar.gz +md5 907c689e3fdbc7a48cc010e665195baa gast-0.5.4.tar.gz +sha256 9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97 gast-0.5.4.tar.gz # Locally computed sha256 checksums sha256 6a04bbabd9b48bea6bf7c0bd3f3a062e1476b3c403a746448fd69b0d902e148f LICENSE diff --git a/package/python-gast/python-gast.mk b/package/python-gast/python-gast.mk index e02e87fb23e..0db1dbe93eb 100644 --- a/package/python-gast/python-gast.mk +++ b/package/python-gast/python-gast.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_GAST_VERSION = 0.5.3 +PYTHON_GAST_VERSION = 0.5.4 PYTHON_GAST_SOURCE = gast-$(PYTHON_GAST_VERSION).tar.gz -PYTHON_GAST_SITE = https://files.pythonhosted.org/packages/48/a3/0bd844c54ae8141642088b7ae09dd38fec2ec7faa9b7d25bb6a23c1f266f +PYTHON_GAST_SITE = https://files.pythonhosted.org/packages/e4/41/f26f62ebef1a80148e20951a6e9ef4d0ebbe2090124bc143da26e12a934c PYTHON_GAST_SETUP_TYPE = setuptools PYTHON_GAST_LICENSE = BSD-3-Clause PYTHON_GAST_LICENSE_FILES = LICENSE diff --git a/package/python-git/Config.in b/package/python-git/Config.in index 3c23f91c365..183b377c460 100644 --- a/package/python-git/Config.in +++ b/package/python-git/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_PYTHON_GIT depends on BR2_USE_MMU # git select BR2_PACKAGE_GIT # runtime select BR2_PACKAGE_PYTHON_GITDB2 # runtime - select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help GitPython is a python library used to interact with git repositories, high-level like git-porcelain, or low-level diff --git a/package/python-git/python-git.hash b/package/python-git/python-git.hash index 0c8c764bf37..a9798717960 100644 --- a/package/python-git/python-git.hash +++ b/package/python-git/python-git.hash @@ -1,3 +1,5 @@ -# locally computed hashes -sha256 8282d0d1169a3a98546979bfae1524608670fadc4ca7636517aadd428e0cfbeb python-git-3.1.24.tar.gz -sha256 fd657ffc2cef63d25c78cab7808d414dd03a282e63893491fd11c32f98be67fb LICENSE +# md5, sha256 from https://pypi.org/pypi/gitpython/json +md5 db4f2a27c8abc4a7e25504e3aeab4a84 GitPython-3.1.40.tar.gz +sha256 22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4 GitPython-3.1.40.tar.gz +# Locally computed sha256 checksums +sha256 86fc94c321a9afbc11514713511bafded225f25100dcc0f7350e82bc231b8beb LICENSE diff --git a/package/python-git/python-git.mk b/package/python-git/python-git.mk index 9b2771ca070..91d6b07ab19 100644 --- a/package/python-git/python-git.mk +++ b/package/python-git/python-git.mk @@ -4,8 +4,9 @@ # ################################################################################ -PYTHON_GIT_VERSION = 3.1.24 -PYTHON_GIT_SITE = $(call github,gitpython-developers,GitPython,$(PYTHON_GIT_VERSION)) +PYTHON_GIT_VERSION = 3.1.40 +PYTHON_GIT_SOURCE = GitPython-$(PYTHON_GIT_VERSION).tar.gz +PYTHON_GIT_SITE = https://files.pythonhosted.org/packages/0d/b2/37265877ae607a2cbf9a471f4581dbf5ed13a501b90cb4c773f9ccfff3ea PYTHON_GIT_LICENSE = BSD-3-Clause PYTHON_GIT_LICENSE_FILES = LICENSE PYTHON_GIT_SETUP_TYPE = setuptools diff --git a/package/python-gitdb2/python-gitdb2.hash b/package/python-gitdb2/python-gitdb2.hash index 7bc187cf53f..c70c1aade92 100644 --- a/package/python-gitdb2/python-gitdb2.hash +++ b/package/python-gitdb2/python-gitdb2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/gitdb/json -md5 3f52187435ab0b6e64a15782ffaf29ab gitdb-4.0.7.tar.gz -sha256 96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005 gitdb-4.0.7.tar.gz +md5 6071755f2899cd4882b83a070b045bac gitdb-4.0.11.tar.gz +sha256 bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b gitdb-4.0.11.tar.gz # Locally computed sha256 checksums sha256 efd29f596a08e8857e68e7694a50bcda72839792da7c3f041bcbff5f18009239 LICENSE diff --git a/package/python-gitdb2/python-gitdb2.mk b/package/python-gitdb2/python-gitdb2.mk index 91a17e24a76..424f37f8f4e 100644 --- a/package/python-gitdb2/python-gitdb2.mk +++ b/package/python-gitdb2/python-gitdb2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_GITDB2_VERSION = 4.0.7 +PYTHON_GITDB2_VERSION = 4.0.11 PYTHON_GITDB2_SOURCE = gitdb-$(PYTHON_GITDB2_VERSION).tar.gz -PYTHON_GITDB2_SITE = https://files.pythonhosted.org/packages/34/fe/9265459642ab6e29afe734479f94385870e8702e7f892270ed6e52dd15bf +PYTHON_GITDB2_SITE = https://files.pythonhosted.org/packages/19/0d/bbb5b5ee188dec84647a4664f3e11b06ade2bde568dbd489d9d64adef8ed PYTHON_GITDB2_SETUP_TYPE = setuptools PYTHON_GITDB2_LICENSE = BSD-3-Clause PYTHON_GITDB2_LICENSE_FILES = LICENSE diff --git a/package/python-glslang/python-glslang.hash b/package/python-glslang/python-glslang.hash new file mode 100644 index 00000000000..df9127939ef --- /dev/null +++ b/package/python-glslang/python-glslang.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 592c98aeb03b3e81597ddaf83633c4e63068d14b18a766fd11033bad73127162 python-glslang-11.13.0.tar.gz +sha256 adb783e734e906d1f46db5df29991dbde84bdb0ceab502ac2febb44fe3c2b5f4 LICENSE.txt diff --git a/package/python-glslang/python-glslang.mk b/package/python-glslang/python-glslang.mk new file mode 100644 index 00000000000..94f480e30a1 --- /dev/null +++ b/package/python-glslang/python-glslang.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-glslang +# +################################################################################ + +PYTHON_GLSLANG_VERSION = 11.13.0 +PYTHON_GLSLANG_SITE = $(call github,KhronosGroup,glslang,$(PYTHON_GLSLANG_VERSION)) +PYTHON_GLSLANG_LICENSE = BSD-3-Clause +PYTHON_GLSLANG_LICENSE_FILES = LICENSE.txt +PYTHON_GLSLANG_DEPENDENCIES = host-python3 + +$(eval $(host-cmake-package)) diff --git a/package/python-gnupg/python-gnupg.hash b/package/python-gnupg/python-gnupg.hash index 7886ff7daef..4a194ad41e2 100644 --- a/package/python-gnupg/python-gnupg.hash +++ b/package/python-gnupg/python-gnupg.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-gnupg/json -md5 19cc1aef3a612b7b5f13e388260e65d4 python-gnupg-0.5.0.tar.gz -sha256 70758e387fc0e0c4badbcb394f61acbe68b34970a8fed7e0f7c89469fe17912a python-gnupg-0.5.0.tar.gz +md5 b263ea268692cfe687d29d52daab4770 python-gnupg-0.5.2.tar.gz +sha256 01d8013931c9fa3f45824bbea7054c03d6e11f258a72e7e086e168dbcb91854c python-gnupg-0.5.2.tar.gz # Locally computed sha256 checksums sha256 4104ca980dbca7603fc553078378eb14566a76f819d033d7bff89fd6a97e181b LICENSE.txt diff --git a/package/python-gnupg/python-gnupg.mk b/package/python-gnupg/python-gnupg.mk index b51ac61892e..ddf2287f9b7 100644 --- a/package/python-gnupg/python-gnupg.mk +++ b/package/python-gnupg/python-gnupg.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_GNUPG_VERSION = 0.5.0 -PYTHON_GNUPG_SITE = https://files.pythonhosted.org/packages/e3/5c/5ff9877001616912a74f4377cd5f80925b31a678087800beae5b28bdb80e +PYTHON_GNUPG_VERSION = 0.5.2 +PYTHON_GNUPG_SITE = https://files.pythonhosted.org/packages/b1/5d/4425390ad81d22b330a1b0df204c4d39fb3cb7c39e081d51e9f7426ce716 PYTHON_GNUPG_LICENSE = BSD-3-Clause PYTHON_GNUPG_LICENSE_FILES = LICENSE.txt PYTHON_GNUPG_CPE_ID_VENDOR = python diff --git a/package/python-gobject/python-gobject.hash b/package/python-gobject/python-gobject.hash index 43983560063..2fb9d38ab0f 100644 --- a/package/python-gobject/python-gobject.hash +++ b/package/python-gobject/python-gobject.hash @@ -1,3 +1,3 @@ -# from http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.42/pygobject-3.42.2.sha256sum +# from https://download.gnome.org/sources/pygobject/3.42/pygobject-3.42.2.sha256sum sha256 ade8695e2a7073849dd0316d31d8728e15e1e0bc71d9ff6d1c09e86be52bc957 pygobject-3.42.2.tar.xz sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING diff --git a/package/python-gobject/python-gobject.mk b/package/python-gobject/python-gobject.mk index 014090540fd..a12ce5c107f 100644 --- a/package/python-gobject/python-gobject.mk +++ b/package/python-gobject/python-gobject.mk @@ -7,7 +7,7 @@ PYTHON_GOBJECT_VERSION_MAJOR = 3.42 PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).2 PYTHON_GOBJECT_SOURCE = pygobject-$(PYTHON_GOBJECT_VERSION).tar.xz -PYTHON_GOBJECT_SITE = https://ftp.gnome.org/pub/gnome/sources/pygobject/$(PYTHON_GOBJECT_VERSION_MAJOR) +PYTHON_GOBJECT_SITE = https://download.gnome.org/sources/pygobject/$(PYTHON_GOBJECT_VERSION_MAJOR) PYTHON_GOBJECT_LICENSE = LGPL-2.1+ PYTHON_GOBJECT_LICENSE_FILES = COPYING PYTHON_GOBJECT_INSTALL_STAGING = YES diff --git a/package/python-google-api-core/Config.in b/package/python-google-api-core/Config.in new file mode 100644 index 00000000000..689923a2f48 --- /dev/null +++ b/package/python-google-api-core/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_GOOGLE_API_CORE + bool "python-google-api-core" + select BR2_PACKAGE_PYTHON_GOOGLE_AUTH # runtime + select BR2_PACKAGE_PYTHON_GOOGLEAPIS_COMMON_PROTOS # runtime + select BR2_PACKAGE_PYTHON_PROTOBUF # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + help + Google API client core library. + + https://github.com/googleapis/python-api-core diff --git a/package/python-google-api-core/python-google-api-core.hash b/package/python-google-api-core/python-google-api-core.hash new file mode 100644 index 00000000000..5a1cd7f1cb9 --- /dev/null +++ b/package/python-google-api-core/python-google-api-core.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/google-api-core/json +md5 58a4ce34a405e514cdb5295c80834cfd google-api-core-2.15.0.tar.gz +sha256 abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca google-api-core-2.15.0.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-google-api-core/python-google-api-core.mk b/package/python-google-api-core/python-google-api-core.mk new file mode 100644 index 00000000000..84042d8d7ac --- /dev/null +++ b/package/python-google-api-core/python-google-api-core.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-google-api-core +# +################################################################################ + +PYTHON_GOOGLE_API_CORE_VERSION = 2.15.0 +PYTHON_GOOGLE_API_CORE_SOURCE = google-api-core-$(PYTHON_GOOGLE_API_CORE_VERSION).tar.gz +PYTHON_GOOGLE_API_CORE_SITE = https://files.pythonhosted.org/packages/2c/e4/56b14d35057a23cab9067dd8fb841407d05d32b5d6c7a3c66c1360e8a7c0 +PYTHON_GOOGLE_API_CORE_SETUP_TYPE = setuptools +PYTHON_GOOGLE_API_CORE_LICENSE = Apache-2.0 +PYTHON_GOOGLE_API_CORE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-google-auth/Config.in b/package/python-google-auth/Config.in new file mode 100644 index 00000000000..eb5be9cda54 --- /dev/null +++ b/package/python-google-auth/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_GOOGLE_AUTH + bool "python-google-auth" + select BR2_PACKAGE_PYTHON_CACHETOOLS # runtime + select BR2_PACKAGE_PYTHON_PYASN1_MODULES # runtime + select BR2_PACKAGE_PYTHON_RSA # runtime + help + Google Authentication Library. + + https://github.com/googleapis/google-auth-library-python diff --git a/package/python-google-auth/python-google-auth.hash b/package/python-google-auth/python-google-auth.hash new file mode 100644 index 00000000000..9c201391f47 --- /dev/null +++ b/package/python-google-auth/python-google-auth.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/google-auth/json +md5 718e1a2c55baf3b019e9a42524812113 google-auth-2.26.1.tar.gz +sha256 54385acca5c0fbdda510cd8585ba6f3fcb06eeecf8a6ecca39d3ee148b092590 google-auth-2.26.1.tar.gz +# Locally computed sha256 checksums +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/python-google-auth/python-google-auth.mk b/package/python-google-auth/python-google-auth.mk new file mode 100644 index 00000000000..02c8c1164f8 --- /dev/null +++ b/package/python-google-auth/python-google-auth.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-google-auth +# +################################################################################ + +PYTHON_GOOGLE_AUTH_VERSION = 2.26.1 +PYTHON_GOOGLE_AUTH_SOURCE = google-auth-$(PYTHON_GOOGLE_AUTH_VERSION).tar.gz +PYTHON_GOOGLE_AUTH_SITE = https://files.pythonhosted.org/packages/bc/c0/b5119831db4888e703b2adaa912709931181678ae3a50ca08d51a3904765 +PYTHON_GOOGLE_AUTH_SETUP_TYPE = setuptools +PYTHON_GOOGLE_AUTH_LICENSE = Apache-2.0 +PYTHON_GOOGLE_AUTH_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-googleapis-common-protos/Config.in b/package/python-googleapis-common-protos/Config.in new file mode 100644 index 00000000000..8f487f5ee69 --- /dev/null +++ b/package/python-googleapis-common-protos/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_GOOGLEAPIS_COMMON_PROTOS + bool "python-googleapis-common-protos" + select BR2_PACKAGE_PYTHON_PROTOBUF # runtime + help + Common protobufs used in Google APIs. + + https://github.com/googleapis/python-api-common-protos diff --git a/package/python-googleapis-common-protos/python-googleapis-common-protos.hash b/package/python-googleapis-common-protos/python-googleapis-common-protos.hash new file mode 100644 index 00000000000..1169e945e98 --- /dev/null +++ b/package/python-googleapis-common-protos/python-googleapis-common-protos.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/googleapis-common-protos/json +md5 148bfe9b5a92663c5ff0a6700453ebad googleapis-common-protos-1.62.0.tar.gz +sha256 83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277 googleapis-common-protos-1.62.0.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-googleapis-common-protos/python-googleapis-common-protos.mk b/package/python-googleapis-common-protos/python-googleapis-common-protos.mk new file mode 100644 index 00000000000..ca943a1cd37 --- /dev/null +++ b/package/python-googleapis-common-protos/python-googleapis-common-protos.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-googleapis-common-protos +# +################################################################################ + +PYTHON_GOOGLEAPIS_COMMON_PROTOS_VERSION = 1.62.0 +PYTHON_GOOGLEAPIS_COMMON_PROTOS_SOURCE = googleapis-common-protos-$(PYTHON_GOOGLEAPIS_COMMON_PROTOS_VERSION).tar.gz +PYTHON_GOOGLEAPIS_COMMON_PROTOS_SITE = https://files.pythonhosted.org/packages/4a/5f/eb12d721b45d20a977289d674e179995a0ddab1684d2c61b29a63d43a5f1 +PYTHON_GOOGLEAPIS_COMMON_PROTOS_SETUP_TYPE = setuptools +PYTHON_GOOGLEAPIS_COMMON_PROTOS_LICENSE = Apache-2.0 +PYTHON_GOOGLEAPIS_COMMON_PROTOS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-gpiozero/python-gpiozero.hash b/package/python-gpiozero/python-gpiozero.hash index 7359f6405ec..d019b543463 100644 --- a/package/python-gpiozero/python-gpiozero.hash +++ b/package/python-gpiozero/python-gpiozero.hash @@ -1,4 +1,5 @@ -# Locally computed -sha256 7e6da923774437e24edc0c056e486415bace8c4ba4123c22ac4214147854ea6d python-gpiozero-1.6.2.tar.gz -# Locally computed +# md5, sha256 from https://pypi.org/pypi/gpiozero/json +md5 b8b63443961de2710d88b82671ec6d8a gpiozero-2.0.tar.gz +sha256 403bcc9e7f24f0877653e7fced91ba51508d5197c9d1f80e383fe6693b9c3c27 gpiozero-2.0.tar.gz +# Locally computed sha256 checksums sha256 b6fdd587f3dc3a9b8cc5adae00918e3ffa909b1092bd4decf7e8b1b08fa5d0fb LICENSE.rst diff --git a/package/python-gpiozero/python-gpiozero.mk b/package/python-gpiozero/python-gpiozero.mk index a68c39db1f5..bce7644a34c 100644 --- a/package/python-gpiozero/python-gpiozero.mk +++ b/package/python-gpiozero/python-gpiozero.mk @@ -4,8 +4,9 @@ # ################################################################################ -PYTHON_GPIOZERO_VERSION = 1.6.2 -PYTHON_GPIOZERO_SITE = $(call github,gpiozero,gpiozero,v$(PYTHON_GPIOZERO_VERSION)) +PYTHON_GPIOZERO_VERSION = 2.0 +PYTHON_GPIOZERO_SOURCE = gpiozero-$(PYTHON_GPIOZERO_VERSION).tar.gz +PYTHON_GPIOZERO_SITE = https://files.pythonhosted.org/packages/b3/a7/85676e0689114ea08ea3c88b7813efd988a9ead64dc9e1b24545b17af4fd PYTHON_GPIOZERO_LICENSE = BSD-3-Clause PYTHON_GPIOZERO_LICENSE_FILES = LICENSE.rst PYTHON_GPIOZERO_SETUP_TYPE = setuptools diff --git a/package/python-greenlet/Config.in b/package/python-greenlet/Config.in index 9f66ebe119e..ae092e3ffe8 100644 --- a/package/python-greenlet/Config.in +++ b/package/python-greenlet/Config.in @@ -12,7 +12,12 @@ config BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS config BR2_PACKAGE_PYTHON_GREENLET bool "python-greenlet" depends on BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP help Lightweight in-process concurrent programming. https://github.com/python-greenlet/greenlet + +comment "python-greenlet needs a toolchain w/ C++" + depends on BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-greenlet/python-greenlet.hash b/package/python-greenlet/python-greenlet.hash index 4e9e96398a1..61e7f053466 100644 --- a/package/python-greenlet/python-greenlet.hash +++ b/package/python-greenlet/python-greenlet.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/greenlet/json -md5 8d0f10b807144a86b54841cfab2620a9 greenlet-2.0.1.tar.gz -sha256 42e602564460da0e8ee67cb6d7236363ee5e131aa15943b6670e44e5c2ed0f67 greenlet-2.0.1.tar.gz +md5 170495b0af3b63ca40ca637dd6e5c6ef greenlet-3.0.3.tar.gz +sha256 43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491 greenlet-3.0.3.tar.gz # Locally computed sha256 checksums sha256 769831d6e5dfaf2c20802faccff1fafb4c2025dd8f6253dfa47fcad59d4d0979 LICENSE sha256 e5ff3c23c110e494cd7d736c10fd96d462457bafeca310840db6527298c7d46b LICENSE.PSF diff --git a/package/python-greenlet/python-greenlet.mk b/package/python-greenlet/python-greenlet.mk index 232e2820f80..1af104519ba 100644 --- a/package/python-greenlet/python-greenlet.mk +++ b/package/python-greenlet/python-greenlet.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_GREENLET_VERSION = 2.0.1 +PYTHON_GREENLET_VERSION = 3.0.3 PYTHON_GREENLET_SOURCE = greenlet-$(PYTHON_GREENLET_VERSION).tar.gz -PYTHON_GREENLET_SITE = https://files.pythonhosted.org/packages/fd/6a/f07b0028baff9bca61ecfcd9ee021e7e33369da8094f00eff409f2ff32be +PYTHON_GREENLET_SITE = https://files.pythonhosted.org/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185 PYTHON_GREENLET_SETUP_TYPE = setuptools PYTHON_GREENLET_LICENSE = MIT, PSF-2.0 PYTHON_GREENLET_LICENSE_FILES = LICENSE LICENSE.PSF diff --git a/package/python-grpc-requests/Config.in b/package/python-grpc-requests/Config.in new file mode 100644 index 00000000000..1cdd0d3f67f --- /dev/null +++ b/package/python-grpc-requests/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_PYTHON_GRPC_REQUESTS + bool "python-grpc-requests" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography + depends on BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS # python-grpcio + depends on BR2_INSTALL_LIBSTDCPP # python-grpcio + select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime + select BR2_PACKAGE_PYTHON_GOOGLE_API_CORE # runtime + select BR2_PACKAGE_PYTHON_GRPCIO # runtime + select BR2_PACKAGE_PYTHON_GRPCIO_REFLECTION # runtime + help + grpc for Humans. grpc reflection support client. + + https://github.com/wesky93/grpc_requests + +comment "python-grpcio-requests needs a toolchain w/ C++" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-grpc-requests/python-grpc-requests.hash b/package/python-grpc-requests/python-grpc-requests.hash new file mode 100644 index 00000000000..c816a65b50f --- /dev/null +++ b/package/python-grpc-requests/python-grpc-requests.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/grpc-requests/json +md5 39f0d7ef45ab3620d8b63c2408af35b0 grpc_requests-0.1.13.tar.gz +sha256 30a00493b206156b94be21f641edcbef5ea69fb43daf503390da661123520521 grpc_requests-0.1.13.tar.gz +# Locally computed sha256 checksums +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/python-grpc-requests/python-grpc-requests.mk b/package/python-grpc-requests/python-grpc-requests.mk new file mode 100644 index 00000000000..9ffd73d4248 --- /dev/null +++ b/package/python-grpc-requests/python-grpc-requests.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-grpc-requests +# +################################################################################ + +PYTHON_GRPC_REQUESTS_VERSION = 0.1.13 +PYTHON_GRPC_REQUESTS_SOURCE = grpc_requests-$(PYTHON_GRPC_REQUESTS_VERSION).tar.gz +PYTHON_GRPC_REQUESTS_SITE = https://files.pythonhosted.org/packages/46/51/8981bce4ca61bce1c7b7a12dd04f6cbd35c4ea874842b06283f6bbc9a0e8 +PYTHON_GRPC_REQUESTS_SETUP_TYPE = setuptools +PYTHON_GRPC_REQUESTS_LICENSE = Apache-2.0 +PYTHON_GRPC_REQUESTS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-grpcio-reflection/Config.in b/package/python-grpcio-reflection/Config.in new file mode 100644 index 00000000000..a0ca35c286e --- /dev/null +++ b/package/python-grpcio-reflection/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PYTHON_GRPCIO_REFLECTION + bool "python-grpcio-reflection" + depends on BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS # python-grpcio + depends on BR2_INSTALL_LIBSTDCPP # python-grpcio + select BR2_PACKAGE_PYTHON_GRPCIO # runtime + select BR2_PACKAGE_PYTHON_PROTOBUF # runtime + help + Standard Protobuf Reflection Service for gRPC. + + https://grpc.io + +comment "python-grpcio-reflection needs a toolchain w/ C++" + depends on BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-grpcio-reflection/python-grpcio-reflection.hash b/package/python-grpcio-reflection/python-grpcio-reflection.hash new file mode 100644 index 00000000000..d17087d4bb8 --- /dev/null +++ b/package/python-grpcio-reflection/python-grpcio-reflection.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/grpcio-reflection/json +md5 f93b042f8092cf1818f249518668a78a grpcio-reflection-1.60.0.tar.gz +sha256 3f6c0c73ba8f20d1420c5e72fc4dd0389fac346ed8fb32a28e6e1967b44fff35 grpcio-reflection-1.60.0.tar.gz +# Locally computed sha256 checksums +sha256 590198e3f305f2c347fde64d637c65492bbef554db6c8364e149cd375e3797ee LICENSE diff --git a/package/python-grpcio-reflection/python-grpcio-reflection.mk b/package/python-grpcio-reflection/python-grpcio-reflection.mk new file mode 100644 index 00000000000..b3d2fdffa84 --- /dev/null +++ b/package/python-grpcio-reflection/python-grpcio-reflection.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-grpcio-reflection +# +################################################################################ + +PYTHON_GRPCIO_REFLECTION_VERSION = 1.60.0 +PYTHON_GRPCIO_REFLECTION_SOURCE = grpcio-reflection-$(PYTHON_GRPCIO_REFLECTION_VERSION).tar.gz +PYTHON_GRPCIO_REFLECTION_SITE = https://files.pythonhosted.org/packages/33/3a/e257225b8fd9f05d2af3e363459f0d074ca684438667892ea3215e2162ca +PYTHON_GRPCIO_REFLECTION_SETUP_TYPE = setuptools +PYTHON_GRPCIO_REFLECTION_LICENSE = Apache-2.0 +PYTHON_GRPCIO_REFLECTION_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-grpcio/Config.in b/package/python-grpcio/Config.in new file mode 100644 index 00000000000..9657ccb6ede --- /dev/null +++ b/package/python-grpcio/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS + bool + # see third_party/boringssl-with-bazel/src/include/openssl/target.h + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_riscv + +config BR2_PACKAGE_PYTHON_GRPCIO + bool "python-grpcio" + depends on BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + help + HTTP/2-based RPC framework. + + https://grpc.io + +comment "python-grpcio needs a toolchain w/ C++" + depends on BR2_PACKAGE_PYTHON_GRPCIO_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-grpcio/python-grpcio.hash b/package/python-grpcio/python-grpcio.hash new file mode 100644 index 00000000000..39366f576eb --- /dev/null +++ b/package/python-grpcio/python-grpcio.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/grpcio/json +md5 480bfb7435426de392a883e6516aae79 grpcio-1.60.0.tar.gz +sha256 2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96 grpcio-1.60.0.tar.gz +# Locally computed sha256 checksums +sha256 590198e3f305f2c347fde64d637c65492bbef554db6c8364e149cd375e3797ee LICENSE diff --git a/package/python-grpcio/python-grpcio.mk b/package/python-grpcio/python-grpcio.mk new file mode 100644 index 00000000000..3d264de4afc --- /dev/null +++ b/package/python-grpcio/python-grpcio.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-grpcio +# +################################################################################ + +PYTHON_GRPCIO_VERSION = 1.60.0 +PYTHON_GRPCIO_SOURCE = grpcio-$(PYTHON_GRPCIO_VERSION).tar.gz +PYTHON_GRPCIO_SITE = https://files.pythonhosted.org/packages/61/38/c615b5c2be690fb31871f294cc08a96e598b085b8d07c5967a5018e0b90c +PYTHON_GRPCIO_SETUP_TYPE = setuptools +PYTHON_GRPCIO_LICENSE = Apache-2.0 +PYTHON_GRPCIO_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-gunicorn/Config.in b/package/python-gunicorn/Config.in index 18f0c034ba8..a670dd4814f 100644 --- a/package/python-gunicorn/Config.in +++ b/package/python-gunicorn/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_GUNICORN bool "python-gunicorn" - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_PACKAGING # runtime select BR2_PACKAGE_PYTHON3_SSL # runtime help Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for diff --git a/package/python-gunicorn/python-gunicorn.hash b/package/python-gunicorn/python-gunicorn.hash index cff4915b72a..bd4dc1b3ca6 100644 --- a/package/python-gunicorn/python-gunicorn.hash +++ b/package/python-gunicorn/python-gunicorn.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.python.org/pypi/gunicorn/json -md5 db8a7c5c2064000af70286534803bf1d gunicorn-20.1.0.tar.gz -sha256 e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8 gunicorn-20.1.0.tar.gz -# Locally computed sha256 -sha256 789fe11b92e1cabfbcf744b5fcc392c9bd5c6798603a4e89f925b6337984d1df LICENSE +# md5, sha256 from https://pypi.org/pypi/gunicorn/json +md5 cb41319d6929842c5af7003d48c513a2 gunicorn-21.2.0.tar.gz +sha256 88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033 gunicorn-21.2.0.tar.gz +# Locally computed sha256 checksums +sha256 fc71b8f2ce774a47090c106ac5d1145359f5c0e25a0d9ab42acacd230f596936 LICENSE diff --git a/package/python-gunicorn/python-gunicorn.mk b/package/python-gunicorn/python-gunicorn.mk index fb747bc00e7..effa93e5ef6 100644 --- a/package/python-gunicorn/python-gunicorn.mk +++ b/package/python-gunicorn/python-gunicorn.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_GUNICORN_VERSION = 20.1.0 +PYTHON_GUNICORN_VERSION = 21.2.0 PYTHON_GUNICORN_SOURCE = gunicorn-$(PYTHON_GUNICORN_VERSION).tar.gz -PYTHON_GUNICORN_SITE = https://files.pythonhosted.org/packages/28/5b/0d1f0296485a6af03366604142ea8f19f0833894db3512a40ed07b2a56dd +PYTHON_GUNICORN_SITE = https://files.pythonhosted.org/packages/06/89/acd9879fa6a5309b4bf16a5a8855f1e58f26d38e0c18ede9b3a70996b021 PYTHON_GUNICORN_SETUP_TYPE = setuptools PYTHON_GUNICORN_LICENSE = MIT PYTHON_GUNICORN_LICENSE_FILES = LICENSE +PYTHON_GUNICORN_CPE_ID_VENDOR = gunicorn +PYTHON_GUNICORN_CPE_ID_PRODUCT = gunicorn $(eval $(python-package)) diff --git a/package/python-h11/Config.in b/package/python-h11/Config.in new file mode 100644 index 00000000000..736620d782c --- /dev/null +++ b/package/python-h11/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_H11 + bool "python-h11" + help + A pure-Python, bring-your-own-I/O implementation of + HTTP/1.1. + + https://github.com/python-hyper/h11 diff --git a/package/python-h11/python-h11.hash b/package/python-h11/python-h11.hash new file mode 100644 index 00000000000..0c65a11d00b --- /dev/null +++ b/package/python-h11/python-h11.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/h11/json +md5 84c33fc0aa1f868928114c4d02c43dc2 h11-0.14.0.tar.gz +sha256 8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d h11-0.14.0.tar.gz +# Locally computed sha256 checksums +sha256 37db5bb85926db28a427a25867f10b1232003aea1be69ccb851138adb8e6f361 LICENSE.txt diff --git a/package/python-h11/python-h11.mk b/package/python-h11/python-h11.mk new file mode 100644 index 00000000000..d7dca5244b8 --- /dev/null +++ b/package/python-h11/python-h11.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-h11 +# +################################################################################ + +PYTHON_H11_VERSION = 0.14.0 +PYTHON_H11_SOURCE = h11-$(PYTHON_H11_VERSION).tar.gz +PYTHON_H11_SITE = https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03 +PYTHON_H11_SETUP_TYPE = setuptools +PYTHON_H11_LICENSE = MIT +PYTHON_H11_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.hash b/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.hash index 1b287072b7f..e3a6363eb7d 100644 --- a/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.hash +++ b/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/hatch_fancy_pypi_readme/json -md5 588776ea8e3608714d4cbba16dffa92b hatch_fancy_pypi_readme-22.8.0.tar.gz -sha256 da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a hatch_fancy_pypi_readme-22.8.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/hatch-fancy-pypi-readme/json +md5 f5f9e639f066c91f8e623ec6231beae9 hatch_fancy_pypi_readme-24.1.0.tar.gz +sha256 44dd239f1a779b9dcf8ebc9401a611fd7f7e3e14578dcf22c265dfaf7c1514b8 hatch_fancy_pypi_readme-24.1.0.tar.gz # Locally computed sha256 checksums sha256 e69ea57f96e599e617f61af3e85bf326b87e833994709fb5e5908a81197730a2 LICENSE.txt diff --git a/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.mk b/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.mk index f28721181a4..2a268923881 100644 --- a/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.mk +++ b/package/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HATCH_FANCY_PYPI_README_VERSION = 22.8.0 +PYTHON_HATCH_FANCY_PYPI_README_VERSION = 24.1.0 PYTHON_HATCH_FANCY_PYPI_README_SOURCE = hatch_fancy_pypi_readme-$(PYTHON_HATCH_FANCY_PYPI_README_VERSION).tar.gz -PYTHON_HATCH_FANCY_PYPI_README_SITE = https://files.pythonhosted.org/packages/4e/ab/9b48589d6e3a2f72cc1e8f5221c28ff28fcdf116dbbd6e9beb946054212d +PYTHON_HATCH_FANCY_PYPI_README_SITE = https://files.pythonhosted.org/packages/b4/c2/c9094283a07dd96c5a8f7a5f1910259d40d2e29223b95dd875a6ca13b58f PYTHON_HATCH_FANCY_PYPI_README_LICENSE = MIT PYTHON_HATCH_FANCY_PYPI_README_LICENSE_FILES = LICENSE.txt PYTHON_HATCH_FANCY_PYPI_README_SETUP_TYPE = pep517 diff --git a/package/python-hatch-vcs/python-hatch-vcs.hash b/package/python-hatch-vcs/python-hatch-vcs.hash index 6e5fe1de135..55cd3b3e5ac 100644 --- a/package/python-hatch-vcs/python-hatch-vcs.hash +++ b/package/python-hatch-vcs/python-hatch-vcs.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/hatch_vcs/json -md5 c2f2cbe6851b7b2969cb4aa24c4b9b2f hatch_vcs-0.3.0.tar.gz -sha256 cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee hatch_vcs-0.3.0.tar.gz +md5 d801fe7c3e5955307748f2790bbb3488 hatch_vcs-0.4.0.tar.gz +sha256 093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7 hatch_vcs-0.4.0.tar.gz # Locally computed sha256 checksums sha256 117aa5006d8475562f04442ab06dd2a4c501af3a77255eae0deef1f0c2499a1a LICENSE.txt diff --git a/package/python-hatch-vcs/python-hatch-vcs.mk b/package/python-hatch-vcs/python-hatch-vcs.mk index ef5f6541cd0..46e59f8aa0e 100644 --- a/package/python-hatch-vcs/python-hatch-vcs.mk +++ b/package/python-hatch-vcs/python-hatch-vcs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HATCH_VCS_VERSION = 0.3.0 +PYTHON_HATCH_VCS_VERSION = 0.4.0 PYTHON_HATCH_VCS_SOURCE = hatch_vcs-$(PYTHON_HATCH_VCS_VERSION).tar.gz -PYTHON_HATCH_VCS_SITE = https://files.pythonhosted.org/packages/04/33/b68d68e532392d938472d16a03e4ce0ccd749ea31b42d18f8baa6547cbfd +PYTHON_HATCH_VCS_SITE = https://files.pythonhosted.org/packages/f5/c9/54bb4fa27b4e4a014ef3bb17710cdf692b3aa2cbc7953da885f1bf7e06ea PYTHON_HATCH_VCS_LICENSE = MIT PYTHON_HATCH_VCS_LICENSE_FILES = LICENSE.txt PYTHON_HATCH_VCS_SETUP_TYPE = pep517 diff --git a/package/python-hatchling/python-hatchling.hash b/package/python-hatchling/python-hatchling.hash index 41d7be977eb..e1798e882c8 100644 --- a/package/python-hatchling/python-hatchling.hash +++ b/package/python-hatchling/python-hatchling.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/hatchling/json -md5 e06cc65ac646f9b01df5406aa1f97022 hatchling-1.11.1.tar.gz -sha256 9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0 hatchling-1.11.1.tar.gz +md5 21e5e7ed5fa6dd0618c5b66eb847f370 hatchling-1.21.0.tar.gz +sha256 5c086772357a50723b825fd5da5278ac7e3697cdf7797d07541a6c90b6ff754c hatchling-1.21.0.tar.gz # Locally computed sha256 checksums sha256 7f143a8127ad4873862d70854b5bd2abd0085aa73e64fd2b08704a3b9f5c07fc LICENSE.txt diff --git a/package/python-hatchling/python-hatchling.mk b/package/python-hatchling/python-hatchling.mk index 13155a20a43..d1ed4d23c29 100644 --- a/package/python-hatchling/python-hatchling.mk +++ b/package/python-hatchling/python-hatchling.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HATCHLING_VERSION = 1.11.1 +PYTHON_HATCHLING_VERSION = 1.21.0 PYTHON_HATCHLING_SOURCE = hatchling-$(PYTHON_HATCHLING_VERSION).tar.gz -PYTHON_HATCHLING_SITE = https://files.pythonhosted.org/packages/24/20/3e21d2bc57229822ac9fb9b314d7892c16f829f34a0eb247c55fc11e09a8 +PYTHON_HATCHLING_SITE = https://files.pythonhosted.org/packages/fd/4a/8196e79c0d6e5eb10436dd2fcccc889a76af6ecf9bc35f87408159497d4d PYTHON_HATCHLING_LICENSE = MIT PYTHON_HATCHLING_LICENSE_FILES = LICENSE.txt PYTHON_HATCHLING_SETUP_TYPE = pep517 @@ -14,6 +14,7 @@ HOST_PYTHON_HATCHLING_DEPENDENCIES = \ host-python-editables \ host-python-packaging \ host-python-pathspec \ - host-python-pluggy + host-python-pluggy \ + host-python-trove-classifiers $(eval $(host-python-package)) diff --git a/package/python-hiredis/0001-setup.py-fix-build-with-gcc-4.8.patch b/package/python-hiredis/0001-setup.py-fix-build-with-gcc-4.8.patch deleted file mode 100644 index 93f9440a749..00000000000 --- a/package/python-hiredis/0001-setup.py-fix-build-with-gcc-4.8.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 204898e28c7650089bf664eea8adfc16a22ba4f4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 6 Apr 2021 10:37:49 +0200 -Subject: [PATCH] setup.py: fix build with gcc 4.8 - -Fix the following build failure on gcc 4.8 which is raised since version -2.0.0 and -https://github.com/redis/hiredis-py/commit/9084152f624e8e593b4e86ddf8bd13329fdfc043: - -vendor/hiredis/read.c: In function 'redisReaderFree': -vendor/hiredis/read.c:646:9: error: 'for' loop initial declarations are only allowed in C99 mode - for (int i = 0; i < r->tasks; i++) { - ^ -vendor/hiredis/read.c:646:9: note: use option -std=c99 or -std=gnu99 to compile your code - -This build failure is raised because hiredis source code is built -without C99: -https://github.com/redis/hiredis/commit/13a35bdb64615e381c5e1151cdd4e78bba71a6db - -Fixes: - - http://autobuild.buildroot.org/results/04cbcddf6d83ebad8c98400754f9445375e9e489 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/redis/hiredis-py/pull/110] ---- - setup.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/setup.py b/setup.py -index d83153b..1f623c9 100755 ---- a/setup.py -+++ b/setup.py -@@ -13,6 +13,7 @@ def version(): - ext = Extension("hiredis.hiredis", - sources=sorted(glob.glob("src/*.c") + - ["vendor/hiredis/%s.c" % src for src in ("alloc", "read", "sds")]), -+ extra_compile_args=["-std=c99"], - include_dirs=["vendor"]) - - setup( --- -2.30.2 - diff --git a/package/python-hiredis/python-hiredis.hash b/package/python-hiredis/python-hiredis.hash index 2e73d2f37bf..ad33295ad7c 100644 --- a/package/python-hiredis/python-hiredis.hash +++ b/package/python-hiredis/python-hiredis.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/hiredis/json -md5 0ab76a8b29deb737c9bfc7f631969e38 hiredis-2.0.0.tar.gz -sha256 81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a hiredis-2.0.0.tar.gz +md5 8823961dc3ba19a6e63ab6329b3b852f hiredis-2.3.2.tar.gz +sha256 733e2456b68f3f126ddaf2cd500a33b25146c3676b97ea843665717bda0c5d43 hiredis-2.3.2.tar.gz # Locally computed sha256 checksums -sha256 70edfa6d3e11f9d7497c2c2f298d06f33b11d10f37f76605102c5ab3b1f28262 COPYING +sha256 3256b5b77e98aa34ff31a4d2c2c10f7f177b0f3058753a6044430a168987353b LICENSE sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb vendor/hiredis/COPYING diff --git a/package/python-hiredis/python-hiredis.mk b/package/python-hiredis/python-hiredis.mk index 55f9a09f55e..d86fb109dc4 100644 --- a/package/python-hiredis/python-hiredis.mk +++ b/package/python-hiredis/python-hiredis.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_HIREDIS_VERSION = 2.0.0 +PYTHON_HIREDIS_VERSION = 2.3.2 PYTHON_HIREDIS_SOURCE = hiredis-$(PYTHON_HIREDIS_VERSION).tar.gz -PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/0c/39/eae11344d69ba435ec13d6bcc1a9eea3d2278324506fcd0e52d1ed8958c8 +PYTHON_HIREDIS_SITE = https://files.pythonhosted.org/packages/fe/2d/a5ae61da1157644f7e52e088fa158ac6f5d09775112d14b1c9b9a5156bf1 PYTHON_HIREDIS_SETUP_TYPE = setuptools -PYTHON_HIREDIS_LICENSE = BSD-3-Clause -PYTHON_HIREDIS_LICENSE_FILES = COPYING vendor/hiredis/COPYING +PYTHON_HIREDIS_LICENSE = MIT, BSD-3-Clause +PYTHON_HIREDIS_LICENSE_FILES = LICENSE vendor/hiredis/COPYING $(eval $(python-package)) diff --git a/package/python-hkdf/Config.in b/package/python-hkdf/Config.in new file mode 100644 index 00000000000..2add348ca21 --- /dev/null +++ b/package/python-hkdf/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_HKDF + bool "python-hkdf" + help + HMAC-based Extract-and-Expand Key Derivation Function + (HKDF). + + https://github.com/casebeer/python-hkdf diff --git a/package/python-hkdf/python-hkdf.hash b/package/python-hkdf/python-hkdf.hash new file mode 100644 index 00000000000..87702b4582d --- /dev/null +++ b/package/python-hkdf/python-hkdf.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/hkdf/json +md5 d10471ad0ec891cdbe165d78282c943e hkdf-0.0.3.tar.gz +sha256 622a31c634bc185581530a4b44ffb731ed208acf4614f9c795bdd70e77991dca hkdf-0.0.3.tar.gz diff --git a/package/python-hkdf/python-hkdf.mk b/package/python-hkdf/python-hkdf.mk new file mode 100644 index 00000000000..8b68c5cc9ff --- /dev/null +++ b/package/python-hkdf/python-hkdf.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-hkdf +# +################################################################################ + +PYTHON_HKDF_VERSION = 0.0.3 +PYTHON_HKDF_SOURCE = hkdf-$(PYTHON_HKDF_VERSION).tar.gz +PYTHON_HKDF_SITE = https://files.pythonhosted.org/packages/c3/be/327e072850db181ce56afd51e26ec7aa5659b18466c709fa5ea2548c935f +PYTHON_HKDF_SETUP_TYPE = setuptools +# No license file in the tree, but +# https://github.com/casebeer/python-hkdf/blob/master/LICENSE shows +# it's BSD-2-Clause. Issue already reported upstream: +# https://github.com/casebeer/python-hkdf/issues/6 +PYTHON_HKDF_LICENSE = BSD-2-Clause + +$(eval $(python-package)) diff --git a/package/python-hpack/python-hpack.mk b/package/python-hpack/python-hpack.mk index 3cf534d0551..4b581c1001d 100644 --- a/package/python-hpack/python-hpack.mk +++ b/package/python-hpack/python-hpack.mk @@ -10,5 +10,7 @@ PYTHON_HPACK_SITE = https://files.pythonhosted.org/packages/3e/9b/fda93fb4d957db PYTHON_HPACK_SETUP_TYPE = setuptools PYTHON_HPACK_LICENSE = MIT PYTHON_HPACK_LICENSE_FILES = LICENSE +PYTHON_HPACK_CPE_ID_VENDOR = python +PYTHON_HPACK_CPE_ID_PRODUCT = hpack $(eval $(python-package)) diff --git a/package/python-html5lib/python-html5lib.mk b/package/python-html5lib/python-html5lib.mk index 84229eabd06..320ef01c7af 100644 --- a/package/python-html5lib/python-html5lib.mk +++ b/package/python-html5lib/python-html5lib.mk @@ -10,5 +10,7 @@ PYTHON_HTML5LIB_SITE = https://files.pythonhosted.org/packages/ac/b6/b55c3f49042 PYTHON_HTML5LIB_LICENSE = MIT PYTHON_HTML5LIB_LICENSE_FILES = LICENSE PYTHON_HTML5LIB_SETUP_TYPE = setuptools +PYTHON_HTML5LIB_CPE_ID_VENDOR = html5lib +PYTHON_HTML5LIB_CPE_ID_PRODUCT = html5lib $(eval $(python-package)) diff --git a/package/python-httpcore/Config.in b/package/python-httpcore/Config.in new file mode 100644 index 00000000000..d8c9083da86 --- /dev/null +++ b/package/python-httpcore/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_HTTPCORE + bool "python-httpcore" + select BR2_PACKAGE_PYTHON_CERTIFI # runtime + select BR2_PACKAGE_PYTHON_H11 # runtime + help + A minimal low-level HTTP client. + + https://www.encode.io/httpcore/ diff --git a/package/python-httpcore/python-httpcore.hash b/package/python-httpcore/python-httpcore.hash new file mode 100644 index 00000000000..1623573b655 --- /dev/null +++ b/package/python-httpcore/python-httpcore.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/httpcore/json +md5 155fbd7794ce7351b607d408cb8182bf httpcore-1.0.2.tar.gz +sha256 9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535 httpcore-1.0.2.tar.gz +# Locally computed sha256 checksums +sha256 fdcb59154c74cbaba16a11242f7740bea9f23d6feb5547917d8c5f94a80392a5 LICENSE.md diff --git a/package/python-httpcore/python-httpcore.mk b/package/python-httpcore/python-httpcore.mk new file mode 100644 index 00000000000..f1b3b810d77 --- /dev/null +++ b/package/python-httpcore/python-httpcore.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-httpcore +# +################################################################################ + +PYTHON_HTTPCORE_VERSION = 1.0.2 +PYTHON_HTTPCORE_SOURCE = httpcore-$(PYTHON_HTTPCORE_VERSION).tar.gz +PYTHON_HTTPCORE_SITE = https://files.pythonhosted.org/packages/18/56/78a38490b834fa0942cbe6d39bd8a7fd76316e8940319305a98d2b320366 +PYTHON_HTTPCORE_SETUP_TYPE = pep517 +PYTHON_HTTPCORE_LICENSE = BSD-3-Clause +PYTHON_HTTPCORE_LICENSE_FILES = LICENSE.md +PYTHON_HTTPCORE_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-fancy-pypi-readme + +$(eval $(python-package)) diff --git a/package/python-httplib2/python-httplib2.hash b/package/python-httplib2/python-httplib2.hash index 4da8f26e430..cfbf55a4b03 100644 --- a/package/python-httplib2/python-httplib2.hash +++ b/package/python-httplib2/python-httplib2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/httplib2/json -md5 b42f508585d988e77eac3980db1fd967 httplib2-0.21.0.tar.gz -sha256 fc144f091c7286b82bec71bdbd9b27323ba709cc612568d3000893bfd9cb4b34 httplib2-0.21.0.tar.gz +md5 7ca0a2bfd95ba4ab4b6e28804cdb94ed httplib2-0.22.0.tar.gz +sha256 d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81 httplib2-0.22.0.tar.gz # Locally computed sha256 checksums sha256 589eec38f72df2be203711d3b8cbece9b908c5e7ff00bc3cab7f63bae9e366b4 LICENSE diff --git a/package/python-httplib2/python-httplib2.mk b/package/python-httplib2/python-httplib2.mk index 1093ecab39c..9d7061cfacf 100644 --- a/package/python-httplib2/python-httplib2.mk +++ b/package/python-httplib2/python-httplib2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HTTPLIB2_VERSION = 0.21.0 +PYTHON_HTTPLIB2_VERSION = 0.22.0 PYTHON_HTTPLIB2_SOURCE = httplib2-$(PYTHON_HTTPLIB2_VERSION).tar.gz -PYTHON_HTTPLIB2_SITE = https://files.pythonhosted.org/packages/c2/37/a093aaa902f6b2301f0f2cff5285548dbc4ab9b9a29215eb440381cbb32b +PYTHON_HTTPLIB2_SITE = https://files.pythonhosted.org/packages/3d/ad/2371116b22d616c194aa25ec410c9c6c37f23599dcd590502b74db197584 PYTHON_HTTPLIB2_SETUP_TYPE = setuptools PYTHON_HTTPLIB2_LICENSE = MIT PYTHON_HTTPLIB2_LICENSE_FILES = LICENSE @@ -14,3 +14,4 @@ PYTHON_HTTPLIB2_CPE_ID_VENDOR = httplib2_project PYTHON_HTTPLIB2_CPE_ID_PRODUCT = httplib2 $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-httpx/Config.in b/package/python-httpx/Config.in new file mode 100644 index 00000000000..592cd559cd1 --- /dev/null +++ b/package/python-httpx/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_HTTPX + bool "python-httpx" + select BR2_PACKAGE_PYTHON_ANYIO # runtime + select BR2_PACKAGE_PYTHON_CERTIFI # runtime + select BR2_PACKAGE_PYTHON_HTTPCORE # runtime + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_SNIFFIO # runtime + help + The next generation HTTP client. + + https://github.com/encode/httpx diff --git a/package/python-httpx/python-httpx.hash b/package/python-httpx/python-httpx.hash new file mode 100644 index 00000000000..26e39fcc6db --- /dev/null +++ b/package/python-httpx/python-httpx.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/httpx/json +md5 3785c8a8930a7c7280206f79c170658f httpx-0.26.0.tar.gz +sha256 451b55c30d5185ea6b23c2c793abf9bb237d2a7dfb901ced6ff69ad37ec1dfaf httpx-0.26.0.tar.gz +# Locally computed sha256 checksums +sha256 4ec59d544f12b5f539a3a716fd321ac58ccd8030b465221f2c880200cdf28d8d LICENSE.md diff --git a/package/python-httpx/python-httpx.mk b/package/python-httpx/python-httpx.mk new file mode 100644 index 00000000000..cbc9c9298be --- /dev/null +++ b/package/python-httpx/python-httpx.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# python-httpx +# +################################################################################ + +PYTHON_HTTPX_VERSION = 0.26.0 +PYTHON_HTTPX_SOURCE = httpx-$(PYTHON_HTTPX_VERSION).tar.gz +PYTHON_HTTPX_SITE = https://files.pythonhosted.org/packages/bd/26/2dc654950920f499bd062a211071925533f821ccdca04fa0c2fd914d5d06 +PYTHON_HTTPX_SETUP_TYPE = pep517 +PYTHON_HTTPX_LICENSE = BSD-3-Clause +PYTHON_HTTPX_LICENSE_FILES = LICENSE.md +PYTHON_HTTPX_CPE_ID_VENDOR = encode +PYTHON_HTTPX_CPE_ID_PRODUCT = httpx +PYTHON_HTTPX_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-fancy-pypi-readme + +$(eval $(python-package)) diff --git a/package/python-hwdata/Config.in b/package/python-hwdata/Config.in new file mode 100644 index 00000000000..923d0a7d8ac --- /dev/null +++ b/package/python-hwdata/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_HWDATA + bool "python-hwdata" + select BR2_PACKAGE_HWDATA # runtime + select BR2_PACKAGE_HWDATA_PCI_IDS + select BR2_PACKAGE_HWDATA_PNP_IDS + select BR2_PACKAGE_HWDATA_USB_IDS + help + Provides python interface to database stored in hwdata + package. It allows you to get human readable description of + USB and PCI devices. + + https://github.com/xsuchy/python-hwdata diff --git a/package/python-hwdata/python-hwdata.hash b/package/python-hwdata/python-hwdata.hash new file mode 100644 index 00000000000..57c2dd00037 --- /dev/null +++ b/package/python-hwdata/python-hwdata.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/hwdata/json +md5 0344fe7a3e21041c2ef0ed36ee2bef18 hwdata-2.4.1.tar.gz +sha256 9bad80237c81cc091615179d665a3ef1213acca4caa378ff037c81f34538cde9 hwdata-2.4.1.tar.gz +# Locally computed sha256 checksums +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/python-hwdata/python-hwdata.mk b/package/python-hwdata/python-hwdata.mk new file mode 100644 index 00000000000..c277eebccc5 --- /dev/null +++ b/package/python-hwdata/python-hwdata.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-hwdata +# +################################################################################ + +PYTHON_HWDATA_VERSION = 2.4.1 +PYTHON_HWDATA_SOURCE = hwdata-$(PYTHON_HWDATA_VERSION).tar.gz +PYTHON_HWDATA_SITE = https://files.pythonhosted.org/packages/ff/ec/4a6e57d765a63f7e9a8c5348f0bf3f7d39243dc5bc695fa1e887ca5856c8 +PYTHON_HWDATA_SETUP_TYPE = setuptools +PYTHON_HWDATA_LICENSE = GPL-2.0+ +PYTHON_HWDATA_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-idna/python-idna.hash b/package/python-idna/python-idna.hash index 3a758a6eac1..5e6ac716a28 100644 --- a/package/python-idna/python-idna.hash +++ b/package/python-idna/python-idna.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/idna/json -md5 13ea24e076212b6baae1135a116d1e0e idna-3.4.tar.gz -sha256 814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 idna-3.4.tar.gz +md5 70f4beef4feb196ac64b75a93271f53c idna-3.6.tar.gz +sha256 9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca idna-3.6.tar.gz # Locally computed sha256 checksums -sha256 a2d6e4d940bd24dbe7b9645cde19a9792cc51db7ae0d5acd301ac860caa3e836 LICENSE.md +sha256 cb2faf0ca18c6d387ec7cb66f321939fba6e67e9dac09d31477cb9d8d3fe6899 LICENSE.md diff --git a/package/python-idna/python-idna.mk b/package/python-idna/python-idna.mk index 4d9994a9c79..eb92432bd34 100644 --- a/package/python-idna/python-idna.mk +++ b/package/python-idna/python-idna.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_IDNA_VERSION = 3.4 +PYTHON_IDNA_VERSION = 3.6 PYTHON_IDNA_SOURCE = idna-$(PYTHON_IDNA_VERSION).tar.gz -PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/8b/e1/43beb3d38dba6cb420cefa297822eac205a277ab43e5ba5d5c46faf96438 +PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/bf/3f/ea4b9117521a1e9c50344b909be7886dd00a519552724809bb1f486986c2 PYTHON_IDNA_LICENSE = BSD-3-Clause PYTHON_IDNA_LICENSE_FILES = LICENSE.md -PYTHON_IDNA_SETUP_TYPE = setuptools +PYTHON_IDNA_SETUP_TYPE = flit $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-iniconfig/python-iniconfig.hash b/package/python-iniconfig/python-iniconfig.hash index b2469db99b3..541ae3e3f33 100644 --- a/package/python-iniconfig/python-iniconfig.hash +++ b/package/python-iniconfig/python-iniconfig.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/iniconfig/json -md5 0b7f3be87481211c183eae095bcea6f1 iniconfig-1.1.1.tar.gz -sha256 bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32 iniconfig-1.1.1.tar.gz +md5 3c030b3f51dcc3aca585de05635600e4 iniconfig-2.0.0.tar.gz +sha256 2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 iniconfig-2.0.0.tar.gz # Locally computed sha256 checksums sha256 2af680c39ef493fb82830356d1d3df1acb5a06033cba2dec7a19e21caa77a866 LICENSE diff --git a/package/python-iniconfig/python-iniconfig.mk b/package/python-iniconfig/python-iniconfig.mk index 5c31c699572..99e946f0ab5 100644 --- a/package/python-iniconfig/python-iniconfig.mk +++ b/package/python-iniconfig/python-iniconfig.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_INICONFIG_VERSION = 1.1.1 +PYTHON_INICONFIG_VERSION = 2.0.0 PYTHON_INICONFIG_SOURCE = iniconfig-$(PYTHON_INICONFIG_VERSION).tar.gz -PYTHON_INICONFIG_SITE = https://files.pythonhosted.org/packages/23/a2/97899f6bd0e873fed3a7e67ae8d3a08b21799430fb4da15cfedf10d6e2c2 -PYTHON_INICONFIG_SETUP_TYPE = setuptools +PYTHON_INICONFIG_SITE = https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913 +PYTHON_INICONFIG_SETUP_TYPE = pep517 PYTHON_INICONFIG_LICENSE = MIT PYTHON_INICONFIG_LICENSE_FILES = LICENSE +PYTHON_INICONFIG_DEPENDENCIES = host-python-hatchling host-python-hatch-vcs $(eval $(python-package)) diff --git a/package/python-iniparse/Config.in.host b/package/python-iniparse/Config.in.host new file mode 100644 index 00000000000..e93022e8153 --- /dev/null +++ b/package/python-iniparse/Config.in.host @@ -0,0 +1,11 @@ +config BR2_PACKAGE_HOST_PYTHON_INIPARSE + bool "host python-iniparse" + select BR2_PACKAGE_HOST_PYTHON_SIX # runtime + help + iniparse is an INI parser for Python which is API compatible + with the standard library's ConfigParser, preserves + structure of INI files (order of sections & options, + indentation, comments, and blank lines are preserved when + data is updated), and is more convenient to use. + + https://pypi.python.org/pypi/iniparse diff --git a/package/python-iniparse/python-iniparse.mk b/package/python-iniparse/python-iniparse.mk index d31a490bd89..9f00cf73875 100644 --- a/package/python-iniparse/python-iniparse.mk +++ b/package/python-iniparse/python-iniparse.mk @@ -10,5 +10,9 @@ PYTHON_INIPARSE_SITE = https://pypi.python.org/packages/source/i/iniparse PYTHON_INIPARSE_LICENSE = Python-2.0, MIT PYTHON_INIPARSE_LICENSE_FILES = LICENSE-PSF LICENSE PYTHON_INIPARSE_SETUP_TYPE = setuptools +# This is a runtime dependency, but we don't have the concept of +# runtime dependencies for host packages. +HOST_PYTHON_INIPARSE_DEPENDENCIES = host-python-six $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-installer/python-installer.hash b/package/python-installer/python-installer.hash index 97d455b87c6..577b23a7ab9 100644 --- a/package/python-installer/python-installer.hash +++ b/package/python-installer/python-installer.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/installer/json -md5 ac5fee994b04f228c151306f5ad96b04 installer-0.6.0.tar.gz -sha256 f3bd36cd261b440a88a1190b1becca0578fee90b4b62decc796932fdd5ae8839 installer-0.6.0.tar.gz +md5 d961d1105c9270049528b1167ed021bc installer-0.7.0.tar.gz +sha256 a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631 installer-0.7.0.tar.gz # Locally computed sha256 checksums sha256 37b8b9f2569892fa54406383d431169dbb2115980d78b7efba6eeae5664c484f LICENSE diff --git a/package/python-installer/python-installer.mk b/package/python-installer/python-installer.mk index 3430e46b511..094a9180903 100644 --- a/package/python-installer/python-installer.mk +++ b/package/python-installer/python-installer.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_INSTALLER_VERSION = 0.6.0 +PYTHON_INSTALLER_VERSION = 0.7.0 PYTHON_INSTALLER_SOURCE = installer-$(PYTHON_INSTALLER_VERSION).tar.gz -PYTHON_INSTALLER_SITE = https://files.pythonhosted.org/packages/c9/ab/a9141dc175ec7b620fffe7e0295251a7b6a0ffb4325d64aeb128dff8c698 +PYTHON_INSTALLER_SITE = https://files.pythonhosted.org/packages/05/18/ceeb4e3ab3aa54495775775b38ae42b10a92f42ce42dfa44da684289b8c8 PYTHON_INSTALLER_LICENSE = MIT PYTHON_INSTALLER_LICENSE_FILES = LICENSE PYTHON_INSTALLER_SETUP_TYPE = flit-bootstrap diff --git a/package/python-intelhex/python-intelhex.mk b/package/python-intelhex/python-intelhex.mk index cc8b973f0f2..56f758e643a 100644 --- a/package/python-intelhex/python-intelhex.mk +++ b/package/python-intelhex/python-intelhex.mk @@ -12,3 +12,4 @@ PYTHON_INTELHEX_LICENSE = BSD-3-Clause PYTHON_INTELHEX_LICENSE_FILES = LICENSE.txt $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-iowait/python-iowait.mk b/package/python-iowait/python-iowait.mk index e327053e8ec..028001d7f30 100644 --- a/package/python-iowait/python-iowait.mk +++ b/package/python-iowait/python-iowait.mk @@ -7,7 +7,7 @@ PYTHON_IOWAIT_VERSION = 0.2 PYTHON_IOWAIT_SOURCE = iowait-$(PYTHON_IOWAIT_VERSION).tar.gz PYTHON_IOWAIT_SITE = https://pypi.python.org/packages/65/30/e953673fe9619938e9c74408401cf865f37716da89f61f6e5d9328c0f71e -PYTHON_IOWAIT_SETUP_TYPE = distutils +PYTHON_IOWAIT_SETUP_TYPE = setuptools PYTHON_IOWAIT_LICENSE = LGPL-3.0+ PYTHON_IOWAIT_LICENSE_FILES = COPYING.LESSER diff --git a/package/python-ipdb/Config.in b/package/python-ipdb/Config.in index a9d6af16845..9259421c6a4 100644 --- a/package/python-ipdb/Config.in +++ b/package/python-ipdb/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_IPDB bool "python-ipdb" - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_IPYTHON # runtime help IPython-enabled pdb. diff --git a/package/python-ipdb/python-ipdb.hash b/package/python-ipdb/python-ipdb.hash index 7d483e1777a..041df3b249d 100644 --- a/package/python-ipdb/python-ipdb.hash +++ b/package/python-ipdb/python-ipdb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ipdb/json -md5 4f5ffb71cd6551319acf8cbceabd8936 ipdb-0.13.9.tar.gz -sha256 951bd9a64731c444fd907a5ce268543020086a697f6be08f7cc2c9a752a278c5 ipdb-0.13.9.tar.gz +md5 e1e25e7221c0a09880cc5ee3fec1fbe4 ipdb-0.13.13.tar.gz +sha256 e3ac6018ef05126d442af680aad863006ec19d02290561ac88b8b1c0b0cfc726 ipdb-0.13.13.tar.gz # Locally computed sha256 checksums sha256 4eeb49de04f4894f8ea1f69a04f500799041b750b3d554c06de5ca877258e734 COPYING.txt diff --git a/package/python-ipdb/python-ipdb.mk b/package/python-ipdb/python-ipdb.mk index 7828f83020f..71f70be5d4e 100644 --- a/package/python-ipdb/python-ipdb.mk +++ b/package/python-ipdb/python-ipdb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPDB_VERSION = 0.13.9 +PYTHON_IPDB_VERSION = 0.13.13 PYTHON_IPDB_SOURCE = ipdb-$(PYTHON_IPDB_VERSION).tar.gz -PYTHON_IPDB_SITE = https://files.pythonhosted.org/packages/fc/56/9f67dcd4a4b9960373173a31be1b8c47fe351a1c9385677a7bdd82810e57 +PYTHON_IPDB_SITE = https://files.pythonhosted.org/packages/3d/1b/7e07e7b752017f7693a0f4d41c13e5ca29ce8cbcfdcc1fd6c4ad8c0a27a0 PYTHON_IPDB_SETUP_TYPE = setuptools PYTHON_IPDB_LICENSE = BSD-3-Clause PYTHON_IPDB_LICENSE_FILES = COPYING.txt diff --git a/package/python-iptables/0001-use-sysconfig-get_path-instead-of-get_python_lib.patch b/package/python-iptables/0001-use-sysconfig-get_path-instead-of-get_python_lib.patch new file mode 100644 index 00000000000..2a4de3daf28 --- /dev/null +++ b/package/python-iptables/0001-use-sysconfig-get_path-instead-of-get_python_lib.patch @@ -0,0 +1,40 @@ +From fd415a3613fad872062fb7cb4e271ac1476402ef Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 24 Oct 2023 08:47:12 +0200 +Subject: [PATCH] use sysconfig.get_path instead of get_python_lib + +Distutils has been removed from python 3.12.0. Use sysconfig.get_path instead +of get_python_lib. + +Upstream: https://github.com/ldx/python-iptables/pull/340 + +Signed-off-by: Adam Duskett +--- + iptc/util.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/iptc/util.py b/iptc/util.py +index 04fe905..94befc5 100644 +--- a/iptc/util.py ++++ b/iptc/util.py +@@ -3,7 +3,7 @@ import os + import sys + import ctypes + import ctypes.util +-from distutils.sysconfig import get_python_lib ++import sysconfig + from itertools import product + from subprocess import Popen, PIPE + from sys import version_info +@@ -64,7 +64,7 @@ def _do_find_library(name): + + # probably we have been installed in a virtualenv + try: +- lib = ctypes.CDLL(os.path.join(get_python_lib(), name), ++ lib = ctypes.CDLL(os.path.join(sysconfig.get_path("purelib"), name), + mode=ctypes.RTLD_GLOBAL) + return lib + except: +-- +2.41.0 + diff --git a/package/python-iptables/python-iptables.hash b/package/python-iptables/python-iptables.hash index ee5f765fba7..1b7c9e93244 100644 --- a/package/python-iptables/python-iptables.hash +++ b/package/python-iptables/python-iptables.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/python-iptables/json -md5 3fb27da1107bdb62196850fa70e8b0d4 python-iptables-1.0.0.tar.gz -sha256 480470adb5f29bf84269b4e53dbad9623af91c79aa666cc0274dec199a555bc5 python-iptables-1.0.0.tar.gz +md5 bd6950c1ed9c6b48b7d552ff8e6766c5 python-iptables-1.0.1.tar.gz +sha256 1989f2b48598392c3574052a95f456985cb06fb4287b61bf8794e93ebc37eddb python-iptables-1.0.1.tar.gz # Locally calculated sha256 b827789c74144d9bb92595ed3bc568aef767a7e8d930fba61c2cdd9f6ec27599 NOTICE diff --git a/package/python-iptables/python-iptables.mk b/package/python-iptables/python-iptables.mk index 0ccf064217d..d01545d8b25 100644 --- a/package/python-iptables/python-iptables.mk +++ b/package/python-iptables/python-iptables.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_IPTABLES_VERSION = 1.0.0 -PYTHON_IPTABLES_SITE = https://files.pythonhosted.org/packages/ca/6e/cba9c6f4b5a1963b7f5b015f5ed5e2eec7a94ac460570e3474177c4004d6 +PYTHON_IPTABLES_VERSION = 1.0.1 +PYTHON_IPTABLES_SITE = https://files.pythonhosted.org/packages/35/e4/33e639b9e153c2d798d73342a96715a4edca6f46431d763b275a34b3aeca PYTHON_IPTABLES_SETUP_TYPE = setuptools PYTHON_IPTABLES_LICENSE = Apache-2.0 PYTHON_IPTABLES_LICENSE_FILES = NOTICE @@ -15,6 +15,7 @@ define PYTHON_IPTABLES_SET_XTABLES_ENV_VARS XTABLES_VERSION=`awk '/XTABLES_VERSION_CODE/ {print $$NF}' $(STAGING_DIR)/usr/include/xtables-version.h`; \ sed -i "s%os.getenv(\"PYTHON_IPTABLES_XTABLES_VERSION\")%$$XTABLES_VERSION%" $(@D)/iptc/xtables.py sed -i "s%os.getenv(\"XTABLES_LIBDIR\")%\"/usr/lib/xtables\"%" $(@D)/iptc/xtables.py + sed -i "s%os.environ.get('IPTABLES_LIBDIR', None)%\"/usr/lib\"%" $(@D)/iptc/util.py endef PYTHON_IPTABLES_PRE_BUILD_HOOKS += PYTHON_IPTABLES_SET_XTABLES_ENV_VARS diff --git a/package/python-ipy/python-ipy.mk b/package/python-ipy/python-ipy.mk index 2a01daf4cac..ec03adcb603 100644 --- a/package/python-ipy/python-ipy.mk +++ b/package/python-ipy/python-ipy.mk @@ -9,6 +9,6 @@ PYTHON_IPY_SOURCE = IPy-$(PYTHON_IPY_VERSION).tar.gz PYTHON_IPY_SITE = https://files.pythonhosted.org/packages/64/a4/9c0d88d95666ff1571d7baec6c5e26abc08051801feb6e6ddf40f6027e22 PYTHON_IPY_LICENSE = BSD-3-Clause PYTHON_IPY_LICENSE_FILES = COPYING -PYTHON_IPY_SETUP_TYPE = distutils +PYTHON_IPY_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-ipython-genutils/python-ipython-genutils.mk b/package/python-ipython-genutils/python-ipython-genutils.mk index 4e8cc287fe9..08a0b8ba9ae 100644 --- a/package/python-ipython-genutils/python-ipython-genutils.mk +++ b/package/python-ipython-genutils/python-ipython-genutils.mk @@ -9,6 +9,6 @@ PYTHON_IPYTHON_GENUTILS_SOURCE = ipython_genutils-$(PYTHON_IPYTHON_GENUTILS_VERS PYTHON_IPYTHON_GENUTILS_SITE = https://pypi.python.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399 PYTHON_IPYTHON_GENUTILS_LICENSE = BSD-3-Clause PYTHON_IPYTHON_GENUTILS_LICENSE_FILES = COPYING.md -PYTHON_IPYTHON_GENUTILS_SETUP_TYPE = distutils +PYTHON_IPYTHON_GENUTILS_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-ipython/Config.in b/package/python-ipython/Config.in index 3de49ae5742..87cc3969b07 100644 --- a/package/python-ipython/Config.in +++ b/package/python-ipython/Config.in @@ -1,12 +1,15 @@ config BR2_PACKAGE_PYTHON_IPYTHON bool "python-ipython" + select BR2_PACKAGE_PYTHON3_SQLITE # runtime select BR2_PACKAGE_PYTHON_BACKCALL # runtime select BR2_PACKAGE_PYTHON_DECORATOR # runtime select BR2_PACKAGE_PYTHON_JEDI # runtime + select BR2_PACKAGE_PYTHON_MATPLOTLIB_INLINE # runtime select BR2_PACKAGE_PYTHON_PICKLESHARE # runtime select BR2_PACKAGE_PYTHON_PROMPT_TOOLKIT # runtime select BR2_PACKAGE_PYTHON_PYGMENTS # runtime select BR2_PACKAGE_PYTHON_PEXPECT # runtime + select BR2_PACKAGE_PYTHON_STACK_DATA # runtime select BR2_PACKAGE_PYTHON_TRAITLETS # runtime help IPython is a command shell for interactive computing in diff --git a/package/python-ipython/python-ipython.hash b/package/python-ipython/python-ipython.hash index aae34f6f9bf..33f70885b35 100644 --- a/package/python-ipython/python-ipython.hash +++ b/package/python-ipython/python-ipython.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/ipython/json -md5 3adf9fca317512e5b3516a9ac25b3442 ipython-8.7.0.tar.gz -sha256 882899fe78d5417a0aa07f995db298fa28b58faeba2112d2e3a4c95fe14bb738 ipython-8.7.0.tar.gz +md5 eee726e4cef5fd680110a899b4e5e2cb ipython-8.20.0.tar.gz +sha256 2f21bd3fc1d51550c89ee3944ae04bbc7bc79e129ea0937da6e6c68bfdbf117a ipython-8.20.0.tar.gz # Locally computed sha256 checksums sha256 341afcbd729887b7046fe7b98fc4f4edff3aed8d38f06eefd9b30670f043df17 COPYING.rst sha256 e0e390748ed440ab893ca1f135a88a920aaf5409dbb90a5b427c75c5e51268fb LICENSE diff --git a/package/python-ipython/python-ipython.mk b/package/python-ipython/python-ipython.mk index 1af10817410..d3c2c05a055 100644 --- a/package/python-ipython/python-ipython.mk +++ b/package/python-ipython/python-ipython.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPYTHON_VERSION = 8.7.0 +PYTHON_IPYTHON_VERSION = 8.20.0 PYTHON_IPYTHON_SOURCE = ipython-$(PYTHON_IPYTHON_VERSION).tar.gz -PYTHON_IPYTHON_SITE = https://files.pythonhosted.org/packages/82/2b/026af47da09998404f51064d328f5f1f68c78829082d2945be489343fde6 +PYTHON_IPYTHON_SITE = https://files.pythonhosted.org/packages/c5/d1/187474d64bdefcb6804c1a3a1597d9e94f287e71c06f50f7784d56833fb7 PYTHON_IPYTHON_LICENSE = BSD-3-Clause PYTHON_IPYTHON_LICENSE_FILES = COPYING.rst LICENSE PYTHON_IPYTHON_CPE_ID_VENDOR = ipython diff --git a/package/python-iso8601/python-iso8601.hash b/package/python-iso8601/python-iso8601.hash index 7c6d3f3ded0..fe643ce8b73 100644 --- a/package/python-iso8601/python-iso8601.hash +++ b/package/python-iso8601/python-iso8601.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/iso8601/json -md5 29dd454d638bd684bd3466583f6724dc iso8601-1.1.0.tar.gz -sha256 32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f iso8601-1.1.0.tar.gz +md5 6e33910eba87066b3be7fcf3d59d16b5 iso8601-2.1.0.tar.gz +sha256 6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df iso8601-2.1.0.tar.gz # Locally computed sha256 checksums sha256 516b02cd11e78c37a04f9effadd85af0483dda7ab1e715eef1cc94f97dc49e13 LICENSE diff --git a/package/python-iso8601/python-iso8601.mk b/package/python-iso8601/python-iso8601.mk index 68bf69933a6..ce25a2fb285 100644 --- a/package/python-iso8601/python-iso8601.mk +++ b/package/python-iso8601/python-iso8601.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ISO8601_VERSION = 1.1.0 +PYTHON_ISO8601_VERSION = 2.1.0 PYTHON_ISO8601_SOURCE = iso8601-$(PYTHON_ISO8601_VERSION).tar.gz -PYTHON_ISO8601_SITE = https://files.pythonhosted.org/packages/31/8c/1c342fdd2f4af0857684d16af766201393ef53318c15fa785fcb6c3b7c32 +PYTHON_ISO8601_SITE = https://files.pythonhosted.org/packages/b9/f3/ef59cee614d5e0accf6fd0cbba025b93b272e626ca89fb70a3e9187c5d15 PYTHON_ISO8601_SETUP_TYPE = setuptools PYTHON_ISO8601_LICENSE = MIT PYTHON_ISO8601_LICENSE_FILES = LICENSE diff --git a/package/python-jaraco-classes/Config.in b/package/python-jaraco-classes/Config.in index 05c11237abb..6d79062a181 100644 --- a/package/python-jaraco-classes/Config.in +++ b/package/python-jaraco-classes/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_JARACO_CLASSES bool "python-jaraco-classes" - select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_MORE_ITERTOOLS # runtime help Utility functions for Python class constructs. diff --git a/package/python-jaraco-classes/python-jaraco-classes.hash b/package/python-jaraco-classes/python-jaraco-classes.hash index 0e170d58d11..701aa07b830 100644 --- a/package/python-jaraco-classes/python-jaraco-classes.hash +++ b/package/python-jaraco-classes/python-jaraco-classes.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/jaraco.classes/json -md5 a661acdae43995c08500324a8df62f03 jaraco.classes-3.2.3.tar.gz -sha256 89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a jaraco.classes-3.2.3.tar.gz +md5 26ae65ab8cda78455ddab0b05fe0a553 jaraco.classes-3.3.0.tar.gz +sha256 c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621 jaraco.classes-3.3.0.tar.gz # Locally computed sha256 checksums -sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE +sha256 86da0f01aeae46348a3c3d465195dc1ceccde79f79e87769a64b8da04b2a4741 LICENSE diff --git a/package/python-jaraco-classes/python-jaraco-classes.mk b/package/python-jaraco-classes/python-jaraco-classes.mk index 4790516330f..45950556b08 100644 --- a/package/python-jaraco-classes/python-jaraco-classes.mk +++ b/package/python-jaraco-classes/python-jaraco-classes.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JARACO_CLASSES_VERSION = 3.2.3 +PYTHON_JARACO_CLASSES_VERSION = 3.3.0 PYTHON_JARACO_CLASSES_SOURCE = jaraco.classes-$(PYTHON_JARACO_CLASSES_VERSION).tar.gz -PYTHON_JARACO_CLASSES_SITE = https://files.pythonhosted.org/packages/bf/02/a956c9bfd2dfe60b30c065ed8e28df7fcf72b292b861dca97e951c145ef6 +PYTHON_JARACO_CLASSES_SITE = https://files.pythonhosted.org/packages/8b/de/d0a466824ce8b53c474bb29344e6d6113023eb2c3793d1c58c0908588bfa PYTHON_JARACO_CLASSES_LICENSE = MIT PYTHON_JARACO_CLASSES_LICENSE_FILES = LICENSE PYTHON_JARACO_CLASSES_SETUP_TYPE = setuptools diff --git a/package/python-jaraco-functools/python-jaraco-functools.hash b/package/python-jaraco-functools/python-jaraco-functools.hash index a7cbb3daf1b..97db6b75fb0 100644 --- a/package/python-jaraco-functools/python-jaraco-functools.hash +++ b/package/python-jaraco-functools/python-jaraco-functools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/jaraco.functools/json -md5 f25708d7f38b9264459046fcc0afc8c1 jaraco.functools-3.5.2.tar.gz -sha256 45b05c158f3ad28731075556ffd4749bd254ec67f91e1eb367dcfebff1151db4 jaraco.functools-3.5.2.tar.gz +md5 6683d6f56930d4f0b34157b083813cf3 jaraco.functools-4.0.0.tar.gz +sha256 c279cb24c93d694ef7270f970d499cab4d3813f4e08273f95398651a634f0925 jaraco.functools-4.0.0.tar.gz # Locally computed sha256 checksums -sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE +sha256 86da0f01aeae46348a3c3d465195dc1ceccde79f79e87769a64b8da04b2a4741 LICENSE diff --git a/package/python-jaraco-functools/python-jaraco-functools.mk b/package/python-jaraco-functools/python-jaraco-functools.mk index 8f64c4687e0..5637b756290 100644 --- a/package/python-jaraco-functools/python-jaraco-functools.mk +++ b/package/python-jaraco-functools/python-jaraco-functools.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JARACO_FUNCTOOLS_VERSION = 3.5.2 +PYTHON_JARACO_FUNCTOOLS_VERSION = 4.0.0 PYTHON_JARACO_FUNCTOOLS_SOURCE = jaraco.functools-$(PYTHON_JARACO_FUNCTOOLS_VERSION).tar.gz -PYTHON_JARACO_FUNCTOOLS_SITE = https://files.pythonhosted.org/packages/b4/ea/9abca360081de9157668fcc52765989158aaf29b4826f26fcb17852d08e6 +PYTHON_JARACO_FUNCTOOLS_SITE = https://files.pythonhosted.org/packages/57/7c/fe770e264913f9a49ddb9387cca2757b8d7d26f06735c1bfbb018912afce PYTHON_JARACO_FUNCTOOLS_LICENSE = MIT PYTHON_JARACO_FUNCTOOLS_LICENSE_FILES = LICENSE PYTHON_JARACO_FUNCTOOLS_SETUP_TYPE = setuptools diff --git a/package/python-jedi/python-jedi.hash b/package/python-jedi/python-jedi.hash index dee8810e893..99034d20bbe 100644 --- a/package/python-jedi/python-jedi.hash +++ b/package/python-jedi/python-jedi.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/jedi/json -md5 47e89a2b8bedcfeb1527fac37b9ba1b3 jedi-0.18.2.tar.gz -sha256 bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612 jedi-0.18.2.tar.gz +md5 0951191b506b660bfdb90c3dcd5b3254 jedi-0.19.1.tar.gz +sha256 cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd jedi-0.19.1.tar.gz # Locally computed sha256 checksums sha256 78e60cd0b8f28694f30195482c33d76908d846b0d15278deb7332aa22ba8e412 LICENSE.txt sha256 235e993965d399a25e7d493d25c8622f78718510884b9c051f1f1866b6f34e9d jedi/third_party/django-stubs/LICENSE.txt diff --git a/package/python-jedi/python-jedi.mk b/package/python-jedi/python-jedi.mk index 40de61f0e8d..5d54642a072 100644 --- a/package/python-jedi/python-jedi.mk +++ b/package/python-jedi/python-jedi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JEDI_VERSION = 0.18.2 +PYTHON_JEDI_VERSION = 0.19.1 PYTHON_JEDI_SOURCE = jedi-$(PYTHON_JEDI_VERSION).tar.gz -PYTHON_JEDI_SITE = https://files.pythonhosted.org/packages/15/02/afd43c5066de05f6b3188f3aa74136a3289e6c30e7a45f351546cab0928c +PYTHON_JEDI_SITE = https://files.pythonhosted.org/packages/d6/99/99b493cec4bf43176b678de30f81ed003fd6a647a301b9c927280c600f0a PYTHON_JEDI_SETUP_TYPE = setuptools PYTHON_JEDI_LICENSE = MIT, Apache-2.0 (typeshed) PYTHON_JEDI_LICENSE_FILES = LICENSE.txt jedi/third_party/django-stubs/LICENSE.txt jedi/third_party/typeshed/LICENSE diff --git a/package/python-jeepney/Config.in b/package/python-jeepney/Config.in new file mode 100644 index 00000000000..700176e12fe --- /dev/null +++ b/package/python-jeepney/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_JEEPNEY + bool "python-jeepney" + help + Low-level, pure Python DBus protocol wrapper. + + https://gitlab.com/takluyver/jeepney diff --git a/package/python-jeepney/python-jeepney.hash b/package/python-jeepney/python-jeepney.hash new file mode 100644 index 00000000000..31a5bac1839 --- /dev/null +++ b/package/python-jeepney/python-jeepney.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/jeepney/json +md5 7e2151e9197c751ceca6550bc6b3294c jeepney-0.8.0.tar.gz +sha256 5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806 jeepney-0.8.0.tar.gz +# Locally computed sha256 checksums +sha256 1b22b049b5267d6dfc23a67bf4a84d8ec04b9fdfb1a51d360e42b4342c8b4154 LICENSE diff --git a/package/python-jeepney/python-jeepney.mk b/package/python-jeepney/python-jeepney.mk new file mode 100644 index 00000000000..ac4c0283a88 --- /dev/null +++ b/package/python-jeepney/python-jeepney.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-jeepney +# +################################################################################ + +PYTHON_JEEPNEY_VERSION = 0.8.0 +PYTHON_JEEPNEY_SOURCE = jeepney-$(PYTHON_JEEPNEY_VERSION).tar.gz +PYTHON_JEEPNEY_SITE = https://files.pythonhosted.org/packages/d6/f4/154cf374c2daf2020e05c3c6a03c91348d59b23c5366e968feb198306fdf +PYTHON_JEEPNEY_SETUP_TYPE = flit +PYTHON_JEEPNEY_LICENSE = MIT +PYTHON_JEEPNEY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-jinja2/Config.in b/package/python-jinja2/Config.in index 84a46bd2647..5623d4723ce 100644 --- a/package/python-jinja2/Config.in +++ b/package/python-jinja2/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_PYTHON_JINJA2 provides a Django inspired non-XML syntax but supports inline expressions and an optional sandboxed environment. - http://jinja.pocoo.org/ + https://jinja.palletsprojects.com diff --git a/package/python-jsonschema-specifications/Config.in b/package/python-jsonschema-specifications/Config.in new file mode 100644 index 00000000000..31453a12ea6 --- /dev/null +++ b/package/python-jsonschema-specifications/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_JSONSCHEMA_SPECIFICATIONS + bool "python-jsonschema-specifications" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-referencing -> python-rpds-py + select BR2_PACKAGE_PYTHON_REFERENCING # runtime + help + The JSON Schema meta-schemas and vocabularies, exposed as a + Registry. + + https://github.com/python-jsonschema/jsonschema-specifications diff --git a/package/python-jsonschema-specifications/python-jsonschema-specifications.hash b/package/python-jsonschema-specifications/python-jsonschema-specifications.hash new file mode 100644 index 00000000000..aa919681ace --- /dev/null +++ b/package/python-jsonschema-specifications/python-jsonschema-specifications.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/jsonschema-specifications/json +md5 de730f6937d1e3660a2d835c4f93f31b jsonschema_specifications-2023.12.1.tar.gz +sha256 48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc jsonschema_specifications-2023.12.1.tar.gz +# Locally computed sha256 checksums +sha256 42dcd63495f87b4eb7c7757afa379bb55a53f94afd7a5f657d9adf57236e515c COPYING diff --git a/package/python-jsonschema-specifications/python-jsonschema-specifications.mk b/package/python-jsonschema-specifications/python-jsonschema-specifications.mk new file mode 100644 index 00000000000..40879898c9d --- /dev/null +++ b/package/python-jsonschema-specifications/python-jsonschema-specifications.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-jsonschema-specifications +# +################################################################################ + +PYTHON_JSONSCHEMA_SPECIFICATIONS_VERSION = 2023.12.1 +PYTHON_JSONSCHEMA_SPECIFICATIONS_SOURCE = jsonschema_specifications-$(PYTHON_JSONSCHEMA_SPECIFICATIONS_VERSION).tar.gz +PYTHON_JSONSCHEMA_SPECIFICATIONS_SITE = https://files.pythonhosted.org/packages/f8/b9/cc0cc592e7c195fb8a650c1d5990b10175cf13b4c97465c72ec841de9e4b +PYTHON_JSONSCHEMA_SPECIFICATIONS_SETUP_TYPE = pep517 +PYTHON_JSONSCHEMA_SPECIFICATIONS_LICENSE = MIT +PYTHON_JSONSCHEMA_SPECIFICATIONS_LICENSE_FILES = COPYING +PYTHON_JSONSCHEMA_SPECIFICATIONS_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-vcs + +$(eval $(python-package)) diff --git a/package/python-jsonschema/Config.in b/package/python-jsonschema/Config.in index d9508c37051..66d2417adc1 100644 --- a/package/python-jsonschema/Config.in +++ b/package/python-jsonschema/Config.in @@ -1,8 +1,11 @@ config BR2_PACKAGE_PYTHON_JSONSCHEMA bool "python-jsonschema" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-rpds-py select BR2_PACKAGE_PYTHON_ATTRS # runtime - select BR2_PACKAGE_PYTHON_PYRSISTENT # runtime + select BR2_PACKAGE_PYTHON_JSONSCHEMA_SPECIFICATIONS # runtime + select BR2_PACKAGE_PYTHON_REFERENCING # runtime + select BR2_PACKAGE_PYTHON_RPDS_PY # runtime help An implementation of JSON Schema validation for Python. - http://github.com/Julian/jsonschema + https://github.com/python-jsonschema/jsonschema diff --git a/package/python-jsonschema/python-jsonschema.hash b/package/python-jsonschema/python-jsonschema.hash index f7105764619..645a6657fe7 100644 --- a/package/python-jsonschema/python-jsonschema.hash +++ b/package/python-jsonschema/python-jsonschema.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/jsonschema/json -md5 7c65ceb8923c83cb1f22c2b5a86d99b0 jsonschema-4.17.3.tar.gz -sha256 0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d jsonschema-4.17.3.tar.gz +md5 e758f0f6a8f3f59d754e7e35ea9f0792 jsonschema-4.20.0.tar.gz +sha256 4f614fd46d8d61258610998997743ec5492a648b33cf478c1ddc23ed4598a5fa jsonschema-4.20.0.tar.gz # Locally computed sha256 checksums sha256 4f92a015a13c4d1a040bef018aa13430b4f1bc73b41b16bb846c346766de7439 COPYING sha256 837402bd25fad9b704265801ca3f92566a98157c1f9a7acd6f446299ba1c305a json/LICENSE diff --git a/package/python-jsonschema/python-jsonschema.mk b/package/python-jsonschema/python-jsonschema.mk index 16fc660ec94..512c92aa775 100644 --- a/package/python-jsonschema/python-jsonschema.mk +++ b/package/python-jsonschema/python-jsonschema.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JSONSCHEMA_VERSION = 4.17.3 +PYTHON_JSONSCHEMA_VERSION = 4.20.0 PYTHON_JSONSCHEMA_SOURCE = jsonschema-$(PYTHON_JSONSCHEMA_VERSION).tar.gz -PYTHON_JSONSCHEMA_SITE = https://files.pythonhosted.org/packages/36/3d/ca032d5ac064dff543aa13c984737795ac81abc9fb130cd2fcff17cfabc7 +PYTHON_JSONSCHEMA_SITE = https://files.pythonhosted.org/packages/a8/74/77bf12d3dd32b764692a71d4200f03429c41eee2e8a9225d344d91c03aff PYTHON_JSONSCHEMA_SETUP_TYPE = pep517 PYTHON_JSONSCHEMA_LICENSE = MIT PYTHON_JSONSCHEMA_LICENSE_FILES = COPYING json/LICENSE diff --git a/package/python-keyring/Config.in b/package/python-keyring/Config.in index 6b33686cbee..6c03317f617 100644 --- a/package/python-keyring/Config.in +++ b/package/python-keyring/Config.in @@ -3,6 +3,8 @@ config BR2_PACKAGE_PYTHON_KEYRING # python-secretstorage -> python-cryptography depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS select BR2_PACKAGE_PYTHON_ENTRYPOINTS # runtime + select BR2_PACKAGE_PYTHON_JARACO_CLASSES # runtime + select BR2_PACKAGE_PYTHON_JEEPNEY # runtime select BR2_PACKAGE_PYTHON_SECRETSTORAGE # runtime help The Python keyring lib provides a easy way to access the diff --git a/package/python-keyring/python-keyring.hash b/package/python-keyring/python-keyring.hash index 791ee6563bf..50ac3df3427 100644 --- a/package/python-keyring/python-keyring.hash +++ b/package/python-keyring/python-keyring.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/keyring/json -md5 edf0645c28f16884e2b121b2c51e0770 keyring-23.11.0.tar.gz -sha256 ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361 keyring-23.11.0.tar.gz +md5 ed5df85d33c36bb268a79d4472a13312 keyring-24.2.0.tar.gz +sha256 ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509 keyring-24.2.0.tar.gz # Locally computed sha256 checksums -sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE +sha256 86da0f01aeae46348a3c3d465195dc1ceccde79f79e87769a64b8da04b2a4741 LICENSE diff --git a/package/python-keyring/python-keyring.mk b/package/python-keyring/python-keyring.mk index c1f124cb3eb..87b51a89602 100644 --- a/package/python-keyring/python-keyring.mk +++ b/package/python-keyring/python-keyring.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_KEYRING_VERSION = 23.11.0 +PYTHON_KEYRING_VERSION = 24.2.0 PYTHON_KEYRING_SOURCE = keyring-$(PYTHON_KEYRING_VERSION).tar.gz -PYTHON_KEYRING_SITE = https://files.pythonhosted.org/packages/1c/35/c22960f14f5e17384296b2f09da259f8b5244fb3831eccec71cf948a49c6 +PYTHON_KEYRING_SITE = https://files.pythonhosted.org/packages/14/c5/7a2a66489c66ee29562300ddc5be63636f70b4025a74df71466e62d929b1 PYTHON_KEYRING_SETUP_TYPE = setuptools PYTHON_KEYRING_LICENSE = MIT PYTHON_KEYRING_LICENSE_FILES = LICENSE diff --git a/package/python-kiwisolver/python-kiwisolver.hash b/package/python-kiwisolver/python-kiwisolver.hash index 7f2e263a5bc..900027a88b1 100644 --- a/package/python-kiwisolver/python-kiwisolver.hash +++ b/package/python-kiwisolver/python-kiwisolver.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/kiwisolver/json -md5 34796908455c3b23c889439b541e424b kiwisolver-1.4.4.tar.gz -sha256 d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955 kiwisolver-1.4.4.tar.gz +md5 20dea6992699d6be8a563995d7fe0309 kiwisolver-1.4.5.tar.gz +sha256 e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec kiwisolver-1.4.5.tar.gz # Locally computed sha256 checksums sha256 26da8d49744796f2601fb5fe9e5d8b9e8102064ca60a8dc1825b6177cb05450c LICENSE diff --git a/package/python-kiwisolver/python-kiwisolver.mk b/package/python-kiwisolver/python-kiwisolver.mk index 2c5db26dbcb..04a0779b37d 100644 --- a/package/python-kiwisolver/python-kiwisolver.mk +++ b/package/python-kiwisolver/python-kiwisolver.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_KIWISOLVER_VERSION = 1.4.4 +PYTHON_KIWISOLVER_VERSION = 1.4.5 PYTHON_KIWISOLVER_SOURCE = kiwisolver-$(PYTHON_KIWISOLVER_VERSION).tar.gz -PYTHON_KIWISOLVER_SITE = https://files.pythonhosted.org/packages/5f/5c/272a7dd49a1914f35cd8d6d9f386defa8b047f6fbd06badd6b77b3ba24e7 +PYTHON_KIWISOLVER_SITE = https://files.pythonhosted.org/packages/b9/2d/226779e405724344fc678fcc025b812587617ea1a48b9442628b688e85ea PYTHON_KIWISOLVER_LICENSE = BSD-3-Clause PYTHON_KIWISOLVER_LICENSE_FILES = LICENSE PYTHON_KIWISOLVER_SETUP_TYPE = setuptools diff --git a/package/python-kmod/Config.in b/package/python-kmod/Config.in new file mode 100644 index 00000000000..244baee3a00 --- /dev/null +++ b/package/python-kmod/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_KMOD + bool "python-kmod" + depends on !BR2_STATIC_LIBS # kmod + select BR2_PACKAGE_HOST_PYTHON_CYTHON + select BR2_PACKAGE_KMOD + help + Python binding for kmod + + https://github.com/maurizio-lombardi/python-kmod + +comment "python-kmod needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/python-kmod/python-kmod.hash b/package/python-kmod/python-kmod.hash new file mode 100644 index 00000000000..b838914c199 --- /dev/null +++ b/package/python-kmod/python-kmod.hash @@ -0,0 +1,3 @@ +# Locally computed sha256 checksums +sha256 0100ff27b7030a73e68ec07829d6123f412ce195dc761b954c92a38d18ba8539 python-kmod-0.9.2.tar.gz +sha256 1a136f227d8318af7d2320dad880a9f1a057c08cff044b545bb33430ab9c6860 COPYING.LESSER diff --git a/package/python-kmod/python-kmod.mk b/package/python-kmod/python-kmod.mk new file mode 100644 index 00000000000..6164b0f1eb2 --- /dev/null +++ b/package/python-kmod/python-kmod.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-kmod +# +################################################################################ + +# The python-kmod package listed at https://pypi.org/project/kmod/#description +# is not the same as the one listed below. +PYTHON_KMOD_VERSION = 0.9.2 +PYTHON_KMOD_SITE = $(call github,maurizio-lombardi,python-kmod,v$(PYTHON_KMOD_VERSION)) +PYTHON_KMOD_SETUP_TYPE = setuptools +PYTHON_KMOD_LICENSE = LGPL-2.1 +PYTHON_KMOD_LICENSE_FILES = COPYING.LESSER +PYTHON_KMOD_DEPENDENCIES = host-python-cython kmod + +$(eval $(python-package)) diff --git a/package/python-lark/python-lark.hash b/package/python-lark/python-lark.hash index 6e192684a88..9ea778c8da5 100644 --- a/package/python-lark/python-lark.hash +++ b/package/python-lark/python-lark.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/lark/json -md5 b9048974c5ce56997e9e536dda475159 lark-1.1.5.tar.gz -sha256 4b534eae1f9af5b4ea000bea95776350befe1981658eea3820a01c37e504bb4d lark-1.1.5.tar.gz +md5 124c36ea3b68783f06cea5fe6ee8a6f2 lark-1.1.8.tar.gz +sha256 7ef424db57f59c1ffd6f0d4c2b705119927f566b68c0fe1942dddcc0e44391a5 lark-1.1.8.tar.gz # Locally computed sha256 checksums sha256 8263e5652d07cecb3adadf05140b65e70cfa169ecec5f520fe1671479ce12a83 LICENSE diff --git a/package/python-lark/python-lark.mk b/package/python-lark/python-lark.mk index c08fc2cabd0..9cb30abb651 100644 --- a/package/python-lark/python-lark.mk +++ b/package/python-lark/python-lark.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_LARK_VERSION = 1.1.5 +PYTHON_LARK_VERSION = 1.1.8 PYTHON_LARK_SOURCE = lark-$(PYTHON_LARK_VERSION).tar.gz -PYTHON_LARK_SITE = https://files.pythonhosted.org/packages/a2/25/8e16de418fc83bb00dabaf8c7110bc45a90bf5481a70aa5f1668fcea73bc +PYTHON_LARK_SITE = https://files.pythonhosted.org/packages/12/1c/b466b58dacac15ffefce9bcb5128e18948a143849610a7d5300f31920be0 PYTHON_LARK_SETUP_TYPE = setuptools PYTHON_LARK_LICENSE = MIT PYTHON_LARK_LICENSE_FILES = LICENSE diff --git a/package/python-libconf/python-libconf.hash b/package/python-libconf/python-libconf.hash new file mode 100644 index 00000000000..d05efd37fdb --- /dev/null +++ b/package/python-libconf/python-libconf.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 66897870fcafce05624eafcc99e2dc8e150124e91019d9c29cc4f3bef64311dd python-libconf-2.0.1.tar.gz +# Locally computed sha256 checksums +sha256 3c2afc8c9f7a12032f225e6fa870e85af14d1b71236afe28d94a4b67e5e8c873 LICENSE diff --git a/package/python-libconf/python-libconf.mk b/package/python-libconf/python-libconf.mk new file mode 100644 index 00000000000..b349e3e60ec --- /dev/null +++ b/package/python-libconf/python-libconf.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-libconf +# +################################################################################ + +PYTHON_LIBCONF_VERSION = 2.0.1 +PYTHON_LIBCONF_SITE = $(call github,ChrisAichinger,python-libconf,$(PYTHON_LIBCONF_VERSION)) +PYTHON_LIBCONF_SETUP_TYPE = setuptools +PYTHON_LIBCONF_LICENSE = MIT +PYTHON_LIBCONF_LICENSE_FILES = LICENSE + +$(eval $(host-python-package)) diff --git a/package/python-libusb1/python-libusb1.hash b/package/python-libusb1/python-libusb1.hash index 86dea08c895..effecd85319 100644 --- a/package/python-libusb1/python-libusb1.hash +++ b/package/python-libusb1/python-libusb1.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/libusb1/json -md5 ffbb02bf9aa49f973a6a58112aed7b06 libusb1-3.0.0.tar.gz -sha256 5792a9defee40f15d330a40d9b1800545c32e47ba7fc66b6f28f133c9fcc8538 libusb1-3.0.0.tar.gz +md5 7b4f094786d1dfc8d011c7649d8ccb97 libusb1-3.1.0.tar.gz +sha256 4ee9b0a55f8bd0b3ea7017ae919a6c1f439af742c4a4b04543c5fd7af89b828c libusb1-3.1.0.tar.gz # Locally computed sha256 checksums sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/python-libusb1/python-libusb1.mk b/package/python-libusb1/python-libusb1.mk index 48a0b1dea3b..39fd7e40d33 100644 --- a/package/python-libusb1/python-libusb1.mk +++ b/package/python-libusb1/python-libusb1.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_LIBUSB1_VERSION = 3.0.0 +PYTHON_LIBUSB1_VERSION = 3.1.0 PYTHON_LIBUSB1_SOURCE = libusb1-$(PYTHON_LIBUSB1_VERSION).tar.gz -PYTHON_LIBUSB1_SITE = https://files.pythonhosted.org/packages/f4/83/59bf75e74e0c4859ea63eae0c7da660c1dcb78b31667d4a5f735d52f5974 +PYTHON_LIBUSB1_SITE = https://files.pythonhosted.org/packages/af/19/53ecbfb96d6832f2272d13b84658c360802fcfff7c0c497ab8f6bf15ac40 PYTHON_LIBUSB1_SETUP_TYPE = setuptools PYTHON_LIBUSB1_LICENSE = LGPL-2.1+ PYTHON_LIBUSB1_LICENSE_FILES = COPYING.LESSER diff --git a/package/python-lmdb/python-lmdb.hash b/package/python-lmdb/python-lmdb.hash index c8137ce4c0b..ad176d5d215 100644 --- a/package/python-lmdb/python-lmdb.hash +++ b/package/python-lmdb/python-lmdb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/lmdb/json -md5 230103e2cd8efbca8ee7cf29151afd0d lmdb-1.4.0.tar.gz -sha256 39f6c4ee145d28d17025d350720abb6f95db816514e868db57444fdef51cbb47 lmdb-1.4.0.tar.gz +md5 d216e0220c625aa72de2acc158e81a0e lmdb-1.4.1.tar.gz +sha256 1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d lmdb-1.4.1.tar.gz # Locally computed sha256 checksums sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/package/python-lmdb/python-lmdb.mk b/package/python-lmdb/python-lmdb.mk index 071106605fa..7906d388aee 100644 --- a/package/python-lmdb/python-lmdb.mk +++ b/package/python-lmdb/python-lmdb.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_LMDB_VERSION = 1.4.0 +PYTHON_LMDB_VERSION = 1.4.1 PYTHON_LMDB_SOURCE = lmdb-$(PYTHON_LMDB_VERSION).tar.gz -PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/fd/78/4cdc5927d5f3c3c86c4da0108c2eeba544cd67e773232164d59f3e442ff0 +PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/de/13/dd9b0c1924f0becc93e0bacd123a4e7a347966e3e74753ace3b1e85acc39 PYTHON_LMDB_LICENSE = OLDAP-2.8 PYTHON_LMDB_LICENSE_FILES = LICENSE +PYTHON_LMDB_CPE_ID_VENDOR = py-lmdb_project +PYTHON_LMDB_CPE_ID_PRODUCT = py-lmdb PYTHON_LMDB_SETUP_TYPE = setuptools PYTHON_LMDB_DEPENDENCIES = host-python-cffi diff --git a/package/python-logbook/python-logbook.hash b/package/python-logbook/python-logbook.hash index d77acad76e7..8761945de6b 100644 --- a/package/python-logbook/python-logbook.hash +++ b/package/python-logbook/python-logbook.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/logbook/json -md5 719970ea22dd274797bb4328161d700f Logbook-1.5.3.tar.gz -sha256 66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8 Logbook-1.5.3.tar.gz +md5 cbb7e5fb2d6325f42a323b0000127393 Logbook-1.7.0.post0.tar.gz +sha256 a5e8016701ca3beea6a390b0ba1541037f663543ca508ccd36cfdc841639cdd7 Logbook-1.7.0.post0.tar.gz # Locally computed sha256 checksums sha256 2ca266337cc6947578654ab0dd6438de4d01fa78b2e6eb554b09757df1178f98 LICENSE diff --git a/package/python-logbook/python-logbook.mk b/package/python-logbook/python-logbook.mk index 8f02e9b945a..e47e78d26e9 100644 --- a/package/python-logbook/python-logbook.mk +++ b/package/python-logbook/python-logbook.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_LOGBOOK_VERSION = 1.5.3 +PYTHON_LOGBOOK_VERSION = 1.7.0.post0 PYTHON_LOGBOOK_SOURCE = Logbook-$(PYTHON_LOGBOOK_VERSION).tar.gz -PYTHON_LOGBOOK_SITE = https://files.pythonhosted.org/packages/2f/d9/16ac346f7c0102835814cc9e5b684aaadea101560bb932a2403bd26b2320 +PYTHON_LOGBOOK_SITE = https://files.pythonhosted.org/packages/cc/98/c1d93c1d7593f58515333a6217aa4ae647d9ee9c1aa2dfdf77b28b7bb7c7 PYTHON_LOGBOOK_SETUP_TYPE = setuptools PYTHON_LOGBOOK_LICENSE = BSD-3-Clause PYTHON_LOGBOOK_LICENSE_FILES = LICENSE +PYTHON_LOGBOOK_DEPENDENCIES = host-python-cython $(eval $(python-package)) diff --git a/package/python-logstash/python-logstash.mk b/package/python-logstash/python-logstash.mk index a78b6e6590d..6cdbe2009be 100644 --- a/package/python-logstash/python-logstash.mk +++ b/package/python-logstash/python-logstash.mk @@ -6,7 +6,7 @@ PYTHON_LOGSTASH_VERSION = 0.4.8 PYTHON_LOGSTASH_SITE = https://files.pythonhosted.org/packages/f7/3b/c3a957bbdd23859f07905fc3d1adfe89957217a347478c58409f0315cf1d -PYTHON_LOGSTASH_SETUP_TYPE = distutils +PYTHON_LOGSTASH_SETUP_TYPE = setuptools PYTHON_LOGSTASH_LICENSE = MIT PYTHON_LOGSTASH_LICENSE_FILES = LICENSE diff --git a/package/python-lxml/python-lxml.hash b/package/python-lxml/python-lxml.hash index cd1943b0b4b..a23cdcec9e9 100644 --- a/package/python-lxml/python-lxml.hash +++ b/package/python-lxml/python-lxml.hash @@ -1,5 +1,6 @@ +# From https://pypi.org/project/lxml/ +sha256 3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca lxml-5.1.0.tar.gz # Locally computed -sha256 fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f lxml-4.9.1.tar.gz sha256 41d49dd406aa0e1548a6d5f21a30d6bf638b3cd96eb7289dd348d83ed2e40392 LICENSES.txt sha256 69edb445c1335a8312d4c09271847e9956d84f0d9f724d125340cc3fad767b2a doc/licenses/BSD.txt sha256 0497ae8138811ef4466ede653bab7a59feb3d3c14f9ed50fc33a00aeb5bec32e doc/licenses/elementtree.txt diff --git a/package/python-lxml/python-lxml.mk b/package/python-lxml/python-lxml.mk index 050495c3f31..519a9a77ac2 100644 --- a/package/python-lxml/python-lxml.mk +++ b/package/python-lxml/python-lxml.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.9.1 -PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808 +PYTHON_LXML_VERSION = 5.1.0 +PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/2b/b4/bbccb250adbee490553b6a52712c46c20ea1ba533a643f1424b27ffc6845 PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tar.gz # Not including the GPL, because it is used only for the test scripts. diff --git a/package/python-m2crypto/python-m2crypto.hash b/package/python-m2crypto/python-m2crypto.hash index 879f232565f..782837081ef 100644 --- a/package/python-m2crypto/python-m2crypto.hash +++ b/package/python-m2crypto/python-m2crypto.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/m2crypto/json -md5 8f39bfac730b6567e0c2179d15318c60 M2Crypto-0.38.0.tar.gz -sha256 99f2260a30901c949a8dc6d5f82cd5312ffb8abc92e76633baf231bbbcb2decb M2Crypto-0.38.0.tar.gz +md5 280c20072afbe7010cf9e9620ea25c7b M2Crypto-0.40.1.tar.gz +sha256 bbfd113ec55708c05816252a4f09e4237df4f3bbfc8171cbbc33057d257bbb30 M2Crypto-0.40.1.tar.gz # Locally computed sha256 checksums sha256 4eca478396f4b2b020729a111fce3f096456d74500bfd8f2b0388c3c69f997c0 LICENCE diff --git a/package/python-m2crypto/python-m2crypto.mk b/package/python-m2crypto/python-m2crypto.mk index 02ad76d3f43..69a0c28df55 100644 --- a/package/python-m2crypto/python-m2crypto.mk +++ b/package/python-m2crypto/python-m2crypto.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_M2CRYPTO_VERSION = 0.38.0 +PYTHON_M2CRYPTO_VERSION = 0.40.1 PYTHON_M2CRYPTO_SOURCE = M2Crypto-$(PYTHON_M2CRYPTO_VERSION).tar.gz -PYTHON_M2CRYPTO_SITE = https://files.pythonhosted.org/packages/2c/52/c35ec79dd97a8ecf6b2bbd651df528abb47705def774a4a15b99977274e8 +PYTHON_M2CRYPTO_SITE = https://files.pythonhosted.org/packages/9e/a3/9433817493ea250db67a05de3361cb0a1d58531847d50406f2f28455e68c PYTHON_M2CRYPTO_SETUP_TYPE = setuptools PYTHON_M2CRYPTO_LICENSE = MIT PYTHON_M2CRYPTO_LICENSE_FILES = LICENCE diff --git a/package/python-magic-wormhole-mailbox-server/0001-setup.py-remove-the-U-open-mode-removed-in-Python-3..patch b/package/python-magic-wormhole-mailbox-server/0001-setup.py-remove-the-U-open-mode-removed-in-Python-3..patch new file mode 100644 index 00000000000..8afe7c95465 --- /dev/null +++ b/package/python-magic-wormhole-mailbox-server/0001-setup.py-remove-the-U-open-mode-removed-in-Python-3..patch @@ -0,0 +1,39 @@ +From df6126ee86c1f84c7e0c25fcf69543b83b1b32c6 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Sat, 5 Nov 2022 13:06:07 +0100 +Subject: [PATCH] setup.py: remove the 'U' open mode removed in Python 3.11 + +The 'U' open mode was removed in Python 3.11. See: +https://docs.python.org/3.11/library/functions.html#open + +Installing with Python 3.11 fails with: + + /path/to/python-magic-wormhole-mailbox-server-0.4.1/setup.py", line 20, in + long_description=open('README.md', 'rU').read(), + ^^^^^^^^^^^^^^^^^^^^^^^ + ValueError: invalid mode: 'rU' + +This patch removes the 'U' open mode. + +Upstream: https://github.com/magic-wormhole/magic-wormhole-mailbox-server/commit/df6126ee86c1f84c7e0c25fcf69543b83b1b32c6 +Signed-off-by: Julien Olivain +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 6ef292f..ad9ff5a 100644 +--- a/setup.py ++++ b/setup.py +@@ -17,7 +17,7 @@ trove_classifiers = [ + setup(name="magic-wormhole-mailbox-server", + version=versioneer.get_version(), + description="Securely transfer data between computers", +- long_description=open('README.md', 'rU').read(), ++ long_description=open('README.md', 'r').read(), + long_description_content_type='text/markdown', + author="Brian Warner", + author_email="warner-magic-wormhole@lothar.com", +-- +2.38.1 + diff --git a/package/python-magic-wormhole-mailbox-server/0002-Update-versioneer-to-0.29.patch b/package/python-magic-wormhole-mailbox-server/0002-Update-versioneer-to-0.29.patch new file mode 100644 index 00000000000..3152f1aae79 --- /dev/null +++ b/package/python-magic-wormhole-mailbox-server/0002-Update-versioneer-to-0.29.patch @@ -0,0 +1,2194 @@ +From 76b422b7f53dbc41195a184d966230106f6ddc7d Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 24 Oct 2023 09:50:41 +0200 +Subject: [PATCH] Update versioneer to 0.29 + +Fixes builds against Python 3.12.0 + +Upstream: https://github.com/magic-wormhole/magic-wormhole-mailbox-server/pull/40 + +Signed-off-by: Adam Duskett +--- + versioneer.py | 1350 ++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 931 insertions(+), 419 deletions(-) + +diff --git a/versioneer.py b/versioneer.py +index 64fea1c..de97d90 100644 +--- a/versioneer.py ++++ b/versioneer.py +@@ -1,5 +1,4 @@ +- +-# Version: 0.18 ++# Version: 0.29 + + """The Versioneer - like a rocketeer, but for versions. + +@@ -7,18 +6,14 @@ The Versioneer + ============== + + * like a rocketeer, but for versions! +-* https://github.com/warner/python-versioneer ++* https://github.com/python-versioneer/python-versioneer + * Brian Warner +-* License: Public Domain +-* Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, and pypy +-* [![Latest Version] +-(https://pypip.in/version/versioneer/badge.svg?style=flat) +-](https://pypi.python.org/pypi/versioneer/) +-* [![Build Status] +-(https://travis-ci.org/warner/python-versioneer.png?branch=master) +-](https://travis-ci.org/warner/python-versioneer) +- +-This is a tool for managing a recorded version number in distutils-based ++* License: Public Domain (Unlicense) ++* Compatible with: Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3 ++* [![Latest Version][pypi-image]][pypi-url] ++* [![Build Status][travis-image]][travis-url] ++ ++This is a tool for managing a recorded version number in setuptools-based + python projects. The goal is to remove the tedious and error-prone "update + the embedded version string" step from your release process. Making a new + release should be as easy as recording a new tag in your version-control +@@ -27,9 +22,38 @@ system, and maybe making new tarballs. + + ## Quick Install + +-* `pip install versioneer` to somewhere to your $PATH +-* add a `[versioneer]` section to your setup.cfg (see below) +-* run `versioneer install` in your source tree, commit the results ++Versioneer provides two installation modes. The "classic" vendored mode installs ++a copy of versioneer into your repository. The experimental build-time dependency mode ++is intended to allow you to skip this step and simplify the process of upgrading. ++ ++### Vendored mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++ * Note that you will need to add `tomli; python_version < "3.11"` to your ++ build-time dependencies if you use `pyproject.toml` ++* run `versioneer install --vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` ++ ++### Build-time dependency mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++* add `versioneer` (with `[toml]` extra, if configuring in `pyproject.toml`) ++ to the `requires` key of the `build-system` table in `pyproject.toml`: ++ ```toml ++ [build-system] ++ requires = ["setuptools", "versioneer[toml]"] ++ build-backend = "setuptools.build_meta" ++ ``` ++* run `versioneer install --no-vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` + + ## Version Identifiers + +@@ -61,7 +85,7 @@ version 1.3). Many VCS systems can report a description that captures this, + for example `git describe --tags --dirty --always` reports things like + "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the + 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has +-uncommitted changes. ++uncommitted changes). + + The version identifier is used for multiple purposes: + +@@ -166,7 +190,7 @@ which may help identify what went wrong). + + Some situations are known to cause problems for Versioneer. This details the + most significant ones. More can be found on Github +-[issues page](https://github.com/warner/python-versioneer/issues). ++[issues page](https://github.com/python-versioneer/python-versioneer/issues). + + ### Subprojects + +@@ -180,7 +204,7 @@ two common reasons why `setup.py` might not be in the root: + `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI + distributions (and upload multiple independently-installable tarballs). + * Source trees whose main purpose is to contain a C library, but which also +- provide bindings to Python (and perhaps other langauges) in subdirectories. ++ provide bindings to Python (and perhaps other languages) in subdirectories. + + Versioneer will look for `.git` in parent directories, and most operations + should get the right version string. However `pip` and `setuptools` have bugs +@@ -194,9 +218,9 @@ work too. + Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in + some later version. + +-[Bug #38](https://github.com/warner/python-versioneer/issues/38) is tracking ++[Bug #38](https://github.com/python-versioneer/python-versioneer/issues/38) is tracking + this issue. The discussion in +-[PR #61](https://github.com/warner/python-versioneer/pull/61) describes the ++[PR #61](https://github.com/python-versioneer/python-versioneer/pull/61) describes the + issue from the Versioneer side in more detail. + [pip PR#3176](https://github.com/pypa/pip/pull/3176) and + [pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve +@@ -224,31 +248,20 @@ regenerated while a different version is checked out. Many setup.py commands + cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into + a different virtualenv), so this can be surprising. + +-[Bug #83](https://github.com/warner/python-versioneer/issues/83) describes ++[Bug #83](https://github.com/python-versioneer/python-versioneer/issues/83) describes + this one, but upgrading to a newer version of setuptools should probably + resolve it. + +-### Unicode version strings +- +-While Versioneer works (and is continually tested) with both Python 2 and +-Python 3, it is not entirely consistent with bytes-vs-unicode distinctions. +-Newer releases probably generate unicode version strings on py2. It's not +-clear that this is wrong, but it may be surprising for applications when then +-write these strings to a network connection or include them in bytes-oriented +-APIs like cryptographic checksums. +- +-[Bug #71](https://github.com/warner/python-versioneer/issues/71) investigates +-this question. +- + + ## Updating Versioneer + + To upgrade your project to a new release of Versioneer, do the following: + + * install the new Versioneer (`pip install -U versioneer` or equivalent) +-* edit `setup.cfg`, if necessary, to include any new configuration settings +- indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. +-* re-run `versioneer install` in your source tree, to replace ++* edit `setup.cfg` and `pyproject.toml`, if necessary, ++ to include any new configuration settings indicated by the release notes. ++ See [UPGRADING](./UPGRADING.md) for details. ++* re-run `versioneer install --[no-]vendor` in your source tree, to replace + `SRC/_version.py` + * commit any changed files + +@@ -265,35 +278,70 @@ installation by editing setup.py . Alternatively, it might go the other + direction and include code from all supported VCS systems, reducing the + number of intermediate scripts. + ++## Similar projects ++ ++* [setuptools_scm](https://github.com/pypa/setuptools_scm/) - a non-vendored build-time ++ dependency ++* [minver](https://github.com/jbweston/miniver) - a lightweight reimplementation of ++ versioneer ++* [versioningit](https://github.com/jwodder/versioningit) - a PEP 518-based setuptools ++ plugin + + ## License + + To make Versioneer easier to embed, all its code is dedicated to the public + domain. The `_version.py` that it creates is also in the public domain. +-Specifically, both are released under the Creative Commons "Public Domain +-Dedication" license (CC0-1.0), as described in +-https://creativecommons.org/publicdomain/zero/1.0/ . ++Specifically, both are released under the "Unlicense", as described in ++https://unlicense.org/. ++ ++[pypi-image]: https://img.shields.io/pypi/v/versioneer.svg ++[pypi-url]: https://pypi.python.org/pypi/versioneer/ ++[travis-image]: ++https://img.shields.io/travis/com/python-versioneer/python-versioneer.svg ++[travis-url]: https://travis-ci.com/github/python-versioneer/python-versioneer + + """ ++# pylint:disable=invalid-name,import-outside-toplevel,missing-function-docstring ++# pylint:disable=missing-class-docstring,too-many-branches,too-many-statements ++# pylint:disable=raise-missing-from,too-many-lines,too-many-locals,import-error ++# pylint:disable=too-few-public-methods,redefined-outer-name,consider-using-with ++# pylint:disable=attribute-defined-outside-init,too-many-arguments + +-from __future__ import print_function +-try: +- import configparser +-except ImportError: +- import ConfigParser as configparser ++import configparser + import errno + import json + import os + import re + import subprocess + import sys ++from pathlib import Path ++from typing import Any, Callable, cast, Dict, List, Optional, Tuple, Union ++from typing import NoReturn ++import functools ++ ++have_tomllib = True ++if sys.version_info >= (3, 11): ++ import tomllib ++else: ++ try: ++ import tomli as tomllib ++ except ImportError: ++ have_tomllib = False + + + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ versionfile_source: str ++ versionfile_build: Optional[str] ++ parentdir_prefix: Optional[str] ++ verbose: Optional[bool] ++ + +-def get_root(): ++def get_root() -> str: + """Get the project root directory. + + We require that all commands are run from the project root, i.e. the +@@ -301,18 +349,30 @@ def get_root(): + """ + root = os.path.realpath(os.path.abspath(os.getcwd())) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): + # allow 'python path/to/setup.py COMMAND' + root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): +- err = ("Versioneer was unable to run the project root directory. " +- "Versioneer requires setup.py to be executed from " +- "its immediate directory (like 'python setup.py COMMAND'), " +- "or in a way that lets it use sys.argv[0] to find the root " +- "(like 'python path/to/setup.py COMMAND').") ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): ++ err = ( ++ "Versioneer was unable to run the project root directory. " ++ "Versioneer requires setup.py to be executed from " ++ "its immediate directory (like 'python setup.py COMMAND'), " ++ "or in a way that lets it use sys.argv[0] to find the root " ++ "(like 'python path/to/setup.py COMMAND')." ++ ) + raise VersioneerBadRootError(err) + try: + # Certain runtime workflows (setup.py install/develop in a setuptools +@@ -321,43 +381,64 @@ def get_root(): + # module-import table will cache the first one. So we can't use + # os.path.dirname(__file__), as that will find whichever + # versioneer.py was first imported, even in later projects. +- me = os.path.realpath(os.path.abspath(__file__)) +- me_dir = os.path.normcase(os.path.splitext(me)[0]) ++ my_path = os.path.realpath(os.path.abspath(__file__)) ++ me_dir = os.path.normcase(os.path.splitext(my_path)[0]) + vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) +- if me_dir != vsr_dir: +- print("Warning: build in %s is using versioneer.py from %s" +- % (os.path.dirname(me), versioneer_py)) ++ if me_dir != vsr_dir and "VERSIONEER_PEP518" not in globals(): ++ print( ++ "Warning: build in %s is using versioneer.py from %s" ++ % (os.path.dirname(my_path), versioneer_py) ++ ) + except NameError: + pass + return root + + +-def get_config_from_root(root): ++def get_config_from_root(root: str) -> VersioneerConfig: + """Read the project setup.cfg file to determine Versioneer config.""" +- # This might raise EnvironmentError (if setup.cfg is missing), or ++ # This might raise OSError (if setup.cfg is missing), or + # configparser.NoSectionError (if it lacks a [versioneer] section), or + # configparser.NoOptionError (if it lacks "VCS="). See the docstring at + # the top of versioneer.py for instructions on writing your setup.cfg . +- setup_cfg = os.path.join(root, "setup.cfg") +- parser = configparser.SafeConfigParser() +- with open(setup_cfg, "r") as f: +- parser.readfp(f) +- VCS = parser.get("versioneer", "VCS") # mandatory +- +- def get(parser, name): +- if parser.has_option("versioneer", name): +- return parser.get("versioneer", name) +- return None ++ root_pth = Path(root) ++ pyproject_toml = root_pth / "pyproject.toml" ++ setup_cfg = root_pth / "setup.cfg" ++ section: Union[Dict[str, Any], configparser.SectionProxy, None] = None ++ if pyproject_toml.exists() and have_tomllib: ++ try: ++ with open(pyproject_toml, "rb") as fobj: ++ pp = tomllib.load(fobj) ++ section = pp["tool"]["versioneer"] ++ except (tomllib.TOMLDecodeError, KeyError) as e: ++ print(f"Failed to load config from {pyproject_toml}: {e}") ++ print("Try to load it from setup.cfg") ++ if not section: ++ parser = configparser.ConfigParser() ++ with open(setup_cfg) as cfg_file: ++ parser.read_file(cfg_file) ++ parser.get("versioneer", "VCS") # raise error if missing ++ ++ section = parser["versioneer"] ++ ++ # `cast`` really shouldn't be used, but its simplest for the ++ # common VersioneerConfig users at the moment. We verify against ++ # `None` values elsewhere where it matters ++ + cfg = VersioneerConfig() +- cfg.VCS = VCS +- cfg.style = get(parser, "style") or "" +- cfg.versionfile_source = get(parser, "versionfile_source") +- cfg.versionfile_build = get(parser, "versionfile_build") +- cfg.tag_prefix = get(parser, "tag_prefix") +- if cfg.tag_prefix in ("''", '""'): ++ cfg.VCS = section["VCS"] ++ cfg.style = section.get("style", "") ++ cfg.versionfile_source = cast(str, section.get("versionfile_source")) ++ cfg.versionfile_build = section.get("versionfile_build") ++ cfg.tag_prefix = cast(str, section.get("tag_prefix")) ++ if cfg.tag_prefix in ("''", '""', None): + cfg.tag_prefix = "" +- cfg.parentdir_prefix = get(parser, "parentdir_prefix") +- cfg.verbose = get(parser, "verbose") ++ cfg.parentdir_prefix = section.get("parentdir_prefix") ++ if isinstance(section, configparser.SectionProxy): ++ # Make sure configparser translates to bool ++ cfg.verbose = section.getboolean("verbose") ++ else: ++ cfg.verbose = section.get("verbose") ++ + return cfg + + +@@ -366,37 +447,54 @@ class NotThisMethod(Exception): + + + # these dictionaries contain VCS-specific tools +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" +- if vcs not in HANDLERS: +- HANDLERS[vcs] = {} +- HANDLERS[vcs][method] = f ++ HANDLERS.setdefault(vcs, {})[method] = f + return f ++ + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen( ++ [command] + args, ++ cwd=cwd, ++ env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr else None), ++ **popen_kwargs, ++ ) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -407,26 +505,27 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %s" % (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %s (error)" % dispcmd) + print("stdout was %s" % stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-LONG_VERSION_PY['git'] = ''' ++LONG_VERSION_PY[ ++ "git" ++] = r''' + # This file helps to compute a version number in source trees obtained from + # git-archive tarball (such as those provided by githubs download-from-tag + # feature). Distribution tarballs (built by setup.py sdist) and build + # directories (produced by setup.py build) will contain a much shorter file + # that just contains the computed version number. + +-# This file is released into the public domain. Generated by +-# versioneer-0.18 (https://github.com/warner/python-versioneer) ++# This file is released into the public domain. ++# Generated by versioneer-0.29 ++# https://github.com/python-versioneer/python-versioneer + + """Git implementation of _version.py.""" + +@@ -435,9 +534,11 @@ import os + import re + import subprocess + import sys ++from typing import Any, Callable, Dict, List, Optional, Tuple ++import functools + + +-def get_keywords(): ++def get_keywords() -> Dict[str, str]: + """Get the keywords needed to look up the version information.""" + # these strings will be replaced by git during git-archive. + # setup.py/versioneer.py will grep for the variable names, so they must +@@ -453,8 +554,15 @@ def get_keywords(): + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ parentdir_prefix: str ++ versionfile_source: str ++ verbose: bool ++ + +-def get_config(): ++def get_config() -> VersioneerConfig: + """Create, populate and return the VersioneerConfig() object.""" + # these strings are filled in when 'setup.py versioneer' creates + # _version.py +@@ -472,13 +580,13 @@ class NotThisMethod(Exception): + """Exception raised if a method is not valid for the current scenario.""" + + +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" + if vcs not in HANDLERS: + HANDLERS[vcs] = {} +@@ -487,22 +595,35 @@ def register_vcs_handler(vcs, method): # decorator + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -513,18 +634,20 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %%s" %% (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %%s (error)" %% dispcmd) + print("stdout was %%s" %% stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -533,15 +656,14 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): + return {"version": dirname[len(parentdir_prefix):], + "full-revisionid": None, + "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: + print("Tried directories %%s but none started with prefix %%s" %% +@@ -550,41 +672,48 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -597,11 +726,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %%d +@@ -610,7 +739,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r'\d', r)} + if verbose: + print("discarding '%%s', no digits" %% ",".join(refs - tags)) + if verbose: +@@ -619,6 +748,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): + r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue + if verbose: + print("picking %%s" %% r) + return {"version": r, +@@ -634,7 +768,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, ++ root: str, ++ verbose: bool, ++ runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -645,8 +784,15 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %%s not under git control" %% root) +@@ -654,24 +800,57 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%%s*" %% tag_prefix], +- cwd=root) ++ describe_out, rc = runner(GITS, [ ++ "describe", "--tags", "--dirty", "--always", "--long", ++ "--match", f"{tag_prefix}[[:digit:]]*" ++ ], cwd=root) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -688,7 +867,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + # TAG-NUM-gHEX + mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? ++ # unparsable. Maybe git-describe is misbehaving? + pieces["error"] = ("unable to parse git-describe output: '%%s'" + %% describe_out) + return pieces +@@ -713,26 +892,27 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -757,23 +937,71 @@ def render_pep440(pieces): + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%%d.g%%s" %% (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%%d" %% pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%%d.dev%%d" %% (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%%d" %% (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%%d" %% pieces["distance"] ++ rendered = "0.post0.dev%%d" %% pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -800,12 +1028,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -822,7 +1079,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -842,7 +1099,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -862,7 +1119,7 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: + return {"version": "unknown", +@@ -876,10 +1133,14 @@ def render(pieces, style): + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -894,7 +1155,7 @@ def render(pieces, style): + "date": pieces.get("date")} + + +-def get_versions(): ++def get_versions() -> Dict[str, Any]: + """Get version information or return default if unable to do so.""" + # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have + # __file__, we can work backwards from there to the root. Some +@@ -915,7 +1176,7 @@ def get_versions(): + # versionfile_source is the relative path from the top of the source + # tree (where the .git directory might live) to this file. Invert + # this to find the root from __file__. +- for i in cfg.versionfile_source.split('/'): ++ for _ in cfg.versionfile_source.split('/'): + root = os.path.dirname(root) + except NameError: + return {"version": "0+unknown", "full-revisionid": None, +@@ -942,41 +1203,48 @@ def get_versions(): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -989,11 +1257,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG) :] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %d +@@ -1002,7 +1270,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r"\d", r)} + if verbose: + print("discarding '%s', no digits" % ",".join(refs - tags)) + if verbose: +@@ -1010,23 +1278,37 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + for ref in sorted(tags): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): +- r = ref[len(tag_prefix):] ++ r = ref[len(tag_prefix) :] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r"\d", r): ++ continue + if verbose: + print("picking %s" % r) +- return {"version": r, +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": None, +- "date": date} ++ return { ++ "version": r, ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": None, ++ "date": date, ++ } + # no suitable tags, so version is "0+unknown", but full hex is still there + if verbose: + print("no suitable tags, using unknown + full revision id") +- return {"version": "0+unknown", +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": "no suitable tags", "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": "no suitable tags", ++ "date": None, ++ } + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, root: str, verbose: bool, runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -1037,8 +1319,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %s not under git control" % root) +@@ -1046,24 +1334,65 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%s*" % tag_prefix], +- cwd=root) ++ describe_out, rc = runner( ++ GITS, ++ [ ++ "describe", ++ "--tags", ++ "--dirty", ++ "--always", ++ "--long", ++ "--match", ++ f"{tag_prefix}[[:digit:]]*", ++ ], ++ cwd=root, ++ ) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -1072,17 +1401,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + dirty = git_describe.endswith("-dirty") + pieces["dirty"] = dirty + if dirty: +- git_describe = git_describe[:git_describe.rindex("-dirty")] ++ git_describe = git_describe[: git_describe.rindex("-dirty")] + + # now we have TAG-NUM-gHEX or HEX + + if "-" in git_describe: + # TAG-NUM-gHEX +- mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) ++ mo = re.search(r"^(.+)-(\d+)-g([0-9a-f]+)$", git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? +- pieces["error"] = ("unable to parse git-describe output: '%s'" +- % describe_out) ++ # unparsable. Maybe git-describe is misbehaving? ++ pieces["error"] = "unable to parse git-describe output: '%s'" % describe_out + return pieces + + # tag +@@ -1091,10 +1419,12 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if verbose: + fmt = "tag '%s' doesn't start with prefix '%s'" + print(fmt % (full_tag, tag_prefix)) +- pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" +- % (full_tag, tag_prefix)) ++ pieces["error"] = "tag '%s' doesn't start with prefix '%s'" % ( ++ full_tag, ++ tag_prefix, ++ ) + return pieces +- pieces["closest-tag"] = full_tag[len(tag_prefix):] ++ pieces["closest-tag"] = full_tag[len(tag_prefix) :] + + # distance: number of commits since tag + pieces["distance"] = int(mo.group(2)) +@@ -1105,19 +1435,20 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def do_vcs_install(manifest_in, versionfile_source, ipy): ++def do_vcs_install(versionfile_source: str, ipy: Optional[str]) -> None: + """Git-specific installation logic for Versioneer. + + For Git, this means creating/changing .gitattributes to mark _version.py +@@ -1126,36 +1457,40 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + GITS = ["git"] + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] +- files = [manifest_in, versionfile_source] ++ files = [versionfile_source] + if ipy: + files.append(ipy) +- try: +- me = __file__ +- if me.endswith(".pyc") or me.endswith(".pyo"): +- me = os.path.splitext(me)[0] + ".py" +- versioneer_file = os.path.relpath(me) +- except NameError: +- versioneer_file = "versioneer.py" +- files.append(versioneer_file) ++ if "VERSIONEER_PEP518" not in globals(): ++ try: ++ my_path = __file__ ++ if my_path.endswith((".pyc", ".pyo")): ++ my_path = os.path.splitext(my_path)[0] + ".py" ++ versioneer_file = os.path.relpath(my_path) ++ except NameError: ++ versioneer_file = "versioneer.py" ++ files.append(versioneer_file) + present = False + try: +- f = open(".gitattributes", "r") +- for line in f.readlines(): +- if line.strip().startswith(versionfile_source): +- if "export-subst" in line.strip().split()[1:]: +- present = True +- f.close() +- except EnvironmentError: ++ with open(".gitattributes", "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith(versionfile_source): ++ if "export-subst" in line.strip().split()[1:]: ++ present = True ++ break ++ except OSError: + pass + if not present: +- f = open(".gitattributes", "a+") +- f.write("%s export-subst\n" % versionfile_source) +- f.close() ++ with open(".gitattributes", "a+") as fobj: ++ fobj.write(f"{versionfile_source} export-subst\n") + files.append(".gitattributes") + run_command(GITS, ["add", "--"] + files) + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -1164,24 +1499,29 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): +- return {"version": dirname[len(parentdir_prefix):], +- "full-revisionid": None, +- "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ return { ++ "version": dirname[len(parentdir_prefix) :], ++ "full-revisionid": None, ++ "dirty": False, ++ "error": None, ++ "date": None, ++ } ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: +- print("Tried directories %s but none started with prefix %s" % +- (str(rootdirs), parentdir_prefix)) ++ print( ++ "Tried directories %s but none started with prefix %s" ++ % (str(rootdirs), parentdir_prefix) ++ ) + raise NotThisMethod("rootdir doesn't start with parentdir_prefix") + + + SHORT_VERSION_PY = """ +-# This file was generated by 'versioneer.py' (0.18) from ++# This file was generated by 'versioneer.py' (0.29) from + # revision-control system data, or from the parent directory name of an + # unpacked source archive. Distribution tarballs contain a pre-generated copy + # of this file. +@@ -1198,42 +1538,42 @@ def get_versions(): + """ + + +-def versions_from_file(filename): ++def versions_from_file(filename: str) -> Dict[str, Any]: + """Try to determine the version from _version.py if present.""" + try: + with open(filename) as f: + contents = f.read() +- except EnvironmentError: ++ except OSError: + raise NotThisMethod("unable to read _version.py") +- mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: +- mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\r\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: + raise NotThisMethod("no version_json in _version.py") + return json.loads(mo.group(1)) + + +-def write_to_version_file(filename, versions): ++def write_to_version_file(filename: str, versions: Dict[str, Any]) -> None: + """Write the given version number to the given _version.py file.""" +- os.unlink(filename) +- contents = json.dumps(versions, sort_keys=True, +- indent=1, separators=(",", ": ")) ++ contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) + with open(filename, "w") as f: + f.write(SHORT_VERSION_PY % contents) + + print("set %s to '%s'" % (filename, versions["version"])) + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -1251,30 +1591,76 @@ def render_pep440(pieces): + rendered += ".dirty" + else: + # exception #1 +- rendered = "0+untagged.%d.g%s" % (pieces["distance"], +- pieces["short"]) ++ rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) + if pieces["dirty"]: + rendered += ".dirty" + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%d" % pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%d.dev%d" % (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%d" % (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%d" % pieces["distance"] ++ rendered = "0.post0.dev%d" % pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -1301,12 +1687,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -1323,7 +1738,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -1343,7 +1758,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -1363,24 +1778,30 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: +- return {"version": "unknown", +- "full-revisionid": pieces.get("long"), +- "dirty": None, +- "error": pieces["error"], +- "date": None} ++ return { ++ "version": "unknown", ++ "full-revisionid": pieces.get("long"), ++ "dirty": None, ++ "error": pieces["error"], ++ "date": None, ++ } + + if not style or style == "default": + style = "pep440" # the default + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -1390,16 +1811,20 @@ def render(pieces, style): + else: + raise ValueError("unknown style '%s'" % style) + +- return {"version": rendered, "full-revisionid": pieces["long"], +- "dirty": pieces["dirty"], "error": None, +- "date": pieces.get("date")} ++ return { ++ "version": rendered, ++ "full-revisionid": pieces["long"], ++ "dirty": pieces["dirty"], ++ "error": None, ++ "date": pieces.get("date"), ++ } + + + class VersioneerBadRootError(Exception): + """The project root directory is unknown or missing key files.""" + + +-def get_versions(verbose=False): ++def get_versions(verbose: bool = False) -> Dict[str, Any]: + """Get the project version from whatever source is available. + + Returns dict with two keys: 'version' and 'full'. +@@ -1414,9 +1839,10 @@ def get_versions(verbose=False): + assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" + handlers = HANDLERS.get(cfg.VCS) + assert handlers, "unrecognized VCS '%s'" % cfg.VCS +- verbose = verbose or cfg.verbose +- assert cfg.versionfile_source is not None, \ +- "please set versioneer.versionfile_source" ++ verbose = verbose or bool(cfg.verbose) # `bool()` used to avoid `None` ++ assert ( ++ cfg.versionfile_source is not None ++ ), "please set versioneer.versionfile_source" + assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" + + versionfile_abs = os.path.join(root, cfg.versionfile_source) +@@ -1470,18 +1896,26 @@ def get_versions(verbose=False): + if verbose: + print("unable to compute version") + +- return {"version": "0+unknown", "full-revisionid": None, +- "dirty": None, "error": "unable to compute version", +- "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": None, ++ "dirty": None, ++ "error": "unable to compute version", ++ "date": None, ++ } + + +-def get_version(): ++def get_version() -> str: + """Get the short version string for this project.""" + return get_versions()["version"] + + +-def get_cmdclass(): +- """Get the custom setuptools/distutils subclasses used by Versioneer.""" ++def get_cmdclass(cmdclass: Optional[Dict[str, Any]] = None): ++ """Get the custom setuptools subclasses used by Versioneer. ++ ++ If the package uses a different cmdclass (e.g. one from numpy), it ++ should be provide as an argument. ++ """ + if "versioneer" in sys.modules: + del sys.modules["versioneer"] + # this fixes the "python setup.py develop" case (also 'install' and +@@ -1495,25 +1929,25 @@ def get_cmdclass(): + # parent is protected against the child's "import versioneer". By + # removing ourselves from sys.modules here, before the child build + # happens, we protect the child from the parent's versioneer too. +- # Also see https://github.com/warner/python-versioneer/issues/52 ++ # Also see https://github.com/python-versioneer/python-versioneer/issues/52 + +- cmds = {} ++ cmds = {} if cmdclass is None else cmdclass.copy() + +- # we add "version" to both distutils and setuptools +- from distutils.core import Command ++ # we add "version" to setuptools ++ from setuptools import Command + + class cmd_version(Command): + description = "report generated version string" +- user_options = [] +- boolean_options = [] ++ user_options: List[Tuple[str, str, str]] = [] ++ boolean_options: List[str] = [] + +- def initialize_options(self): ++ def initialize_options(self) -> None: + pass + +- def finalize_options(self): ++ def finalize_options(self) -> None: + pass + +- def run(self): ++ def run(self) -> None: + vers = get_versions(verbose=True) + print("Version: %s" % vers["version"]) + print(" full-revisionid: %s" % vers.get("full-revisionid")) +@@ -1521,9 +1955,10 @@ def get_cmdclass(): + print(" date: %s" % vers.get("date")) + if vers["error"]: + print(" error: %s" % vers["error"]) ++ + cmds["version"] = cmd_version + +- # we override "build_py" in both distutils and setuptools ++ # we override "build_py" in setuptools + # + # most invocation pathways end up running build_py: + # distutils/build -> build_py +@@ -1538,29 +1973,71 @@ def get_cmdclass(): + # then does setup.py bdist_wheel, or sometimes setup.py install + # setup.py egg_info -> ? + ++ # pip install -e . and setuptool/editable_wheel will invoke build_py ++ # but the build_py command is not expected to copy any files. ++ + # we override different "build_py" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.build_py import build_py as _build_py ++ if "build_py" in cmds: ++ _build_py: Any = cmds["build_py"] + else: +- from distutils.command.build_py import build_py as _build_py ++ from setuptools.command.build_py import build_py as _build_py + + class cmd_build_py(_build_py): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() + _build_py.run(self) ++ if getattr(self, "editable_mode", False): ++ # During editable installs `.py` and data files are ++ # not copied to build_lib ++ return + # now locate _version.py in the new build/ directory and replace + # it with an updated value + if cfg.versionfile_build: +- target_versionfile = os.path.join(self.build_lib, +- cfg.versionfile_build) ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) + print("UPDATING %s" % target_versionfile) + write_to_version_file(target_versionfile, versions) ++ + cmds["build_py"] = cmd_build_py + ++ if "build_ext" in cmds: ++ _build_ext: Any = cmds["build_ext"] ++ else: ++ from setuptools.command.build_ext import build_ext as _build_ext ++ ++ class cmd_build_ext(_build_ext): ++ def run(self) -> None: ++ root = get_root() ++ cfg = get_config_from_root(root) ++ versions = get_versions() ++ _build_ext.run(self) ++ if self.inplace: ++ # build_ext --inplace will only build extensions in ++ # build/lib<..> dir with no _version.py to write to. ++ # As in place builds will already have a _version.py ++ # in the module dir, we do not need to write one. ++ return ++ # now locate _version.py in the new build/ directory and replace ++ # it with an updated value ++ if not cfg.versionfile_build: ++ return ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) ++ if not os.path.exists(target_versionfile): ++ print( ++ f"Warning: {target_versionfile} does not exist, skipping " ++ "version update. This can happen if you are running build_ext " ++ "without first running build_py." ++ ) ++ return ++ print("UPDATING %s" % target_versionfile) ++ write_to_version_file(target_versionfile, versions) ++ ++ cmds["build_ext"] = cmd_build_ext ++ + if "cx_Freeze" in sys.modules: # cx_freeze enabled? +- from cx_Freeze.dist import build_exe as _build_exe ++ from cx_Freeze.dist import build_exe as _build_exe # type: ignore ++ + # nczeczulin reports that py2exe won't like the pep440-style string + # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. + # setup(console=[{ +@@ -1569,7 +2046,7 @@ def get_cmdclass(): + # ... + + class cmd_build_exe(_build_exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1581,24 +2058,28 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["build_exe"] = cmd_build_exe + del cmds["build_py"] + +- if 'py2exe' in sys.modules: # py2exe enabled? ++ if "py2exe" in sys.modules: # py2exe enabled? + try: +- from py2exe.distutils_buildexe import py2exe as _py2exe # py3 ++ from py2exe.setuptools_buildexe import py2exe as _py2exe # type: ignore + except ImportError: +- from py2exe.build_exe import py2exe as _py2exe # py2 ++ from py2exe.distutils_buildexe import py2exe as _py2exe # type: ignore + + class cmd_py2exe(_py2exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1610,23 +2091,67 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["py2exe"] = cmd_py2exe + ++ # sdist farms its file list building out to egg_info ++ if "egg_info" in cmds: ++ _egg_info: Any = cmds["egg_info"] ++ else: ++ from setuptools.command.egg_info import egg_info as _egg_info ++ ++ class cmd_egg_info(_egg_info): ++ def find_sources(self) -> None: ++ # egg_info.find_sources builds the manifest list and writes it ++ # in one shot ++ super().find_sources() ++ ++ # Modify the filelist and normalize it ++ root = get_root() ++ cfg = get_config_from_root(root) ++ self.filelist.append("versioneer.py") ++ if cfg.versionfile_source: ++ # There are rare cases where versionfile_source might not be ++ # included by default, so we must be explicit ++ self.filelist.append(cfg.versionfile_source) ++ self.filelist.sort() ++ self.filelist.remove_duplicates() ++ ++ # The write method is hidden in the manifest_maker instance that ++ # generated the filelist and was thrown away ++ # We will instead replicate their final normalization (to unicode, ++ # and POSIX-style paths) ++ from setuptools import unicode_utils ++ ++ normalized = [ ++ unicode_utils.filesys_decode(f).replace(os.sep, "/") ++ for f in self.filelist.files ++ ] ++ ++ manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") ++ with open(manifest_filename, "w") as fobj: ++ fobj.write("\n".join(normalized)) ++ ++ cmds["egg_info"] = cmd_egg_info ++ + # we override different "sdist" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.sdist import sdist as _sdist ++ if "sdist" in cmds: ++ _sdist: Any = cmds["sdist"] + else: +- from distutils.command.sdist import sdist as _sdist ++ from setuptools.command.sdist import sdist as _sdist + + class cmd_sdist(_sdist): +- def run(self): ++ def run(self) -> None: + versions = get_versions() + self._versioneer_generated_versions = versions + # unless we update this, the command will keep using the old +@@ -1634,7 +2159,7 @@ def get_cmdclass(): + self.distribution.metadata.version = versions["version"] + return _sdist.run(self) + +- def make_release_tree(self, base_dir, files): ++ def make_release_tree(self, base_dir: str, files: List[str]) -> None: + root = get_root() + cfg = get_config_from_root(root) + _sdist.make_release_tree(self, base_dir, files) +@@ -1643,8 +2168,10 @@ def get_cmdclass(): + # updated value + target_versionfile = os.path.join(base_dir, cfg.versionfile_source) + print("UPDATING %s" % target_versionfile) +- write_to_version_file(target_versionfile, +- self._versioneer_generated_versions) ++ write_to_version_file( ++ target_versionfile, self._versioneer_generated_versions ++ ) ++ + cmds["sdist"] = cmd_sdist + + return cmds +@@ -1687,23 +2214,26 @@ SAMPLE_CONFIG = """ + + """ + +-INIT_PY_SNIPPET = """ ++OLD_SNIPPET = """ + from ._version import get_versions + __version__ = get_versions()['version'] + del get_versions + """ + ++INIT_PY_SNIPPET = """ ++from . import {0} ++__version__ = {0}.get_versions()['version'] ++""" ++ + +-def do_setup(): +- """Main VCS-independent setup function for installing Versioneer.""" ++def do_setup() -> int: ++ """Do main VCS-independent setup function for installing Versioneer.""" + root = get_root() + try: + cfg = get_config_from_root(root) +- except (EnvironmentError, configparser.NoSectionError, +- configparser.NoOptionError) as e: +- if isinstance(e, (EnvironmentError, configparser.NoSectionError)): +- print("Adding sample versioneer config to setup.cfg", +- file=sys.stderr) ++ except (OSError, configparser.NoSectionError, configparser.NoOptionError) as e: ++ if isinstance(e, (OSError, configparser.NoSectionError)): ++ print("Adding sample versioneer config to setup.cfg", file=sys.stderr) + with open(os.path.join(root, "setup.cfg"), "a") as f: + f.write(SAMPLE_CONFIG) + print(CONFIG_ERROR, file=sys.stderr) +@@ -1712,71 +2242,49 @@ def do_setup(): + print(" creating %s" % cfg.versionfile_source) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) +- +- ipy = os.path.join(os.path.dirname(cfg.versionfile_source), +- "__init__.py") ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ ++ ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") ++ maybe_ipy: Optional[str] = ipy + if os.path.exists(ipy): + try: + with open(ipy, "r") as f: + old = f.read() +- except EnvironmentError: ++ except OSError: + old = "" +- if INIT_PY_SNIPPET not in old: ++ module = os.path.splitext(os.path.basename(cfg.versionfile_source))[0] ++ snippet = INIT_PY_SNIPPET.format(module) ++ if OLD_SNIPPET in old: ++ print(" replacing boilerplate in %s" % ipy) ++ with open(ipy, "w") as f: ++ f.write(old.replace(OLD_SNIPPET, snippet)) ++ elif snippet not in old: + print(" appending to %s" % ipy) + with open(ipy, "a") as f: +- f.write(INIT_PY_SNIPPET) ++ f.write(snippet) + else: + print(" %s unmodified" % ipy) + else: + print(" %s doesn't exist, ok" % ipy) +- ipy = None +- +- # Make sure both the top-level "versioneer.py" and versionfile_source +- # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so +- # they'll be copied into source distributions. Pip won't be able to +- # install the package without this. +- manifest_in = os.path.join(root, "MANIFEST.in") +- simple_includes = set() +- try: +- with open(manifest_in, "r") as f: +- for line in f: +- if line.startswith("include "): +- for include in line.split()[1:]: +- simple_includes.add(include) +- except EnvironmentError: +- pass +- # That doesn't cover everything MANIFEST.in can do +- # (http://docs.python.org/2/distutils/sourcedist.html#commands), so +- # it might give some false negatives. Appending redundant 'include' +- # lines is safe, though. +- if "versioneer.py" not in simple_includes: +- print(" appending 'versioneer.py' to MANIFEST.in") +- with open(manifest_in, "a") as f: +- f.write("include versioneer.py\n") +- else: +- print(" 'versioneer.py' already in MANIFEST.in") +- if cfg.versionfile_source not in simple_includes: +- print(" appending versionfile_source ('%s') to MANIFEST.in" % +- cfg.versionfile_source) +- with open(manifest_in, "a") as f: +- f.write("include %s\n" % cfg.versionfile_source) +- else: +- print(" versionfile_source already in MANIFEST.in") ++ maybe_ipy = None + + # Make VCS-specific changes. For git, this means creating/changing + # .gitattributes to mark _version.py for export-subst keyword + # substitution. +- do_vcs_install(manifest_in, cfg.versionfile_source, ipy) ++ do_vcs_install(cfg.versionfile_source, maybe_ipy) + return 0 + + +-def scan_setup_py(): ++def scan_setup_py() -> int: + """Validate the contents of setup.py against Versioneer's expectations.""" + found = set() + setters = False +@@ -1813,10 +2321,14 @@ def scan_setup_py(): + return errors + + ++def setup_command() -> NoReturn: ++ """Set up Versioneer and exit with appropriate error code.""" ++ errors = do_setup() ++ errors += scan_setup_py() ++ sys.exit(1 if errors else 0) ++ ++ + if __name__ == "__main__": + cmd = sys.argv[1] + if cmd == "setup": +- errors = do_setup() +- errors += scan_setup_py() +- if errors: +- sys.exit(1) ++ setup_command() +-- +2.41.0 + diff --git a/package/python-magic-wormhole-mailbox-server/Config.in b/package/python-magic-wormhole-mailbox-server/Config.in new file mode 100644 index 00000000000..a0721e866f5 --- /dev/null +++ b/package/python-magic-wormhole-mailbox-server/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER + bool "python-magic-wormhole-mailbox-server" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-autobahn -> python-cryptography + select BR2_PACKAGE_PYTHON3_SQLITE # runtime + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_AUTOBAHN # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_TWISTED # runtime + help + This package is the main server that Magic-Wormhole clients + connect to. The server performs store-and-forward delivery + for small key-exchange and control messages. Bulk data is + sent over a direct TCP connection, or through a + transit-relay. + + https://github.com/magic-wormhole/magic-wormhole-mailbox-server diff --git a/package/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.hash b/package/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.hash new file mode 100644 index 00000000000..c7147126419 --- /dev/null +++ b/package/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/magic-wormhole-mailbox-server/json +md5 3da441df1f354a8399a728da3421ac8f magic-wormhole-mailbox-server-0.4.1.tar.gz +sha256 1af10592909caaf519c00e706eac842c5e77f8d4356215fe9c61c7b2258a88fb magic-wormhole-mailbox-server-0.4.1.tar.gz +# Locally computed sha256 checksums +sha256 4a9cc2415c52cef591b6822eee68fed36d7e6d80284b09638cff61d762d99060 LICENSE diff --git a/package/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.mk b/package/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.mk new file mode 100644 index 00000000000..a3394c7dcd6 --- /dev/null +++ b/package/python-magic-wormhole-mailbox-server/python-magic-wormhole-mailbox-server.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-magic-wormhole-mailbox-server +# +################################################################################ + +PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_VERSION = 0.4.1 +PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_SOURCE = magic-wormhole-mailbox-server-$(PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_VERSION).tar.gz +PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_SITE = https://files.pythonhosted.org/packages/5b/ba/cbb211bc8f8bfdf7fb620d33331f07bcd889c7a28e7fd8a0de9029bb5a2f +PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_SETUP_TYPE = setuptools +PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_LICENSE = MIT +PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-magic-wormhole-transit-relay/0001-Update-versioneer-to-0.29.patch b/package/python-magic-wormhole-transit-relay/0001-Update-versioneer-to-0.29.patch new file mode 100644 index 00000000000..51cecd138a0 --- /dev/null +++ b/package/python-magic-wormhole-transit-relay/0001-Update-versioneer-to-0.29.patch @@ -0,0 +1,2194 @@ +From f00f54ecbd9bea970795da4f1f6091828a011bcd Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 24 Oct 2023 09:52:45 +0200 +Subject: [PATCH] Update versioneer to 0.29 + +Fixes builds against Python 3.12.0 + +Upstream: https://github.com/magic-wormhole/magic-wormhole-transit-relay/pull/34 + +Signed-off-by: Adam Duskett +--- + versioneer.py | 1350 ++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 931 insertions(+), 419 deletions(-) + +diff --git a/versioneer.py b/versioneer.py +index 64fea1c..de97d90 100644 +--- a/versioneer.py ++++ b/versioneer.py +@@ -1,5 +1,4 @@ +- +-# Version: 0.18 ++# Version: 0.29 + + """The Versioneer - like a rocketeer, but for versions. + +@@ -7,18 +6,14 @@ The Versioneer + ============== + + * like a rocketeer, but for versions! +-* https://github.com/warner/python-versioneer ++* https://github.com/python-versioneer/python-versioneer + * Brian Warner +-* License: Public Domain +-* Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, and pypy +-* [![Latest Version] +-(https://pypip.in/version/versioneer/badge.svg?style=flat) +-](https://pypi.python.org/pypi/versioneer/) +-* [![Build Status] +-(https://travis-ci.org/warner/python-versioneer.png?branch=master) +-](https://travis-ci.org/warner/python-versioneer) +- +-This is a tool for managing a recorded version number in distutils-based ++* License: Public Domain (Unlicense) ++* Compatible with: Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3 ++* [![Latest Version][pypi-image]][pypi-url] ++* [![Build Status][travis-image]][travis-url] ++ ++This is a tool for managing a recorded version number in setuptools-based + python projects. The goal is to remove the tedious and error-prone "update + the embedded version string" step from your release process. Making a new + release should be as easy as recording a new tag in your version-control +@@ -27,9 +22,38 @@ system, and maybe making new tarballs. + + ## Quick Install + +-* `pip install versioneer` to somewhere to your $PATH +-* add a `[versioneer]` section to your setup.cfg (see below) +-* run `versioneer install` in your source tree, commit the results ++Versioneer provides two installation modes. The "classic" vendored mode installs ++a copy of versioneer into your repository. The experimental build-time dependency mode ++is intended to allow you to skip this step and simplify the process of upgrading. ++ ++### Vendored mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++ * Note that you will need to add `tomli; python_version < "3.11"` to your ++ build-time dependencies if you use `pyproject.toml` ++* run `versioneer install --vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` ++ ++### Build-time dependency mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++* add `versioneer` (with `[toml]` extra, if configuring in `pyproject.toml`) ++ to the `requires` key of the `build-system` table in `pyproject.toml`: ++ ```toml ++ [build-system] ++ requires = ["setuptools", "versioneer[toml]"] ++ build-backend = "setuptools.build_meta" ++ ``` ++* run `versioneer install --no-vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` + + ## Version Identifiers + +@@ -61,7 +85,7 @@ version 1.3). Many VCS systems can report a description that captures this, + for example `git describe --tags --dirty --always` reports things like + "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the + 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has +-uncommitted changes. ++uncommitted changes). + + The version identifier is used for multiple purposes: + +@@ -166,7 +190,7 @@ which may help identify what went wrong). + + Some situations are known to cause problems for Versioneer. This details the + most significant ones. More can be found on Github +-[issues page](https://github.com/warner/python-versioneer/issues). ++[issues page](https://github.com/python-versioneer/python-versioneer/issues). + + ### Subprojects + +@@ -180,7 +204,7 @@ two common reasons why `setup.py` might not be in the root: + `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI + distributions (and upload multiple independently-installable tarballs). + * Source trees whose main purpose is to contain a C library, but which also +- provide bindings to Python (and perhaps other langauges) in subdirectories. ++ provide bindings to Python (and perhaps other languages) in subdirectories. + + Versioneer will look for `.git` in parent directories, and most operations + should get the right version string. However `pip` and `setuptools` have bugs +@@ -194,9 +218,9 @@ work too. + Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in + some later version. + +-[Bug #38](https://github.com/warner/python-versioneer/issues/38) is tracking ++[Bug #38](https://github.com/python-versioneer/python-versioneer/issues/38) is tracking + this issue. The discussion in +-[PR #61](https://github.com/warner/python-versioneer/pull/61) describes the ++[PR #61](https://github.com/python-versioneer/python-versioneer/pull/61) describes the + issue from the Versioneer side in more detail. + [pip PR#3176](https://github.com/pypa/pip/pull/3176) and + [pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve +@@ -224,31 +248,20 @@ regenerated while a different version is checked out. Many setup.py commands + cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into + a different virtualenv), so this can be surprising. + +-[Bug #83](https://github.com/warner/python-versioneer/issues/83) describes ++[Bug #83](https://github.com/python-versioneer/python-versioneer/issues/83) describes + this one, but upgrading to a newer version of setuptools should probably + resolve it. + +-### Unicode version strings +- +-While Versioneer works (and is continually tested) with both Python 2 and +-Python 3, it is not entirely consistent with bytes-vs-unicode distinctions. +-Newer releases probably generate unicode version strings on py2. It's not +-clear that this is wrong, but it may be surprising for applications when then +-write these strings to a network connection or include them in bytes-oriented +-APIs like cryptographic checksums. +- +-[Bug #71](https://github.com/warner/python-versioneer/issues/71) investigates +-this question. +- + + ## Updating Versioneer + + To upgrade your project to a new release of Versioneer, do the following: + + * install the new Versioneer (`pip install -U versioneer` or equivalent) +-* edit `setup.cfg`, if necessary, to include any new configuration settings +- indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. +-* re-run `versioneer install` in your source tree, to replace ++* edit `setup.cfg` and `pyproject.toml`, if necessary, ++ to include any new configuration settings indicated by the release notes. ++ See [UPGRADING](./UPGRADING.md) for details. ++* re-run `versioneer install --[no-]vendor` in your source tree, to replace + `SRC/_version.py` + * commit any changed files + +@@ -265,35 +278,70 @@ installation by editing setup.py . Alternatively, it might go the other + direction and include code from all supported VCS systems, reducing the + number of intermediate scripts. + ++## Similar projects ++ ++* [setuptools_scm](https://github.com/pypa/setuptools_scm/) - a non-vendored build-time ++ dependency ++* [minver](https://github.com/jbweston/miniver) - a lightweight reimplementation of ++ versioneer ++* [versioningit](https://github.com/jwodder/versioningit) - a PEP 518-based setuptools ++ plugin + + ## License + + To make Versioneer easier to embed, all its code is dedicated to the public + domain. The `_version.py` that it creates is also in the public domain. +-Specifically, both are released under the Creative Commons "Public Domain +-Dedication" license (CC0-1.0), as described in +-https://creativecommons.org/publicdomain/zero/1.0/ . ++Specifically, both are released under the "Unlicense", as described in ++https://unlicense.org/. ++ ++[pypi-image]: https://img.shields.io/pypi/v/versioneer.svg ++[pypi-url]: https://pypi.python.org/pypi/versioneer/ ++[travis-image]: ++https://img.shields.io/travis/com/python-versioneer/python-versioneer.svg ++[travis-url]: https://travis-ci.com/github/python-versioneer/python-versioneer + + """ ++# pylint:disable=invalid-name,import-outside-toplevel,missing-function-docstring ++# pylint:disable=missing-class-docstring,too-many-branches,too-many-statements ++# pylint:disable=raise-missing-from,too-many-lines,too-many-locals,import-error ++# pylint:disable=too-few-public-methods,redefined-outer-name,consider-using-with ++# pylint:disable=attribute-defined-outside-init,too-many-arguments + +-from __future__ import print_function +-try: +- import configparser +-except ImportError: +- import ConfigParser as configparser ++import configparser + import errno + import json + import os + import re + import subprocess + import sys ++from pathlib import Path ++from typing import Any, Callable, cast, Dict, List, Optional, Tuple, Union ++from typing import NoReturn ++import functools ++ ++have_tomllib = True ++if sys.version_info >= (3, 11): ++ import tomllib ++else: ++ try: ++ import tomli as tomllib ++ except ImportError: ++ have_tomllib = False + + + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ versionfile_source: str ++ versionfile_build: Optional[str] ++ parentdir_prefix: Optional[str] ++ verbose: Optional[bool] ++ + +-def get_root(): ++def get_root() -> str: + """Get the project root directory. + + We require that all commands are run from the project root, i.e. the +@@ -301,18 +349,30 @@ def get_root(): + """ + root = os.path.realpath(os.path.abspath(os.getcwd())) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): + # allow 'python path/to/setup.py COMMAND' + root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): +- err = ("Versioneer was unable to run the project root directory. " +- "Versioneer requires setup.py to be executed from " +- "its immediate directory (like 'python setup.py COMMAND'), " +- "or in a way that lets it use sys.argv[0] to find the root " +- "(like 'python path/to/setup.py COMMAND').") ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): ++ err = ( ++ "Versioneer was unable to run the project root directory. " ++ "Versioneer requires setup.py to be executed from " ++ "its immediate directory (like 'python setup.py COMMAND'), " ++ "or in a way that lets it use sys.argv[0] to find the root " ++ "(like 'python path/to/setup.py COMMAND')." ++ ) + raise VersioneerBadRootError(err) + try: + # Certain runtime workflows (setup.py install/develop in a setuptools +@@ -321,43 +381,64 @@ def get_root(): + # module-import table will cache the first one. So we can't use + # os.path.dirname(__file__), as that will find whichever + # versioneer.py was first imported, even in later projects. +- me = os.path.realpath(os.path.abspath(__file__)) +- me_dir = os.path.normcase(os.path.splitext(me)[0]) ++ my_path = os.path.realpath(os.path.abspath(__file__)) ++ me_dir = os.path.normcase(os.path.splitext(my_path)[0]) + vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) +- if me_dir != vsr_dir: +- print("Warning: build in %s is using versioneer.py from %s" +- % (os.path.dirname(me), versioneer_py)) ++ if me_dir != vsr_dir and "VERSIONEER_PEP518" not in globals(): ++ print( ++ "Warning: build in %s is using versioneer.py from %s" ++ % (os.path.dirname(my_path), versioneer_py) ++ ) + except NameError: + pass + return root + + +-def get_config_from_root(root): ++def get_config_from_root(root: str) -> VersioneerConfig: + """Read the project setup.cfg file to determine Versioneer config.""" +- # This might raise EnvironmentError (if setup.cfg is missing), or ++ # This might raise OSError (if setup.cfg is missing), or + # configparser.NoSectionError (if it lacks a [versioneer] section), or + # configparser.NoOptionError (if it lacks "VCS="). See the docstring at + # the top of versioneer.py for instructions on writing your setup.cfg . +- setup_cfg = os.path.join(root, "setup.cfg") +- parser = configparser.SafeConfigParser() +- with open(setup_cfg, "r") as f: +- parser.readfp(f) +- VCS = parser.get("versioneer", "VCS") # mandatory +- +- def get(parser, name): +- if parser.has_option("versioneer", name): +- return parser.get("versioneer", name) +- return None ++ root_pth = Path(root) ++ pyproject_toml = root_pth / "pyproject.toml" ++ setup_cfg = root_pth / "setup.cfg" ++ section: Union[Dict[str, Any], configparser.SectionProxy, None] = None ++ if pyproject_toml.exists() and have_tomllib: ++ try: ++ with open(pyproject_toml, "rb") as fobj: ++ pp = tomllib.load(fobj) ++ section = pp["tool"]["versioneer"] ++ except (tomllib.TOMLDecodeError, KeyError) as e: ++ print(f"Failed to load config from {pyproject_toml}: {e}") ++ print("Try to load it from setup.cfg") ++ if not section: ++ parser = configparser.ConfigParser() ++ with open(setup_cfg) as cfg_file: ++ parser.read_file(cfg_file) ++ parser.get("versioneer", "VCS") # raise error if missing ++ ++ section = parser["versioneer"] ++ ++ # `cast`` really shouldn't be used, but its simplest for the ++ # common VersioneerConfig users at the moment. We verify against ++ # `None` values elsewhere where it matters ++ + cfg = VersioneerConfig() +- cfg.VCS = VCS +- cfg.style = get(parser, "style") or "" +- cfg.versionfile_source = get(parser, "versionfile_source") +- cfg.versionfile_build = get(parser, "versionfile_build") +- cfg.tag_prefix = get(parser, "tag_prefix") +- if cfg.tag_prefix in ("''", '""'): ++ cfg.VCS = section["VCS"] ++ cfg.style = section.get("style", "") ++ cfg.versionfile_source = cast(str, section.get("versionfile_source")) ++ cfg.versionfile_build = section.get("versionfile_build") ++ cfg.tag_prefix = cast(str, section.get("tag_prefix")) ++ if cfg.tag_prefix in ("''", '""', None): + cfg.tag_prefix = "" +- cfg.parentdir_prefix = get(parser, "parentdir_prefix") +- cfg.verbose = get(parser, "verbose") ++ cfg.parentdir_prefix = section.get("parentdir_prefix") ++ if isinstance(section, configparser.SectionProxy): ++ # Make sure configparser translates to bool ++ cfg.verbose = section.getboolean("verbose") ++ else: ++ cfg.verbose = section.get("verbose") ++ + return cfg + + +@@ -366,37 +447,54 @@ class NotThisMethod(Exception): + + + # these dictionaries contain VCS-specific tools +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" +- if vcs not in HANDLERS: +- HANDLERS[vcs] = {} +- HANDLERS[vcs][method] = f ++ HANDLERS.setdefault(vcs, {})[method] = f + return f ++ + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen( ++ [command] + args, ++ cwd=cwd, ++ env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr else None), ++ **popen_kwargs, ++ ) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -407,26 +505,27 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %s" % (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %s (error)" % dispcmd) + print("stdout was %s" % stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-LONG_VERSION_PY['git'] = ''' ++LONG_VERSION_PY[ ++ "git" ++] = r''' + # This file helps to compute a version number in source trees obtained from + # git-archive tarball (such as those provided by githubs download-from-tag + # feature). Distribution tarballs (built by setup.py sdist) and build + # directories (produced by setup.py build) will contain a much shorter file + # that just contains the computed version number. + +-# This file is released into the public domain. Generated by +-# versioneer-0.18 (https://github.com/warner/python-versioneer) ++# This file is released into the public domain. ++# Generated by versioneer-0.29 ++# https://github.com/python-versioneer/python-versioneer + + """Git implementation of _version.py.""" + +@@ -435,9 +534,11 @@ import os + import re + import subprocess + import sys ++from typing import Any, Callable, Dict, List, Optional, Tuple ++import functools + + +-def get_keywords(): ++def get_keywords() -> Dict[str, str]: + """Get the keywords needed to look up the version information.""" + # these strings will be replaced by git during git-archive. + # setup.py/versioneer.py will grep for the variable names, so they must +@@ -453,8 +554,15 @@ def get_keywords(): + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ parentdir_prefix: str ++ versionfile_source: str ++ verbose: bool ++ + +-def get_config(): ++def get_config() -> VersioneerConfig: + """Create, populate and return the VersioneerConfig() object.""" + # these strings are filled in when 'setup.py versioneer' creates + # _version.py +@@ -472,13 +580,13 @@ class NotThisMethod(Exception): + """Exception raised if a method is not valid for the current scenario.""" + + +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" + if vcs not in HANDLERS: + HANDLERS[vcs] = {} +@@ -487,22 +595,35 @@ def register_vcs_handler(vcs, method): # decorator + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -513,18 +634,20 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %%s" %% (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %%s (error)" %% dispcmd) + print("stdout was %%s" %% stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -533,15 +656,14 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): + return {"version": dirname[len(parentdir_prefix):], + "full-revisionid": None, + "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: + print("Tried directories %%s but none started with prefix %%s" %% +@@ -550,41 +672,48 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -597,11 +726,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %%d +@@ -610,7 +739,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r'\d', r)} + if verbose: + print("discarding '%%s', no digits" %% ",".join(refs - tags)) + if verbose: +@@ -619,6 +748,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): + r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue + if verbose: + print("picking %%s" %% r) + return {"version": r, +@@ -634,7 +768,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, ++ root: str, ++ verbose: bool, ++ runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -645,8 +784,15 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %%s not under git control" %% root) +@@ -654,24 +800,57 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%%s*" %% tag_prefix], +- cwd=root) ++ describe_out, rc = runner(GITS, [ ++ "describe", "--tags", "--dirty", "--always", "--long", ++ "--match", f"{tag_prefix}[[:digit:]]*" ++ ], cwd=root) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -688,7 +867,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + # TAG-NUM-gHEX + mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? ++ # unparsable. Maybe git-describe is misbehaving? + pieces["error"] = ("unable to parse git-describe output: '%%s'" + %% describe_out) + return pieces +@@ -713,26 +892,27 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -757,23 +937,71 @@ def render_pep440(pieces): + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%%d.g%%s" %% (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%%d" %% pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%%d.dev%%d" %% (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%%d" %% (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%%d" %% pieces["distance"] ++ rendered = "0.post0.dev%%d" %% pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -800,12 +1028,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -822,7 +1079,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -842,7 +1099,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -862,7 +1119,7 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: + return {"version": "unknown", +@@ -876,10 +1133,14 @@ def render(pieces, style): + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -894,7 +1155,7 @@ def render(pieces, style): + "date": pieces.get("date")} + + +-def get_versions(): ++def get_versions() -> Dict[str, Any]: + """Get version information or return default if unable to do so.""" + # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have + # __file__, we can work backwards from there to the root. Some +@@ -915,7 +1176,7 @@ def get_versions(): + # versionfile_source is the relative path from the top of the source + # tree (where the .git directory might live) to this file. Invert + # this to find the root from __file__. +- for i in cfg.versionfile_source.split('/'): ++ for _ in cfg.versionfile_source.split('/'): + root = os.path.dirname(root) + except NameError: + return {"version": "0+unknown", "full-revisionid": None, +@@ -942,41 +1203,48 @@ def get_versions(): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -989,11 +1257,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG) :] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %d +@@ -1002,7 +1270,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r"\d", r)} + if verbose: + print("discarding '%s', no digits" % ",".join(refs - tags)) + if verbose: +@@ -1010,23 +1278,37 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + for ref in sorted(tags): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): +- r = ref[len(tag_prefix):] ++ r = ref[len(tag_prefix) :] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r"\d", r): ++ continue + if verbose: + print("picking %s" % r) +- return {"version": r, +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": None, +- "date": date} ++ return { ++ "version": r, ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": None, ++ "date": date, ++ } + # no suitable tags, so version is "0+unknown", but full hex is still there + if verbose: + print("no suitable tags, using unknown + full revision id") +- return {"version": "0+unknown", +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": "no suitable tags", "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": "no suitable tags", ++ "date": None, ++ } + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, root: str, verbose: bool, runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -1037,8 +1319,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %s not under git control" % root) +@@ -1046,24 +1334,65 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%s*" % tag_prefix], +- cwd=root) ++ describe_out, rc = runner( ++ GITS, ++ [ ++ "describe", ++ "--tags", ++ "--dirty", ++ "--always", ++ "--long", ++ "--match", ++ f"{tag_prefix}[[:digit:]]*", ++ ], ++ cwd=root, ++ ) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -1072,17 +1401,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + dirty = git_describe.endswith("-dirty") + pieces["dirty"] = dirty + if dirty: +- git_describe = git_describe[:git_describe.rindex("-dirty")] ++ git_describe = git_describe[: git_describe.rindex("-dirty")] + + # now we have TAG-NUM-gHEX or HEX + + if "-" in git_describe: + # TAG-NUM-gHEX +- mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) ++ mo = re.search(r"^(.+)-(\d+)-g([0-9a-f]+)$", git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? +- pieces["error"] = ("unable to parse git-describe output: '%s'" +- % describe_out) ++ # unparsable. Maybe git-describe is misbehaving? ++ pieces["error"] = "unable to parse git-describe output: '%s'" % describe_out + return pieces + + # tag +@@ -1091,10 +1419,12 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if verbose: + fmt = "tag '%s' doesn't start with prefix '%s'" + print(fmt % (full_tag, tag_prefix)) +- pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" +- % (full_tag, tag_prefix)) ++ pieces["error"] = "tag '%s' doesn't start with prefix '%s'" % ( ++ full_tag, ++ tag_prefix, ++ ) + return pieces +- pieces["closest-tag"] = full_tag[len(tag_prefix):] ++ pieces["closest-tag"] = full_tag[len(tag_prefix) :] + + # distance: number of commits since tag + pieces["distance"] = int(mo.group(2)) +@@ -1105,19 +1435,20 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def do_vcs_install(manifest_in, versionfile_source, ipy): ++def do_vcs_install(versionfile_source: str, ipy: Optional[str]) -> None: + """Git-specific installation logic for Versioneer. + + For Git, this means creating/changing .gitattributes to mark _version.py +@@ -1126,36 +1457,40 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + GITS = ["git"] + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] +- files = [manifest_in, versionfile_source] ++ files = [versionfile_source] + if ipy: + files.append(ipy) +- try: +- me = __file__ +- if me.endswith(".pyc") or me.endswith(".pyo"): +- me = os.path.splitext(me)[0] + ".py" +- versioneer_file = os.path.relpath(me) +- except NameError: +- versioneer_file = "versioneer.py" +- files.append(versioneer_file) ++ if "VERSIONEER_PEP518" not in globals(): ++ try: ++ my_path = __file__ ++ if my_path.endswith((".pyc", ".pyo")): ++ my_path = os.path.splitext(my_path)[0] + ".py" ++ versioneer_file = os.path.relpath(my_path) ++ except NameError: ++ versioneer_file = "versioneer.py" ++ files.append(versioneer_file) + present = False + try: +- f = open(".gitattributes", "r") +- for line in f.readlines(): +- if line.strip().startswith(versionfile_source): +- if "export-subst" in line.strip().split()[1:]: +- present = True +- f.close() +- except EnvironmentError: ++ with open(".gitattributes", "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith(versionfile_source): ++ if "export-subst" in line.strip().split()[1:]: ++ present = True ++ break ++ except OSError: + pass + if not present: +- f = open(".gitattributes", "a+") +- f.write("%s export-subst\n" % versionfile_source) +- f.close() ++ with open(".gitattributes", "a+") as fobj: ++ fobj.write(f"{versionfile_source} export-subst\n") + files.append(".gitattributes") + run_command(GITS, ["add", "--"] + files) + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -1164,24 +1499,29 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): +- return {"version": dirname[len(parentdir_prefix):], +- "full-revisionid": None, +- "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ return { ++ "version": dirname[len(parentdir_prefix) :], ++ "full-revisionid": None, ++ "dirty": False, ++ "error": None, ++ "date": None, ++ } ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: +- print("Tried directories %s but none started with prefix %s" % +- (str(rootdirs), parentdir_prefix)) ++ print( ++ "Tried directories %s but none started with prefix %s" ++ % (str(rootdirs), parentdir_prefix) ++ ) + raise NotThisMethod("rootdir doesn't start with parentdir_prefix") + + + SHORT_VERSION_PY = """ +-# This file was generated by 'versioneer.py' (0.18) from ++# This file was generated by 'versioneer.py' (0.29) from + # revision-control system data, or from the parent directory name of an + # unpacked source archive. Distribution tarballs contain a pre-generated copy + # of this file. +@@ -1198,42 +1538,42 @@ def get_versions(): + """ + + +-def versions_from_file(filename): ++def versions_from_file(filename: str) -> Dict[str, Any]: + """Try to determine the version from _version.py if present.""" + try: + with open(filename) as f: + contents = f.read() +- except EnvironmentError: ++ except OSError: + raise NotThisMethod("unable to read _version.py") +- mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: +- mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\r\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: + raise NotThisMethod("no version_json in _version.py") + return json.loads(mo.group(1)) + + +-def write_to_version_file(filename, versions): ++def write_to_version_file(filename: str, versions: Dict[str, Any]) -> None: + """Write the given version number to the given _version.py file.""" +- os.unlink(filename) +- contents = json.dumps(versions, sort_keys=True, +- indent=1, separators=(",", ": ")) ++ contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) + with open(filename, "w") as f: + f.write(SHORT_VERSION_PY % contents) + + print("set %s to '%s'" % (filename, versions["version"])) + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -1251,30 +1591,76 @@ def render_pep440(pieces): + rendered += ".dirty" + else: + # exception #1 +- rendered = "0+untagged.%d.g%s" % (pieces["distance"], +- pieces["short"]) ++ rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) + if pieces["dirty"]: + rendered += ".dirty" + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%d" % pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%d.dev%d" % (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%d" % (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%d" % pieces["distance"] ++ rendered = "0.post0.dev%d" % pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -1301,12 +1687,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -1323,7 +1738,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -1343,7 +1758,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -1363,24 +1778,30 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: +- return {"version": "unknown", +- "full-revisionid": pieces.get("long"), +- "dirty": None, +- "error": pieces["error"], +- "date": None} ++ return { ++ "version": "unknown", ++ "full-revisionid": pieces.get("long"), ++ "dirty": None, ++ "error": pieces["error"], ++ "date": None, ++ } + + if not style or style == "default": + style = "pep440" # the default + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -1390,16 +1811,20 @@ def render(pieces, style): + else: + raise ValueError("unknown style '%s'" % style) + +- return {"version": rendered, "full-revisionid": pieces["long"], +- "dirty": pieces["dirty"], "error": None, +- "date": pieces.get("date")} ++ return { ++ "version": rendered, ++ "full-revisionid": pieces["long"], ++ "dirty": pieces["dirty"], ++ "error": None, ++ "date": pieces.get("date"), ++ } + + + class VersioneerBadRootError(Exception): + """The project root directory is unknown or missing key files.""" + + +-def get_versions(verbose=False): ++def get_versions(verbose: bool = False) -> Dict[str, Any]: + """Get the project version from whatever source is available. + + Returns dict with two keys: 'version' and 'full'. +@@ -1414,9 +1839,10 @@ def get_versions(verbose=False): + assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" + handlers = HANDLERS.get(cfg.VCS) + assert handlers, "unrecognized VCS '%s'" % cfg.VCS +- verbose = verbose or cfg.verbose +- assert cfg.versionfile_source is not None, \ +- "please set versioneer.versionfile_source" ++ verbose = verbose or bool(cfg.verbose) # `bool()` used to avoid `None` ++ assert ( ++ cfg.versionfile_source is not None ++ ), "please set versioneer.versionfile_source" + assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" + + versionfile_abs = os.path.join(root, cfg.versionfile_source) +@@ -1470,18 +1896,26 @@ def get_versions(verbose=False): + if verbose: + print("unable to compute version") + +- return {"version": "0+unknown", "full-revisionid": None, +- "dirty": None, "error": "unable to compute version", +- "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": None, ++ "dirty": None, ++ "error": "unable to compute version", ++ "date": None, ++ } + + +-def get_version(): ++def get_version() -> str: + """Get the short version string for this project.""" + return get_versions()["version"] + + +-def get_cmdclass(): +- """Get the custom setuptools/distutils subclasses used by Versioneer.""" ++def get_cmdclass(cmdclass: Optional[Dict[str, Any]] = None): ++ """Get the custom setuptools subclasses used by Versioneer. ++ ++ If the package uses a different cmdclass (e.g. one from numpy), it ++ should be provide as an argument. ++ """ + if "versioneer" in sys.modules: + del sys.modules["versioneer"] + # this fixes the "python setup.py develop" case (also 'install' and +@@ -1495,25 +1929,25 @@ def get_cmdclass(): + # parent is protected against the child's "import versioneer". By + # removing ourselves from sys.modules here, before the child build + # happens, we protect the child from the parent's versioneer too. +- # Also see https://github.com/warner/python-versioneer/issues/52 ++ # Also see https://github.com/python-versioneer/python-versioneer/issues/52 + +- cmds = {} ++ cmds = {} if cmdclass is None else cmdclass.copy() + +- # we add "version" to both distutils and setuptools +- from distutils.core import Command ++ # we add "version" to setuptools ++ from setuptools import Command + + class cmd_version(Command): + description = "report generated version string" +- user_options = [] +- boolean_options = [] ++ user_options: List[Tuple[str, str, str]] = [] ++ boolean_options: List[str] = [] + +- def initialize_options(self): ++ def initialize_options(self) -> None: + pass + +- def finalize_options(self): ++ def finalize_options(self) -> None: + pass + +- def run(self): ++ def run(self) -> None: + vers = get_versions(verbose=True) + print("Version: %s" % vers["version"]) + print(" full-revisionid: %s" % vers.get("full-revisionid")) +@@ -1521,9 +1955,10 @@ def get_cmdclass(): + print(" date: %s" % vers.get("date")) + if vers["error"]: + print(" error: %s" % vers["error"]) ++ + cmds["version"] = cmd_version + +- # we override "build_py" in both distutils and setuptools ++ # we override "build_py" in setuptools + # + # most invocation pathways end up running build_py: + # distutils/build -> build_py +@@ -1538,29 +1973,71 @@ def get_cmdclass(): + # then does setup.py bdist_wheel, or sometimes setup.py install + # setup.py egg_info -> ? + ++ # pip install -e . and setuptool/editable_wheel will invoke build_py ++ # but the build_py command is not expected to copy any files. ++ + # we override different "build_py" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.build_py import build_py as _build_py ++ if "build_py" in cmds: ++ _build_py: Any = cmds["build_py"] + else: +- from distutils.command.build_py import build_py as _build_py ++ from setuptools.command.build_py import build_py as _build_py + + class cmd_build_py(_build_py): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() + _build_py.run(self) ++ if getattr(self, "editable_mode", False): ++ # During editable installs `.py` and data files are ++ # not copied to build_lib ++ return + # now locate _version.py in the new build/ directory and replace + # it with an updated value + if cfg.versionfile_build: +- target_versionfile = os.path.join(self.build_lib, +- cfg.versionfile_build) ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) + print("UPDATING %s" % target_versionfile) + write_to_version_file(target_versionfile, versions) ++ + cmds["build_py"] = cmd_build_py + ++ if "build_ext" in cmds: ++ _build_ext: Any = cmds["build_ext"] ++ else: ++ from setuptools.command.build_ext import build_ext as _build_ext ++ ++ class cmd_build_ext(_build_ext): ++ def run(self) -> None: ++ root = get_root() ++ cfg = get_config_from_root(root) ++ versions = get_versions() ++ _build_ext.run(self) ++ if self.inplace: ++ # build_ext --inplace will only build extensions in ++ # build/lib<..> dir with no _version.py to write to. ++ # As in place builds will already have a _version.py ++ # in the module dir, we do not need to write one. ++ return ++ # now locate _version.py in the new build/ directory and replace ++ # it with an updated value ++ if not cfg.versionfile_build: ++ return ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) ++ if not os.path.exists(target_versionfile): ++ print( ++ f"Warning: {target_versionfile} does not exist, skipping " ++ "version update. This can happen if you are running build_ext " ++ "without first running build_py." ++ ) ++ return ++ print("UPDATING %s" % target_versionfile) ++ write_to_version_file(target_versionfile, versions) ++ ++ cmds["build_ext"] = cmd_build_ext ++ + if "cx_Freeze" in sys.modules: # cx_freeze enabled? +- from cx_Freeze.dist import build_exe as _build_exe ++ from cx_Freeze.dist import build_exe as _build_exe # type: ignore ++ + # nczeczulin reports that py2exe won't like the pep440-style string + # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. + # setup(console=[{ +@@ -1569,7 +2046,7 @@ def get_cmdclass(): + # ... + + class cmd_build_exe(_build_exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1581,24 +2058,28 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["build_exe"] = cmd_build_exe + del cmds["build_py"] + +- if 'py2exe' in sys.modules: # py2exe enabled? ++ if "py2exe" in sys.modules: # py2exe enabled? + try: +- from py2exe.distutils_buildexe import py2exe as _py2exe # py3 ++ from py2exe.setuptools_buildexe import py2exe as _py2exe # type: ignore + except ImportError: +- from py2exe.build_exe import py2exe as _py2exe # py2 ++ from py2exe.distutils_buildexe import py2exe as _py2exe # type: ignore + + class cmd_py2exe(_py2exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1610,23 +2091,67 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["py2exe"] = cmd_py2exe + ++ # sdist farms its file list building out to egg_info ++ if "egg_info" in cmds: ++ _egg_info: Any = cmds["egg_info"] ++ else: ++ from setuptools.command.egg_info import egg_info as _egg_info ++ ++ class cmd_egg_info(_egg_info): ++ def find_sources(self) -> None: ++ # egg_info.find_sources builds the manifest list and writes it ++ # in one shot ++ super().find_sources() ++ ++ # Modify the filelist and normalize it ++ root = get_root() ++ cfg = get_config_from_root(root) ++ self.filelist.append("versioneer.py") ++ if cfg.versionfile_source: ++ # There are rare cases where versionfile_source might not be ++ # included by default, so we must be explicit ++ self.filelist.append(cfg.versionfile_source) ++ self.filelist.sort() ++ self.filelist.remove_duplicates() ++ ++ # The write method is hidden in the manifest_maker instance that ++ # generated the filelist and was thrown away ++ # We will instead replicate their final normalization (to unicode, ++ # and POSIX-style paths) ++ from setuptools import unicode_utils ++ ++ normalized = [ ++ unicode_utils.filesys_decode(f).replace(os.sep, "/") ++ for f in self.filelist.files ++ ] ++ ++ manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") ++ with open(manifest_filename, "w") as fobj: ++ fobj.write("\n".join(normalized)) ++ ++ cmds["egg_info"] = cmd_egg_info ++ + # we override different "sdist" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.sdist import sdist as _sdist ++ if "sdist" in cmds: ++ _sdist: Any = cmds["sdist"] + else: +- from distutils.command.sdist import sdist as _sdist ++ from setuptools.command.sdist import sdist as _sdist + + class cmd_sdist(_sdist): +- def run(self): ++ def run(self) -> None: + versions = get_versions() + self._versioneer_generated_versions = versions + # unless we update this, the command will keep using the old +@@ -1634,7 +2159,7 @@ def get_cmdclass(): + self.distribution.metadata.version = versions["version"] + return _sdist.run(self) + +- def make_release_tree(self, base_dir, files): ++ def make_release_tree(self, base_dir: str, files: List[str]) -> None: + root = get_root() + cfg = get_config_from_root(root) + _sdist.make_release_tree(self, base_dir, files) +@@ -1643,8 +2168,10 @@ def get_cmdclass(): + # updated value + target_versionfile = os.path.join(base_dir, cfg.versionfile_source) + print("UPDATING %s" % target_versionfile) +- write_to_version_file(target_versionfile, +- self._versioneer_generated_versions) ++ write_to_version_file( ++ target_versionfile, self._versioneer_generated_versions ++ ) ++ + cmds["sdist"] = cmd_sdist + + return cmds +@@ -1687,23 +2214,26 @@ SAMPLE_CONFIG = """ + + """ + +-INIT_PY_SNIPPET = """ ++OLD_SNIPPET = """ + from ._version import get_versions + __version__ = get_versions()['version'] + del get_versions + """ + ++INIT_PY_SNIPPET = """ ++from . import {0} ++__version__ = {0}.get_versions()['version'] ++""" ++ + +-def do_setup(): +- """Main VCS-independent setup function for installing Versioneer.""" ++def do_setup() -> int: ++ """Do main VCS-independent setup function for installing Versioneer.""" + root = get_root() + try: + cfg = get_config_from_root(root) +- except (EnvironmentError, configparser.NoSectionError, +- configparser.NoOptionError) as e: +- if isinstance(e, (EnvironmentError, configparser.NoSectionError)): +- print("Adding sample versioneer config to setup.cfg", +- file=sys.stderr) ++ except (OSError, configparser.NoSectionError, configparser.NoOptionError) as e: ++ if isinstance(e, (OSError, configparser.NoSectionError)): ++ print("Adding sample versioneer config to setup.cfg", file=sys.stderr) + with open(os.path.join(root, "setup.cfg"), "a") as f: + f.write(SAMPLE_CONFIG) + print(CONFIG_ERROR, file=sys.stderr) +@@ -1712,71 +2242,49 @@ def do_setup(): + print(" creating %s" % cfg.versionfile_source) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) +- +- ipy = os.path.join(os.path.dirname(cfg.versionfile_source), +- "__init__.py") ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ ++ ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") ++ maybe_ipy: Optional[str] = ipy + if os.path.exists(ipy): + try: + with open(ipy, "r") as f: + old = f.read() +- except EnvironmentError: ++ except OSError: + old = "" +- if INIT_PY_SNIPPET not in old: ++ module = os.path.splitext(os.path.basename(cfg.versionfile_source))[0] ++ snippet = INIT_PY_SNIPPET.format(module) ++ if OLD_SNIPPET in old: ++ print(" replacing boilerplate in %s" % ipy) ++ with open(ipy, "w") as f: ++ f.write(old.replace(OLD_SNIPPET, snippet)) ++ elif snippet not in old: + print(" appending to %s" % ipy) + with open(ipy, "a") as f: +- f.write(INIT_PY_SNIPPET) ++ f.write(snippet) + else: + print(" %s unmodified" % ipy) + else: + print(" %s doesn't exist, ok" % ipy) +- ipy = None +- +- # Make sure both the top-level "versioneer.py" and versionfile_source +- # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so +- # they'll be copied into source distributions. Pip won't be able to +- # install the package without this. +- manifest_in = os.path.join(root, "MANIFEST.in") +- simple_includes = set() +- try: +- with open(manifest_in, "r") as f: +- for line in f: +- if line.startswith("include "): +- for include in line.split()[1:]: +- simple_includes.add(include) +- except EnvironmentError: +- pass +- # That doesn't cover everything MANIFEST.in can do +- # (http://docs.python.org/2/distutils/sourcedist.html#commands), so +- # it might give some false negatives. Appending redundant 'include' +- # lines is safe, though. +- if "versioneer.py" not in simple_includes: +- print(" appending 'versioneer.py' to MANIFEST.in") +- with open(manifest_in, "a") as f: +- f.write("include versioneer.py\n") +- else: +- print(" 'versioneer.py' already in MANIFEST.in") +- if cfg.versionfile_source not in simple_includes: +- print(" appending versionfile_source ('%s') to MANIFEST.in" % +- cfg.versionfile_source) +- with open(manifest_in, "a") as f: +- f.write("include %s\n" % cfg.versionfile_source) +- else: +- print(" versionfile_source already in MANIFEST.in") ++ maybe_ipy = None + + # Make VCS-specific changes. For git, this means creating/changing + # .gitattributes to mark _version.py for export-subst keyword + # substitution. +- do_vcs_install(manifest_in, cfg.versionfile_source, ipy) ++ do_vcs_install(cfg.versionfile_source, maybe_ipy) + return 0 + + +-def scan_setup_py(): ++def scan_setup_py() -> int: + """Validate the contents of setup.py against Versioneer's expectations.""" + found = set() + setters = False +@@ -1813,10 +2321,14 @@ def scan_setup_py(): + return errors + + ++def setup_command() -> NoReturn: ++ """Set up Versioneer and exit with appropriate error code.""" ++ errors = do_setup() ++ errors += scan_setup_py() ++ sys.exit(1 if errors else 0) ++ ++ + if __name__ == "__main__": + cmd = sys.argv[1] + if cmd == "setup": +- errors = do_setup() +- errors += scan_setup_py() +- if errors: +- sys.exit(1) ++ setup_command() +-- +2.41.0 + diff --git a/package/python-magic-wormhole-transit-relay/Config.in b/package/python-magic-wormhole-transit-relay/Config.in new file mode 100644 index 00000000000..1a743c10fea --- /dev/null +++ b/package/python-magic-wormhole-transit-relay/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY + bool "python-magic-wormhole-transit-relay" + select BR2_PACKAGE_PYTHON_TWISTED # runtime + help + Transit Relay server for Magic-Wormhole. + + This repository implements the Magic-Wormhole "Transit + Relay", a server that helps clients establish bulk-data + transit connections even when both are behind NAT + boxes. Each side makes a TCP connection to this server and + presents a handshake. Two connections with identical + handshakes are glued together, allowing them to pretend they + have a direct connection. + + https://github.com/magic-wormhole/magic-wormhole-transit-relay diff --git a/package/python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay.hash b/package/python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay.hash new file mode 100644 index 00000000000..f131477a403 --- /dev/null +++ b/package/python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/magic-wormhole-transit-relay/json +md5 aa575a4e22b3d5099674ba88b136a9a2 magic-wormhole-transit-relay-0.2.1.tar.gz +sha256 cb4801b46890eaff97286e0e3fec62d1d52ffe317d140083b6336a1fb4e8fa5e magic-wormhole-transit-relay-0.2.1.tar.gz +# Locally computed sha256 checksums +sha256 d70f6469bb210c2aa4c0dfd74f498ef5f0467a137d8296479088e7243c5884eb LICENSE diff --git a/package/python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay.mk b/package/python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay.mk new file mode 100644 index 00000000000..e4ffe6e7a60 --- /dev/null +++ b/package/python-magic-wormhole-transit-relay/python-magic-wormhole-transit-relay.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-magic-wormhole-transit-relay +# +################################################################################ + +PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_VERSION = 0.2.1 +PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_SOURCE = magic-wormhole-transit-relay-$(PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_VERSION).tar.gz +PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_SITE = https://files.pythonhosted.org/packages/21/c9/be25bb30e327037e009657960fc594d089b118c0d81cc6a200cad1bb3852 +PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_SETUP_TYPE = setuptools +PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_LICENSE = MIT +PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-magic-wormhole/0001-Update-versioneer-to-0.29.patch b/package/python-magic-wormhole/0001-Update-versioneer-to-0.29.patch new file mode 100644 index 00000000000..54b5fe8b1d9 --- /dev/null +++ b/package/python-magic-wormhole/0001-Update-versioneer-to-0.29.patch @@ -0,0 +1,2185 @@ +From b283ce50c6f32387d0f474c935ed6015585b986c Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 24 Oct 2023 09:54:40 +0200 +Subject: [PATCH] Update versioneer to 0.29 + +Fixes builds against Python 3.12.0 + +Upstream: https://github.com/magic-wormhole/magic-wormhole/pull/505 + +Signed-off-by: Adam Duskett +--- + versioneer.py | 1348 ++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 930 insertions(+), 418 deletions(-) + +diff --git a/versioneer.py b/versioneer.py +index ebe628e..de97d90 100644 +--- a/versioneer.py ++++ b/versioneer.py +@@ -1,5 +1,4 @@ +- +-# Version: 0.18 ++# Version: 0.29 + + """The Versioneer - like a rocketeer, but for versions. + +@@ -7,18 +6,14 @@ The Versioneer + ============== + + * like a rocketeer, but for versions! +-* https://github.com/warner/python-versioneer ++* https://github.com/python-versioneer/python-versioneer + * Brian Warner +-* License: Public Domain +-* Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, and pypy +-* [![Latest Version] +-(https://pypip.in/version/versioneer/badge.svg?style=flat) +-](https://pypi.python.org/pypi/versioneer/) +-* [![Build Status] +-(https://travis-ci.org/warner/python-versioneer.png?branch=master) +-](https://travis-ci.org/warner/python-versioneer) +- +-This is a tool for managing a recorded version number in distutils-based ++* License: Public Domain (Unlicense) ++* Compatible with: Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3 ++* [![Latest Version][pypi-image]][pypi-url] ++* [![Build Status][travis-image]][travis-url] ++ ++This is a tool for managing a recorded version number in setuptools-based + python projects. The goal is to remove the tedious and error-prone "update + the embedded version string" step from your release process. Making a new + release should be as easy as recording a new tag in your version-control +@@ -27,9 +22,38 @@ system, and maybe making new tarballs. + + ## Quick Install + +-* `pip install versioneer` to somewhere to your $PATH +-* add a `[versioneer]` section to your setup.cfg (see below) +-* run `versioneer install` in your source tree, commit the results ++Versioneer provides two installation modes. The "classic" vendored mode installs ++a copy of versioneer into your repository. The experimental build-time dependency mode ++is intended to allow you to skip this step and simplify the process of upgrading. ++ ++### Vendored mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++ * Note that you will need to add `tomli; python_version < "3.11"` to your ++ build-time dependencies if you use `pyproject.toml` ++* run `versioneer install --vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` ++ ++### Build-time dependency mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++* add `versioneer` (with `[toml]` extra, if configuring in `pyproject.toml`) ++ to the `requires` key of the `build-system` table in `pyproject.toml`: ++ ```toml ++ [build-system] ++ requires = ["setuptools", "versioneer[toml]"] ++ build-backend = "setuptools.build_meta" ++ ``` ++* run `versioneer install --no-vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` + + ## Version Identifiers + +@@ -61,7 +85,7 @@ version 1.3). Many VCS systems can report a description that captures this, + for example `git describe --tags --dirty --always` reports things like + "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the + 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has +-uncommitted changes. ++uncommitted changes). + + The version identifier is used for multiple purposes: + +@@ -166,7 +190,7 @@ which may help identify what went wrong). + + Some situations are known to cause problems for Versioneer. This details the + most significant ones. More can be found on Github +-[issues page](https://github.com/warner/python-versioneer/issues). ++[issues page](https://github.com/python-versioneer/python-versioneer/issues). + + ### Subprojects + +@@ -194,9 +218,9 @@ work too. + Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in + some later version. + +-[Bug #38](https://github.com/warner/python-versioneer/issues/38) is tracking ++[Bug #38](https://github.com/python-versioneer/python-versioneer/issues/38) is tracking + this issue. The discussion in +-[PR #61](https://github.com/warner/python-versioneer/pull/61) describes the ++[PR #61](https://github.com/python-versioneer/python-versioneer/pull/61) describes the + issue from the Versioneer side in more detail. + [pip PR#3176](https://github.com/pypa/pip/pull/3176) and + [pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve +@@ -224,31 +248,20 @@ regenerated while a different version is checked out. Many setup.py commands + cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into + a different virtualenv), so this can be surprising. + +-[Bug #83](https://github.com/warner/python-versioneer/issues/83) describes ++[Bug #83](https://github.com/python-versioneer/python-versioneer/issues/83) describes + this one, but upgrading to a newer version of setuptools should probably + resolve it. + +-### Unicode version strings +- +-While Versioneer works (and is continually tested) with both Python 2 and +-Python 3, it is not entirely consistent with bytes-vs-unicode distinctions. +-Newer releases probably generate unicode version strings on py2. It's not +-clear that this is wrong, but it may be surprising for applications when then +-write these strings to a network connection or include them in bytes-oriented +-APIs like cryptographic checksums. +- +-[Bug #71](https://github.com/warner/python-versioneer/issues/71) investigates +-this question. +- + + ## Updating Versioneer + + To upgrade your project to a new release of Versioneer, do the following: + + * install the new Versioneer (`pip install -U versioneer` or equivalent) +-* edit `setup.cfg`, if necessary, to include any new configuration settings +- indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. +-* re-run `versioneer install` in your source tree, to replace ++* edit `setup.cfg` and `pyproject.toml`, if necessary, ++ to include any new configuration settings indicated by the release notes. ++ See [UPGRADING](./UPGRADING.md) for details. ++* re-run `versioneer install --[no-]vendor` in your source tree, to replace + `SRC/_version.py` + * commit any changed files + +@@ -265,35 +278,70 @@ installation by editing setup.py . Alternatively, it might go the other + direction and include code from all supported VCS systems, reducing the + number of intermediate scripts. + ++## Similar projects ++ ++* [setuptools_scm](https://github.com/pypa/setuptools_scm/) - a non-vendored build-time ++ dependency ++* [minver](https://github.com/jbweston/miniver) - a lightweight reimplementation of ++ versioneer ++* [versioningit](https://github.com/jwodder/versioningit) - a PEP 518-based setuptools ++ plugin + + ## License + + To make Versioneer easier to embed, all its code is dedicated to the public + domain. The `_version.py` that it creates is also in the public domain. +-Specifically, both are released under the Creative Commons "Public Domain +-Dedication" license (CC0-1.0), as described in +-https://creativecommons.org/publicdomain/zero/1.0/ . ++Specifically, both are released under the "Unlicense", as described in ++https://unlicense.org/. ++ ++[pypi-image]: https://img.shields.io/pypi/v/versioneer.svg ++[pypi-url]: https://pypi.python.org/pypi/versioneer/ ++[travis-image]: ++https://img.shields.io/travis/com/python-versioneer/python-versioneer.svg ++[travis-url]: https://travis-ci.com/github/python-versioneer/python-versioneer + + """ ++# pylint:disable=invalid-name,import-outside-toplevel,missing-function-docstring ++# pylint:disable=missing-class-docstring,too-many-branches,too-many-statements ++# pylint:disable=raise-missing-from,too-many-lines,too-many-locals,import-error ++# pylint:disable=too-few-public-methods,redefined-outer-name,consider-using-with ++# pylint:disable=attribute-defined-outside-init,too-many-arguments + +-from __future__ import print_function +-try: +- import configparser +-except ImportError: +- import ConfigParser as configparser ++import configparser + import errno + import json + import os + import re + import subprocess + import sys ++from pathlib import Path ++from typing import Any, Callable, cast, Dict, List, Optional, Tuple, Union ++from typing import NoReturn ++import functools ++ ++have_tomllib = True ++if sys.version_info >= (3, 11): ++ import tomllib ++else: ++ try: ++ import tomli as tomllib ++ except ImportError: ++ have_tomllib = False + + + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ versionfile_source: str ++ versionfile_build: Optional[str] ++ parentdir_prefix: Optional[str] ++ verbose: Optional[bool] ++ + +-def get_root(): ++def get_root() -> str: + """Get the project root directory. + + We require that all commands are run from the project root, i.e. the +@@ -301,18 +349,30 @@ def get_root(): + """ + root = os.path.realpath(os.path.abspath(os.getcwd())) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): + # allow 'python path/to/setup.py COMMAND' + root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): +- err = ("Versioneer was unable to run the project root directory. " +- "Versioneer requires setup.py to be executed from " +- "its immediate directory (like 'python setup.py COMMAND'), " +- "or in a way that lets it use sys.argv[0] to find the root " +- "(like 'python path/to/setup.py COMMAND').") ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): ++ err = ( ++ "Versioneer was unable to run the project root directory. " ++ "Versioneer requires setup.py to be executed from " ++ "its immediate directory (like 'python setup.py COMMAND'), " ++ "or in a way that lets it use sys.argv[0] to find the root " ++ "(like 'python path/to/setup.py COMMAND')." ++ ) + raise VersioneerBadRootError(err) + try: + # Certain runtime workflows (setup.py install/develop in a setuptools +@@ -321,43 +381,64 @@ def get_root(): + # module-import table will cache the first one. So we can't use + # os.path.dirname(__file__), as that will find whichever + # versioneer.py was first imported, even in later projects. +- me = os.path.realpath(os.path.abspath(__file__)) +- me_dir = os.path.normcase(os.path.splitext(me)[0]) ++ my_path = os.path.realpath(os.path.abspath(__file__)) ++ me_dir = os.path.normcase(os.path.splitext(my_path)[0]) + vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) +- if me_dir != vsr_dir: +- print("Warning: build in %s is using versioneer.py from %s" +- % (os.path.dirname(me), versioneer_py)) ++ if me_dir != vsr_dir and "VERSIONEER_PEP518" not in globals(): ++ print( ++ "Warning: build in %s is using versioneer.py from %s" ++ % (os.path.dirname(my_path), versioneer_py) ++ ) + except NameError: + pass + return root + + +-def get_config_from_root(root): ++def get_config_from_root(root: str) -> VersioneerConfig: + """Read the project setup.cfg file to determine Versioneer config.""" +- # This might raise EnvironmentError (if setup.cfg is missing), or ++ # This might raise OSError (if setup.cfg is missing), or + # configparser.NoSectionError (if it lacks a [versioneer] section), or + # configparser.NoOptionError (if it lacks "VCS="). See the docstring at + # the top of versioneer.py for instructions on writing your setup.cfg . +- setup_cfg = os.path.join(root, "setup.cfg") +- parser = configparser.SafeConfigParser() +- with open(setup_cfg, "r") as f: +- parser.readfp(f) +- VCS = parser.get("versioneer", "VCS") # mandatory +- +- def get(parser, name): +- if parser.has_option("versioneer", name): +- return parser.get("versioneer", name) +- return None ++ root_pth = Path(root) ++ pyproject_toml = root_pth / "pyproject.toml" ++ setup_cfg = root_pth / "setup.cfg" ++ section: Union[Dict[str, Any], configparser.SectionProxy, None] = None ++ if pyproject_toml.exists() and have_tomllib: ++ try: ++ with open(pyproject_toml, "rb") as fobj: ++ pp = tomllib.load(fobj) ++ section = pp["tool"]["versioneer"] ++ except (tomllib.TOMLDecodeError, KeyError) as e: ++ print(f"Failed to load config from {pyproject_toml}: {e}") ++ print("Try to load it from setup.cfg") ++ if not section: ++ parser = configparser.ConfigParser() ++ with open(setup_cfg) as cfg_file: ++ parser.read_file(cfg_file) ++ parser.get("versioneer", "VCS") # raise error if missing ++ ++ section = parser["versioneer"] ++ ++ # `cast`` really shouldn't be used, but its simplest for the ++ # common VersioneerConfig users at the moment. We verify against ++ # `None` values elsewhere where it matters ++ + cfg = VersioneerConfig() +- cfg.VCS = VCS +- cfg.style = get(parser, "style") or "" +- cfg.versionfile_source = get(parser, "versionfile_source") +- cfg.versionfile_build = get(parser, "versionfile_build") +- cfg.tag_prefix = get(parser, "tag_prefix") +- if cfg.tag_prefix in ("''", '""'): ++ cfg.VCS = section["VCS"] ++ cfg.style = section.get("style", "") ++ cfg.versionfile_source = cast(str, section.get("versionfile_source")) ++ cfg.versionfile_build = section.get("versionfile_build") ++ cfg.tag_prefix = cast(str, section.get("tag_prefix")) ++ if cfg.tag_prefix in ("''", '""', None): + cfg.tag_prefix = "" +- cfg.parentdir_prefix = get(parser, "parentdir_prefix") +- cfg.verbose = get(parser, "verbose") ++ cfg.parentdir_prefix = section.get("parentdir_prefix") ++ if isinstance(section, configparser.SectionProxy): ++ # Make sure configparser translates to bool ++ cfg.verbose = section.getboolean("verbose") ++ else: ++ cfg.verbose = section.get("verbose") ++ + return cfg + + +@@ -366,37 +447,54 @@ class NotThisMethod(Exception): + + + # these dictionaries contain VCS-specific tools +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" +- if vcs not in HANDLERS: +- HANDLERS[vcs] = {} +- HANDLERS[vcs][method] = f ++ HANDLERS.setdefault(vcs, {})[method] = f + return f ++ + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen( ++ [command] + args, ++ cwd=cwd, ++ env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr else None), ++ **popen_kwargs, ++ ) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -407,26 +505,27 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %s" % (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %s (error)" % dispcmd) + print("stdout was %s" % stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-LONG_VERSION_PY['git'] = ''' ++LONG_VERSION_PY[ ++ "git" ++] = r''' + # This file helps to compute a version number in source trees obtained from + # git-archive tarball (such as those provided by githubs download-from-tag + # feature). Distribution tarballs (built by setup.py sdist) and build + # directories (produced by setup.py build) will contain a much shorter file + # that just contains the computed version number. + +-# This file is released into the public domain. Generated by +-# versioneer-0.18 (https://github.com/warner/python-versioneer) ++# This file is released into the public domain. ++# Generated by versioneer-0.29 ++# https://github.com/python-versioneer/python-versioneer + + """Git implementation of _version.py.""" + +@@ -435,9 +534,11 @@ import os + import re + import subprocess + import sys ++from typing import Any, Callable, Dict, List, Optional, Tuple ++import functools + + +-def get_keywords(): ++def get_keywords() -> Dict[str, str]: + """Get the keywords needed to look up the version information.""" + # these strings will be replaced by git during git-archive. + # setup.py/versioneer.py will grep for the variable names, so they must +@@ -453,8 +554,15 @@ def get_keywords(): + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ parentdir_prefix: str ++ versionfile_source: str ++ verbose: bool ++ + +-def get_config(): ++def get_config() -> VersioneerConfig: + """Create, populate and return the VersioneerConfig() object.""" + # these strings are filled in when 'setup.py versioneer' creates + # _version.py +@@ -472,13 +580,13 @@ class NotThisMethod(Exception): + """Exception raised if a method is not valid for the current scenario.""" + + +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" + if vcs not in HANDLERS: + HANDLERS[vcs] = {} +@@ -487,22 +595,35 @@ def register_vcs_handler(vcs, method): # decorator + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -513,18 +634,20 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %%s" %% (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %%s (error)" %% dispcmd) + print("stdout was %%s" %% stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -533,15 +656,14 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): + return {"version": dirname[len(parentdir_prefix):], + "full-revisionid": None, + "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: + print("Tried directories %%s but none started with prefix %%s" %% +@@ -550,41 +672,48 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -597,11 +726,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %%d +@@ -610,7 +739,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r'\d', r)} + if verbose: + print("discarding '%%s', no digits" %% ",".join(refs - tags)) + if verbose: +@@ -619,6 +748,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): + r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue + if verbose: + print("picking %%s" %% r) + return {"version": r, +@@ -634,7 +768,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, ++ root: str, ++ verbose: bool, ++ runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -645,8 +784,15 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %%s not under git control" %% root) +@@ -654,24 +800,57 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%%s*" %% tag_prefix], +- cwd=root) ++ describe_out, rc = runner(GITS, [ ++ "describe", "--tags", "--dirty", "--always", "--long", ++ "--match", f"{tag_prefix}[[:digit:]]*" ++ ], cwd=root) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -688,7 +867,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + # TAG-NUM-gHEX + mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? ++ # unparsable. Maybe git-describe is misbehaving? + pieces["error"] = ("unable to parse git-describe output: '%%s'" + %% describe_out) + return pieces +@@ -713,26 +892,27 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -757,23 +937,71 @@ def render_pep440(pieces): + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%%d.g%%s" %% (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%%d" %% pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%%d.dev%%d" %% (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%%d" %% (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%%d" %% pieces["distance"] ++ rendered = "0.post0.dev%%d" %% pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -800,12 +1028,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -822,7 +1079,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -842,7 +1099,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -862,7 +1119,7 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: + return {"version": "unknown", +@@ -876,10 +1133,14 @@ def render(pieces, style): + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -894,7 +1155,7 @@ def render(pieces, style): + "date": pieces.get("date")} + + +-def get_versions(): ++def get_versions() -> Dict[str, Any]: + """Get version information or return default if unable to do so.""" + # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have + # __file__, we can work backwards from there to the root. Some +@@ -915,7 +1176,7 @@ def get_versions(): + # versionfile_source is the relative path from the top of the source + # tree (where the .git directory might live) to this file. Invert + # this to find the root from __file__. +- for i in cfg.versionfile_source.split('/'): ++ for _ in cfg.versionfile_source.split('/'): + root = os.path.dirname(root) + except NameError: + return {"version": "0+unknown", "full-revisionid": None, +@@ -942,41 +1203,48 @@ def get_versions(): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -989,11 +1257,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG) :] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %d +@@ -1002,7 +1270,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r"\d", r)} + if verbose: + print("discarding '%s', no digits" % ",".join(refs - tags)) + if verbose: +@@ -1010,23 +1278,37 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + for ref in sorted(tags): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): +- r = ref[len(tag_prefix):] ++ r = ref[len(tag_prefix) :] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r"\d", r): ++ continue + if verbose: + print("picking %s" % r) +- return {"version": r, +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": None, +- "date": date} ++ return { ++ "version": r, ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": None, ++ "date": date, ++ } + # no suitable tags, so version is "0+unknown", but full hex is still there + if verbose: + print("no suitable tags, using unknown + full revision id") +- return {"version": "0+unknown", +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": "no suitable tags", "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": "no suitable tags", ++ "date": None, ++ } + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, root: str, verbose: bool, runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -1037,8 +1319,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %s not under git control" % root) +@@ -1046,24 +1334,65 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%s*" % tag_prefix], +- cwd=root) ++ describe_out, rc = runner( ++ GITS, ++ [ ++ "describe", ++ "--tags", ++ "--dirty", ++ "--always", ++ "--long", ++ "--match", ++ f"{tag_prefix}[[:digit:]]*", ++ ], ++ cwd=root, ++ ) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -1072,17 +1401,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + dirty = git_describe.endswith("-dirty") + pieces["dirty"] = dirty + if dirty: +- git_describe = git_describe[:git_describe.rindex("-dirty")] ++ git_describe = git_describe[: git_describe.rindex("-dirty")] + + # now we have TAG-NUM-gHEX or HEX + + if "-" in git_describe: + # TAG-NUM-gHEX +- mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) ++ mo = re.search(r"^(.+)-(\d+)-g([0-9a-f]+)$", git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? +- pieces["error"] = ("unable to parse git-describe output: '%s'" +- % describe_out) ++ # unparsable. Maybe git-describe is misbehaving? ++ pieces["error"] = "unable to parse git-describe output: '%s'" % describe_out + return pieces + + # tag +@@ -1091,10 +1419,12 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if verbose: + fmt = "tag '%s' doesn't start with prefix '%s'" + print(fmt % (full_tag, tag_prefix)) +- pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" +- % (full_tag, tag_prefix)) ++ pieces["error"] = "tag '%s' doesn't start with prefix '%s'" % ( ++ full_tag, ++ tag_prefix, ++ ) + return pieces +- pieces["closest-tag"] = full_tag[len(tag_prefix):] ++ pieces["closest-tag"] = full_tag[len(tag_prefix) :] + + # distance: number of commits since tag + pieces["distance"] = int(mo.group(2)) +@@ -1105,19 +1435,20 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def do_vcs_install(manifest_in, versionfile_source, ipy): ++def do_vcs_install(versionfile_source: str, ipy: Optional[str]) -> None: + """Git-specific installation logic for Versioneer. + + For Git, this means creating/changing .gitattributes to mark _version.py +@@ -1126,36 +1457,40 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + GITS = ["git"] + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] +- files = [manifest_in, versionfile_source] ++ files = [versionfile_source] + if ipy: + files.append(ipy) +- try: +- me = __file__ +- if me.endswith(".pyc") or me.endswith(".pyo"): +- me = os.path.splitext(me)[0] + ".py" +- versioneer_file = os.path.relpath(me) +- except NameError: +- versioneer_file = "versioneer.py" +- files.append(versioneer_file) ++ if "VERSIONEER_PEP518" not in globals(): ++ try: ++ my_path = __file__ ++ if my_path.endswith((".pyc", ".pyo")): ++ my_path = os.path.splitext(my_path)[0] + ".py" ++ versioneer_file = os.path.relpath(my_path) ++ except NameError: ++ versioneer_file = "versioneer.py" ++ files.append(versioneer_file) + present = False + try: +- f = open(".gitattributes", "r") +- for line in f.readlines(): +- if line.strip().startswith(versionfile_source): +- if "export-subst" in line.strip().split()[1:]: +- present = True +- f.close() +- except EnvironmentError: ++ with open(".gitattributes", "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith(versionfile_source): ++ if "export-subst" in line.strip().split()[1:]: ++ present = True ++ break ++ except OSError: + pass + if not present: +- f = open(".gitattributes", "a+") +- f.write("%s export-subst\n" % versionfile_source) +- f.close() ++ with open(".gitattributes", "a+") as fobj: ++ fobj.write(f"{versionfile_source} export-subst\n") + files.append(".gitattributes") + run_command(GITS, ["add", "--"] + files) + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -1164,24 +1499,29 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): +- return {"version": dirname[len(parentdir_prefix):], +- "full-revisionid": None, +- "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ return { ++ "version": dirname[len(parentdir_prefix) :], ++ "full-revisionid": None, ++ "dirty": False, ++ "error": None, ++ "date": None, ++ } ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: +- print("Tried directories %s but none started with prefix %s" % +- (str(rootdirs), parentdir_prefix)) ++ print( ++ "Tried directories %s but none started with prefix %s" ++ % (str(rootdirs), parentdir_prefix) ++ ) + raise NotThisMethod("rootdir doesn't start with parentdir_prefix") + + + SHORT_VERSION_PY = """ +-# This file was generated by 'versioneer.py' (0.18) from ++# This file was generated by 'versioneer.py' (0.29) from + # revision-control system data, or from the parent directory name of an + # unpacked source archive. Distribution tarballs contain a pre-generated copy + # of this file. +@@ -1198,42 +1538,42 @@ def get_versions(): + """ + + +-def versions_from_file(filename): ++def versions_from_file(filename: str) -> Dict[str, Any]: + """Try to determine the version from _version.py if present.""" + try: + with open(filename) as f: + contents = f.read() +- except EnvironmentError: ++ except OSError: + raise NotThisMethod("unable to read _version.py") +- mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: +- mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\r\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: + raise NotThisMethod("no version_json in _version.py") + return json.loads(mo.group(1)) + + +-def write_to_version_file(filename, versions): ++def write_to_version_file(filename: str, versions: Dict[str, Any]) -> None: + """Write the given version number to the given _version.py file.""" +- os.unlink(filename) +- contents = json.dumps(versions, sort_keys=True, +- indent=1, separators=(",", ": ")) ++ contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) + with open(filename, "w") as f: + f.write(SHORT_VERSION_PY % contents) + + print("set %s to '%s'" % (filename, versions["version"])) + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -1251,30 +1591,76 @@ def render_pep440(pieces): + rendered += ".dirty" + else: + # exception #1 +- rendered = "0+untagged.%d.g%s" % (pieces["distance"], +- pieces["short"]) ++ rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) + if pieces["dirty"]: + rendered += ".dirty" + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%d" % pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%d.dev%d" % (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%d" % (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%d" % pieces["distance"] ++ rendered = "0.post0.dev%d" % pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -1301,12 +1687,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -1323,7 +1738,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -1343,7 +1758,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -1363,24 +1778,30 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: +- return {"version": "unknown", +- "full-revisionid": pieces.get("long"), +- "dirty": None, +- "error": pieces["error"], +- "date": None} ++ return { ++ "version": "unknown", ++ "full-revisionid": pieces.get("long"), ++ "dirty": None, ++ "error": pieces["error"], ++ "date": None, ++ } + + if not style or style == "default": + style = "pep440" # the default + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -1390,16 +1811,20 @@ def render(pieces, style): + else: + raise ValueError("unknown style '%s'" % style) + +- return {"version": rendered, "full-revisionid": pieces["long"], +- "dirty": pieces["dirty"], "error": None, +- "date": pieces.get("date")} ++ return { ++ "version": rendered, ++ "full-revisionid": pieces["long"], ++ "dirty": pieces["dirty"], ++ "error": None, ++ "date": pieces.get("date"), ++ } + + + class VersioneerBadRootError(Exception): + """The project root directory is unknown or missing key files.""" + + +-def get_versions(verbose=False): ++def get_versions(verbose: bool = False) -> Dict[str, Any]: + """Get the project version from whatever source is available. + + Returns dict with two keys: 'version' and 'full'. +@@ -1414,9 +1839,10 @@ def get_versions(verbose=False): + assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" + handlers = HANDLERS.get(cfg.VCS) + assert handlers, "unrecognized VCS '%s'" % cfg.VCS +- verbose = verbose or cfg.verbose +- assert cfg.versionfile_source is not None, \ +- "please set versioneer.versionfile_source" ++ verbose = verbose or bool(cfg.verbose) # `bool()` used to avoid `None` ++ assert ( ++ cfg.versionfile_source is not None ++ ), "please set versioneer.versionfile_source" + assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" + + versionfile_abs = os.path.join(root, cfg.versionfile_source) +@@ -1470,18 +1896,26 @@ def get_versions(verbose=False): + if verbose: + print("unable to compute version") + +- return {"version": "0+unknown", "full-revisionid": None, +- "dirty": None, "error": "unable to compute version", +- "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": None, ++ "dirty": None, ++ "error": "unable to compute version", ++ "date": None, ++ } + + +-def get_version(): ++def get_version() -> str: + """Get the short version string for this project.""" + return get_versions()["version"] + + +-def get_cmdclass(): +- """Get the custom setuptools/distutils subclasses used by Versioneer.""" ++def get_cmdclass(cmdclass: Optional[Dict[str, Any]] = None): ++ """Get the custom setuptools subclasses used by Versioneer. ++ ++ If the package uses a different cmdclass (e.g. one from numpy), it ++ should be provide as an argument. ++ """ + if "versioneer" in sys.modules: + del sys.modules["versioneer"] + # this fixes the "python setup.py develop" case (also 'install' and +@@ -1495,25 +1929,25 @@ def get_cmdclass(): + # parent is protected against the child's "import versioneer". By + # removing ourselves from sys.modules here, before the child build + # happens, we protect the child from the parent's versioneer too. +- # Also see https://github.com/warner/python-versioneer/issues/52 ++ # Also see https://github.com/python-versioneer/python-versioneer/issues/52 + +- cmds = {} ++ cmds = {} if cmdclass is None else cmdclass.copy() + +- # we add "version" to both distutils and setuptools +- from distutils.core import Command ++ # we add "version" to setuptools ++ from setuptools import Command + + class cmd_version(Command): + description = "report generated version string" +- user_options = [] +- boolean_options = [] ++ user_options: List[Tuple[str, str, str]] = [] ++ boolean_options: List[str] = [] + +- def initialize_options(self): ++ def initialize_options(self) -> None: + pass + +- def finalize_options(self): ++ def finalize_options(self) -> None: + pass + +- def run(self): ++ def run(self) -> None: + vers = get_versions(verbose=True) + print("Version: %s" % vers["version"]) + print(" full-revisionid: %s" % vers.get("full-revisionid")) +@@ -1521,9 +1955,10 @@ def get_cmdclass(): + print(" date: %s" % vers.get("date")) + if vers["error"]: + print(" error: %s" % vers["error"]) ++ + cmds["version"] = cmd_version + +- # we override "build_py" in both distutils and setuptools ++ # we override "build_py" in setuptools + # + # most invocation pathways end up running build_py: + # distutils/build -> build_py +@@ -1538,29 +1973,71 @@ def get_cmdclass(): + # then does setup.py bdist_wheel, or sometimes setup.py install + # setup.py egg_info -> ? + ++ # pip install -e . and setuptool/editable_wheel will invoke build_py ++ # but the build_py command is not expected to copy any files. ++ + # we override different "build_py" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.build_py import build_py as _build_py ++ if "build_py" in cmds: ++ _build_py: Any = cmds["build_py"] + else: +- from distutils.command.build_py import build_py as _build_py ++ from setuptools.command.build_py import build_py as _build_py + + class cmd_build_py(_build_py): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() + _build_py.run(self) ++ if getattr(self, "editable_mode", False): ++ # During editable installs `.py` and data files are ++ # not copied to build_lib ++ return + # now locate _version.py in the new build/ directory and replace + # it with an updated value + if cfg.versionfile_build: +- target_versionfile = os.path.join(self.build_lib, +- cfg.versionfile_build) ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) + print("UPDATING %s" % target_versionfile) + write_to_version_file(target_versionfile, versions) ++ + cmds["build_py"] = cmd_build_py + ++ if "build_ext" in cmds: ++ _build_ext: Any = cmds["build_ext"] ++ else: ++ from setuptools.command.build_ext import build_ext as _build_ext ++ ++ class cmd_build_ext(_build_ext): ++ def run(self) -> None: ++ root = get_root() ++ cfg = get_config_from_root(root) ++ versions = get_versions() ++ _build_ext.run(self) ++ if self.inplace: ++ # build_ext --inplace will only build extensions in ++ # build/lib<..> dir with no _version.py to write to. ++ # As in place builds will already have a _version.py ++ # in the module dir, we do not need to write one. ++ return ++ # now locate _version.py in the new build/ directory and replace ++ # it with an updated value ++ if not cfg.versionfile_build: ++ return ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) ++ if not os.path.exists(target_versionfile): ++ print( ++ f"Warning: {target_versionfile} does not exist, skipping " ++ "version update. This can happen if you are running build_ext " ++ "without first running build_py." ++ ) ++ return ++ print("UPDATING %s" % target_versionfile) ++ write_to_version_file(target_versionfile, versions) ++ ++ cmds["build_ext"] = cmd_build_ext ++ + if "cx_Freeze" in sys.modules: # cx_freeze enabled? +- from cx_Freeze.dist import build_exe as _build_exe ++ from cx_Freeze.dist import build_exe as _build_exe # type: ignore ++ + # nczeczulin reports that py2exe won't like the pep440-style string + # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. + # setup(console=[{ +@@ -1569,7 +2046,7 @@ def get_cmdclass(): + # ... + + class cmd_build_exe(_build_exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1581,24 +2058,28 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["build_exe"] = cmd_build_exe + del cmds["build_py"] + +- if 'py2exe' in sys.modules: # py2exe enabled? ++ if "py2exe" in sys.modules: # py2exe enabled? + try: +- from py2exe.distutils_buildexe import py2exe as _py2exe # py3 ++ from py2exe.setuptools_buildexe import py2exe as _py2exe # type: ignore + except ImportError: +- from py2exe.build_exe import py2exe as _py2exe # py2 ++ from py2exe.distutils_buildexe import py2exe as _py2exe # type: ignore + + class cmd_py2exe(_py2exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1610,23 +2091,67 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["py2exe"] = cmd_py2exe + ++ # sdist farms its file list building out to egg_info ++ if "egg_info" in cmds: ++ _egg_info: Any = cmds["egg_info"] ++ else: ++ from setuptools.command.egg_info import egg_info as _egg_info ++ ++ class cmd_egg_info(_egg_info): ++ def find_sources(self) -> None: ++ # egg_info.find_sources builds the manifest list and writes it ++ # in one shot ++ super().find_sources() ++ ++ # Modify the filelist and normalize it ++ root = get_root() ++ cfg = get_config_from_root(root) ++ self.filelist.append("versioneer.py") ++ if cfg.versionfile_source: ++ # There are rare cases where versionfile_source might not be ++ # included by default, so we must be explicit ++ self.filelist.append(cfg.versionfile_source) ++ self.filelist.sort() ++ self.filelist.remove_duplicates() ++ ++ # The write method is hidden in the manifest_maker instance that ++ # generated the filelist and was thrown away ++ # We will instead replicate their final normalization (to unicode, ++ # and POSIX-style paths) ++ from setuptools import unicode_utils ++ ++ normalized = [ ++ unicode_utils.filesys_decode(f).replace(os.sep, "/") ++ for f in self.filelist.files ++ ] ++ ++ manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") ++ with open(manifest_filename, "w") as fobj: ++ fobj.write("\n".join(normalized)) ++ ++ cmds["egg_info"] = cmd_egg_info ++ + # we override different "sdist" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.sdist import sdist as _sdist ++ if "sdist" in cmds: ++ _sdist: Any = cmds["sdist"] + else: +- from distutils.command.sdist import sdist as _sdist ++ from setuptools.command.sdist import sdist as _sdist + + class cmd_sdist(_sdist): +- def run(self): ++ def run(self) -> None: + versions = get_versions() + self._versioneer_generated_versions = versions + # unless we update this, the command will keep using the old +@@ -1634,7 +2159,7 @@ def get_cmdclass(): + self.distribution.metadata.version = versions["version"] + return _sdist.run(self) + +- def make_release_tree(self, base_dir, files): ++ def make_release_tree(self, base_dir: str, files: List[str]) -> None: + root = get_root() + cfg = get_config_from_root(root) + _sdist.make_release_tree(self, base_dir, files) +@@ -1643,8 +2168,10 @@ def get_cmdclass(): + # updated value + target_versionfile = os.path.join(base_dir, cfg.versionfile_source) + print("UPDATING %s" % target_versionfile) +- write_to_version_file(target_versionfile, +- self._versioneer_generated_versions) ++ write_to_version_file( ++ target_versionfile, self._versioneer_generated_versions ++ ) ++ + cmds["sdist"] = cmd_sdist + + return cmds +@@ -1687,23 +2214,26 @@ SAMPLE_CONFIG = """ + + """ + +-INIT_PY_SNIPPET = """ ++OLD_SNIPPET = """ + from ._version import get_versions + __version__ = get_versions()['version'] + del get_versions + """ + ++INIT_PY_SNIPPET = """ ++from . import {0} ++__version__ = {0}.get_versions()['version'] ++""" ++ + +-def do_setup(): +- """Main VCS-independent setup function for installing Versioneer.""" ++def do_setup() -> int: ++ """Do main VCS-independent setup function for installing Versioneer.""" + root = get_root() + try: + cfg = get_config_from_root(root) +- except (EnvironmentError, configparser.NoSectionError, +- configparser.NoOptionError) as e: +- if isinstance(e, (EnvironmentError, configparser.NoSectionError)): +- print("Adding sample versioneer config to setup.cfg", +- file=sys.stderr) ++ except (OSError, configparser.NoSectionError, configparser.NoOptionError) as e: ++ if isinstance(e, (OSError, configparser.NoSectionError)): ++ print("Adding sample versioneer config to setup.cfg", file=sys.stderr) + with open(os.path.join(root, "setup.cfg"), "a") as f: + f.write(SAMPLE_CONFIG) + print(CONFIG_ERROR, file=sys.stderr) +@@ -1712,71 +2242,49 @@ def do_setup(): + print(" creating %s" % cfg.versionfile_source) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) +- +- ipy = os.path.join(os.path.dirname(cfg.versionfile_source), +- "__init__.py") ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ ++ ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") ++ maybe_ipy: Optional[str] = ipy + if os.path.exists(ipy): + try: + with open(ipy, "r") as f: + old = f.read() +- except EnvironmentError: ++ except OSError: + old = "" +- if INIT_PY_SNIPPET not in old: ++ module = os.path.splitext(os.path.basename(cfg.versionfile_source))[0] ++ snippet = INIT_PY_SNIPPET.format(module) ++ if OLD_SNIPPET in old: ++ print(" replacing boilerplate in %s" % ipy) ++ with open(ipy, "w") as f: ++ f.write(old.replace(OLD_SNIPPET, snippet)) ++ elif snippet not in old: + print(" appending to %s" % ipy) + with open(ipy, "a") as f: +- f.write(INIT_PY_SNIPPET) ++ f.write(snippet) + else: + print(" %s unmodified" % ipy) + else: + print(" %s doesn't exist, ok" % ipy) +- ipy = None +- +- # Make sure both the top-level "versioneer.py" and versionfile_source +- # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so +- # they'll be copied into source distributions. Pip won't be able to +- # install the package without this. +- manifest_in = os.path.join(root, "MANIFEST.in") +- simple_includes = set() +- try: +- with open(manifest_in, "r") as f: +- for line in f: +- if line.startswith("include "): +- for include in line.split()[1:]: +- simple_includes.add(include) +- except EnvironmentError: +- pass +- # That doesn't cover everything MANIFEST.in can do +- # (http://docs.python.org/2/distutils/sourcedist.html#commands), so +- # it might give some false negatives. Appending redundant 'include' +- # lines is safe, though. +- if "versioneer.py" not in simple_includes: +- print(" appending 'versioneer.py' to MANIFEST.in") +- with open(manifest_in, "a") as f: +- f.write("include versioneer.py\n") +- else: +- print(" 'versioneer.py' already in MANIFEST.in") +- if cfg.versionfile_source not in simple_includes: +- print(" appending versionfile_source ('%s') to MANIFEST.in" % +- cfg.versionfile_source) +- with open(manifest_in, "a") as f: +- f.write("include %s\n" % cfg.versionfile_source) +- else: +- print(" versionfile_source already in MANIFEST.in") ++ maybe_ipy = None + + # Make VCS-specific changes. For git, this means creating/changing + # .gitattributes to mark _version.py for export-subst keyword + # substitution. +- do_vcs_install(manifest_in, cfg.versionfile_source, ipy) ++ do_vcs_install(cfg.versionfile_source, maybe_ipy) + return 0 + + +-def scan_setup_py(): ++def scan_setup_py() -> int: + """Validate the contents of setup.py against Versioneer's expectations.""" + found = set() + setters = False +@@ -1813,10 +2321,14 @@ def scan_setup_py(): + return errors + + ++def setup_command() -> NoReturn: ++ """Set up Versioneer and exit with appropriate error code.""" ++ errors = do_setup() ++ errors += scan_setup_py() ++ sys.exit(1 if errors else 0) ++ ++ + if __name__ == "__main__": + cmd = sys.argv[1] + if cmd == "setup": +- errors = do_setup() +- errors += scan_setup_py() +- if errors: +- sys.exit(1) ++ setup_command() +-- +2.41.0 + diff --git a/package/python-magic-wormhole/Config.in b/package/python-magic-wormhole/Config.in new file mode 100644 index 00000000000..c92af7a9579 --- /dev/null +++ b/package/python-magic-wormhole/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE + bool "python-magic-wormhole" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_AUTOBAHN # runtime + select BR2_PACKAGE_PYTHON_AUTOMAT # runtime + select BR2_PACKAGE_PYTHON_CLICK # runtime + select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime + select BR2_PACKAGE_PYTHON_HUMANIZE # runtime + select BR2_PACKAGE_PYTHON_PYNACL # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_SPAKE2 # runtime + select BR2_PACKAGE_PYTHON_TQDM # runtime + select BR2_PACKAGE_PYTHON_TWISTED # runtime + select BR2_PACKAGE_PYTHON_TXTORCON # runtime + help + Securely transfer data between computers. + + This package provides a library and a command-line tool + named "wormhole", which makes it possible to get + arbitrary-sized files and directories (or short pieces of + text) from one computer to another. The two endpoints are + identified by using identical "wormhole codes": in general, + the sending machine generates and displays the code, which + must then be typed into the receiving machine. + + https://github.com/magic-wormhole/magic-wormhole diff --git a/package/python-magic-wormhole/python-magic-wormhole.hash b/package/python-magic-wormhole/python-magic-wormhole.hash new file mode 100644 index 00000000000..5a3ffab7320 --- /dev/null +++ b/package/python-magic-wormhole/python-magic-wormhole.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/magic-wormhole/json +md5 baf778af8df5416e6d01bb2b95fa5cc5 magic-wormhole-0.13.0.tar.gz +sha256 ac3bd68286270e7f149c06149a8e409e5fa34d7feb0e88844a26d29eed2d1516 magic-wormhole-0.13.0.tar.gz +# Locally computed sha256 checksums +sha256 4a9cc2415c52cef591b6822eee68fed36d7e6d80284b09638cff61d762d99060 LICENSE diff --git a/package/python-magic-wormhole/python-magic-wormhole.mk b/package/python-magic-wormhole/python-magic-wormhole.mk new file mode 100644 index 00000000000..3349bfd4e12 --- /dev/null +++ b/package/python-magic-wormhole/python-magic-wormhole.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-magic-wormhole +# +################################################################################ + +PYTHON_MAGIC_WORMHOLE_VERSION = 0.13.0 +PYTHON_MAGIC_WORMHOLE_SOURCE = magic-wormhole-$(PYTHON_MAGIC_WORMHOLE_VERSION).tar.gz +PYTHON_MAGIC_WORMHOLE_SITE = https://files.pythonhosted.org/packages/cc/e1/75c31ad5db873268ba0750006b3d0e40c30b0ad39e6f58b1e28a28d6de48 +PYTHON_MAGIC_WORMHOLE_SETUP_TYPE = setuptools +PYTHON_MAGIC_WORMHOLE_LICENSE = MIT +PYTHON_MAGIC_WORMHOLE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-mako/Config.in b/package/python-mako/Config.in index 442e290efa4..7bba31943e4 100644 --- a/package/python-mako/Config.in +++ b/package/python-mako/Config.in @@ -1,8 +1,27 @@ config BR2_PACKAGE_PYTHON_MAKO bool "python-mako" + select BR2_PACKAGE_PYTHON_MARKUPSAFE # runtime help Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. https://pypi.python.org/pypi/Mako + +if BR2_PACKAGE_PYTHON_MAKO + +config BR2_PACKAGE_PYTHON_MAKO_EXT_PYGMENTPLUGIN + bool "mako extension pygmentplugin" + select BR2_PACKAGE_PYTHON_PYGMENTS # runtime + help + Provide python-pygments support for + mako.ext.pygmentplugin + +config BR2_PACKAGE_PYTHON_MAKO_EXT_BABELPLUGIN + bool "mako extension babelplugin" + select BR2_PACKAGE_PYTHON_BABEL # runtime + help + Provide python-babel support for + mako.ext.babelplugin + +endif diff --git a/package/python-mako/python-mako.hash b/package/python-mako/python-mako.hash index a010e8d8f62..03651cf9567 100644 --- a/package/python-mako/python-mako.hash +++ b/package/python-mako/python-mako.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mako/json -md5 651f365616611fcd4f2702a9002e2195 Mako-1.2.4.tar.gz -sha256 d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34 Mako-1.2.4.tar.gz +md5 90da23903468efe9aa88dc88081579ff Mako-1.3.0.tar.gz +sha256 e3a9d388fd00e87043edbe8792f45880ac0114e9c4adc69f6e9bfb2c55e3b11b Mako-1.3.0.tar.gz # Locally computed sha256 checksums -sha256 760f22b3e9ea4a50eb99201bd8dd118869f28108cfb64ccce6d1b305cf9ae9fa LICENSE +sha256 0a326e448dd22f220dd30796677ddbdf3ddaa6427a9744fea9deaa51d9d74fd9 LICENSE diff --git a/package/python-mako/python-mako.mk b/package/python-mako/python-mako.mk index 313fbfcab2f..2eba772b263 100644 --- a/package/python-mako/python-mako.mk +++ b/package/python-mako/python-mako.mk @@ -4,12 +4,14 @@ # ################################################################################ -PYTHON_MAKO_VERSION = 1.2.4 +PYTHON_MAKO_VERSION = 1.3.0 PYTHON_MAKO_SOURCE = Mako-$(PYTHON_MAKO_VERSION).tar.gz -PYTHON_MAKO_SITE = https://files.pythonhosted.org/packages/05/5f/2ba6e026d33a0e6ddc1dddf9958677f76f5f80c236bd65309d280b166d3e +PYTHON_MAKO_SITE = https://files.pythonhosted.org/packages/a9/6e/6b41e654bbdcef90c6b9e7f280bf7cbd756dc2560ce76214f5cdbc4ddab5 PYTHON_MAKO_SETUP_TYPE = setuptools PYTHON_MAKO_LICENSE = MIT PYTHON_MAKO_LICENSE_FILES = LICENSE +PYTHON_MAKO_CPE_ID_VENDOR = sqlalchemy +PYTHON_MAKO_CPE_ID_PRODUCT = mako # In host build, setup.py tries to download markupsafe if it is not installed HOST_PYTHON_MAKO_DEPENDENCIES = host-python-markupsafe diff --git a/package/python-markdown/python-markdown.hash b/package/python-markdown/python-markdown.hash index 66208067cc1..21f0c28bacc 100644 --- a/package/python-markdown/python-markdown.hash +++ b/package/python-markdown/python-markdown.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/markdown/json -md5 597656cf4feadf1998b0511201620202 Markdown-3.4.1.tar.gz -sha256 3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff Markdown-3.4.1.tar.gz +md5 1bd2746a8f32643f151991719fe7faf9 Markdown-3.5.1.tar.gz +sha256 b65d7beb248dc22f2e8a31fb706d93798093c308dc1aba295aedeb9d41a813bd Markdown-3.5.1.tar.gz # Locally computed sha256 sha256 6f1193cb634718e65c3a537d6e25ebd614820ec0ef693cfc12248112638d64da LICENSE.md diff --git a/package/python-markdown/python-markdown.mk b/package/python-markdown/python-markdown.mk index 1b9b5562018..b491660f24a 100644 --- a/package/python-markdown/python-markdown.mk +++ b/package/python-markdown/python-markdown.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MARKDOWN_VERSION = 3.4.1 +PYTHON_MARKDOWN_VERSION = 3.5.1 PYTHON_MARKDOWN_SOURCE = Markdown-$(PYTHON_MARKDOWN_VERSION).tar.gz -PYTHON_MARKDOWN_SITE = https://files.pythonhosted.org/packages/85/7e/133e943e97a943d2f1d8bae0c5060f8ac50e6691754eb9dbe036b047a9bb +PYTHON_MARKDOWN_SITE = https://files.pythonhosted.org/packages/35/14/1ec9742e151f3b06a723a20d9af7201a389ebd3aae8b7d93b521819489dc PYTHON_MARKDOWN_LICENSE = BSD-3-Clause PYTHON_MARKDOWN_LICENSE_FILES = LICENSE.md PYTHON_MARKDOWN_SETUP_TYPE = setuptools diff --git a/package/python-markdown2/python-markdown2.hash b/package/python-markdown2/python-markdown2.hash index f8582ba5b89..0a764991853 100644 --- a/package/python-markdown2/python-markdown2.hash +++ b/package/python-markdown2/python-markdown2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/markdown2/json -md5 bb3f451bed011a0d8959e3c1d5850c53 markdown2-2.4.6.tar.gz -sha256 f65b4dbe1e16591b14fd40bc659b8b58d285eab70c1da21f390294fcdec42bb0 markdown2-2.4.6.tar.gz +md5 69cdd2c9ee1f6837cb173a44d6a0622d markdown2-2.4.12.tar.gz +sha256 1bc8692696954d597778e0e25713c14ca56d87992070dedd95c17eddaf709204 markdown2-2.4.12.tar.gz # Locally computed sha256 checksums sha256 f8c7c4d554409cf621b8d653dbfffb719745fd36f5c49b8305258649b403ef9c LICENSE.txt diff --git a/package/python-markdown2/python-markdown2.mk b/package/python-markdown2/python-markdown2.mk index b1c162e12f4..a78e6ea0d8f 100644 --- a/package/python-markdown2/python-markdown2.mk +++ b/package/python-markdown2/python-markdown2.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_MARKDOWN2_VERSION = 2.4.6 +PYTHON_MARKDOWN2_VERSION = 2.4.12 PYTHON_MARKDOWN2_SOURCE = markdown2-$(PYTHON_MARKDOWN2_VERSION).tar.gz -PYTHON_MARKDOWN2_SITE = https://files.pythonhosted.org/packages/83/b7/24613765f558afde9f47b61fcd787a9856ac1515b53af38bd11bf2fb3c8c +PYTHON_MARKDOWN2_SITE = https://files.pythonhosted.org/packages/3c/e4/87a454674ac303e2ca6c25713845d2ae1b59c1a88576054cbec25aaebad1 PYTHON_MARKDOWN2_SETUP_TYPE = setuptools PYTHON_MARKDOWN2_LICENSE = MIT PYTHON_MARKDOWN2_LICENSE_FILES = LICENSE.txt -PYTHON_MARKDOWN2_CPE_ID_VENDOR = python-markdown2_project +PYTHON_MARKDOWN2_CPE_ID_VALID = YES $(eval $(python-package)) diff --git a/package/python-markupsafe/python-markupsafe.hash b/package/python-markupsafe/python-markupsafe.hash index 2d1d81c62e0..ec357a83ce0 100644 --- a/package/python-markupsafe/python-markupsafe.hash +++ b/package/python-markupsafe/python-markupsafe.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/markupsafe/json -md5 9809f9fdd98bc835b0c21aa8f79cbf30 MarkupSafe-2.1.1.tar.gz -sha256 7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b MarkupSafe-2.1.1.tar.gz +md5 ca33f119bd0551ce15837f58bb180214 MarkupSafe-2.1.3.tar.gz +sha256 af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad MarkupSafe-2.1.3.tar.gz # Locally computed sha256 checksums sha256 489a8e1108509ed98a37bb983e11e0f7e1d31f0bd8f99a79c8448e7ff37d07ea LICENSE.rst diff --git a/package/python-markupsafe/python-markupsafe.mk b/package/python-markupsafe/python-markupsafe.mk index 49bfc0b840e..0dca997f87e 100644 --- a/package/python-markupsafe/python-markupsafe.mk +++ b/package/python-markupsafe/python-markupsafe.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MARKUPSAFE_VERSION = 2.1.1 +PYTHON_MARKUPSAFE_VERSION = 2.1.3 PYTHON_MARKUPSAFE_SOURCE = MarkupSafe-$(PYTHON_MARKUPSAFE_VERSION).tar.gz -PYTHON_MARKUPSAFE_SITE = https://files.pythonhosted.org/packages/1d/97/2288fe498044284f39ab8950703e88abbac2abbdf65524d576157af70556 +PYTHON_MARKUPSAFE_SITE = https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf PYTHON_MARKUPSAFE_SETUP_TYPE = setuptools PYTHON_MARKUPSAFE_LICENSE = BSD-3-Clause PYTHON_MARKUPSAFE_LICENSE_FILES = LICENSE.rst diff --git a/package/python-marshmallow-sqlalchemy/Config.in b/package/python-marshmallow-sqlalchemy/Config.in new file mode 100644 index 00000000000..f48d27edd62 --- /dev/null +++ b/package/python-marshmallow-sqlalchemy/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_MARSHMALLOW_SQLALCHEMY + bool "python-marshmallow-sqlalchemy" + select BR2_PACKAGE_PYTHON_MARSHMALLOW # runtime + select BR2_PACKAGE_PYTHON_PACKAGING # runtime + select BR2_PACKAGE_PYTHON_SQLALCHEMY # runtime + help + SQLAlchemy integration with the marshmallow + (de)serialization library. + + https://github.com/marshmallow-code/marshmallow-sqlalchemy diff --git a/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash new file mode 100644 index 00000000000..3194513dfc4 --- /dev/null +++ b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/marshmallow-sqlalchemy/json +md5 61e46e0ad5fabd0e9e11f895e1243bc3 marshmallow-sqlalchemy-0.30.0.tar.gz +sha256 29ad0a4fd1b4a1e52dcb07f9673d284a6b0795141916cc2169d4ee9a5d007347 marshmallow-sqlalchemy-0.30.0.tar.gz +# Locally computed sha256 checksums +sha256 5f6cd082e01dda8a7c157687e196be98d68224cf41c0cee1968eb5c08e0c076a LICENSE diff --git a/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk new file mode 100644 index 00000000000..a95e53022b0 --- /dev/null +++ b/package/python-marshmallow-sqlalchemy/python-marshmallow-sqlalchemy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-marshmallow-sqlalchemy +# +################################################################################ + +PYTHON_MARSHMALLOW_SQLALCHEMY_VERSION = 0.30.0 +PYTHON_MARSHMALLOW_SQLALCHEMY_SOURCE = marshmallow-sqlalchemy-$(PYTHON_MARSHMALLOW_SQLALCHEMY_VERSION).tar.gz +PYTHON_MARSHMALLOW_SQLALCHEMY_SITE = https://files.pythonhosted.org/packages/5d/3f/21aa202f3df31d2d20d4ae8dfe9c7f1ce0a1eecba7003915a986a7599778 +PYTHON_MARSHMALLOW_SQLALCHEMY_SETUP_TYPE = setuptools +PYTHON_MARSHMALLOW_SQLALCHEMY_LICENSE = MIT +PYTHON_MARSHMALLOW_SQLALCHEMY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-marshmallow/Config.in b/package/python-marshmallow/Config.in new file mode 100644 index 00000000000..cc1b42f4651 --- /dev/null +++ b/package/python-marshmallow/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_MARSHMALLOW + bool "python-marshmallow" + select BR2_PACKAGE_PYTHON_PACKAGING # runtime + help + A lightweight library for converting complex datatypes to + and from native Python datatypes. + + https://github.com/marshmallow-code/marshmallow diff --git a/package/python-marshmallow/python-marshmallow.hash b/package/python-marshmallow/python-marshmallow.hash new file mode 100644 index 00000000000..cb60216a263 --- /dev/null +++ b/package/python-marshmallow/python-marshmallow.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/marshmallow/json +md5 c6093f980a650b1088bbc5610055a05c marshmallow-3.20.1.tar.gz +sha256 5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889 marshmallow-3.20.1.tar.gz +# Locally computed sha256 checksums +sha256 759dc79c383ad79340c6e41f712e80407fe0d2cb3cbaad1ed98aa9c3e28a602c LICENSE +sha256 f982e6fd97ba00973e94605b972ff04894b22c4fa937b868828b32ae8f0a7c2e docs/license.rst diff --git a/package/python-marshmallow/python-marshmallow.mk b/package/python-marshmallow/python-marshmallow.mk new file mode 100644 index 00000000000..afd4068f446 --- /dev/null +++ b/package/python-marshmallow/python-marshmallow.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-marshmallow +# +################################################################################ + +PYTHON_MARSHMALLOW_VERSION = 3.20.1 +PYTHON_MARSHMALLOW_SOURCE = marshmallow-$(PYTHON_MARSHMALLOW_VERSION).tar.gz +PYTHON_MARSHMALLOW_SITE = https://files.pythonhosted.org/packages/e4/e0/3e49c0f91f3e8954806c1076f4eae2c95a9d3ed2546f267c683b877d327b +PYTHON_MARSHMALLOW_SETUP_TYPE = setuptools +PYTHON_MARSHMALLOW_LICENSE = MIT +PYTHON_MARSHMALLOW_LICENSE_FILES = LICENSE +PYTHON_MARSHMALLOW_CPE_ID_VENDOR = marshmallow_project +PYTHON_MARSHMALLOW_CPE_ID_PRODUCT = marshmallow + +$(eval $(python-package)) diff --git a/package/python-matplotlib-inline/Config.in b/package/python-matplotlib-inline/Config.in new file mode 100644 index 00000000000..2ea9f4d966e --- /dev/null +++ b/package/python-matplotlib-inline/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MATPLOTLIB_INLINE + bool "python-matplotlib-inline" + select BR2_PACKAGE_PYTHON_TRAITLETS # runtime + help + Inline Matplotlib backend for Jupyter. + + https://github.com/ipython/matplotlib-inline diff --git a/package/python-matplotlib-inline/python-matplotlib-inline.hash b/package/python-matplotlib-inline/python-matplotlib-inline.hash new file mode 100644 index 00000000000..7382fc34060 --- /dev/null +++ b/package/python-matplotlib-inline/python-matplotlib-inline.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/matplotlib-inline/json +md5 aded9a57e2f526f76b3a4851d5528d4f matplotlib-inline-0.1.6.tar.gz +sha256 f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304 matplotlib-inline-0.1.6.tar.gz +# Locally computed sha256 checksums +sha256 8521b036c6448e0e0aa7213d4713b6fdee0f4c64c9f320450f77346bf5c0e8e4 LICENSE diff --git a/package/python-matplotlib-inline/python-matplotlib-inline.mk b/package/python-matplotlib-inline/python-matplotlib-inline.mk new file mode 100644 index 00000000000..c9c22605ca9 --- /dev/null +++ b/package/python-matplotlib-inline/python-matplotlib-inline.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-matplotlib-inline +# +################################################################################ + +PYTHON_MATPLOTLIB_INLINE_VERSION = 0.1.6 +PYTHON_MATPLOTLIB_INLINE_SOURCE = matplotlib-inline-$(PYTHON_MATPLOTLIB_INLINE_VERSION).tar.gz +PYTHON_MATPLOTLIB_INLINE_SITE = https://files.pythonhosted.org/packages/d9/50/3af8c0362f26108e54d58c7f38784a3bdae6b9a450bab48ee8482d737f44 +PYTHON_MATPLOTLIB_INLINE_SETUP_TYPE = setuptools +PYTHON_MATPLOTLIB_INLINE_LICENSE = BSD-3-Clause +PYTHON_MATPLOTLIB_INLINE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-matplotlib/Config.in b/package/python-matplotlib/Config.in index b9367776627..b3d84e2b434 100644 --- a/package/python-matplotlib/Config.in +++ b/package/python-matplotlib/Config.in @@ -3,14 +3,19 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy + depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy select BR2_PACKAGE_FREETYPE # runtime select BR2_PACKAGE_LIBPNG # runtime select BR2_PACKAGE_PYTHON_CERTIFI # runtime + select BR2_PACKAGE_PYTHON_CONTOURPY # runtime select BR2_PACKAGE_PYTHON_CYCLER + select BR2_PACKAGE_PYTHON_PYBIND select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_DATEUTIL # runtime select BR2_PACKAGE_PYTHON_KIWISOLVER # runtime select BR2_PACKAGE_PYTHON_NUMPY # runtime + select BR2_PACKAGE_PYTHON_PILLOW # runtime select BR2_PACKAGE_PYTHON_PYPARSING # runtime select BR2_PACKAGE_PYTHON3_ZLIB # runtime select BR2_PACKAGE_QHULL @@ -35,6 +40,7 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB_QT endif -comment "python-matplotlib needs a glibc or musl toolchain w/ C++" +comment "python-matplotlib needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9" depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_9 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 diff --git a/package/python-matplotlib/python-matplotlib.hash b/package/python-matplotlib/python-matplotlib.hash index 0d7117811c5..c2fb907e2c8 100644 --- a/package/python-matplotlib/python-matplotlib.hash +++ b/package/python-matplotlib/python-matplotlib.hash @@ -1,4 +1,5 @@ -# sha256 from https://pypi.org/project/matplotlib/#files -sha256 fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318 matplotlib-3.4.3.tar.gz +# md5, sha256 from https://pypi.org/pypi/matplotlib/json +md5 72896b8c240903ebddc47be6451d813b matplotlib-3.8.2.tar.gz +sha256 01a978b871b881ee76017152f1f1a0cbf6bd5f7b8ff8c96df0df1bd57d8755a1 matplotlib-3.8.2.tar.gz # Locally computed sha256 checksums sha256 5a1a81ea301728c8bba2933da832c0cd62229daf20893a024ab3d53244468dbc LICENSE/LICENSE diff --git a/package/python-matplotlib/python-matplotlib.mk b/package/python-matplotlib/python-matplotlib.mk index 650aac9bd94..4fd2b5f432a 100644 --- a/package/python-matplotlib/python-matplotlib.mk +++ b/package/python-matplotlib/python-matplotlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MATPLOTLIB_VERSION = 3.4.3 +PYTHON_MATPLOTLIB_VERSION = 3.8.2 PYTHON_MATPLOTLIB_SOURCE = matplotlib-$(PYTHON_MATPLOTLIB_VERSION).tar.gz -PYTHON_MATPLOTLIB_SITE = https://files.pythonhosted.org/packages/21/37/197e68df384ff694f78d687a49ad39f96c67b8d75718bc61503e1676b617 +PYTHON_MATPLOTLIB_SITE = https://files.pythonhosted.org/packages/fb/ab/38a0e94cb01dacb50f06957c2bed1c83b8f9dac6618988a37b2487862944 PYTHON_MATPLOTLIB_LICENSE = Python-2.0 PYTHON_MATPLOTLIB_LICENSE_FILES = LICENSE/LICENSE PYTHON_MATPLOTLIB_DEPENDENCIES = \ @@ -14,8 +14,10 @@ PYTHON_MATPLOTLIB_DEPENDENCIES = \ host-pkgconf \ host-python-certifi \ host-python-numpy \ + host-python-setuptools-scm \ libpng \ python-cycler \ + python-pybind \ qhull PYTHON_MATPLOTLIB_SETUP_TYPE = setuptools @@ -24,7 +26,7 @@ PYTHON_MATPLOTLIB_DEPENDENCIES += python-pyqt5 endif define PYTHON_MATPLOTLIB_COPY_SETUP_CFG - cp $(PYTHON_MATPLOTLIB_PKGDIR)/setup.cfg $(@D)/setup.cfg + cp $(PYTHON_MATPLOTLIB_PKGDIR)/setup.cfg $(@D)/mplsetup.cfg endef PYTHON_MATPLOTLIB_PRE_CONFIGURE_HOOKS += PYTHON_MATPLOTLIB_COPY_SETUP_CFG diff --git a/package/python-maturin/python-maturin.hash b/package/python-maturin/python-maturin.hash index d6421197867..be6167afeab 100644 --- a/package/python-maturin/python-maturin.hash +++ b/package/python-maturin/python-maturin.hash @@ -1,5 +1,5 @@ # Locally calculated after vendoring -sha256 dd1ee5cd1bb76c434319f305cd30873be2f8221e310168fc376b53b7d0e166ff maturin-0.14.4.tar.gz +sha256 3757ed29fbaa87a7dde95dade795ea80f099a867343e920ccc471f75d141a6fa maturin-1.4.0.tar.gz # Locally computed sha256 checksums sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 license-apache sha256 ea7882c559733766ad08343bde1d1ec80a4967c03a738fb8e0058ef6289f7b7c license-mit diff --git a/package/python-maturin/python-maturin.mk b/package/python-maturin/python-maturin.mk index ea055ffcf6f..91507468a26 100644 --- a/package/python-maturin/python-maturin.mk +++ b/package/python-maturin/python-maturin.mk @@ -4,21 +4,12 @@ # ################################################################################ -PYTHON_MATURIN_VERSION = 0.14.4 +PYTHON_MATURIN_VERSION = 1.4.0 PYTHON_MATURIN_SOURCE = maturin-$(PYTHON_MATURIN_VERSION).tar.gz -PYTHON_MATURIN_SITE = https://files.pythonhosted.org/packages/7c/51/36749c1a0881a4292e4f334bd9ddb0865e0991a83070834d1aaa1af7443f -PYTHON_MATURIN_SETUP_TYPE = setuptools +PYTHON_MATURIN_SITE = https://files.pythonhosted.org/packages/20/90/43a3aa35f037e91582ec7516a92084a71f84e89e39ef580813bed072b154 +PYTHON_MATURIN_SETUP_TYPE = setuptools-rust PYTHON_MATURIN_LICENSE = Apache-2.0 or MIT PYTHON_MATURIN_LICENSE_FILES = license-apache license-mit -HOST_PYTHON_MATURIN_DEPENDENCIES = \ - host-python-setuptools-rust \ - host-rustc -HOST_PYTHON_MATURIN_ENV = \ - $(HOST_PKG_CARGO_ENV) \ - PYO3_CROSS_LIB_DIR="$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)" -# We need to vendor the Cargo crates at download time -PYTHON_MATURIN_DOWNLOAD_POST_PROCESS = cargo -PYTHON_MATURIN_DOWNLOAD_DEPENDENCIES = host-rustc -HOST_PYTHON_MATURIN_DL_ENV = $(HOST_PKG_CARGO_ENV) +HOST_PYTHON_MATURIN_DEPENDENCIES = host-python-tomli $(eval $(host-python-package)) diff --git a/package/python-mbstrdecoder/python-mbstrdecoder.hash b/package/python-mbstrdecoder/python-mbstrdecoder.hash index dd2f412bee4..2943ef293f0 100644 --- a/package/python-mbstrdecoder/python-mbstrdecoder.hash +++ b/package/python-mbstrdecoder/python-mbstrdecoder.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mbstrdecoder/json -md5 62efa113a3cd2d40942359d6699338f7 mbstrdecoder-1.1.1.tar.gz -sha256 0a99413b92bbaddda89d376f496d710dc7131417e98414a756ebcd41374e068d mbstrdecoder-1.1.1.tar.gz +md5 33522a4bd9217dae46ebd0761e1a1e7c mbstrdecoder-1.1.3.tar.gz +sha256 dcfd2c759322eb44fe193a9e0b1b86c5b87f3ec5ea8e1bb43b3e9ae423f1e8fe mbstrdecoder-1.1.3.tar.gz # Locally computed sha256 checksums sha256 7588265082eed5e9f4afd5090c57e610b740ec547b16aaaab739ba07c5eefb15 LICENSE diff --git a/package/python-mbstrdecoder/python-mbstrdecoder.mk b/package/python-mbstrdecoder/python-mbstrdecoder.mk index f875e4d71d7..566420a60e5 100644 --- a/package/python-mbstrdecoder/python-mbstrdecoder.mk +++ b/package/python-mbstrdecoder/python-mbstrdecoder.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MBSTRDECODER_VERSION = 1.1.1 +PYTHON_MBSTRDECODER_VERSION = 1.1.3 PYTHON_MBSTRDECODER_SOURCE = mbstrdecoder-$(PYTHON_MBSTRDECODER_VERSION).tar.gz -PYTHON_MBSTRDECODER_SITE = https://files.pythonhosted.org/packages/ba/ac/ba46bb6eb6165541ce25ff230469efe1c04043cf173f856dcc91876c38de +PYTHON_MBSTRDECODER_SITE = https://files.pythonhosted.org/packages/70/8f/dd5d4efbe3f90d2d38c948f0ca5c698e2d6cedc58ead2f5b90272cbcb4fa PYTHON_MBSTRDECODER_SETUP_TYPE = setuptools PYTHON_MBSTRDECODER_LICENSE = MIT PYTHON_MBSTRDECODER_LICENSE_FILES = LICENSE diff --git a/package/python-meson-python/python-meson-python.hash b/package/python-meson-python/python-meson-python.hash new file mode 100644 index 00000000000..537353bad20 --- /dev/null +++ b/package/python-meson-python/python-meson-python.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/meson-python/json +md5 e91eb9946d7bb8be06e434c5a2dadd05 meson_python-0.15.0.tar.gz +sha256 fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f meson_python-0.15.0.tar.gz +# Locally computed sha256 checksums +sha256 8f82ea9ef9a55b47f4170536d02e48b5bc33fc5135e5b4a1b5f8d6404833ec9b LICENSE diff --git a/package/python-meson-python/python-meson-python.mk b/package/python-meson-python/python-meson-python.mk new file mode 100644 index 00000000000..64d5de4ba91 --- /dev/null +++ b/package/python-meson-python/python-meson-python.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# python-meson-python +# +################################################################################ + +PYTHON_MESON_PYTHON_VERSION = 0.15.0 +PYTHON_MESON_PYTHON_SOURCE = meson_python-$(PYTHON_MESON_PYTHON_VERSION).tar.gz +PYTHON_MESON_PYTHON_SITE = https://files.pythonhosted.org/packages/a2/3b/276b596824a0820987fdcc7721618453b4f9a8305fe20b611a00ac3f948e +PYTHON_MESON_PYTHON_SETUP_TYPE = pep517 +PYTHON_MESON_PYTHON_LICENSE = MIT +PYTHON_MESON_PYTHON_LICENSE_FILES = LICENSE +HOST_PYTHON_MESON_PYTHON_DEPENDENCIES = \ + host-meson \ + host-patchelf \ + host-python-pyproject-metadata + +$(eval $(host-python-package)) diff --git a/package/python-midiutil/Config.in b/package/python-midiutil/Config.in new file mode 100644 index 00000000000..c496e60421e --- /dev/null +++ b/package/python-midiutil/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_MIDIUTIL + bool "python-midiutil" + help + A pure python library for creating multi-track MIDI files. + + https://github.com/MarkCWirt/MIDIUtil diff --git a/package/python-midiutil/python-midiutil.hash b/package/python-midiutil/python-midiutil.hash new file mode 100644 index 00000000000..88340a23b88 --- /dev/null +++ b/package/python-midiutil/python-midiutil.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/midiutil/json +md5 948c16c74e7355268158f227b710edce MIDIUtil-1.2.1.tar.gz +sha256 79fa983bd1efc60785f68a8fe78fa8f45b8d7ec5898bf7cb7f3f7f3336d6a90a MIDIUtil-1.2.1.tar.gz +# Locally computed sha256 checksums +sha256 8d5bdaebe8445a4c2dc812c205eb5455ba123aa1af8503cc88712115ab7c97ef License.txt diff --git a/package/python-midiutil/python-midiutil.mk b/package/python-midiutil/python-midiutil.mk new file mode 100644 index 00000000000..cb7e8f6ccb9 --- /dev/null +++ b/package/python-midiutil/python-midiutil.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-midiutil +# +################################################################################ + +PYTHON_MIDIUTIL_VERSION = 1.2.1 +PYTHON_MIDIUTIL_SOURCE = MIDIUtil-$(PYTHON_MIDIUTIL_VERSION).tar.gz +PYTHON_MIDIUTIL_SITE = https://files.pythonhosted.org/packages/f5/44/fde6772d8bfaea64fcf5eb948124d0a5fdf5f848b14ac22a23ced53e562d +PYTHON_MIDIUTIL_SETUP_TYPE = setuptools +PYTHON_MIDIUTIL_LICENSE = MIT +PYTHON_MIDIUTIL_LICENSE_FILES = License.txt + +$(eval $(python-package)) diff --git a/package/python-minimalmodbus/python-minimalmodbus.hash b/package/python-minimalmodbus/python-minimalmodbus.hash index b29e83773bc..635090fae78 100644 --- a/package/python-minimalmodbus/python-minimalmodbus.hash +++ b/package/python-minimalmodbus/python-minimalmodbus.hash @@ -1,4 +1,4 @@ # sha256 from https://pypi.org/project/minimalmodbus -sha256 cf873a2530be3f4b86467c3e4d47b5f69fd345d47451baca4adbf59e2ac36d00 minimalmodbus-2.0.1.tar.gz +sha256 c3f5a56e107d537e4bb420f7e735841ab2939c8ca6fb528f5fe4124571315b64 minimalmodbus-2.1.1.tar.gz # Hash for license file sha256 abe787d472ae2069e935c84eb13fd770518dfb08b92d5f190f3cd7ff6d1f6f32 LICENSE diff --git a/package/python-minimalmodbus/python-minimalmodbus.mk b/package/python-minimalmodbus/python-minimalmodbus.mk index b463cf9ffe0..cb8a0d8cc9d 100644 --- a/package/python-minimalmodbus/python-minimalmodbus.mk +++ b/package/python-minimalmodbus/python-minimalmodbus.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_MINIMALMODBUS_VERSION = 2.0.1 +PYTHON_MINIMALMODBUS_VERSION = 2.1.1 PYTHON_MINIMALMODBUS_SOURCE = minimalmodbus-$(PYTHON_MINIMALMODBUS_VERSION).tar.gz -PYTHON_MINIMALMODBUS_SITE = https://files.pythonhosted.org/packages/78/99/8cd22b4465e697bae2b02fd06aaccd4c5cdfbb18945d728db99f23d71df9 -PYTHON_MINIMALMODBUS_SETUP_TYPE = setuptools +PYTHON_MINIMALMODBUS_SITE = https://files.pythonhosted.org/packages/37/fc/8a58f7bcdece751f16a4a9aac780acd1288aa8ac6adbffdd764c88fb71c6 +PYTHON_MINIMALMODBUS_DEPENDENCIES = host-python-setuptools +PYTHON_MINIMALMODBUS_SETUP_TYPE = pep517 PYTHON_MINIMALMODBUS_LICENSE = Apache-2.0 PYTHON_MINIMALMODBUS_LICENSE_FILES = LICENSE diff --git a/package/python-mistune/python-mistune.hash b/package/python-mistune/python-mistune.hash index 161f2ed6ff3..7dee76cfa20 100644 --- a/package/python-mistune/python-mistune.hash +++ b/package/python-mistune/python-mistune.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mistune/json -md5 a4437edb22cf6519a7c61730fecb1a3f mistune-2.0.4.tar.gz -sha256 9ee0a66053e2267aba772c71e06891fa8f1af6d4b01d5e84e267b4570d4d9808 mistune-2.0.4.tar.gz +md5 8c02b3476d0343e0a4c75a2321729f01 mistune-3.0.2.tar.gz +sha256 fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8 mistune-3.0.2.tar.gz # Locally computed sha256 checksums sha256 539013fd8e19f744f8bf0e27a532bbff54cd689ecef7a800f56ae5dc824be870 LICENSE diff --git a/package/python-mistune/python-mistune.mk b/package/python-mistune/python-mistune.mk index 1e4bb71903e..ac900c82ba0 100644 --- a/package/python-mistune/python-mistune.mk +++ b/package/python-mistune/python-mistune.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MISTUNE_VERSION = 2.0.4 +PYTHON_MISTUNE_VERSION = 3.0.2 PYTHON_MISTUNE_SOURCE = mistune-$(PYTHON_MISTUNE_VERSION).tar.gz -PYTHON_MISTUNE_SITE = https://files.pythonhosted.org/packages/cd/9b/0f98334812f548a5ee4399b76e33752a74fc7bb976f5efb34d962f03d585 +PYTHON_MISTUNE_SITE = https://files.pythonhosted.org/packages/ef/c8/f0173fe3bf85fd891aee2e7bcd8207dfe26c2c683d727c5a6cc3aec7b628 PYTHON_MISTUNE_LICENSE = BSD-3-Clause PYTHON_MISTUNE_LICENSE_FILES = LICENSE PYTHON_MISTUNE_SETUP_TYPE = setuptools diff --git a/package/python-ml-dtypes/Config.in b/package/python-ml-dtypes/Config.in new file mode 100644 index 00000000000..7dce2fea42a --- /dev/null +++ b/package/python-ml-dtypes/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_PYTHON_ML_DTYPES + bool "python-ml-dtypes" + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP # python-numpy + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy + depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy + select BR2_PACKAGE_PYTHON_NUMPY + help + ml_dtypes is a stand-alone implementation of several NumPy + dtype extensions used in machine learning libraries. + + https://github.com/jax-ml/ml_dtypes + +comment "python-ml-dtypes needs a glibc or musl toolchain w/ C++, gcc >= 9" + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/python-ml-dtypes/python-ml-dtypes.hash b/package/python-ml-dtypes/python-ml-dtypes.hash new file mode 100644 index 00000000000..53bfacb5283 --- /dev/null +++ b/package/python-ml-dtypes/python-ml-dtypes.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/ml_dtypes/json +md5 438c04dc0d941ec1b3b71667225c74c8 ml_dtypes-0.3.2.tar.gz +sha256 533059bc5f1764fac071ef54598db358c167c51a718f68f5bb55e3dee79d2967 ml_dtypes-0.3.2.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-ml-dtypes/python-ml-dtypes.mk b/package/python-ml-dtypes/python-ml-dtypes.mk new file mode 100644 index 00000000000..676137ecf14 --- /dev/null +++ b/package/python-ml-dtypes/python-ml-dtypes.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# python-ml-dtypes +# +################################################################################ + +PYTHON_ML_DTYPES_VERSION = 0.3.2 +PYTHON_ML_DTYPES_SOURCE = ml_dtypes-$(PYTHON_ML_DTYPES_VERSION).tar.gz +PYTHON_ML_DTYPES_SITE = https://files.pythonhosted.org/packages/39/7d/8d85fcba868758b3a546e6914e727abd8f29ea6918079f816975c9eecd63 +PYTHON_ML_DTYPES_LICENSE = Apache-2.0 +PYTHON_ML_DTYPES_LICENSE_FILES = LICENSE +PYTHON_ML_DTYPES_SETUP_TYPE = setuptools + +PYTHON_ML_DTYPES_DEPENDENCIES = \ + host-python-numpy \ + python-numpy + +$(eval $(python-package)) diff --git a/package/python-modbus-tk/python-modbus-tk.hash b/package/python-modbus-tk/python-modbus-tk.hash index c486e497150..c7f4ac2dd41 100644 --- a/package/python-modbus-tk/python-modbus-tk.hash +++ b/package/python-modbus-tk/python-modbus-tk.hash @@ -1,5 +1,6 @@ -# sha256 from https://pypi.org/pypi/modbus-tk/json -sha256 893514bbd8c92118d20a19979e0239e7cb2a63f8f1795a0271e57def09d11770 modbus_tk-1.1.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/modbus-tk/json +md5 2e66c361d3e4591a19be1259ef50fdf7 modbus_tk-1.1.3.tar.gz +sha256 690fa7bb86ea978992465d2d61c8b5acc639ce0e8b833a0aa96d4dd172c5644a modbus_tk-1.1.3.tar.gz # Locally computed sha256 checksums sha256 3b6a7f9c478ac1982e86cdadb45eb4788241b95839500eb26839d5053b74a24a license.txt sha256 aa7ca42152a13db6a27b31944f99851efc3b9ee813912ff21d7d6ceadca62e6f copying.txt diff --git a/package/python-modbus-tk/python-modbus-tk.mk b/package/python-modbus-tk/python-modbus-tk.mk index 30056bb2073..d8552e57a62 100644 --- a/package/python-modbus-tk/python-modbus-tk.mk +++ b/package/python-modbus-tk/python-modbus-tk.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MODBUS_TK_VERSION = 1.1.2 +PYTHON_MODBUS_TK_VERSION = 1.1.3 PYTHON_MODBUS_TK_SOURCE = modbus_tk-$(PYTHON_MODBUS_TK_VERSION).tar.gz -PYTHON_MODBUS_TK_SITE = https://files.pythonhosted.org/packages/ce/e9/30d86eb912bf868b8c97698b5747f10cf72dc26c674fd030249bc3275484 +PYTHON_MODBUS_TK_SITE = https://files.pythonhosted.org/packages/8d/9f/5963e30dba160dbc646b76c59ca8136709c7fe9002bbaaa3cf1e1bb0404b PYTHON_MODBUS_TK_SETUP_TYPE = setuptools PYTHON_MODBUS_TK_LICENSE = LGPL-2.1+ PYTHON_MODBUS_TK_LICENSE_FILES = license.txt copying.txt diff --git a/package/python-more-itertools/python-more-itertools.hash b/package/python-more-itertools/python-more-itertools.hash index c12d3f5623c..4d119cb2038 100644 --- a/package/python-more-itertools/python-more-itertools.hash +++ b/package/python-more-itertools/python-more-itertools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/more-itertools/json -md5 58f6fe36c3c94bbc569130df546dcfc9 more-itertools-9.0.0.tar.gz -sha256 5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab more-itertools-9.0.0.tar.gz +md5 1737bb4d9d09501f75f498538efe3cf4 more-itertools-10.2.0.tar.gz +sha256 8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1 more-itertools-10.2.0.tar.gz # Locally computed sha256 checksums sha256 09f1c8c9e941af3e584d59641ea9b87d83c0cb0fd007eb5ef391a7e2643c1a46 LICENSE diff --git a/package/python-more-itertools/python-more-itertools.mk b/package/python-more-itertools/python-more-itertools.mk index 734d87e057f..98b499c3c0a 100644 --- a/package/python-more-itertools/python-more-itertools.mk +++ b/package/python-more-itertools/python-more-itertools.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MORE_ITERTOOLS_VERSION = 9.0.0 +PYTHON_MORE_ITERTOOLS_VERSION = 10.2.0 PYTHON_MORE_ITERTOOLS_SOURCE = more-itertools-$(PYTHON_MORE_ITERTOOLS_VERSION).tar.gz -PYTHON_MORE_ITERTOOLS_SITE = https://files.pythonhosted.org/packages/13/b3/397aa9668da8b1f0c307bc474608653d46122ae0563d1d32f60e24fa0cbd +PYTHON_MORE_ITERTOOLS_SITE = https://files.pythonhosted.org/packages/df/ad/7905a7fd46ffb61d976133a4f47799388209e73cbc8c1253593335da88b4 PYTHON_MORE_ITERTOOLS_SETUP_TYPE = flit PYTHON_MORE_ITERTOOLS_LICENSE = MIT PYTHON_MORE_ITERTOOLS_LICENSE_FILES = LICENSE diff --git a/package/python-mpd2/python-mpd2.hash b/package/python-mpd2/python-mpd2.hash index 88dcb283775..0e5d9206a13 100644 --- a/package/python-mpd2/python-mpd2.hash +++ b/package/python-mpd2/python-mpd2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-mpd2/json -md5 594dff3e53c8eb6f583ba642bc2c1a27 python-mpd2-3.0.5.tar.gz -sha256 6f1bffd93b9a32fc018a9bbf3487505b52e0d757ec34066905c60a912d492384 python-mpd2-3.0.5.tar.gz +md5 b218d6f233c23da0bc82c372308bbf8d python-mpd2-3.1.1.tar.gz +sha256 4baec3584cc43ed9948d5559079fafc2679b06b2ade273e909b3582654b2b3f5 python-mpd2-3.1.1.tar.gz # Locally computed sha256 checksums sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt diff --git a/package/python-mpd2/python-mpd2.mk b/package/python-mpd2/python-mpd2.mk index bfe382b59e0..2d2784e89dc 100644 --- a/package/python-mpd2/python-mpd2.mk +++ b/package/python-mpd2/python-mpd2.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_MPD2_VERSION = 3.0.5 -PYTHON_MPD2_SITE = https://files.pythonhosted.org/packages/ed/c2/263621bdbbc37fa1a55fa1a7f66fd601bf08b3f87481e318a3509fb6c4bf +PYTHON_MPD2_VERSION = 3.1.1 +PYTHON_MPD2_SITE = https://files.pythonhosted.org/packages/53/be/e77206eb35eb37ccd3506fba237e1431431d04c482707730ce2a6802e95c PYTHON_MPD2_SETUP_TYPE = setuptools PYTHON_MPD2_LICENSE = LGPL-3.0+ PYTHON_MPD2_LICENSE_FILES = LICENSE.txt diff --git a/package/python-msgfy/python-msgfy.hash b/package/python-msgfy/python-msgfy.hash index 9f5bfe48044..2517afbb489 100644 --- a/package/python-msgfy/python-msgfy.hash +++ b/package/python-msgfy/python-msgfy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/msgfy/json -md5 1727a08a0cf7fb704045168c71993280 msgfy-0.2.0.tar.gz -sha256 37c907cccb19afe73ce44111a21b410b685be92c9c44496bc4381fd93c5ad7b6 msgfy-0.2.0.tar.gz +md5 ef3c61804003f4356119f7d00c5932f9 msgfy-0.2.1.tar.gz +sha256 161024732591444cc05ca3982a010005932005ec861467dead49349447a91671 msgfy-0.2.1.tar.gz # Locally computed sha256 checksums sha256 fcfe96f8fb1bf3478a51c828e7f7afee01500ce1c2d4345d052edb858be05227 LICENSE diff --git a/package/python-msgfy/python-msgfy.mk b/package/python-msgfy/python-msgfy.mk index 4100a912b2c..8565c2210e9 100644 --- a/package/python-msgfy/python-msgfy.mk +++ b/package/python-msgfy/python-msgfy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MSGFY_VERSION = 0.2.0 +PYTHON_MSGFY_VERSION = 0.2.1 PYTHON_MSGFY_SOURCE = msgfy-$(PYTHON_MSGFY_VERSION).tar.gz -PYTHON_MSGFY_SITE = https://files.pythonhosted.org/packages/c6/2a/663ef86625f34ee4165da1eb824442cfb1f676e892946d7fe39a8c775682 +PYTHON_MSGFY_SITE = https://files.pythonhosted.org/packages/51/0e/b78151a63e8c5cab745e90ed7b4a741dba5439a8538636bf6a5da72bad23 PYTHON_MSGFY_SETUP_TYPE = setuptools PYTHON_MSGFY_LICENSE = MIT PYTHON_MSGFY_LICENSE_FILES = LICENSE diff --git a/package/python-msgpack/python-msgpack.hash b/package/python-msgpack/python-msgpack.hash index 4d0f510883d..50462db8db9 100644 --- a/package/python-msgpack/python-msgpack.hash +++ b/package/python-msgpack/python-msgpack.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/msgpack/json -md5 1822cdb939e7531f7ad0f7f09b434f22 msgpack-1.0.4.tar.gz -sha256 f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f msgpack-1.0.4.tar.gz +md5 a5a4172b2e89812ec28267dd8942b77d msgpack-1.0.7.tar.gz +sha256 572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87 msgpack-1.0.7.tar.gz # Locally computed sha256 checksums sha256 492dedba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 COPYING diff --git a/package/python-msgpack/python-msgpack.mk b/package/python-msgpack/python-msgpack.mk index d9304e4def6..3ee7c54ce11 100644 --- a/package/python-msgpack/python-msgpack.mk +++ b/package/python-msgpack/python-msgpack.mk @@ -4,11 +4,18 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 1.0.4 +PYTHON_MSGPACK_VERSION = 1.0.7 PYTHON_MSGPACK_SOURCE = msgpack-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/22/44/0829b19ac243211d1d2bd759999aa92196c546518b0be91de9cacc98122a +PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/c2/d5/5662032db1571110b5b51647aed4b56dfbd01bfae789fa566a2be1f385d1 PYTHON_MSGPACK_LICENSE = Apache-2.0 PYTHON_MSGPACK_LICENSE_FILES = COPYING PYTHON_MSGPACK_SETUP_TYPE = setuptools +# When set in the environment, whatever the value, MSGPACK_PUREPYTHON drives +# using the pure python implementation rather than rely on the C++ native code. +# So we can't force it to use C++; we can only force it to use pure python. +ifeq ($(BR2_INSTALL_LIBSTDCPP),) +PYTHON_MSGPACK_ENV = MSGPACK_PUREPYTHON=1 +endif + $(eval $(python-package)) diff --git a/package/python-multidict/python-multidict.hash b/package/python-multidict/python-multidict.hash index eae60af37c6..568c320c538 100644 --- a/package/python-multidict/python-multidict.hash +++ b/package/python-multidict/python-multidict.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/multidict/json -md5 b5875cf0a0578956dcfffc123d8344ca multidict-6.0.3.tar.gz -sha256 2523a29006c034687eccd3ee70093a697129a3ffe8732535d3b2df6a4ecc279d multidict-6.0.3.tar.gz +md5 ec06a613d871dadfb66f2be3a1f2f3fa multidict-6.0.4.tar.gz +sha256 3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49 multidict-6.0.4.tar.gz # Locally computed sha256 checksums sha256 06a240ea10ba868fda2de58df859886961df873aa74bbab1e0f13eaf99f92b7b LICENSE diff --git a/package/python-multidict/python-multidict.mk b/package/python-multidict/python-multidict.mk index bfffb84709a..cd35dcb4cb5 100644 --- a/package/python-multidict/python-multidict.mk +++ b/package/python-multidict/python-multidict.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MULTIDICT_VERSION = 6.0.3 +PYTHON_MULTIDICT_VERSION = 6.0.4 PYTHON_MULTIDICT_SOURCE = multidict-$(PYTHON_MULTIDICT_VERSION).tar.gz -PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/b5/5b/1dd3b9cf73c474ea1d0f0b1f8b7b712b0f13817493fd93101256ec856b59 +PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/4a/15/bd620f7a6eb9aa5112c4ef93e7031bcd071e0611763d8e17706ef8ba65e0 PYTHON_MULTIDICT_SETUP_TYPE = setuptools PYTHON_MULTIDICT_LICENSE = Apache-2.0 PYTHON_MULTIDICT_LICENSE_FILES = LICENSE diff --git a/package/python-multipart/Config.in b/package/python-multipart/Config.in new file mode 100644 index 00000000000..07002e1018c --- /dev/null +++ b/package/python-multipart/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_MULTIPART + bool "python-multipart" + help + A streaming multipart parser for Python. + + https://github.com/andrew-d/python-multipart diff --git a/package/python-multipart/python-multipart.hash b/package/python-multipart/python-multipart.hash new file mode 100644 index 00000000000..9b2b6d3d824 --- /dev/null +++ b/package/python-multipart/python-multipart.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/python-multipart/json +md5 a61a045b7f5e64d44dc53c73522ac4d2 python_multipart-0.0.6.tar.gz +sha256 e9925a80bb668529f1b67c7fdb0a5dacdd7cbfc6fb0bff3ea443fe22bdd62132 python_multipart-0.0.6.tar.gz +# Locally computed sha256 checksums +sha256 a8e833176cd617daf00b9d6d39fa15ca8edebc6d1643079cd2f4893c0c289be2 LICENSE.txt diff --git a/package/python-multipart/python-multipart.mk b/package/python-multipart/python-multipart.mk new file mode 100644 index 00000000000..7ffb05fa927 --- /dev/null +++ b/package/python-multipart/python-multipart.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-multipart +# +################################################################################ + +PYTHON_MULTIPART_VERSION = 0.0.6 +PYTHON_MULTIPART_SOURCE = python_multipart-$(PYTHON_MULTIPART_VERSION).tar.gz +PYTHON_MULTIPART_SITE = https://files.pythonhosted.org/packages/2d/23/abcfad10c3348cb6358400f8adbc21b523bbc6c954494fd0974428068672 +PYTHON_MULTIPART_SETUP_TYPE = pep517 +PYTHON_MULTIPART_LICENSE = Apache-2.0 +PYTHON_MULTIPART_LICENSE_FILES = LICENSE.txt +PYTHON_MULTIPART_DEPENDENCIES = host-python-hatchling + +$(eval $(python-package)) diff --git a/package/python-munch/Config.in b/package/python-munch/Config.in index 9db2623674a..ceb9fbaf325 100644 --- a/package/python-munch/Config.in +++ b/package/python-munch/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_MUNCH bool "python-munch" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime help Munch is a dictionary that supports attribute-style access, a la JavaScript. diff --git a/package/python-munch/python-munch.hash b/package/python-munch/python-munch.hash index 7e322828330..a895bc91855 100644 --- a/package/python-munch/python-munch.hash +++ b/package/python-munch/python-munch.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/munch/json -md5 ed84c3718416c8d4d03d0a6ef46e8e0c munch-2.5.0.tar.gz -sha256 2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2 munch-2.5.0.tar.gz +md5 4e70cf760e3b81dcaa6050803c1dbd72 munch-4.0.0.tar.gz +sha256 542cb151461263216a4e37c3fd9afc425feeaf38aaa3025cd2a981fadb422235 munch-4.0.0.tar.gz # Locally computed sha256 checksums sha256 57ca95c92059c8380625192462979bd32994aae3fcdf902ff6eb1e467eeb0469 LICENSE.txt diff --git a/package/python-munch/python-munch.mk b/package/python-munch/python-munch.mk index 85f6803f076..c2941aa0b50 100644 --- a/package/python-munch/python-munch.mk +++ b/package/python-munch/python-munch.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MUNCH_VERSION = 2.5.0 +PYTHON_MUNCH_VERSION = 4.0.0 PYTHON_MUNCH_SOURCE = munch-$(PYTHON_MUNCH_VERSION).tar.gz -PYTHON_MUNCH_SITE = https://files.pythonhosted.org/packages/43/a1/ec48010724eedfe2add68eb7592a0d238590e14e08b95a4ffb3c7b2f0808 +PYTHON_MUNCH_SITE = https://files.pythonhosted.org/packages/e7/2b/45098135b5f9f13221820d90f9e0516e11a2a0f55012c13b081d202b782a PYTHON_MUNCH_SETUP_TYPE = setuptools PYTHON_MUNCH_LICENSE = MIT PYTHON_MUNCH_LICENSE_FILES = LICENSE.txt diff --git a/package/python-mutagen/python-mutagen.hash b/package/python-mutagen/python-mutagen.hash index 2e1a5889369..b2d846e7b13 100644 --- a/package/python-mutagen/python-mutagen.hash +++ b/package/python-mutagen/python-mutagen.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mutagen/json -md5 648c9f38b8ef46ffb0d5135524650b87 mutagen-1.46.0.tar.gz -sha256 6e5f8ba84836b99fe60be5fb27f84be4ad919bbb6b49caa6ae81e70584b55e58 mutagen-1.46.0.tar.gz +md5 aa2d0d73e71c5daa1a730f7b94272357 mutagen-1.47.0.tar.gz +sha256 719fadef0a978c31b4cf3c956261b3c58b6948b32023078a2117b1de09f0fc99 mutagen-1.47.0.tar.gz # Locally computed sha256 checksums sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/python-mutagen/python-mutagen.mk b/package/python-mutagen/python-mutagen.mk index 07ac9542c6a..d42ed27e492 100644 --- a/package/python-mutagen/python-mutagen.mk +++ b/package/python-mutagen/python-mutagen.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MUTAGEN_VERSION = 1.46.0 +PYTHON_MUTAGEN_VERSION = 1.47.0 PYTHON_MUTAGEN_SOURCE = mutagen-$(PYTHON_MUTAGEN_VERSION).tar.gz -PYTHON_MUTAGEN_SITE = https://files.pythonhosted.org/packages/b1/54/d1760a363d0fe345528e37782f6c18123b0e99e8ea755022fd51f1ecd0f9 +PYTHON_MUTAGEN_SITE = https://files.pythonhosted.org/packages/81/e6/64bc71b74eef4b68e61eb921dcf72dabd9e4ec4af1e11891bbd312ccbb77 PYTHON_MUTAGEN_LICENSE = GPL-2.0 PYTHON_MUTAGEN_LICENSE_FILES = COPYING PYTHON_MUTAGEN_SETUP_TYPE = setuptools diff --git a/package/python-mwscrape/python-mwscrape.mk b/package/python-mwscrape/python-mwscrape.mk index 3ffe9d68805..8b6c718c563 100644 --- a/package/python-mwscrape/python-mwscrape.mk +++ b/package/python-mwscrape/python-mwscrape.mk @@ -8,6 +8,6 @@ PYTHON_MWSCRAPE_VERSION = 568ccbe6e12dd6391277df02adf724ba0e5f9197 PYTHON_MWSCRAPE_SITE = $(call github,itkach,mwscrape,$(PYTHON_MWSCRAPE_VERSION)) PYTHON_MWSCRAPE_LICENSE = MPL-2.0 PYTHON_MWSCRAPE_LICENSE_FILES = LICENSE.txt -PYTHON_MWSCRAPE_SETUP_TYPE = distutils +PYTHON_MWSCRAPE_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-mwscrape2slob/python-mwscrape2slob.mk b/package/python-mwscrape2slob/python-mwscrape2slob.mk index cd8ae35234e..a99005ba7c7 100644 --- a/package/python-mwscrape2slob/python-mwscrape2slob.mk +++ b/package/python-mwscrape2slob/python-mwscrape2slob.mk @@ -7,6 +7,6 @@ PYTHON_MWSCRAPE2SLOB_VERSION = e01d3e92f0a372ebd0f57390e437a28f9d3c0438 PYTHON_MWSCRAPE2SLOB_SITE = $(call github,itkach,mwscrape2slob,$(PYTHON_MWSCRAPE2SLOB_VERSION)) PYTHON_MWSCRAPE2SLOB_LICENSE = GPL-3.0, Apache-2.0 (MathJax), GPL (MediaWiki monobook style sheet) -PYTHON_MWSCRAPE2SLOB_SETUP_TYPE = distutils +PYTHON_MWSCRAPE2SLOB_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-mypy-extensions/python-mypy-extensions.hash b/package/python-mypy-extensions/python-mypy-extensions.hash index ffe850d7bdc..5e3763bd632 100644 --- a/package/python-mypy-extensions/python-mypy-extensions.hash +++ b/package/python-mypy-extensions/python-mypy-extensions.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mypy_extensions/json -md5 4163ff73d0db8631c0a78bb55b551c84 mypy_extensions-0.4.3.tar.gz -sha256 2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8 mypy_extensions-0.4.3.tar.gz +md5 5b77a3cafc7e9749a0157533c0915b5d mypy_extensions-1.0.0.tar.gz +sha256 75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782 mypy_extensions-1.0.0.tar.gz # Locally computed sha256 checksums sha256 a50450da1d53cd777b80ced77c58ff96abe0ccd879706bd142c3ec20e245f0b4 LICENSE diff --git a/package/python-mypy-extensions/python-mypy-extensions.mk b/package/python-mypy-extensions/python-mypy-extensions.mk index 26dc329a373..494a03ac2ca 100644 --- a/package/python-mypy-extensions/python-mypy-extensions.mk +++ b/package/python-mypy-extensions/python-mypy-extensions.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MYPY_EXTENSIONS_VERSION = 0.4.3 +PYTHON_MYPY_EXTENSIONS_VERSION = 1.0.0 PYTHON_MYPY_EXTENSIONS_SOURCE = mypy_extensions-$(PYTHON_MYPY_EXTENSIONS_VERSION).tar.gz -PYTHON_MYPY_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/63/60/0582ce2eaced55f65a4406fc97beba256de4b7a95a0034c6576458c6519f +PYTHON_MYPY_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f PYTHON_MYPY_EXTENSIONS_SETUP_TYPE = setuptools PYTHON_MYPY_EXTENSIONS_LICENSE = MIT PYTHON_MYPY_EXTENSIONS_LICENSE_FILES = LICENSE diff --git a/package/python-netaddr/python-netaddr.hash b/package/python-netaddr/python-netaddr.hash index d55390aad38..f969aeecfc7 100644 --- a/package/python-netaddr/python-netaddr.hash +++ b/package/python-netaddr/python-netaddr.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/netaddr/json -md5 34cad578473b66ad77bc3b2a7613ed4a netaddr-0.8.0.tar.gz -# Locally computed -sha256 d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243 netaddr-0.8.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/netaddr/json +md5 c0d7b080da18c851ea436389813d7652 netaddr-0.10.1.tar.gz +sha256 f4da4222ca8c3f43c8e18a8263e5426c750a3a837fdfeccf74c68d0408eaa3bf netaddr-0.10.1.tar.gz +# Locally computed sha256 checksums sha256 0e53de62547787462f41eefb5cee31a14f7ea767ba0362c6f9304f1742486d47 LICENSE diff --git a/package/python-netaddr/python-netaddr.mk b/package/python-netaddr/python-netaddr.mk index e3ffe4e85b3..79e55a739fa 100644 --- a/package/python-netaddr/python-netaddr.mk +++ b/package/python-netaddr/python-netaddr.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_NETADDR_VERSION = 0.8.0 +PYTHON_NETADDR_VERSION = 0.10.1 PYTHON_NETADDR_SOURCE = netaddr-$(PYTHON_NETADDR_VERSION).tar.gz -PYTHON_NETADDR_SITE = https://pypi.python.org/packages/c3/3b/fe5bda7a3e927d9008c897cf1a0858a9ba9924a6b4750ec1824c9e617587 +PYTHON_NETADDR_SITE = https://files.pythonhosted.org/packages/af/96/f4878091248450bbdebfbd01bf1d95821bd47eb38e756815a0431baa6b07 PYTHON_NETADDR_LICENSE = BSD-3-Clause PYTHON_NETADDR_LICENSE_FILES = LICENSE PYTHON_NETADDR_SETUP_TYPE = setuptools diff --git a/package/python-networkx/Config.in b/package/python-networkx/Config.in index 0f3e86f497d..e2fc6ae478d 100644 --- a/package/python-networkx/Config.in +++ b/package/python-networkx/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_NETWORKX bool "python-networkx" - select BR2_PACKAGE_PYTHON_DECORATOR # runtime help A Python package for the creation, manipulation, and study of the structure, dynamics, and diff --git a/package/python-networkx/python-networkx.hash b/package/python-networkx/python-networkx.hash index d166f0b8d8d..b9fe50fd9c5 100644 --- a/package/python-networkx/python-networkx.hash +++ b/package/python-networkx/python-networkx.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/networkx/json -md5 22139ab5a47818fa00cbaa91eb126381 networkx-2.8.8.tar.gz -sha256 230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e networkx-2.8.8.tar.gz +md5 e81583dcb3d929b60660721912f3faed networkx-3.2.1.tar.gz +sha256 9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6 networkx-3.2.1.tar.gz # Locally computed sha256 checksums -sha256 aae9f809fb1a1592ed72e9f52df10cfad8fe226b8d4d28385f90dd4341ce7119 LICENSE.txt +sha256 50b5a27cb43f7a20cede7aa7b9ab2033552e0412c9a1fde51d38885c1417e95f LICENSE.txt diff --git a/package/python-networkx/python-networkx.mk b/package/python-networkx/python-networkx.mk index f097671d66c..e463dca40a9 100644 --- a/package/python-networkx/python-networkx.mk +++ b/package/python-networkx/python-networkx.mk @@ -4,15 +4,14 @@ # ################################################################################ -PYTHON_NETWORKX_VERSION = 2.8.8 +PYTHON_NETWORKX_VERSION = 3.2.1 PYTHON_NETWORKX_SOURCE = networkx-$(PYTHON_NETWORKX_VERSION).tar.gz -PYTHON_NETWORKX_SITE = https://files.pythonhosted.org/packages/cd/16/c44e8550012735b8f21b3df7f39e8ba5a987fb764ac017ad5f3589735889 +PYTHON_NETWORKX_SITE = https://files.pythonhosted.org/packages/c4/80/a84676339aaae2f1cfdf9f418701dd634aef9cc76f708ef55c36ff39c3ca PYTHON_NETWORKX_LICENSE = BSD-3-Clause PYTHON_NETWORKX_LICENSE_FILES = LICENSE.txt PYTHON_NETWORKX_CPE_ID_VENDOR = python PYTHON_NETWORKX_CPE_ID_PRODUCT = networkx PYTHON_NETWORKX_SETUP_TYPE = setuptools -HOST_PYTHON_NETWORKX_DEPENDENCIES = host-python-decorator $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in index a65164d9d55..c27baec3b34 100644 --- a/package/python-numpy/Config.in +++ b/package/python-numpy/Config.in @@ -16,8 +16,10 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS config BR2_PACKAGE_PYTHON_NUMPY bool "python-numpy" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP # python-numpy needs fenv.h which is not provided by uclibc depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 help NumPy is the fundamental package for scientific computing with Python. @@ -27,6 +29,8 @@ config BR2_PACKAGE_PYTHON_NUMPY http://www.numpy.org/ -comment "python-numpy needs glibc or musl" +comment "python-numpy needs a glibc or musl toolchain w/ C++, gcc >= 9" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash index 9ac9280c782..6629cebbced 100644 --- a/package/python-numpy/python-numpy.hash +++ b/package/python-numpy/python-numpy.hash @@ -1,7 +1,7 @@ -# Copied from https://github.com/numpy/numpy/releases/tag/v1.23.5 -sha256 1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a numpy-1.23.5.tar.gz +# Copied from https://github.com/numpy/numpy/releases/tag/v1.25.0 +sha256 f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19 numpy-1.25.0.tar.gz # License files, locally calculated -sha256 0f88787955e7131224f53a8c3f3e859dc502408e3a539a4dcf61fb7888b5b984 LICENSE.txt +sha256 1034d3bd61783f3b5e7ec3e7ca818f4da4135132323a0ef99f4c0edb3c7f6bd2 LICENSE.txt sha256 c27d0a8026bdb8876562b720ab24d1688e3827a89f6083cd6e7e8caa9584aba3 numpy/core/src/multiarray/dragon4.c sha256 fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec numpy/core/include/numpy/libdivide/LICENSE.txt sha256 a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55 numpy/linalg/lapack_lite/LICENSE.txt diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk index 812bfdae4ae..200fac20a1d 100644 --- a/package/python-numpy/python-numpy.mk +++ b/package/python-numpy/python-numpy.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_NUMPY_VERSION = 1.23.5 +PYTHON_NUMPY_VERSION = 1.25.0 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION) PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib @@ -14,30 +14,33 @@ PYTHON_NUMPY_LICENSE_FILES = \ numpy/core/include/numpy/libdivide/LICENSE.txt \ numpy/linalg/lapack_lite/LICENSE.txt \ tools/npy_tempita/license.txt +PYTHON_NUMPY_CPE_ID_VENDOR = numpy +PYTHON_NUMPY_CPE_ID_PRODUCT = numpy -PYTHON_NUMPY_SETUP_TYPE = setuptools -PYTHON_NUMPY_DEPENDENCIES = host-python-cython +PYTHON_NUMPY_DEPENDENCIES = host-python-cython python3 HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython +PYTHON_NUMPY_CONF_ENV += \ + _PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \ + PYTHONPATH=$(PYTHON3_PATH) + ifeq ($(BR2_PACKAGE_LAPACK),y) PYTHON_NUMPY_DEPENDENCIES += lapack +PYTHON_NUMPY_CONF_OPTS += -Dlapack=lapack else -PYTHON_NUMPY_ENV += BLAS=None LAPACK=None +PYTHON_NUMPY_CONF_OPTS += -Dlapack="" endif -ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y) -PYTHON_NUMPY_BUILD_OPTS = --fcompiler=gnu95 -PYTHON_NUMPY_ENV += F90=$(TARGET_FC) +ifeq ($(BR2_PACKAGE_OPENBLAS),y) +PYTHON_NUMPY_DEPENDENCIES += openblas +PYTHON_NUMPY_CONF_OPTS += -Dblas=openblas else -PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None +PYTHON_NUMPY_CONF_OPTS += -Dblas="" endif -define PYTHON_NUMPY_CONFIGURE_CMDS - -rm -f $(@D)/site.cfg - echo "[DEFAULT]" >> $(@D)/site.cfg - echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(@D)/site.cfg - echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg -endef +# Rather than add a host-blas or host-lapack dependencies, just use unoptimized, +# in-tree code. +HOST_PYTHON_NUMPY_CONF_OPTS = -Dblas="" -Dlapack="" # Fixup the npymath.ini prefix path with actual target staging area where # numpy core was built. Without this, target builds using numpy distutils @@ -55,5 +58,5 @@ PYTHON_NUMPY_POST_INSTALL_STAGING_HOOKS += PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FIL # in the staging area. PYTHON_NUMPY_INSTALL_STAGING = YES -$(eval $(python-package)) -$(eval $(host-python-package)) +$(eval $(meson-package)) +$(eval $(host-meson-package)) diff --git a/package/python-oauthlib/python-oauthlib.mk b/package/python-oauthlib/python-oauthlib.mk index 1e49487d6ae..eb0ccbf46fc 100644 --- a/package/python-oauthlib/python-oauthlib.mk +++ b/package/python-oauthlib/python-oauthlib.mk @@ -10,5 +10,7 @@ PYTHON_OAUTHLIB_SITE = https://files.pythonhosted.org/packages/6d/fa/fbf40010379 PYTHON_OAUTHLIB_SETUP_TYPE = setuptools PYTHON_OAUTHLIB_LICENSE = BSD-3-Clause PYTHON_OAUTHLIB_LICENSE_FILES = LICENSE +PYTHON_OAUTHLIB_CPE_ID_VENDOR = oauthlib_project +PYTHON_OAUTHLIB_CPE_ID_PRODUCT = oauthlib $(eval $(python-package)) diff --git a/package/python-opcua-asyncio/Config.in b/package/python-opcua-asyncio/Config.in index e5b8623f0d8..139238b5e9a 100644 --- a/package/python-opcua-asyncio/Config.in +++ b/package/python-opcua-asyncio/Config.in @@ -2,10 +2,12 @@ config BR2_PACKAGE_PYTHON_OPCUA_ASYNCIO bool "python-opcua-asyncio" depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_AIOFILES # runtime + select BR2_PACKAGE_PYTHON_AIOSQLITE # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_DATEUTIL # runtime - select BR2_PACKAGE_PYTHON_LXML # runtime select BR2_PACKAGE_PYTHON_PYTZ # runtime + select BR2_PACKAGE_PYTHON_SORTEDCONTAINERS # runtime + select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime help opcua-asyncio is an asyncio-based asynchronous OPC UA client based on python-opcua, removing diff --git a/package/python-opcua-asyncio/python-opcua-asyncio.hash b/package/python-opcua-asyncio/python-opcua-asyncio.hash index 21b5794ebf6..f5856019a52 100644 --- a/package/python-opcua-asyncio/python-opcua-asyncio.hash +++ b/package/python-opcua-asyncio/python-opcua-asyncio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/asyncua/json -md5 f67770b896d2ffe975adbaea38c5efc9 asyncua-1.0.1.tar.gz -sha256 515342470022b9c391587dcf526015ff4c7582f566c72406c778c9f9a2757cad asyncua-1.0.1.tar.gz +md5 37000bc60b98b4822511ced1c2b4c020 asyncua-1.0.5.tar.gz +sha256 2757163f2a2ff1d8b923297d4af9b8161d25bed95867c1f67078faaf7f2d3f92 asyncua-1.0.5.tar.gz # Locally computed sha256 checksums sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING diff --git a/package/python-opcua-asyncio/python-opcua-asyncio.mk b/package/python-opcua-asyncio/python-opcua-asyncio.mk index 52c5d5117eb..226b9bbc21c 100644 --- a/package/python-opcua-asyncio/python-opcua-asyncio.mk +++ b/package/python-opcua-asyncio/python-opcua-asyncio.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_OPCUA_ASYNCIO_VERSION = 1.0.1 +PYTHON_OPCUA_ASYNCIO_VERSION = 1.0.5 PYTHON_OPCUA_ASYNCIO_SOURCE = asyncua-$(PYTHON_OPCUA_ASYNCIO_VERSION).tar.gz -PYTHON_OPCUA_ASYNCIO_SITE = https://files.pythonhosted.org/packages/9f/88/c32bd5904c92475dd30fa2c3130c4f9170a36343d390e2ce5b002fdf1cee +PYTHON_OPCUA_ASYNCIO_SITE = https://files.pythonhosted.org/packages/bf/c6/3c17b8b5335faffc2f08c728008c5ae7cc46d24f674bc1038a69d1849ef6 PYTHON_OPCUA_ASYNCIO_SETUP_TYPE = setuptools PYTHON_OPCUA_ASYNCIO_LICENSE = LGPL-3.0+ PYTHON_OPCUA_ASYNCIO_LICENSE_FILES = COPYING +PYTHON_OPCUA_ASYNCIO_CPE_ID_VENDOR = freeopcua +PYTHON_OPCUA_ASYNCIO_CPE_ID_PRODUCT = opcua-asyncio $(eval $(python-package)) diff --git a/package/python-orjson/python-orjson.hash b/package/python-orjson/python-orjson.hash index 515590795b0..0e9b93f3117 100644 --- a/package/python-orjson/python-orjson.hash +++ b/package/python-orjson/python-orjson.hash @@ -1,5 +1,5 @@ # Locally calculated after vendoring -sha256 0c8d161dfd8b9e4133beabd81e3e1473c246efe55abec571845f72a2ba7b74e4 orjson-3.8.3.tar.gz +sha256 245a1ad9a8f926273787e91f7d7e14b4b357e263a215d8c96dd2039b3cddc238 orjson-3.9.10.tar.gz # Locally computed sha256 checksums sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/python-orjson/python-orjson.mk b/package/python-orjson/python-orjson.mk index bda0a8ab48c..a2e8a504684 100644 --- a/package/python-orjson/python-orjson.mk +++ b/package/python-orjson/python-orjson.mk @@ -4,19 +4,12 @@ # ################################################################################ -PYTHON_ORJSON_VERSION = 3.8.3 +PYTHON_ORJSON_VERSION = 3.9.10 PYTHON_ORJSON_SOURCE = orjson-$(PYTHON_ORJSON_VERSION).tar.gz -PYTHON_ORJSON_SITE = https://files.pythonhosted.org/packages/1c/b9/a0b4fb195ded02820e0a933ffe28b782b7e5ef7a4f8c1e1c742d619548e4 -PYTHON_ORJSON_SETUP_TYPE = pep517 +PYTHON_ORJSON_SITE = https://files.pythonhosted.org/packages/72/75/642688bf5d99131fe8cf603f4ef9f26e4b1c6ed8f7f5c7e6fb31def54fb7 +PYTHON_ORJSON_SETUP_TYPE = maturin PYTHON_ORJSON_LICENSE = Apache-2.0 or MIT PYTHON_ORJSON_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT -PYTHON_ORJSON_DEPENDENCIES = host-python-cffi host-python-maturin -PYTHON_ORJSON_ENV = \ - $(PKG_CARGO_ENV) \ - PYO3_CROSS_LIB_DIR="$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)" -# We need to vendor the Cargo crates at download time -PYTHON_ORJSON_DOWNLOAD_POST_PROCESS = cargo -PYTHON_ORJSON_DOWNLOAD_DEPENDENCIES = host-rustc -PYTHON_ORJSON_DL_ENV = $(PKG_CARGO_ENV) +PYTHON_ORJSON_DEPENDENCIES = host-python-cffi $(eval $(python-package)) diff --git a/package/python-outcome/Config.in b/package/python-outcome/Config.in new file mode 100644 index 00000000000..bd51f3daea8 --- /dev/null +++ b/package/python-outcome/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_OUTCOME + bool "python-outcome" + select BR2_PACKAGE_PYTHON_ATTRS # runtime + help + Capture the outcome of Python function calls. + + https://github.com/python-trio/outcome diff --git a/package/python-outcome/python-outcome.hash b/package/python-outcome/python-outcome.hash new file mode 100644 index 00000000000..476da607666 --- /dev/null +++ b/package/python-outcome/python-outcome.hash @@ -0,0 +1,7 @@ +# md5, sha256 from https://pypi.org/pypi/outcome/json +md5 3a626832ac864c95f6054958d0da3011 outcome-1.3.0.post0.tar.gz +sha256 9dcf02e65f2971b80047b377468e72a268e15c0af3cf1238e6ff14f7f91143b8 outcome-1.3.0.post0.tar.gz +# Locally computed sha256 checksums +sha256 652c878488d1456361e08c3f8607fd7ba59892a14103d15cce4ff93c85b5cc8b LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.APACHE2 +sha256 3e6dae555eb92787fc82d1d48355677f454c7f65aeb38d3f9e72bf9a3daf034b LICENSE.MIT diff --git a/package/python-outcome/python-outcome.mk b/package/python-outcome/python-outcome.mk new file mode 100644 index 00000000000..aa8a6cbf381 --- /dev/null +++ b/package/python-outcome/python-outcome.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-outcome +# +################################################################################ + +PYTHON_OUTCOME_VERSION = 1.3.0.post0 +PYTHON_OUTCOME_SOURCE = outcome-$(PYTHON_OUTCOME_VERSION).tar.gz +PYTHON_OUTCOME_SITE = https://files.pythonhosted.org/packages/98/df/77698abfac98571e65ffeb0c1fba8ffd692ab8458d617a0eed7d9a8d38f2 +PYTHON_OUTCOME_SETUP_TYPE = setuptools +PYTHON_OUTCOME_LICENSE = Apache-2.0 or MIT +PYTHON_OUTCOME_LICENSE_FILES = LICENSE LICENSE.APACHE2 LICENSE.MIT + +$(eval $(python-package)) diff --git a/package/python-packaging/python-packaging.hash b/package/python-packaging/python-packaging.hash index e10c11904b8..df75c3505c2 100644 --- a/package/python-packaging/python-packaging.hash +++ b/package/python-packaging/python-packaging.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/packaging/json -md5 806414ea4c6f17b029a7911b622062e8 packaging-22.0.tar.gz -sha256 2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3 packaging-22.0.tar.gz +md5 d54eeff8c7ca86980528f4132f258d54 packaging-23.2.tar.gz +sha256 048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5 packaging-23.2.tar.gz # Locally computed sha256 checksums sha256 cad1ef5bd340d73e074ba614d26f7deaca5c7940c3d8c34852e65c4909686c48 LICENSE sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE.APACHE diff --git a/package/python-packaging/python-packaging.mk b/package/python-packaging/python-packaging.mk index c9190ccfee2..3e0f85c00a7 100644 --- a/package/python-packaging/python-packaging.mk +++ b/package/python-packaging/python-packaging.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PACKAGING_VERSION = 22.0 +PYTHON_PACKAGING_VERSION = 23.2 PYTHON_PACKAGING_SOURCE = packaging-$(PYTHON_PACKAGING_VERSION).tar.gz -PYTHON_PACKAGING_SITE = https://files.pythonhosted.org/packages/6b/f7/c240d7654ddd2d2f3f328d8468d4f1f876865f6b9038b146bec0a6737c65 +PYTHON_PACKAGING_SITE = https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b PYTHON_PACKAGING_SETUP_TYPE = flit PYTHON_PACKAGING_LICENSE = Apache-2.0 or BSD-2-Clause PYTHON_PACKAGING_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD diff --git a/package/python-paramiko/python-paramiko.hash b/package/python-paramiko/python-paramiko.hash index b327a6b8a95..893aac074ec 100644 --- a/package/python-paramiko/python-paramiko.hash +++ b/package/python-paramiko/python-paramiko.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/paramiko/json -md5 3f49814473cc153a7189fec31cfacfab paramiko-2.12.0.tar.gz -sha256 376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49 paramiko-2.12.0.tar.gz +md5 be485ba66b576d8bc7e1c0ad96e87108 paramiko-3.4.0.tar.gz +sha256 aac08f26a31dc4dffd92821527d1682d99d52f9ef6851968114a8728f3c274d3 paramiko-3.4.0.tar.gz # Locally computed sha256 checksums sha256 5fa25bf5f395fd26e701c2e1de4ca7d162816986dc791c22f8f4226857ad1bb2 LICENSE diff --git a/package/python-paramiko/python-paramiko.mk b/package/python-paramiko/python-paramiko.mk index 621176ed410..8d921486c74 100644 --- a/package/python-paramiko/python-paramiko.mk +++ b/package/python-paramiko/python-paramiko.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PARAMIKO_VERSION = 2.12.0 +PYTHON_PARAMIKO_VERSION = 3.4.0 PYTHON_PARAMIKO_SOURCE = paramiko-$(PYTHON_PARAMIKO_VERSION).tar.gz -PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/98/75/e78ddbe671a4a59514b59bc6a321263118e4ac3fe88175dd784d1a47a00f +PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/cc/af/11996c4df4f9caff87997ad2d3fd8825078c277d6a928446d2b6cf249889 PYTHON_PARAMIKO_SETUP_TYPE = setuptools PYTHON_PARAMIKO_LICENSE = LGPL-2.1+ PYTHON_PARAMIKO_LICENSE_FILES = LICENSE diff --git a/package/python-pathspec/python-pathspec.hash b/package/python-pathspec/python-pathspec.hash index 5eb76cb5f92..15283e3ac20 100644 --- a/package/python-pathspec/python-pathspec.hash +++ b/package/python-pathspec/python-pathspec.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pathspec/json -md5 d89408b52aff020ac768a14c0ef1c7de pathspec-0.10.3.tar.gz -sha256 56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6 pathspec-0.10.3.tar.gz +md5 2b26ad1981bfa23748e115f00085624c pathspec-0.12.1.tar.gz +sha256 a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 pathspec-0.12.1.tar.gz # Locally computed sha256 checksums sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/python-pathspec/python-pathspec.mk b/package/python-pathspec/python-pathspec.mk index e88bce231fc..c4cb34b4c36 100644 --- a/package/python-pathspec/python-pathspec.mk +++ b/package/python-pathspec/python-pathspec.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PATHSPEC_VERSION = 0.10.3 +PYTHON_PATHSPEC_VERSION = 0.12.1 PYTHON_PATHSPEC_SOURCE = pathspec-$(PYTHON_PATHSPEC_VERSION).tar.gz -PYTHON_PATHSPEC_SITE = https://files.pythonhosted.org/packages/32/1a/6baf904503c3e943cae9605c9c88a43b964dea5b59785cf956091b341b08 +PYTHON_PATHSPEC_SITE = https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf PYTHON_PATHSPEC_LICENSE = MPL-2.0 PYTHON_PATHSPEC_LICENSE_FILES = LICENSE -PYTHON_PATHSPEC_SETUP_TYPE = setuptools +PYTHON_PATHSPEC_SETUP_TYPE = flit $(eval $(host-python-package)) diff --git a/package/python-pathtools/0001-replace-imp.patch b/package/python-pathtools/0001-replace-imp.patch new file mode 100644 index 00000000000..a5bc240cea1 --- /dev/null +++ b/package/python-pathtools/0001-replace-imp.patch @@ -0,0 +1,55 @@ +From e2372bbecdf46a100b09126f2951431c1929637b Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 24 Oct 2023 08:59:21 +0200 +Subject: [PATCH] Replace imp + +The imp module has been removed in python 3.12.0. + +This change has also been tested with Python 3.9.2 on Debian 11. + +From: https://docs.python.org/3.12/whatsnew/3.12.html#removed, follow the +instructions to add the load_source method back into setup.py. + +Upstream: https://github.com/gorakhargosh/pathtools/pull/14 + +Signed-off-by: Adam Duskett +--- + setup.py | 19 ++++++++++++++++--- + 1 file changed, 16 insertions(+), 3 deletions(-) + +diff --git a/setup.py b/setup.py +index 4718885..1be0315 100644 +--- a/setup.py ++++ b/setup.py +@@ -22,12 +22,25 @@ + # THE SOFTWARE. + + import os +-import imp ++import importlib.util ++import importlib.machinery + from setuptools import setup + + PKG_DIR = 'pathtools' +-version = imp.load_source('version', +- os.path.join(PKG_DIR, 'version.py')) ++ ++# From: https://docs.python.org/3.12/whatsnew/3.12.html#removed ++def load_source(modname, filename): ++ loader = importlib.machinery.SourceFileLoader(modname, filename) ++ spec = importlib.util.spec_from_file_location(modname, filename, loader=loader) ++ module = importlib.util.module_from_spec(spec) ++ # The module is always executed and not cached in sys.modules. ++ # Uncomment the following line to cache the module. ++ # sys.modules[module.__name__] = module ++ loader.exec_module(module) ++ return module ++ ++version = load_source('version', ++ os.path.join(PKG_DIR, 'version.py')) + + def read_file(filename): + """ +-- +2.41.0 + diff --git a/package/python-pathvalidate/python-pathvalidate.hash b/package/python-pathvalidate/python-pathvalidate.hash index 828236304e6..4442d82ac1c 100644 --- a/package/python-pathvalidate/python-pathvalidate.hash +++ b/package/python-pathvalidate/python-pathvalidate.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pathvalidate/json -md5 541238984572fb21db2da2af1d70a993 pathvalidate-2.5.2.tar.gz -sha256 5ff57d0fabe5ecb7a4f1e4957bfeb5ad8ab5ab4c0fa71f79c6bbc24bd9b7d14d pathvalidate-2.5.2.tar.gz +md5 2a76cbe4e08f58087f418d150a1461b5 pathvalidate-3.2.0.tar.gz +sha256 5e8378cf6712bff67fbe7a8307d99fa8c1a0cb28aa477056f8fc374f0dff24ad pathvalidate-3.2.0.tar.gz # Locally computed sha256 checksums sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-pathvalidate/python-pathvalidate.mk b/package/python-pathvalidate/python-pathvalidate.mk index 6ca8c0f2ad0..243f5418924 100644 --- a/package/python-pathvalidate/python-pathvalidate.mk +++ b/package/python-pathvalidate/python-pathvalidate.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHVALIDATE_VERSION = 2.5.2 +PYTHON_PATHVALIDATE_VERSION = 3.2.0 PYTHON_PATHVALIDATE_SOURCE = pathvalidate-$(PYTHON_PATHVALIDATE_VERSION).tar.gz -PYTHON_PATHVALIDATE_SITE = https://files.pythonhosted.org/packages/60/f7/ff244fdd8ed98e98d4f9acecfe74a890e5e3245ce55253ef88db51e94652 +PYTHON_PATHVALIDATE_SITE = https://files.pythonhosted.org/packages/27/93/e2b086c7aba96c70b5e7ef48251702fb95027638fb5a3e787d2efd65783e PYTHON_PATHVALIDATE_SETUP_TYPE = setuptools PYTHON_PATHVALIDATE_LICENSE = MIT PYTHON_PATHVALIDATE_LICENSE_FILES = LICENSE diff --git a/package/python-pbr/python-pbr.hash b/package/python-pbr/python-pbr.hash index 4ca503e9766..cfeef9419de 100644 --- a/package/python-pbr/python-pbr.hash +++ b/package/python-pbr/python-pbr.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pbr/json -md5 99ef94dbe5a00054fdcbbaa87268c3cd pbr-5.11.0.tar.gz -sha256 b97bc6695b2aff02144133c2e7399d5885223d42b7912ffaec2ca3898e673bfe pbr-5.11.0.tar.gz +md5 e01bcc0e9154d513ecad3e766f9582d7 pbr-6.0.0.tar.gz +sha256 d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9 pbr-6.0.0.tar.gz # Locally computed sha256 checksums sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 LICENSE sha256 eb4a8c8791f6caab1cf36df26db2b6f4e2ddda52657b060ff7f02abc63910aef pbr/tests/testpackage/LICENSE.txt diff --git a/package/python-pbr/python-pbr.mk b/package/python-pbr/python-pbr.mk index 99f0101e194..aaea80d389f 100644 --- a/package/python-pbr/python-pbr.mk +++ b/package/python-pbr/python-pbr.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PBR_VERSION = 5.11.0 +PYTHON_PBR_VERSION = 6.0.0 PYTHON_PBR_SOURCE = pbr-$(PYTHON_PBR_VERSION).tar.gz -PYTHON_PBR_SITE = https://files.pythonhosted.org/packages/52/fb/630d52aaca8fc7634a0711b6ae12a0e828b6f9264bd8051225025c3ed075 +PYTHON_PBR_SITE = https://files.pythonhosted.org/packages/8d/c2/ee43b3b11bf2b40e56536183fc9f22afbb04e882720332b6276ee2454c24 PYTHON_PBR_SETUP_TYPE = setuptools PYTHON_PBR_LICENSE = Apache-2.0 (module), BSD-3-Clause (test package) PYTHON_PBR_LICENSE_FILES = LICENSE pbr/tests/testpackage/LICENSE.txt diff --git a/package/python-pep517/python-pep517.hash b/package/python-pep517/python-pep517.hash deleted file mode 100644 index 6535e516567..00000000000 --- a/package/python-pep517/python-pep517.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/pep517/json -md5 7fd08b11215256601a8a4940c1ba3d34 pep517-0.13.0.tar.gz -sha256 ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59 pep517-0.13.0.tar.gz -# Locally computed sha256 checksums -sha256 1b22b049b5267d6dfc23a67bf4a84d8ec04b9fdfb1a51d360e42b4342c8b4154 LICENSE diff --git a/package/python-pep517/python-pep517.mk b/package/python-pep517/python-pep517.mk deleted file mode 100644 index c43b09faaa8..00000000000 --- a/package/python-pep517/python-pep517.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-pep517 -# -################################################################################ - -PYTHON_PEP517_VERSION = 0.13.0 -PYTHON_PEP517_SOURCE = pep517-$(PYTHON_PEP517_VERSION).tar.gz -PYTHON_PEP517_SITE = https://files.pythonhosted.org/packages/4d/19/e11fcc88288f68ae48e3aa9cf5a6fd092a88e629cb723465666c44d487a0 -PYTHON_PEP517_LICENSE = MIT -PYTHON_PEP517_LICENSE_FILES = LICENSE -PYTHON_PEP517_SETUP_TYPE = flit-bootstrap - -$(eval $(host-python-package)) diff --git a/package/python-periphery/python-periphery.hash b/package/python-periphery/python-periphery.hash index 24e104d3ad5..a758fa7a4d7 100644 --- a/package/python-periphery/python-periphery.hash +++ b/package/python-periphery/python-periphery.hash @@ -1,3 +1,5 @@ -# Locally calculated -sha256 385716bdbd11fcf2c5728548c3d42f12ebc0974faa64fa1a98b89b4a44dc004c python-periphery-2.3.0.tar.gz -sha256 76fe342043adfe8d9453c4979aa165476875137e15b0ddea1f4c3f3fa9808361 LICENSE +# md5, sha256 from https://pypi.org/pypi/python-periphery/json +md5 2b2a1037fb4ac15e7b0514ce3659d26c python-periphery-2.4.1.tar.gz +sha256 61d461d736982a6f766e878720ab10a68151e2e8c1086600d9389ac47e40e88a python-periphery-2.4.1.tar.gz +# Locally computed sha256 checksums +sha256 321124461e9f86f4f7bb9f571500bf58ec1b76206b642e505ce17db7f7c88e05 LICENSE diff --git a/package/python-periphery/python-periphery.mk b/package/python-periphery/python-periphery.mk index 2c533fa2c22..7a49f305a58 100644 --- a/package/python-periphery/python-periphery.mk +++ b/package/python-periphery/python-periphery.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_PERIPHERY_VERSION = 2.3.0 -PYTHON_PERIPHERY_SITE = $(call github,vsergeev,python-periphery,v$(PYTHON_PERIPHERY_VERSION)) +PYTHON_PERIPHERY_VERSION = 2.4.1 +PYTHON_PERIPHERY_SITE = https://files.pythonhosted.org/packages/df/f1/1a986ad2bb696033168db2121151e5ff90df033af780ffca47c8bb559f29 PYTHON_PERIPHERY_LICENSE = MIT PYTHON_PERIPHERY_LICENSE_FILES = LICENSE PYTHON_PERIPHERY_SETUP_TYPE = setuptools diff --git a/package/python-pexpect/python-pexpect.hash b/package/python-pexpect/python-pexpect.hash index a38c8d5a03b..617428feb15 100644 --- a/package/python-pexpect/python-pexpect.hash +++ b/package/python-pexpect/python-pexpect.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pexpect/json -md5 153eb25184249d6a85fde9acf4804085 pexpect-4.8.0.tar.gz -sha256 fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c pexpect-4.8.0.tar.gz +md5 f48d48325ee7f1221add0396ea9e2f14 pexpect-4.9.0.tar.gz +sha256 ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f pexpect-4.9.0.tar.gz # Locally computed sha256 checksums sha256 4a483ae1c4dc738a6c8b73feb49074e1835da02ab5aa686f2675029906fa364d LICENSE diff --git a/package/python-pexpect/python-pexpect.mk b/package/python-pexpect/python-pexpect.mk index 3efda268258..469144aa603 100644 --- a/package/python-pexpect/python-pexpect.mk +++ b/package/python-pexpect/python-pexpect.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PEXPECT_VERSION = 4.8.0 +PYTHON_PEXPECT_VERSION = 4.9.0 PYTHON_PEXPECT_SOURCE = pexpect-$(PYTHON_PEXPECT_VERSION).tar.gz -PYTHON_PEXPECT_SITE = https://files.pythonhosted.org/packages/e5/9b/ff402e0e930e70467a7178abb7c128709a30dfb22d8777c043e501bc1b10 +PYTHON_PEXPECT_SITE = https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d PYTHON_PEXPECT_LICENSE = ISC PYTHON_PEXPECT_LICENSE_FILES = LICENSE -PYTHON_PEXPECT_SETUP_TYPE = distutils +PYTHON_PEXPECT_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index 46da25dddc1..352536a035e 100644 --- a/package/python-pillow/python-pillow.hash +++ b/package/python-pillow/python-pillow.hash @@ -1,6 +1,6 @@ -# md5, sha256 from https://pypi.org/pypi/pillow/json -md5 a6507c1e811a51071d2d6de83070e703 Pillow-9.3.0.tar.gz -sha256 c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f Pillow-9.3.0.tar.gz +# md5, sha256 https://pypi.org/project/pillow/10.3.0/#copy-hash-modal-125abe0d-59be-40cd-89a3-3e2f78136be0 +md5 6c21a12849ae42f93881f614d8f6f651 pillow-10.3.0.tar.gz +sha256 9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d pillow-10.3.0.tar.gz # Locally computed sha256 checksums -sha256 a6554cb737ba6c9b47d3301f78de03b4ed0d3f08d6cf9400714f3d4c894f6943 LICENSE +sha256 cf234c27a3f275f5a050f4df3946f8855704226fe4e7ca8b33928cbcecbced37 LICENSE diff --git a/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index 5ea9fcf264a..b583d93d4c2 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 9.3.0 -PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/16/11/da8d395299ca166aa56d9436e26fe8440e5443471de16ccd9a1d06f5993a -PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz +PYTHON_PILLOW_VERSION = 10.3.0 +PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/ef/43/c50c17c5f7d438e836c169e343695534c38c77f60e7c90389bd77981bc21 +PYTHON_PILLOW_SOURCE = pillow-$(PYTHON_PILLOW_VERSION).tar.gz PYTHON_PILLOW_LICENSE = HPND PYTHON_PILLOW_LICENSE_FILES = LICENSE PYTHON_PILLOW_CPE_ID_VENDOR = python diff --git a/package/python-pip/python-pip.hash b/package/python-pip/python-pip.hash index d1442ca39da..d2cc649b016 100644 --- a/package/python-pip/python-pip.hash +++ b/package/python-pip/python-pip.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pip/json -md5 f0dd02265e7ccd2f8758c840fba64810 pip-22.3.tar.gz -sha256 8182aec21dad6c0a49a2a3d121a87cd524b950e0b6092b181625f07ebdde7530 pip-22.3.tar.gz +md5 38dd5f7ab301167df063405c7fc16c84 pip-23.3.2.tar.gz +sha256 7fd9972f96db22c8077a1ee2691b172c8089b17a5652a44494a9ecb0d78f9149 pip-23.3.2.tar.gz # Locally computed sha256 checksums sha256 634300a669d49aeae65b12c6c48c924c51a4cdf3d1ff086dc3456dc8bcaa2104 LICENSE.txt diff --git a/package/python-pip/python-pip.mk b/package/python-pip/python-pip.mk index 0f2c5d8e022..552b47eb7d8 100644 --- a/package/python-pip/python-pip.mk +++ b/package/python-pip/python-pip.mk @@ -4,13 +4,17 @@ # ################################################################################ -PYTHON_PIP_VERSION = 22.3 +PYTHON_PIP_VERSION = 23.3.2 PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz -PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/f8/08/7f92782ff571c7c7cb6c5eeb8ebbb1f68cb02bdb24e55c5de4dd9ce98bc3 +PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/b7/06/6b1ad0ae8f97d7a0d6f6ad640db10780578999e647a9593512ceb6f06469 PYTHON_PIP_SETUP_TYPE = setuptools PYTHON_PIP_LICENSE = MIT PYTHON_PIP_LICENSE_FILES = LICENSE.txt PYTHON_PIP_CPE_ID_VENDOR = pypa PYTHON_PIP_CPE_ID_PRODUCT = pip +# Disputed CVE: things work as designed, and only affects the +# --extra-index-url option. This CVE will never be fixed. +PYTHON_PIP_IGNORE_CVES += CVE-2018-20225 $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-pluggy/python-pluggy.hash b/package/python-pluggy/python-pluggy.hash index 39f172a82b6..74790a51a04 100644 --- a/package/python-pluggy/python-pluggy.hash +++ b/package/python-pluggy/python-pluggy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pluggy/json -md5 daa6fddfb6cd364f3c82e52098911e4b pluggy-1.0.0.tar.gz -sha256 4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 pluggy-1.0.0.tar.gz +md5 f31aad77be2f5af8ed3864159b7fd743 pluggy-1.3.0.tar.gz +sha256 cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12 pluggy-1.3.0.tar.gz # Locally computed sha256 checksums sha256 d6b65e6c213a5d0b577911d34d6e5949b9f59d76c238c5071a2f3fc16cfb2606 LICENSE diff --git a/package/python-pluggy/python-pluggy.mk b/package/python-pluggy/python-pluggy.mk index 6dc6f970eab..2b7ac04f02e 100644 --- a/package/python-pluggy/python-pluggy.mk +++ b/package/python-pluggy/python-pluggy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PLUGGY_VERSION = 1.0.0 +PYTHON_PLUGGY_VERSION = 1.3.0 PYTHON_PLUGGY_SOURCE = pluggy-$(PYTHON_PLUGGY_VERSION).tar.gz -PYTHON_PLUGGY_SITE = https://files.pythonhosted.org/packages/a1/16/db2d7de3474b6e37cbb9c008965ee63835bba517e22cdb8c35b5116b5ce1 +PYTHON_PLUGGY_SITE = https://files.pythonhosted.org/packages/36/51/04defc761583568cae5fd533abda3d40164cbdcf22dee5b7126ffef68a40 PYTHON_PLUGGY_SETUP_TYPE = setuptools PYTHON_PLUGGY_LICENSE = MIT PYTHON_PLUGGY_LICENSE_FILES = LICENSE diff --git a/package/python-portend/python-portend.hash b/package/python-portend/python-portend.hash index 6af3b77792d..98e196bec87 100644 --- a/package/python-portend/python-portend.hash +++ b/package/python-portend/python-portend.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/portend/json -md5 c37d676837505a6fc8dd33185c6d62a7 portend-3.1.0.tar.gz -sha256 239e3116045ea823f6df87d6168107ad75ccc0590e37242af0cc1e98c5d224e4 portend-3.1.0.tar.gz +md5 0c3a2e8073c384b826f87795766f1e0e portend-3.2.0.tar.gz +sha256 5250a352c19c959d767cac878b829d93e5dc7625a5143399a2a00dc6628ffb72 portend-3.2.0.tar.gz # Locally computed sha256 checksums -sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE +sha256 86da0f01aeae46348a3c3d465195dc1ceccde79f79e87769a64b8da04b2a4741 LICENSE diff --git a/package/python-portend/python-portend.mk b/package/python-portend/python-portend.mk index 4322121e9b0..5415198ffbd 100644 --- a/package/python-portend/python-portend.mk +++ b/package/python-portend/python-portend.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PORTEND_VERSION = 3.1.0 +PYTHON_PORTEND_VERSION = 3.2.0 PYTHON_PORTEND_SOURCE = portend-$(PYTHON_PORTEND_VERSION).tar.gz -PYTHON_PORTEND_SITE = https://files.pythonhosted.org/packages/6e/0a/42bcc9c97744958ce72d33f526e972379b9e90adede8a151f338818c41d4 +PYTHON_PORTEND_SITE = https://files.pythonhosted.org/packages/8f/fc/bcfc768996b438d6e4bde7a6c8cfd62089847b0f5381a0e0ec2d8ee6b202 PYTHON_PORTEND_LICENSE = MIT PYTHON_PORTEND_LICENSE_FILES = LICENSE PYTHON_PORTEND_SETUP_TYPE = setuptools diff --git a/package/python-posix-ipc/python-posix-ipc.hash b/package/python-posix-ipc/python-posix-ipc.hash index 74d2db0f5ed..427e4c7b55a 100644 --- a/package/python-posix-ipc/python-posix-ipc.hash +++ b/package/python-posix-ipc/python-posix-ipc.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/posix-ipc/json -md5 81baeabebd3e4064972ec62fd9eace0b posix_ipc-1.1.0.tar.gz -sha256 f86a15b32b38573c78e305ebd9100d8198a3d9facc03ffafe39edc35833738e3 posix_ipc-1.1.0.tar.gz +md5 523a31c4dbd56e0d4fd677f33e126e5d posix_ipc-1.1.1.tar.gz +sha256 e2456ba0cfb2ee5ba14121450e8d825b3c4a1461fca0761220aab66d4111cbb7 posix_ipc-1.1.1.tar.gz # Locally computed sha256 checksums sha256 2b58f0bf31a8cbd7e56bfef030e9f7f02758ce8a810d073ccf41753bdc2a0747 LICENSE diff --git a/package/python-posix-ipc/python-posix-ipc.mk b/package/python-posix-ipc/python-posix-ipc.mk index c25af9ecbd3..bdd2f1d4af1 100644 --- a/package/python-posix-ipc/python-posix-ipc.mk +++ b/package/python-posix-ipc/python-posix-ipc.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_POSIX_IPC_VERSION = 1.1.0 +PYTHON_POSIX_IPC_VERSION = 1.1.1 PYTHON_POSIX_IPC_SOURCE = posix_ipc-$(PYTHON_POSIX_IPC_VERSION).tar.gz -PYTHON_POSIX_IPC_SITE = https://files.pythonhosted.org/packages/41/72/90b6702782921c0e3e0b10a66f2a47d8cfaf9c2255d763ab45cc8cea25eb +PYTHON_POSIX_IPC_SITE = https://files.pythonhosted.org/packages/07/7f/b954f224a226960a4aa98b6c5fa3d4f3fafb20bb8461446e41b563aee863 PYTHON_POSIX_IPC_LICENSE = BSD-3-Clause PYTHON_POSIX_IPC_LICENSE_FILES = LICENSE PYTHON_POSIX_IPC_SETUP_TYPE = setuptools diff --git a/package/python-prompt-toolkit/python-prompt-toolkit.hash b/package/python-prompt-toolkit/python-prompt-toolkit.hash index 62ba0c3cfe7..1821d4d65c5 100644 --- a/package/python-prompt-toolkit/python-prompt-toolkit.hash +++ b/package/python-prompt-toolkit/python-prompt-toolkit.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/prompt-toolkit/json -md5 5a2bb559c0bcbc617f507a320c64ba03 prompt_toolkit-3.0.36.tar.gz -sha256 3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63 prompt_toolkit-3.0.36.tar.gz +md5 f33c0f4ae8d11addababf6d90c98f8bc prompt_toolkit-3.0.43.tar.gz +sha256 3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d prompt_toolkit-3.0.43.tar.gz # Locally computed sha256 checksums sha256 303574d9bdd85c757d6025017942bf17baeedf2778f62bd7f425d07d880f4c4a LICENSE diff --git a/package/python-prompt-toolkit/python-prompt-toolkit.mk b/package/python-prompt-toolkit/python-prompt-toolkit.mk index 426fa41e0b0..31c0d9783f4 100644 --- a/package/python-prompt-toolkit/python-prompt-toolkit.mk +++ b/package/python-prompt-toolkit/python-prompt-toolkit.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PROMPT_TOOLKIT_VERSION = 3.0.36 +PYTHON_PROMPT_TOOLKIT_VERSION = 3.0.43 PYTHON_PROMPT_TOOLKIT_SOURCE = prompt_toolkit-$(PYTHON_PROMPT_TOOLKIT_VERSION).tar.gz -PYTHON_PROMPT_TOOLKIT_SITE = https://files.pythonhosted.org/packages/fb/93/180be2342f89f16543ec4eb3f25083b5b84eba5378f68efff05409fb39a9 +PYTHON_PROMPT_TOOLKIT_SITE = https://files.pythonhosted.org/packages/cc/c6/25b6a3d5cd295304de1e32c9edbcf319a52e965b339629d37d42bb7126ca PYTHON_PROMPT_TOOLKIT_SETUP_TYPE = setuptools PYTHON_PROMPT_TOOLKIT_LICENSE = BSD-3-Clause PYTHON_PROMPT_TOOLKIT_LICENSE_FILES = LICENSE diff --git a/package/python-protobuf/python-protobuf.hash b/package/python-protobuf/python-protobuf.hash index c2afc3955ac..e7af678b97d 100644 --- a/package/python-protobuf/python-protobuf.hash +++ b/package/python-protobuf/python-protobuf.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ae4ca6e1da635f31019d8911923163f372d9d333e8857510f513acba33172d0c protobuf-python-4.21.11.tar.gz +sha256 e2b976e67d6fcf7078f799143a73f2a4d9cf3126ca68a1a6f1bda30fe5f3585c protobuf-python-4.21.12.tar.gz sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE diff --git a/package/python-psutil/python-psutil.hash b/package/python-psutil/python-psutil.hash index 15927562b16..c5f4f39fe05 100644 --- a/package/python-psutil/python-psutil.hash +++ b/package/python-psutil/python-psutil.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/psutil/json -md5 f72751d05b781757b7cd9bc375d2e351 psutil-5.9.4.tar.gz -sha256 3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62 psutil-5.9.4.tar.gz +md5 afcc40a779f84f6d909570a8934cebc3 psutil-5.9.7.tar.gz +sha256 3f02134e82cfb5d089fddf20bb2e03fd5cd52395321d1c8458a9e58500ff417c psutil-5.9.7.tar.gz # Locally computed sha256 checksums -sha256 24c12984500caa07ffdce19eebc06396c5e6d244b573bc6c438f4a6ef8e56c1b LICENSE +sha256 b89c063b3786e28e0c0a38f1931db61fed35e69dd2a2966fbecffee0f46c8d10 LICENSE diff --git a/package/python-psutil/python-psutil.mk b/package/python-psutil/python-psutil.mk index e764d1accc9..e83193f20fe 100644 --- a/package/python-psutil/python-psutil.mk +++ b/package/python-psutil/python-psutil.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSUTIL_VERSION = 5.9.4 +PYTHON_PSUTIL_VERSION = 5.9.7 PYTHON_PSUTIL_SOURCE = psutil-$(PYTHON_PSUTIL_VERSION).tar.gz -PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/3d/7d/d05864a69e452f003c0d77e728e155a89a2a26b09e64860ddd70ad64fb26 +PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/a0/d0/c9ae661a302931735237791f04cb7086ac244377f78692ba3b3eae3a9619 PYTHON_PSUTIL_SETUP_TYPE = setuptools PYTHON_PSUTIL_LICENSE = BSD-3-Clause PYTHON_PSUTIL_LICENSE_FILES = LICENSE diff --git a/package/python-psycopg2/python-psycopg2.hash b/package/python-psycopg2/python-psycopg2.hash index 58f98f9d844..6659c6cef86 100644 --- a/package/python-psycopg2/python-psycopg2.hash +++ b/package/python-psycopg2/python-psycopg2.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/psycopg2/json -md5 3cec7285f61690633bb070d4bba259c2 psycopg2-2.9.5.tar.gz -sha256 a5246d2e683a972e2187a8714b5c2cf8156c064629f9a9b1a873c1730d9e245a psycopg2-2.9.5.tar.gz +md5 eae35fa97cdc92b910b706c720a257c7 psycopg2-2.9.9.tar.gz +sha256 d1454bde93fb1e224166811694d600e746430c006fbb031ea06ecc2ea41bf156 psycopg2-2.9.9.tar.gz # Locally computed sha256 checksums sha256 9614b85dfc9a72c5b2ca33144c1d7e1ed3b1c297459d9fb28a6a5762c2e8d71b LICENSE diff --git a/package/python-psycopg2/python-psycopg2.mk b/package/python-psycopg2/python-psycopg2.mk index fa23c2814f8..0149b8d1854 100644 --- a/package/python-psycopg2/python-psycopg2.mk +++ b/package/python-psycopg2/python-psycopg2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSYCOPG2_VERSION = 2.9.5 +PYTHON_PSYCOPG2_VERSION = 2.9.9 PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_VERSION).tar.gz -PYTHON_PSYCOPG2_SITE = https://files.pythonhosted.org/packages/89/d6/cd8c46417e0f7a16b4b0fc321f4ab676a59250d08fce5b64921897fb07cc +PYTHON_PSYCOPG2_SITE = https://files.pythonhosted.org/packages/c9/5e/dc6acaf46d78979d6b03458b7a1618a68e152a6776fce95daac5e0f0301b PYTHON_PSYCOPG2_SETUP_TYPE = setuptools PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+ PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE diff --git a/package/python-ptyprocess/python-ptyprocess.mk b/package/python-ptyprocess/python-ptyprocess.mk index d077fbb7799..52660195624 100644 --- a/package/python-ptyprocess/python-ptyprocess.mk +++ b/package/python-ptyprocess/python-ptyprocess.mk @@ -9,6 +9,6 @@ PYTHON_PTYPROCESS_SITE = https://files.pythonhosted.org/packages/20/e5/16ff212c1 PYTHON_PTYPROCESS_SOURCE = ptyprocess-$(PYTHON_PTYPROCESS_VERSION).tar.gz PYTHON_PTYPROCESS_LICENSE = ISC PYTHON_PTYPROCESS_LICENSE_FILES = LICENSE -PYTHON_PTYPROCESS_SETUP_TYPE = distutils +PYTHON_PTYPROCESS_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pudb/Config.in b/package/python-pudb/Config.in index 06f1b20c263..2bdd6891218 100644 --- a/package/python-pudb/Config.in +++ b/package/python-pudb/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_PYTHON_PUDB bool "python-pudb" + select BR2_PACKAGE_PYTHON_PACKAGING # runtime select BR2_PACKAGE_PYTHON_URWID # runtime + select BR2_PACKAGE_PYTHON_URWID_READLINE # runtime select BR2_PACKAGE_PYTHON_JEDI # runtime select BR2_PACKAGE_PYTHON_PYGMENTS # runtime - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON3_CURSES # runtime help A full-screen, console-based Python debugger. diff --git a/package/python-pudb/python-pudb.hash b/package/python-pudb/python-pudb.hash index 1ae15ad8a66..08afc67b764 100644 --- a/package/python-pudb/python-pudb.hash +++ b/package/python-pudb/python-pudb.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pudb/json -md5 cda1c28dc52318162e2b131280f09960 pudb-2022.1.3.tar.gz -sha256 58e83ada9e19ffe92c1fdc78ae5458ef91aeb892a5b8f0e7379e6fa61e0e664a pudb-2022.1.3.tar.gz +md5 81178e875fd7e15237267c3055e447a3 pudb-2023.1.tar.gz +sha256 15df3c603aba87a918a666ef8e1bf63f764238cc3589db3c5b7a5f1b01ea2f03 pudb-2023.1.tar.gz # Locally computed sha256 checksums sha256 a95343fffff49cde3d9bf33cf6bb71cb3bf0ed83f47d98a7ba04b175d29c79ab LICENSE diff --git a/package/python-pudb/python-pudb.mk b/package/python-pudb/python-pudb.mk index a357c34c446..ff13efb7737 100644 --- a/package/python-pudb/python-pudb.mk +++ b/package/python-pudb/python-pudb.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PUDB_VERSION = 2022.1.3 +PYTHON_PUDB_VERSION = 2023.1 PYTHON_PUDB_SOURCE = pudb-$(PYTHON_PUDB_VERSION).tar.gz -PYTHON_PUDB_SITE = https://files.pythonhosted.org/packages/85/a5/f1fd378f56bd8168b5921fd09d4b84fd8101a90e81402a509796caea2094 +PYTHON_PUDB_SITE = https://files.pythonhosted.org/packages/96/d3/a471fe68788178f2a5024031a153673df72b9287530f32b0cd469d64a68a PYTHON_PUDB_SETUP_TYPE = setuptools PYTHON_PUDB_LICENSE = MIT PYTHON_PUDB_LICENSE_FILES = LICENSE diff --git a/package/python-pure-eval/Config.in b/package/python-pure-eval/Config.in new file mode 100644 index 00000000000..f6ccd6056dc --- /dev/null +++ b/package/python-pure-eval/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PURE_EVAL + bool "python-pure-eval" + help + Safely evaluate AST nodes without side effects. + + http://github.com/alexmojaki/pure_eval diff --git a/package/python-pure-eval/python-pure-eval.hash b/package/python-pure-eval/python-pure-eval.hash new file mode 100644 index 00000000000..5bf5dcb749c --- /dev/null +++ b/package/python-pure-eval/python-pure-eval.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pure_eval/json +md5 212fd27ca2c58d9effddec69748d738a pure_eval-0.2.2.tar.gz +sha256 2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3 pure_eval-0.2.2.tar.gz +# Locally computed sha256 checksums +sha256 a476a2cb0ef4c41450340a577a28b91ac4c7f669136b2ee148047fabd5fc4181 LICENSE.txt diff --git a/package/python-pure-eval/python-pure-eval.mk b/package/python-pure-eval/python-pure-eval.mk new file mode 100644 index 00000000000..f139ea270fc --- /dev/null +++ b/package/python-pure-eval/python-pure-eval.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-pure-eval +# +################################################################################ + +PYTHON_PURE_EVAL_VERSION = 0.2.2 +PYTHON_PURE_EVAL_SOURCE = pure_eval-$(PYTHON_PURE_EVAL_VERSION).tar.gz +PYTHON_PURE_EVAL_SITE = https://files.pythonhosted.org/packages/97/5a/0bc937c25d3ce4e0a74335222aee05455d6afa2888032185f8ab50cdf6fd +PYTHON_PURE_EVAL_SETUP_TYPE = setuptools +PYTHON_PURE_EVAL_LICENSE = MIT +PYTHON_PURE_EVAL_LICENSE_FILES = LICENSE.txt + +PYTHON_PURE_EVAL_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-pyaes/python-pyaes.mk b/package/python-pyaes/python-pyaes.mk index a738d3c76a0..77ec100058e 100644 --- a/package/python-pyaes/python-pyaes.mk +++ b/package/python-pyaes/python-pyaes.mk @@ -7,7 +7,7 @@ PYTHON_PYAES_VERSION = 1.6.1 PYTHON_PYAES_SOURCE = pyaes-$(PYTHON_PYAES_VERSION).tar.gz PYTHON_PYAES_SITE = https://files.pythonhosted.org/packages/44/66/2c17bae31c906613795711fc78045c285048168919ace2220daa372c7d72 -PYTHON_PYAES_SETUP_TYPE = distutils +PYTHON_PYAES_SETUP_TYPE = setuptools PYTHON_PYAES_LICENSE = MIT PYTHON_PYAES_LICENSE_FILES = LICENSE.txt diff --git a/package/python-pyalsa/python-pyalsa.mk b/package/python-pyalsa/python-pyalsa.mk index cc5e2ec9a05..1661fe47b49 100644 --- a/package/python-pyalsa/python-pyalsa.mk +++ b/package/python-pyalsa/python-pyalsa.mk @@ -7,7 +7,7 @@ PYTHON_PYALSA_VERSION = 1.2.7 PYTHON_PYALSA_SOURCE = pyalsa-$(PYTHON_PYALSA_VERSION).tar.bz2 PYTHON_PYALSA_SITE = https://www.alsa-project.org/files/pub/pyalsa -PYTHON_PYALSA_SETUP_TYPE = distutils +PYTHON_PYALSA_SETUP_TYPE = setuptools PYTHON_PYALSA_LICENSE = LGPL-2.1+ PYTHON_PYALSA_DEPENDENCIES = alsa-lib diff --git a/package/python-pyasn1-modules/Config.in b/package/python-pyasn1-modules/Config.in index 6aff4d935bd..cb486d33aec 100644 --- a/package/python-pyasn1-modules/Config.in +++ b/package/python-pyasn1-modules/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_PYASN1_MODULES help A collection of ASN.1-based protocols modules. - https://github.com/etingof/pyasn1-modules + https://github.com/pyasn1/pyasn1-modules diff --git a/package/python-pyasn1-modules/python-pyasn1-modules.hash b/package/python-pyasn1-modules/python-pyasn1-modules.hash index 2305596585d..6f4bb6faf08 100644 --- a/package/python-pyasn1-modules/python-pyasn1-modules.hash +++ b/package/python-pyasn1-modules/python-pyasn1-modules.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyasn1-modules/json -md5 107e1ece7d0a41d782f69f8a95a4d9bc pyasn1-modules-0.2.8.tar.gz -sha256 905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e pyasn1-modules-0.2.8.tar.gz +md5 94ee572b06ae09f1903b11333575b091 pyasn1_modules-0.3.0.tar.gz +sha256 5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c pyasn1_modules-0.3.0.tar.gz # Locally computed sha256 checksums -sha256 22c5cc6922ab5d69fba32d8c5ee4cdd14981508cb53afc0ebd85593847fd95a5 LICENSE.txt +sha256 2aad5fc00f705c4a1addb83eed10a6a75d286a3779f0cf8519d87e62bc4735fd LICENSE.txt diff --git a/package/python-pyasn1-modules/python-pyasn1-modules.mk b/package/python-pyasn1-modules/python-pyasn1-modules.mk index 9933a63aa71..41987028fc0 100644 --- a/package/python-pyasn1-modules/python-pyasn1-modules.mk +++ b/package/python-pyasn1-modules/python-pyasn1-modules.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYASN1_MODULES_VERSION = 0.2.8 -PYTHON_PYASN1_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN1_MODULES_VERSION).tar.gz -PYTHON_PYASN1_MODULES_SITE = https://files.pythonhosted.org/packages/88/87/72eb9ccf8a58021c542de2588a867dbefc7556e14b2866d1e40e9e2b587e +PYTHON_PYASN1_MODULES_VERSION = 0.3.0 +PYTHON_PYASN1_MODULES_SOURCE = pyasn1_modules-$(PYTHON_PYASN1_MODULES_VERSION).tar.gz +PYTHON_PYASN1_MODULES_SITE = https://files.pythonhosted.org/packages/3b/e4/7dec823b1b5603c5b3c51e942d5d9e65efd6ff946e713a325ed4146d070f PYTHON_PYASN1_MODULES_SETUP_TYPE = setuptools PYTHON_PYASN1_MODULES_LICENSE = BSD-2-Clause PYTHON_PYASN1_MODULES_LICENSE_FILES = LICENSE.txt diff --git a/package/python-pybind/python-pybind.hash b/package/python-pybind/python-pybind.hash index 530cbf64afb..9d2f43ce0de 100644 --- a/package/python-pybind/python-pybind.hash +++ b/package/python-pybind/python-pybind.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad python-pybind-2.10.1.tar.gz +sha256 d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c python-pybind-2.11.1.tar.gz # License files, locally calculated sha256 83965b843b98f670d3a85bd041ed4b372c8ec50d7b4a5995a83ac697ba675dcb LICENSE diff --git a/package/python-pybind/python-pybind.mk b/package/python-pybind/python-pybind.mk index e89d77147e1..5a5d1203218 100644 --- a/package/python-pybind/python-pybind.mk +++ b/package/python-pybind/python-pybind.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_PYBIND_VERSION = 2.10.1 +PYTHON_PYBIND_VERSION = 2.11.1 PYTHON_PYBIND_SITE = $(call github,pybind,pybind11,v$(PYTHON_PYBIND_VERSION)) PYTHON_PYBIND_LICENSE = BSD-3-Clause PYTHON_PYBIND_LICENSE_FILES = LICENSE diff --git a/package/python-pycairo/python-pycairo.hash b/package/python-pycairo/python-pycairo.hash index 98bb7f2802b..f44afe6fc43 100644 --- a/package/python-pycairo/python-pycairo.hash +++ b/package/python-pycairo/python-pycairo.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pycairo/json -md5 7a3729d21659098e1b9a411b62e88966 pycairo-1.23.0.tar.gz -sha256 9b61ac818723adc04367301317eb2e814a83522f07bbd1f409af0dada463c44c pycairo-1.23.0.tar.gz +md5 7669cdc70111d01ba6faecd65d8cdbf6 pycairo-1.25.1.tar.gz +sha256 7e2be4fbc3b4536f16db7a11982cbf713e75069a4d73d44fe5a49b68423f5c0c pycairo-1.25.1.tar.gz # Locally computed sha256 checksums sha256 360b9a526d47c51a7cab7f1ec49ca5893050562d639b742d588934ff84823a72 COPYING sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING-LGPL-2.1 diff --git a/package/python-pycairo/python-pycairo.mk b/package/python-pycairo/python-pycairo.mk index f9933df1878..eb60293ff8d 100644 --- a/package/python-pycairo/python-pycairo.mk +++ b/package/python-pycairo/python-pycairo.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCAIRO_VERSION = 1.23.0 +PYTHON_PYCAIRO_VERSION = 1.25.1 PYTHON_PYCAIRO_SOURCE = pycairo-$(PYTHON_PYCAIRO_VERSION).tar.gz -PYTHON_PYCAIRO_SITE = https://files.pythonhosted.org/packages/69/ca/9e9fa2e8be0876a9bbf046a1be7ee33e61d4fdfbd1fd25c76c1bdfddf8c4 +PYTHON_PYCAIRO_SITE = https://files.pythonhosted.org/packages/c7/7c/de4d40316ee563e4f15a0f05f28c8458833fbef80c4588b9dd51f39b78ee PYTHON_PYCAIRO_SETUP_TYPE = setuptools PYTHON_PYCAIRO_DEPENDENCIES = cairo PYTHON_PYCAIRO_LICENSE = LGPL-2.1 or MPL-1.1 diff --git a/package/python-pycares/python-pycares.hash b/package/python-pycares/python-pycares.hash index 7cdd93dd93a..fa24c1ec66a 100644 --- a/package/python-pycares/python-pycares.hash +++ b/package/python-pycares/python-pycares.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pycares/json -md5 d11b196cebb45a38caa56e850f4a60d9 pycares-4.3.0.tar.gz -sha256 c542696f6dac978e9d99192384745a65f80a7d9450501151e4a7563e06010d45 pycares-4.3.0.tar.gz +md5 ff4e54e91e32484b189b1e28758ec8c7 pycares-4.4.0.tar.gz +sha256 f47579d508f2f56eddd16ce72045782ad3b1b3b678098699e2b6a1b30733e1c2 pycares-4.4.0.tar.gz # Locally computed sha256 checksums sha256 427bb3a5372024a26e2c290b24382512bcc7ca123431c4dd178dd613beea7eee LICENSE diff --git a/package/python-pycares/python-pycares.mk b/package/python-pycares/python-pycares.mk index b1c7dcef506..fe6916445dd 100644 --- a/package/python-pycares/python-pycares.mk +++ b/package/python-pycares/python-pycares.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCARES_VERSION = 4.3.0 +PYTHON_PYCARES_VERSION = 4.4.0 PYTHON_PYCARES_SOURCE = pycares-$(PYTHON_PYCARES_VERSION).tar.gz -PYTHON_PYCARES_SITE = https://files.pythonhosted.org/packages/01/50/e3015e6e03a3cf64113f509e8b86b71af37169b59ccedfcb182f3d031329 +PYTHON_PYCARES_SITE = https://files.pythonhosted.org/packages/1b/8f/daf60bbc06f4a3cd1cfb0ab807057151287df6f5c78f2e0d298acc9193ac PYTHON_PYCARES_SETUP_TYPE = setuptools PYTHON_PYCARES_LICENSE = MIT PYTHON_PYCARES_LICENSE_FILES = LICENSE diff --git a/package/python-pycrate/Config.in b/package/python-pycrate/Config.in new file mode 100644 index 00000000000..bbd68739387 --- /dev/null +++ b/package/python-pycrate/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYCRATE + bool "python-pycrate" + help + A software suite to handle various data and protocol + formats. + + https://github.com/P1sec/pycrate/ diff --git a/package/python-pycrate/python-pycrate.hash b/package/python-pycrate/python-pycrate.hash new file mode 100644 index 00000000000..94ec99b7389 --- /dev/null +++ b/package/python-pycrate/python-pycrate.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pycrate/json +md5 bd21fa697ecff7ad93bec4943230d281 pycrate-0.7.0.tar.gz +sha256 c83232f522b5bbc3b3eeaca2cf38ee63cd3c25d0c15f3ba221e6dafa89b9a763 pycrate-0.7.0.tar.gz +# Locally computed sha256 checksums +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 license.txt diff --git a/package/python-pycrate/python-pycrate.mk b/package/python-pycrate/python-pycrate.mk new file mode 100644 index 00000000000..1645eaf52cf --- /dev/null +++ b/package/python-pycrate/python-pycrate.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# python-pycrate +# +################################################################################ + +PYTHON_PYCRATE_VERSION = 0.7.0 +PYTHON_PYCRATE_SOURCE = pycrate-$(PYTHON_PYCRATE_VERSION).tar.gz +PYTHON_PYCRATE_SITE = https://files.pythonhosted.org/packages/a6/a5/aab94e6bb8b3281cc450dde3961b417bd56abde2401955a9a4904df44c68 +PYTHON_PYCRATE_SETUP_TYPE = setuptools +PYTHON_PYCRATE_EXTRA_DOWNLOADS = https://raw.githubusercontent.com/P1sec/pycrate/$(PYTHON_PYCRATE_VERSION)/license.txt +PYTHON_PYCRATE_LICENSE = LGPL-2.1+ +PYTHON_PYCRATE_LICENSE_FILES = license.txt + +define PYTHON_PYCRATE_ADD_LICENSE_FILE + cp $(PYTHON_PYCRATE_DL_DIR)/license.txt $(@D) +endef +PYTHON_PYCRATE_POST_EXTRACT_HOOKS += PYTHON_PYCRATE_ADD_LICENSE_FILE + +$(eval $(python-package)) diff --git a/package/python-pycryptodomex/python-pycryptodomex.hash b/package/python-pycryptodomex/python-pycryptodomex.hash index eb011dddb8d..10447fd8002 100644 --- a/package/python-pycryptodomex/python-pycryptodomex.hash +++ b/package/python-pycryptodomex/python-pycryptodomex.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pycryptodomex/json -md5 9d27f03c036c89afd3d66970bb49cd06 pycryptodomex-3.16.0.tar.gz -sha256 e9ba9d8ed638733c9e95664470b71d624a6def149e2db6cc52c1aca5a6a2df1d pycryptodomex-3.16.0.tar.gz +md5 db8f8d516e0229f503dd111ac4de177f pycryptodomex-3.19.1.tar.gz +sha256 0b7154aff2272962355f8941fd514104a88cb29db2d8f43a29af900d6398eb1c pycryptodomex-3.19.1.tar.gz # Locally computed sha256 checksums sha256 4e04660d77c1c64e89d79537919fb8240fa21484a7e3db29f358b2c7f84ea073 LICENSE.rst sha256 8e563c767164faa0831a333b57d23d4311cf566eb1b15d93250f4606be4eb549 Doc/LEGAL/COPYRIGHT.pycrypto diff --git a/package/python-pycryptodomex/python-pycryptodomex.mk b/package/python-pycryptodomex/python-pycryptodomex.mk index b566bdd066d..d969e600a32 100644 --- a/package/python-pycryptodomex/python-pycryptodomex.mk +++ b/package/python-pycryptodomex/python-pycryptodomex.mk @@ -4,14 +4,19 @@ # ################################################################################ -PYTHON_PYCRYPTODOMEX_VERSION = 3.16.0 +PYTHON_PYCRYPTODOMEX_VERSION = 3.19.1 PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz -PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/5d/22/575c7dd7c86843e07a791cfa2143e7292d6b380f5a7cce966a49b9d6c9f4 +PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/3f/13/84f2aea851d75e12e7f32ccc11a00f1defc3d285b4ed710e5d049f31c5a6 PYTHON_PYCRYPTODOMEX_SETUP_TYPE = setuptools PYTHON_PYCRYPTODOMEX_LICENSE = \ BSD-2-Clause, \ Public Domain (pycrypto original code) PYTHON_PYCRYPTODOMEX_LICENSE_FILES = LICENSE.rst Doc/LEGAL/COPYRIGHT.pycrypto +PYTHON_PYCRYPTODOMEX_CPE_ID_VENDOR = pycryptodome +PYTHON_PYCRYPTODOMEX_CPE_ID_PRODUCT = pycryptodomex + +PYTHON_PYCRYPTODOMEX_ENV = CFLAGS="$(TARGET_CFLAGS) -std=c99" +HOST_PYTHON_PYCRYPTODOMEX_ENV = CFLAGS="$(HOST_CFLAGS) -std=c99" $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-pycups/python-pycups.mk b/package/python-pycups/python-pycups.mk index 41da3641a00..bf61400afe9 100644 --- a/package/python-pycups/python-pycups.mk +++ b/package/python-pycups/python-pycups.mk @@ -7,7 +7,7 @@ PYTHON_PYCUPS_VERSION = 2.0.1 PYTHON_PYCUPS_SOURCE = pycups-$(PYTHON_PYCUPS_VERSION).tar.gz PYTHON_PYCUPS_SITE = https://files.pythonhosted.org/packages/0c/bb/82546806a86dc16f5eeb76f62ffdc42cce3d43aacd4e25a8b5300eec0263 -PYTHON_PYCUPS_SETUP_TYPE = distutils +PYTHON_PYCUPS_SETUP_TYPE = setuptools PYTHON_PYCUPS_LICENSE = GPL-2.0+ PYTHON_PYCUPS_LICENSE_FILES = COPYING PYTHON_PYCUPS_DEPENDENCIES = cups diff --git a/package/python-pydal/Config.in b/package/python-pydal/Config.in index f1c97f91a0c..204b47a09ab 100644 --- a/package/python-pydal/Config.in +++ b/package/python-pydal/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_PYTHON_PYDAL - bool python-pydal + bool "python-pydal" help pyDAL is a pure Python Database Abstraction Layer. It dynamically generates the SQL in real time using the diff --git a/package/python-pydal/python-pydal.hash b/package/python-pydal/python-pydal.hash index c55a17a5457..9f2ab55508d 100644 --- a/package/python-pydal/python-pydal.hash +++ b/package/python-pydal/python-pydal.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pydal/json -md5 eeaf44cdcdb6bd2040713c710a4a04be pydal-20221110.1.tar.gz -sha256 7c3e891c70f8d8918e36276f210a1959bb7badf3b276f47191986ffcf5b6a390 pydal-20221110.1.tar.gz +md5 b2072b7b000223890b56830ca1ab3616 pydal-20231114.3.tar.gz +sha256 c42d16fca9e3bb6d399aefb2434c0e70862ee13c75437852f421920432ee5fb1 pydal-20231114.3.tar.gz # Locally computed sha256 checksums sha256 1f711e93f1e0c2eec576e2e60597dc2ed6f0a661e4749c6b8a39f0d4a72be468 LICENSE.txt diff --git a/package/python-pydal/python-pydal.mk b/package/python-pydal/python-pydal.mk index f55c7fc2c52..245383f2446 100644 --- a/package/python-pydal/python-pydal.mk +++ b/package/python-pydal/python-pydal.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 20221110.1 +PYTHON_PYDAL_VERSION = 20231114.3 PYTHON_PYDAL_SOURCE = pydal-$(PYTHON_PYDAL_VERSION).tar.gz -PYTHON_PYDAL_SITE = https://files.pythonhosted.org/packages/73/83/b904c464b6ab060e12b3f406f1fab7deb97bcd9d2021d8c87325e6225c2d +PYTHON_PYDAL_SITE = https://files.pythonhosted.org/packages/0b/3b/86302e165af07bc3d9225aea6ed8f52386270220e4aac1aad0101a48aac1 PYTHON_PYDAL_LICENSE = BSD-3-Clause PYTHON_PYDAL_LICENSE_FILES = LICENSE.txt PYTHON_PYDAL_SETUP_TYPE = setuptools diff --git a/package/python-pydantic-core/Config.in b/package/python-pydantic-core/Config.in new file mode 100644 index 00000000000..3eeb1844a21 --- /dev/null +++ b/package/python-pydantic-core/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_PYDANTIC_CORE + bool "python-pydantic-core" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime + help + Core validation logic for pydantic written in rust. + + https://github.com/pydantic/pydantic-core diff --git a/package/python-pydantic-core/python-pydantic-core.hash b/package/python-pydantic-core/python-pydantic-core.hash new file mode 100644 index 00000000000..817595ba8c8 --- /dev/null +++ b/package/python-pydantic-core/python-pydantic-core.hash @@ -0,0 +1,4 @@ +# Locally calculated after vendoring +sha256 032fff43cdec54ac579bbdda1a09163e89634c729c1a8163340601a5dfc55eb3 pydantic_core-2.14.6.tar.gz +# Locally computed sha256 checksums +sha256 2afdd30d54b4d62b6f488a6bcc1546e84ec5061f13f4209c03d012348783795a LICENSE diff --git a/package/python-pydantic-core/python-pydantic-core.mk b/package/python-pydantic-core/python-pydantic-core.mk new file mode 100644 index 00000000000..8b6e0053e41 --- /dev/null +++ b/package/python-pydantic-core/python-pydantic-core.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-pydantic-core +# +################################################################################ + +PYTHON_PYDANTIC_CORE_VERSION = 2.14.6 +PYTHON_PYDANTIC_CORE_SOURCE = pydantic_core-$(PYTHON_PYDANTIC_CORE_VERSION).tar.gz +PYTHON_PYDANTIC_CORE_SITE = https://files.pythonhosted.org/packages/b2/7d/8304d8471cfe4288f95a3065ebda56f9790d087edc356ad5bd83c89e2d79 +PYTHON_PYDANTIC_CORE_SETUP_TYPE = maturin +PYTHON_PYDANTIC_CORE_LICENSE = MIT +PYTHON_PYDANTIC_CORE_LICENSE_FILES = LICENSE +PYTHON_PYDANTIC_CORE_DEPENDENCIES = host-python-typing-extensions + +$(eval $(python-package)) diff --git a/package/python-pydantic/Config.in b/package/python-pydantic/Config.in index 41ec43adf4f..e9cd2e67803 100644 --- a/package/python-pydantic/Config.in +++ b/package/python-pydantic/Config.in @@ -1,8 +1,11 @@ config BR2_PACKAGE_PYTHON_PYDANTIC bool "python-pydantic" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-pydantic-core + select BR2_PACKAGE_PYTHON_ANNOTATED_TYPES # runtime + select BR2_PACKAGE_PYTHON_PYDANTIC_CORE # runtime select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help Data validation and settings management using python 3.6 type hinting. - https://github.com/samuelcolvin/pydantic + https://github.com/pydantic/pydantic diff --git a/package/python-pydantic/python-pydantic.hash b/package/python-pydantic/python-pydantic.hash index a5eb025fcbf..75ecb230532 100644 --- a/package/python-pydantic/python-pydantic.hash +++ b/package/python-pydantic/python-pydantic.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pydantic/json -md5 9691f29e97c1280ab56b7d0a2dade9c1 pydantic-1.10.2.tar.gz -sha256 91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410 pydantic-1.10.2.tar.gz +md5 4651fb3374d2a0d74442c2cc780770d0 pydantic-2.5.3.tar.gz +sha256 b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a pydantic-2.5.3.tar.gz # Locally computed sha256 checksums -sha256 9e3946690ac88b6b73e8f001a0586af13568be8852fd514e4393f39761764387 LICENSE +sha256 a9e186f3ca16b5eef84318e7a701721351a00cb7b8ae3a4394b67b49e3529ef3 LICENSE diff --git a/package/python-pydantic/python-pydantic.mk b/package/python-pydantic/python-pydantic.mk index 04014214e19..0cce5a153fb 100644 --- a/package/python-pydantic/python-pydantic.mk +++ b/package/python-pydantic/python-pydantic.mk @@ -4,11 +4,16 @@ # ################################################################################ -PYTHON_PYDANTIC_VERSION = 1.10.2 +PYTHON_PYDANTIC_VERSION = 2.5.3 PYTHON_PYDANTIC_SOURCE = pydantic-$(PYTHON_PYDANTIC_VERSION).tar.gz -PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/7d/7d/58dd62f792b002fa28cce4e83cb90f4359809e6d12db86eedf26a752895c -PYTHON_PYDANTIC_SETUP_TYPE = setuptools +PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/aa/3f/56142232152145ecbee663d70a19a45d078180633321efb3847d2562b490 +PYTHON_PYDANTIC_SETUP_TYPE = pep517 PYTHON_PYDANTIC_LICENSE = MIT PYTHON_PYDANTIC_LICENSE_FILES = LICENSE +PYTHON_PYDANTIC_CPE_ID_VENDOR = pydantic_project +PYTHON_PYDANTIC_CPE_ID_PRODUCT = pydantic +PYTHON_PYDANTIC_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-fancy-pypi-readme $(eval $(python-package)) diff --git a/package/python-pydyf/python-pydyf.hash b/package/python-pydyf/python-pydyf.hash index 1b37e90e731..b2dac045169 100644 --- a/package/python-pydyf/python-pydyf.hash +++ b/package/python-pydyf/python-pydyf.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pydyf/json -md5 6b2a02162a3f4be9464d7b4043953d33 pydyf-0.5.0.tar.gz -sha256 51e751ae1504037c1fc1f4815119137b011802cd5f6c3539db066c455b14a7e1 pydyf-0.5.0.tar.gz +md5 a3650927d9a84da1dc0aa1d268f21376 pydyf-0.8.0.tar.gz +sha256 b22b1ef016141b54941ad66ed4e036a7bdff39c0b360993b283875c3f854dd9a pydyf-0.8.0.tar.gz # Locally computed sha256 checksums sha256 75461e438973e1ba0f93a7de9e3fe5b2f49e1ab49251d392878a9cdae8ce7e47 LICENSE diff --git a/package/python-pydyf/python-pydyf.mk b/package/python-pydyf/python-pydyf.mk index 6327a3efe25..e9b7d229c75 100644 --- a/package/python-pydyf/python-pydyf.mk +++ b/package/python-pydyf/python-pydyf.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYDYF_VERSION = 0.5.0 +PYTHON_PYDYF_VERSION = 0.8.0 PYTHON_PYDYF_SOURCE = pydyf-$(PYTHON_PYDYF_VERSION).tar.gz -PYTHON_PYDYF_SITE = https://files.pythonhosted.org/packages/f4/4c/6d31b36a46714d8206b8ca84b8dc9aaf42093415b1f50471538552abe501 +PYTHON_PYDYF_SITE = https://files.pythonhosted.org/packages/18/dc/b607bbc7c15327c5d5ec25681a3707c847906134925d21a26ec6e7416a4a PYTHON_PYDYF_SETUP_TYPE = flit PYTHON_PYDYF_LICENSE = BSD-3-Clause PYTHON_PYDYF_LICENSE_FILES = LICENSE diff --git a/package/python-pyelftools/python-pyelftools.hash b/package/python-pyelftools/python-pyelftools.hash index 7cffe2d6465..70af8104b96 100644 --- a/package/python-pyelftools/python-pyelftools.hash +++ b/package/python-pyelftools/python-pyelftools.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyelftools/json -md5 2afc97cd239c0dea0cca97d00d3dcb42 pyelftools-0.29.tar.gz -sha256 ec761596aafa16e282a31de188737e5485552469ac63b60cfcccf22263fd24ff pyelftools-0.29.tar.gz +md5 2b4f82fd30436834b9357a5e74b8ceb7 pyelftools-0.30.tar.gz +sha256 2fc92b0d534f8b081f58c7c370967379123d8e00984deb53c209364efd575b40 pyelftools-0.30.tar.gz # Locally computed sha256 checksums sha256 ae18bf4cb82f92af7547259177bc28bc48e4fc732518bcedfe690226288d3445 LICENSE diff --git a/package/python-pyelftools/python-pyelftools.mk b/package/python-pyelftools/python-pyelftools.mk index 7566f24895e..0e52c0b885b 100644 --- a/package/python-pyelftools/python-pyelftools.mk +++ b/package/python-pyelftools/python-pyelftools.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYELFTOOLS_VERSION = 0.29 +PYTHON_PYELFTOOLS_VERSION = 0.30 PYTHON_PYELFTOOLS_SOURCE = pyelftools-$(PYTHON_PYELFTOOLS_VERSION).tar.gz -PYTHON_PYELFTOOLS_SITE = https://files.pythonhosted.org/packages/0e/35/e76da824595452a5ad07f289ea1737ca0971fc6cc7b6ee9464279be06b5e +PYTHON_PYELFTOOLS_SITE = https://files.pythonhosted.org/packages/84/05/fd41cd647de044d1ffec90ce5aaae935126ac217f8ecb302186655284fc8 PYTHON_PYELFTOOLS_LICENSE = Public domain PYTHON_PYELFTOOLS_LICENSE_FILES = LICENSE PYTHON_PYELFTOOLS_SETUP_TYPE = setuptools diff --git a/package/python-pyftpdlib/python-pyftpdlib.hash b/package/python-pyftpdlib/python-pyftpdlib.hash index 46b5ae63364..7b5dabdfdc6 100644 --- a/package/python-pyftpdlib/python-pyftpdlib.hash +++ b/package/python-pyftpdlib/python-pyftpdlib.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyftpdlib/json -md5 6d9539aea866d4f959d86ae001cdddf7 pyftpdlib-1.5.7.tar.gz -sha256 7ea3ce4137db8209af1f6b9ea020590f462c63ed7c7a1240bd596e4d3a7b656e pyftpdlib-1.5.7.tar.gz +md5 cb32bca52ba0d4850a92513154c253e1 pyftpdlib-1.5.9.tar.gz +sha256 323d4c42f1406aedb4df18faf680f64f32c080ff66f6c26090ba592f5bfc4a0f pyftpdlib-1.5.9.tar.gz # Locally computed sha256 checksums sha256 67a832551570a5ac5f7901eaa5ece4b9491fda7f2d8c93957c3bbc68a5a76d88 LICENSE diff --git a/package/python-pyftpdlib/python-pyftpdlib.mk b/package/python-pyftpdlib/python-pyftpdlib.mk index bd1ada81251..da101083b69 100644 --- a/package/python-pyftpdlib/python-pyftpdlib.mk +++ b/package/python-pyftpdlib/python-pyftpdlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYFTPDLIB_VERSION = 1.5.7 +PYTHON_PYFTPDLIB_VERSION = 1.5.9 PYTHON_PYFTPDLIB_SOURCE = pyftpdlib-$(PYTHON_PYFTPDLIB_VERSION).tar.gz -PYTHON_PYFTPDLIB_SITE = https://files.pythonhosted.org/packages/2f/bc/f03a15bf807698bbecdcf316041e3d79b25a40fa7b6e071e17702ff7b9d4 +PYTHON_PYFTPDLIB_SITE = https://files.pythonhosted.org/packages/47/9f/5dc055ab2db58db561f72b1b2f18b1dafc025f2ac5dd842c40259c17195e PYTHON_PYFTPDLIB_SETUP_TYPE = setuptools PYTHON_PYFTPDLIB_LICENSE = MIT PYTHON_PYFTPDLIB_LICENSE_FILES = LICENSE diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in deleted file mode 100644 index 57eb0207425..00000000000 --- a/package/python-pygame/Config.in +++ /dev/null @@ -1,50 +0,0 @@ -config BR2_PACKAGE_PYTHON_PYGAME - bool "python-pygame" - select BR2_PACKAGE_SDL - help - Pygame is a cross-platfrom library designed to make it easy - to write multimedia software, such as games, in - Python. Pygame requires the Python language and SDL - multimedia library. - It can also make use of several other popular libraries. - - http://www.pygame.org/ - -if BR2_PACKAGE_PYTHON_PYGAME -config BR2_PACKAGE_PYTHON_PYGAME_IMAGE - bool "pygame.image" - select BR2_PACKAGE_SDL_IMAGE - select BR2_PACKAGE_SDL_IMAGE_PNG - select BR2_PACKAGE_SDL_IMAGE_JPEG - help - pygame module for loading, saving and transfering images. - Will autoselect sdl_image with png and jpeg support. - -config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES - bool "pygame.examples" - help - Include examples. - Selecting this option adds about 1.5 MB to the target file - system. - -config BR2_PACKAGE_PYTHON_PYGAME_FONT - bool "pygame.font" - select BR2_PACKAGE_SDL_TTF - help - pygame module for loading and rendering fonts. - Will autoselect sdl_ttf. - -config BR2_PACKAGE_PYTHON_PYGAME_MIXER - bool "pygame.mixer" - select BR2_PACKAGE_SDL_MIXER - help - pygame module for loading and playing sounds. - Will autoselect sdl_mixer. - -config BR2_PACKAGE_PYTHON_PYGAME_SCRAP - bool "pygame.scrap" - depends on BR2_PACKAGE_SDL_X11 - help - pygame module for clipboard support (X11 needed) - -endif diff --git a/package/python-pygame/python-pygame.hash b/package/python-pygame/python-pygame.hash deleted file mode 100644 index c0496515e27..00000000000 --- a/package/python-pygame/python-pygame.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed -sha256 f95a7dd68ea294d415e36e068d2f533c5a01c67773452d14a535c5c7455681fe pygame-d61ea8eabd56.tar.gz -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 LGPL diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk deleted file mode 100644 index 600dd9e7436..00000000000 --- a/package/python-pygame/python-pygame.mk +++ /dev/null @@ -1,111 +0,0 @@ -################################################################################ -# -# python-pygame -# -################################################################################ - -# stable 1.9.1 release requires V4L which has been wiped out of recent Linux -# kernels, so use latest mercurial revision until next stable release is out. -PYTHON_PYGAME_VERSION = d61ea8eabd56 -PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz -PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame -PYTHON_PYGAME_SITE_METHOD = hg -PYTHON_PYGAME_SETUP_TYPE = distutils -PYTHON_PYGAME_LICENSE = LGPL-2.1+ -PYTHON_PYGAME_LICENSE_FILES = LGPL - -ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y) -PYTHON_PYGAME_OPT_DEPENDS += sdl_image -endif - -ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y) -PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf -endif - -ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y) -PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer -endif - -PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS) - -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y) -define PYTHON_PYGAME_UNCONFIGURE_IMAGE - $(SED) 's/^imageext/#imageext/' $(@D)/Setup -endef -endif - -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y) -define PYTHON_PYGAME_UNCONFIGURE_FONT - $(SED) 's/^font/#font/' $(@D)/Setup -endef -endif - -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y) -define PYTHON_PYGAME_UNCONFIGURE_MIXER - $(SED) 's/^mixer/#mixer/g' $(@D)/Setup -endef -endif - -# Both require numpy or numeric python module -define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY - $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup -endef - -define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY - $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup -endef - -# Requires smpeg -define PYTHON_PYGAME_UNCONFIGURE_MOVIE - $(SED) 's/^movie/#movie/' $(@D)/Setup -endef - -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y) -define PYTHON_PYGAME_UNCONFIGURE_SCRAP - $(SED) 's/^scrap/#scrap/' $(@D)/Setup -endef -endif - -define PYTHON_PYGAME_UNCONFIGURE_FREETYPE - $(SED) 's/^_freetype/#_freetype/' $(@D)/Setup -endef - -PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags` -PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs` - -# Pygame needs a Setup file where options should be commented out if -# dependencies are not available -define PYTHON_PYGAME_CONFIGURE_CMDS - cp -f $(@D)/Setup.in $(@D)/Setup - $(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup - $(SED) 's/^pypm/#pypm/' $(@D)/Setup - $(PYTHON_PYGAME_UNCONFIGURE_IMAGE) - $(PYTHON_PYGAME_UNCONFIGURE_FONT) - $(PYTHON_PYGAME_UNCONFIGURE_MIXER) - $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY) - $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY) - $(PYTHON_PYGAME_UNCONFIGURE_MOVIE) - $(PYTHON_PYGAME_UNCONFIGURE_SCRAP) - $(PYTHON_PYGAME_UNCONFIGURE_FREETYPE) -endef - -define PYTHON_PYGAME_REMOVE_DOC - rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs -endef - -PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC - -define PYTHON_PYGAME_REMOVE_TESTS - rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests -endef - -PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS - -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y) -define PYTHON_PYGAME_REMOVE_EXAMPLES - rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pygame/examples -endef -PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES -endif - -$(eval $(python-package)) diff --git a/package/python-pygments/python-pygments.hash b/package/python-pygments/python-pygments.hash index 610acb96d78..a742a05e523 100644 --- a/package/python-pygments/python-pygments.hash +++ b/package/python-pygments/python-pygments.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pygments/json -md5 6ccae578d28d18968b30a4711652fd9a Pygments-2.13.0.tar.gz -sha256 56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1 Pygments-2.13.0.tar.gz +md5 7c059773b0f4808f9402eb0650de6bd4 pygments-2.17.2.tar.gz +sha256 da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367 pygments-2.17.2.tar.gz # Locally computed sha256 checksums sha256 a9d66f1d526df02e29dce73436d34e56e8632f46c275bbdffc70569e882f9f17 LICENSE diff --git a/package/python-pygments/python-pygments.mk b/package/python-pygments/python-pygments.mk index c09350c42b9..e42f613cf11 100644 --- a/package/python-pygments/python-pygments.mk +++ b/package/python-pygments/python-pygments.mk @@ -4,13 +4,14 @@ # ################################################################################ -PYTHON_PYGMENTS_VERSION = 2.13.0 -PYTHON_PYGMENTS_SOURCE = Pygments-$(PYTHON_PYGMENTS_VERSION).tar.gz -PYTHON_PYGMENTS_SITE = https://files.pythonhosted.org/packages/e0/ef/5905cd3642f2337d44143529c941cc3a02e5af16f0f65f81cbef7af452bb +PYTHON_PYGMENTS_VERSION = 2.17.2 +PYTHON_PYGMENTS_SOURCE = pygments-$(PYTHON_PYGMENTS_VERSION).tar.gz +PYTHON_PYGMENTS_SITE = https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565 PYTHON_PYGMENTS_LICENSE = BSD-2-Clause PYTHON_PYGMENTS_LICENSE_FILES = LICENSE PYTHON_PYGMENTS_CPE_ID_VENDOR = pygments PYTHON_PYGMENTS_CPE_ID_PRODUCT = pygments -PYTHON_PYGMENTS_SETUP_TYPE = setuptools +PYTHON_PYGMENTS_SETUP_TYPE = pep517 +PYTHON_PYGMENTS_DEPENDENCIES = host-python-hatchling $(eval $(python-package)) diff --git a/package/python-pyhamcrest/Config.in b/package/python-pyhamcrest/Config.in index c2a4dc06f70..27224cdbf18 100644 --- a/package/python-pyhamcrest/Config.in +++ b/package/python-pyhamcrest/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_PYTHON_PYHAMCREST bool "python-pyhamcrest" - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help Hamcrest framework for matcher objects. diff --git a/package/python-pyhamcrest/python-pyhamcrest.hash b/package/python-pyhamcrest/python-pyhamcrest.hash index 176079e0f50..ba230d3a077 100644 --- a/package/python-pyhamcrest/python-pyhamcrest.hash +++ b/package/python-pyhamcrest/python-pyhamcrest.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyhamcrest/json -md5 c808291b2fca0991d044927884e6d15e pyhamcrest-2.0.4.tar.gz -sha256 b5d9ce6b977696286cf232ce2adf8969b4d0b045975b0936ac9005e84e67e9c1 pyhamcrest-2.0.4.tar.gz +md5 c731efc9bcb93ef4f73d110f5ca8e844 pyhamcrest-2.1.0.tar.gz +sha256 c6acbec0923d0cb7e72c22af1926f3e7c97b8e8d69fc7498eabacaf7c975bd9c pyhamcrest-2.1.0.tar.gz # Locally computed sha256 checksums sha256 71beae6c8151362cfe398cbd350191a1cc52d3d28499839a7830b25f5b50a7fe LICENSE.txt diff --git a/package/python-pyhamcrest/python-pyhamcrest.mk b/package/python-pyhamcrest/python-pyhamcrest.mk index de5295e964c..6631ff1d6a0 100644 --- a/package/python-pyhamcrest/python-pyhamcrest.mk +++ b/package/python-pyhamcrest/python-pyhamcrest.mk @@ -4,11 +4,14 @@ # ################################################################################ -PYTHON_PYHAMCREST_VERSION = 2.0.4 +PYTHON_PYHAMCREST_VERSION = 2.1.0 PYTHON_PYHAMCREST_SOURCE = pyhamcrest-$(PYTHON_PYHAMCREST_VERSION).tar.gz -PYTHON_PYHAMCREST_SITE = https://files.pythonhosted.org/packages/b1/9a/588f086b64ace8d2e9843d8551e9068b2570c3c51b06cb49a107303f8700 -PYTHON_PYHAMCREST_SETUP_TYPE = setuptools +PYTHON_PYHAMCREST_SITE = https://files.pythonhosted.org/packages/16/3f/f286caba4e64391a8dc9200e6de6ce0d07471e3f718248c3276843b7793b +PYTHON_PYHAMCREST_SETUP_TYPE = pep517 PYTHON_PYHAMCREST_LICENSE = BSD-3-Clause PYTHON_PYHAMCREST_LICENSE_FILES = LICENSE.txt +PYTHON_PYHAMCREST_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-vcs $(eval $(python-package)) diff --git a/package/python-pyicu/Config.in b/package/python-pyicu/Config.in index 93eac533877..cbd75c0119c 100644 --- a/package/python-pyicu/Config.in +++ b/package/python-pyicu/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_PYTHON_PYICU help Python extension wrapping the ICU C++ API. - https://github.com/ovalhub/pyicu + https://gitlab.pyicu.org/main/pyicu comment "python-pyicu needs a toolchain w/ C++, gcc >= 4.9, host gcc >= 4.9" depends on !BR2_BINFMT_FLAT diff --git a/package/python-pyicu/python-pyicu.hash b/package/python-pyicu/python-pyicu.hash index 009b2643365..01d4bf7fdfa 100644 --- a/package/python-pyicu/python-pyicu.hash +++ b/package/python-pyicu/python-pyicu.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyicu/json -md5 4090ebb98702338cac3dbed2d72c2fd7 PyICU-2.10.2.tar.gz -sha256 0c3309eea7fab6857507ace62403515b60fe096cbfb4f90d14f55ff75c5441c1 PyICU-2.10.2.tar.gz +md5 a4411ff1ed8a09e3e9c1d0d02dc89ad8 PyICU-2.12.tar.gz +sha256 bd7ab5efa93ad692e6daa29cd249364e521218329221726a113ca3cb281c8611 PyICU-2.12.tar.gz # Locally computed sha256 checksums sha256 00da5bf22f2386c4f6f07c734490e9b818c4dcf70e6ca49f594e9cec636b9c40 LICENSE diff --git a/package/python-pyicu/python-pyicu.mk b/package/python-pyicu/python-pyicu.mk index 512b2f857f0..50962f601eb 100644 --- a/package/python-pyicu/python-pyicu.mk +++ b/package/python-pyicu/python-pyicu.mk @@ -4,12 +4,18 @@ # ################################################################################ -PYTHON_PYICU_VERSION = 2.10.2 +PYTHON_PYICU_VERSION = 2.12 PYTHON_PYICU_SOURCE = PyICU-$(PYTHON_PYICU_VERSION).tar.gz -PYTHON_PYICU_SITE = https://files.pythonhosted.org/packages/64/00/a531e119a97e54601f616f5061879ec2d4bb058d225014f9acf94b2970c3 +PYTHON_PYICU_SITE = https://files.pythonhosted.org/packages/c8/25/38a2104fd48373cfd4eac5104f104ef486f61527e48d627de74794354a2c PYTHON_PYICU_LICENSE = MIT PYTHON_PYICU_LICENSE_FILES = LICENSE PYTHON_PYICU_DEPENDENCIES = icu PYTHON_PYICU_SETUP_TYPE = setuptools +PYTHON_PYICU_ENV += \ + ICU_VERSION="`$(PKG_CONFIG_HOST_BINARY) icu-i18n --modversion`" \ + PYICU_CFLAGS="`$(PKG_CONFIG_HOST_BINARY) icu-i18n --variable=CXXFLAGS`" \ + PYICU_LFLAGS="`$(PKG_CONFIG_HOST_BINARY) icu-i18n --libs-only-L` \ + `$(PKG_CONFIG_HOST_BINARY) icu-i18n --libs-only-l`" + $(eval $(python-package)) diff --git a/package/python-pyjwt/python-pyjwt.hash b/package/python-pyjwt/python-pyjwt.hash index cc64be6ccac..06b91bc14ad 100644 --- a/package/python-pyjwt/python-pyjwt.hash +++ b/package/python-pyjwt/python-pyjwt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/PyJWT/json -md5 aeed6d3a581ae383b2288a2079fa562d PyJWT-2.6.0.tar.gz -sha256 69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd PyJWT-2.6.0.tar.gz +md5 a683445793adb7fcf39ad3e55c5c347c PyJWT-2.8.0.tar.gz +sha256 57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de PyJWT-2.8.0.tar.gz # Locally computed sha256 checksums sha256 797a7a20231d4c433e9f1911db1731d06b5828b98f499819a034f7c0f56f5ce5 LICENSE diff --git a/package/python-pyjwt/python-pyjwt.mk b/package/python-pyjwt/python-pyjwt.mk index fe4eeff38a2..d4cf2269412 100644 --- a/package/python-pyjwt/python-pyjwt.mk +++ b/package/python-pyjwt/python-pyjwt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYJWT_VERSION = 2.6.0 +PYTHON_PYJWT_VERSION = 2.8.0 PYTHON_PYJWT_SOURCE = PyJWT-$(PYTHON_PYJWT_VERSION).tar.gz -PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/75/65/db64904a7f23e12dbf0565b53de01db04d848a497c6c9b87e102f74c9304 +PYTHON_PYJWT_SITE = https://files.pythonhosted.org/packages/30/72/8259b2bccfe4673330cea843ab23f86858a419d8f1493f66d413a76c7e3b PYTHON_PYJWT_SETUP_TYPE = setuptools PYTHON_PYJWT_LICENSE = MIT PYTHON_PYJWT_LICENSE_FILES = LICENSE diff --git a/package/python-pylibfdt/python-pylibfdt.hash b/package/python-pylibfdt/python-pylibfdt.hash index 056fd3a62ec..82527e727ed 100644 --- a/package/python-pylibfdt/python-pylibfdt.hash +++ b/package/python-pylibfdt/python-pylibfdt.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.python.org/pypi/pylibfdt/json -md5 5765c20ac6cde517d5b7218503ab707b pylibfdt-1.6.1.tar.gz -sha256 90c667c5adf44c6ab2f13bdc566598897784c7b781bed91064e7373bd270b778 pylibfdt-1.6.1.tar.gz +md5 353ee3063d0b10e94d165e032897d34e pylibfdt-1.7.0.post1.tar.gz +sha256 2d048f9f8ce9a0527d497f423dea1f1135f9811c05b009cc5d5753771c1f9ba1 pylibfdt-1.7.0.post1.tar.gz # Locally computed sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd BSD-2-Clause sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 GPL diff --git a/package/python-pylibfdt/python-pylibfdt.mk b/package/python-pylibfdt/python-pylibfdt.mk index dc68de83b3e..9591439b014 100644 --- a/package/python-pylibfdt/python-pylibfdt.mk +++ b/package/python-pylibfdt/python-pylibfdt.mk @@ -4,12 +4,14 @@ # ################################################################################ -PYTHON_PYLIBFDT_VERSION = 1.6.1 +PYTHON_PYLIBFDT_VERSION = 1.7.0.post1 PYTHON_PYLIBFDT_SOURCE = pylibfdt-$(PYTHON_PYLIBFDT_VERSION).tar.gz -PYTHON_PYLIBFDT_SITE = https://files.pythonhosted.org/packages/15/3c/40b1d6a1df9dbc9d9ba5700a47ad95ca1e984f18daf25ede0da5f67d0cf7 -PYTHON_PYLIBFDT_SETUP_TYPE = setuptools +PYTHON_PYLIBFDT_SITE = https://files.pythonhosted.org/packages/96/5c/77ef0f0459e0b13f39ecc22e21ad4ac9fbe741e8a7cd70702ac8165f80e2 +PYTHON_PYLIBFDT_SETUP_TYPE = pep517 PYTHON_PYLIBFDT_LICENSE = BSD-2-Clause or GPL-2.0+ PYTHON_PYLIBFDT_LICENSE_FILES = BSD-2-Clause GPL PYTHON_PYLIBFDT_DEPENDENCIES = host-python-setuptools-scm host-swig +HOST_PYTHON_PYLIBFDT_DEPENDENCIES = host-python-setuptools-scm host-swig $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-pylibftdi/0001-do-not-use-find-library.patch b/package/python-pylibftdi/0001-do-not-use-find-library.patch index 192ed43e547..19dabebffeb 100644 --- a/package/python-pylibftdi/0001-do-not-use-find-library.patch +++ b/package/python-pylibftdi/0001-do-not-use-find-library.patch @@ -15,17 +15,18 @@ this package. Signed-off-by: Christian Kellermann --- -diff -purN pylibftdi-0.15.0.orig/pylibftdi/driver.py pylibftdi-0.15.0/pylibftdi/driver.py ---- pylibftdi-0.15.0.orig/pylibftdi/driver.py 2015-04-26 22:41:39.000000000 +0200 -+++ pylibftdi-0.15.0/pylibftdi/driver.py 2017-02-27 13:08:56.502958000 +0100 -@@ -121,8 +121,8 @@ class Driver(object): +diff -purN pylibftdi-0.21.0.orig/src/pylibftdi/driver.py pylibftdi-0.21.0/src/pylibftdi/driver.py +--- pylibftdi-0.21.0.orig/src/pylibftdi/driver.py 2015-04-26 22:41:39.000000000 +0200 ++++ pylibftdi-0.21.0/src/pylibftdi/driver.py 2017-02-27 13:08:56.502958000 +0100 +@@ -148,9 +148,8 @@ class Driver: lib = getattr(cdll, lib_path) break if lib is None: -- raise LibraryMissingError('{} library not found (search: {})'.format( -- name, search_list)) +- raise LibraryMissingError( +- f"{name} library not found (search: {str(search_list)})" +- ) + return cdll.LoadLibrary(name + '.so') + return lib - + @property diff --git a/package/python-pylibftdi/python-pylibftdi.hash b/package/python-pylibftdi/python-pylibftdi.hash index ee0ba127caa..5d8a19647f7 100644 --- a/package/python-pylibftdi/python-pylibftdi.hash +++ b/package/python-pylibftdi/python-pylibftdi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pylibftdi/json -md5 fb43ade3283b809d4ebe92bf4a60d7fc pylibftdi-0.20.0.tar.gz -sha256 f4a87fc4af2c9c7d42badd4192ca9b529f32c9d96fdc8daea7e29c509226df5f pylibftdi-0.20.0.tar.gz +md5 75b63f325b760cc6342b7d35fbb84fde pylibftdi-0.21.0.tar.gz +sha256 eb7e2f5052852547f4c6c46022a1665f9d7453439639171eade56fdc80a58832 pylibftdi-0.21.0.tar.gz # Locally computed sha256 checksums -sha256 0d3f1af06b566a783091422061b60e864fc5d5853418b71643041e254b4ae7f9 LICENSE.txt +sha256 b8a7b113cfaa2c01d0701183de16ba653465692b1e29e0229244eee42fb3a9a8 LICENSE.txt diff --git a/package/python-pylibftdi/python-pylibftdi.mk b/package/python-pylibftdi/python-pylibftdi.mk index 34040b72ac2..7dca37e416f 100644 --- a/package/python-pylibftdi/python-pylibftdi.mk +++ b/package/python-pylibftdi/python-pylibftdi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYLIBFTDI_VERSION = 0.20.0 +PYTHON_PYLIBFTDI_VERSION = 0.21.0 PYTHON_PYLIBFTDI_SOURCE = pylibftdi-$(PYTHON_PYLIBFTDI_VERSION).tar.gz -PYTHON_PYLIBFTDI_SITE = https://files.pythonhosted.org/packages/b8/03/4f778ce6dceea58dc5bfd555c22fdb265afc922d81d3c4496a791a54c479 +PYTHON_PYLIBFTDI_SITE = https://files.pythonhosted.org/packages/d2/ce/ff3e83f3a14eb5b7950ff3657f07cdc3033dd0ded5c8ed093db515e1de33 PYTHON_PYLIBFTDI_LICENSE = MIT PYTHON_PYLIBFTDI_LICENSE_FILES = LICENSE.txt PYTHON_PYLIBFTDI_DEPENDENCIES = libftdi diff --git a/package/python-pymupdf/Config.in b/package/python-pymupdf/Config.in index b3f9565238f..ecaa5496b51 100644 --- a/package/python-pymupdf/Config.in +++ b/package/python-pymupdf/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PYTHON_PYMUPDF depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mupdf -> harfbuzz depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # mupdf -> harfbuzz depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_HOST_SWIG select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_MUPDF select BR2_PACKAGE_ZLIB diff --git a/package/python-pymupdf/python-pymupdf.hash b/package/python-pymupdf/python-pymupdf.hash index d930d043354..9fd8150088c 100644 --- a/package/python-pymupdf/python-pymupdf.hash +++ b/package/python-pymupdf/python-pymupdf.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pymupdf/json -md5 ae24d77d44369e46bbcd5457fe97d776 PyMuPDF-1.21.0.tar.gz -sha256 a63dfc289e127a16ab60310ee6005fe83121c7a97f7c120db688f9281c9e5d0f PyMuPDF-1.21.0.tar.gz +md5 468fe56375a1fca99e83fe0aa0b9f8bd PyMuPDF-1.22.0.tar.gz +sha256 6e1694e5c0cd8b92d503a506ee8e4ba1bed768528de586889d3ec90e9dc4a7d3 PyMuPDF-1.22.0.tar.gz # Locally computed sha256 checksums sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 COPYING diff --git a/package/python-pymupdf/python-pymupdf.mk b/package/python-pymupdf/python-pymupdf.mk index 38212dc44b5..639ce0e00ee 100644 --- a/package/python-pymupdf/python-pymupdf.mk +++ b/package/python-pymupdf/python-pymupdf.mk @@ -5,14 +5,14 @@ ################################################################################ # python-pymupdf's version must match mupdf's version -PYTHON_PYMUPDF_VERSION = 1.21.0 +PYTHON_PYMUPDF_VERSION = 1.22.0 PYTHON_PYMUPDF_SOURCE = PyMuPDF-$(PYTHON_PYMUPDF_VERSION).tar.gz -PYTHON_PYMUPDF_SITE = https://files.pythonhosted.org/packages/61/14/632eefe5568ee7a4ec95aa7fc9c63996ff6a6d2464d4e3a9dc35da11a409 +PYTHON_PYMUPDF_SITE = https://files.pythonhosted.org/packages/28/ba/d6bb6fd678e8396d7b944870286fb25fd6f499b8cb599b5436c8f725adbf PYTHON_PYMUPDF_SETUP_TYPE = setuptools PYTHON_PYMUPDF_LICENSE = AGPL-3.0+ PYTHON_PYMUPDF_LICENSE_FILES = COPYING # No license file included in pip, but it's present on github -PYTHON_PYMUPDF_DEPENDENCIES = freetype mupdf zlib +PYTHON_PYMUPDF_DEPENDENCIES = freetype host-swig mupdf zlib PYTHON_PYMUPDF_ENV = CFLAGS="-I$(STAGING_DIR)/usr/include/mupdf -I$(STAGING_DIR)/usr/include/freetype2" diff --git a/package/python-pymysql/python-pymysql.hash b/package/python-pymysql/python-pymysql.hash index dd81bdab7e1..641d5dba97a 100644 --- a/package/python-pymysql/python-pymysql.hash +++ b/package/python-pymysql/python-pymysql.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pymysql/json -md5 3fe6ff2eefb58af5c54d335c6e0216de PyMySQL-1.0.2.tar.gz -sha256 816927a350f38d56072aeca5dfb10221fe1dc653745853d30a216637f5d7ad36 PyMySQL-1.0.2.tar.gz +md5 81d559c87414017075de030d8ce93257 PyMySQL-1.1.0.tar.gz +sha256 4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96 PyMySQL-1.1.0.tar.gz # Locally computed sha256 checksums sha256 314120dc65f0800f738a4b31400c76ee14decd1fbe77ce9c3540a421b86ea7b6 LICENSE diff --git a/package/python-pymysql/python-pymysql.mk b/package/python-pymysql/python-pymysql.mk index 3703572f35a..c600fe515cb 100644 --- a/package/python-pymysql/python-pymysql.mk +++ b/package/python-pymysql/python-pymysql.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYMYSQL_VERSION = 1.0.2 +PYTHON_PYMYSQL_VERSION = 1.1.0 PYTHON_PYMYSQL_SOURCE = PyMySQL-$(PYTHON_PYMYSQL_VERSION).tar.gz -PYTHON_PYMYSQL_SITE = https://files.pythonhosted.org/packages/60/ea/33b8430115d9b617b713959b21dfd5db1df77425e38efea08d121e83b712 +PYTHON_PYMYSQL_SITE = https://files.pythonhosted.org/packages/41/9d/ee68dee1c8821c839bb31e6e5f40e61035a5278f7c1307dde758f0c90452 PYTHON_PYMYSQL_LICENSE = MIT PYTHON_PYMYSQL_LICENSE_FILES = LICENSE PYTHON_PYMYSQL_SETUP_TYPE = setuptools diff --git a/package/python-pyopenssl/python-pyopenssl.hash b/package/python-pyopenssl/python-pyopenssl.hash index bc65bb58689..fb5f75db96e 100644 --- a/package/python-pyopenssl/python-pyopenssl.hash +++ b/package/python-pyopenssl/python-pyopenssl.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyopenssl/json -md5 6834da75e33d3c8dcd891b723bfcec9e pyOpenSSL-22.1.0.tar.gz -sha256 7a83b7b272dd595222d672f5ce29aa030f1fb837630ef229f62e72e395ce8968 pyOpenSSL-22.1.0.tar.gz +md5 4c4f6f9e1c731b8ee7adcd9fbeccec62 pyOpenSSL-23.3.0.tar.gz +sha256 6b2cba5cc46e822750ec3e5a81ee12819850b11303630d575e98108a079c2b12 pyOpenSSL-23.3.0.tar.gz # Locally computed sha256 checksums sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-pyopenssl/python-pyopenssl.mk b/package/python-pyopenssl/python-pyopenssl.mk index 85f856b3197..9865f2bb000 100644 --- a/package/python-pyopenssl/python-pyopenssl.mk +++ b/package/python-pyopenssl/python-pyopenssl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 22.1.0 +PYTHON_PYOPENSSL_VERSION = 23.3.0 PYTHON_PYOPENSSL_SOURCE = pyOpenSSL-$(PYTHON_PYOPENSSL_VERSION).tar.gz -PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/e7/2f/c6d89edac75482f11e231b644e365d31d5479b7b727734e6a8f3d00decd5 +PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/bf/a0/e667c3c43b65a188cc3041fa00c50655315b93be45182b2c94d185a2610e PYTHON_PYOPENSSL_LICENSE = Apache-2.0 PYTHON_PYOPENSSL_LICENSE_FILES = LICENSE PYTHON_PYOPENSSL_CPE_ID_VENDOR = pyopenssl diff --git a/package/python-pypa-build/python-pypa-build.hash b/package/python-pypa-build/python-pypa-build.hash index 4c02ee1dce2..6941f2c0120 100644 --- a/package/python-pypa-build/python-pypa-build.hash +++ b/package/python-pypa-build/python-pypa-build.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/build/json -md5 f2dc1823b0eff7037e19be18e354b2f1 build-0.9.0.tar.gz -sha256 1a07724e891cbd898923145eb7752ee7653674c511378eb9c7691aab1612bc3c build-0.9.0.tar.gz +md5 45f216f02135c6acb486ba325e8f8da3 build-1.0.3.tar.gz +sha256 538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b build-1.0.3.tar.gz # Locally computed sha256 checksums sha256 aaf9a29ca5907971ccf07de025375db34539a8d5eeebce20b46099805722106f LICENSE diff --git a/package/python-pypa-build/python-pypa-build.mk b/package/python-pypa-build/python-pypa-build.mk index adc124b0747..266720a5553 100644 --- a/package/python-pypa-build/python-pypa-build.mk +++ b/package/python-pypa-build/python-pypa-build.mk @@ -4,14 +4,14 @@ # ################################################################################ -PYTHON_PYPA_BUILD_VERSION = 0.9.0 +PYTHON_PYPA_BUILD_VERSION = 1.0.3 PYTHON_PYPA_BUILD_SOURCE = build-$(PYTHON_PYPA_BUILD_VERSION).tar.gz -PYTHON_PYPA_BUILD_SITE = https://files.pythonhosted.org/packages/0f/61/aaf43fbb36cc4308be8ac8088f52db9622b0dbf1f0880c1016ae6aa03f46 +PYTHON_PYPA_BUILD_SITE = https://files.pythonhosted.org/packages/98/e3/83a89a9d338317f05a68c86a2bbc9af61235bc55a0c6a749d37598fb2af1 PYTHON_PYPA_BUILD_LICENSE = MIT PYTHON_PYPA_BUILD_LICENSE_FILES = LICENSE -PYTHON_PYPA_BUILD_SETUP_TYPE = setuptools +PYTHON_PYPA_BUILD_SETUP_TYPE = flit-bootstrap HOST_PYTHON_PYPA_BUILD_DEPENDENCIES = \ host-python-packaging \ - host-python-pep517 + host-python-pyproject-hooks $(eval $(host-python-package)) diff --git a/package/python-pyparsing/python-pyparsing.hash b/package/python-pyparsing/python-pyparsing.hash index 90242bb2e20..4514e2d4023 100644 --- a/package/python-pyparsing/python-pyparsing.hash +++ b/package/python-pyparsing/python-pyparsing.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyparsing/json -md5 fadc2f3bf5872bf6310576a86c3566e0 pyparsing-3.0.9.tar.gz -sha256 2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb pyparsing-3.0.9.tar.gz +md5 bb8c8c6b8015ca5887ae2c37917ee82e pyparsing-3.1.1.tar.gz +sha256 ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db pyparsing-3.1.1.tar.gz # Locally computed sha256 checksums sha256 10d5120a16805804ffda8b688c220bfb4e8f39741b57320604d455a309e01972 LICENSE diff --git a/package/python-pyparsing/python-pyparsing.mk b/package/python-pyparsing/python-pyparsing.mk index 55516c3ce89..0538c8df0a8 100644 --- a/package/python-pyparsing/python-pyparsing.mk +++ b/package/python-pyparsing/python-pyparsing.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYPARSING_VERSION = 3.0.9 +PYTHON_PYPARSING_VERSION = 3.1.1 PYTHON_PYPARSING_SOURCE = pyparsing-$(PYTHON_PYPARSING_VERSION).tar.gz -PYTHON_PYPARSING_SITE = https://files.pythonhosted.org/packages/71/22/207523d16464c40a0310d2d4d8926daffa00ac1f5b1576170a32db749636 +PYTHON_PYPARSING_SITE = https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589adfbbcd6ed238af22319e90f059946c26b4835e44b PYTHON_PYPARSING_LICENSE = MIT PYTHON_PYPARSING_LICENSE_FILES = LICENSE PYTHON_PYPARSING_SETUP_TYPE = flit diff --git a/package/python-pyparted/Config.in b/package/python-pyparted/Config.in index 60f54a5484d..430bf204a18 100644 --- a/package/python-pyparted/Config.in +++ b/package/python-pyparted/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PYTHON_PYPARTED bool "python-pyparted" depends on BR2_ENABLE_LOCALE # parted + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted depends on BR2_USE_WCHAR select BR2_PACKAGE_PARTED help @@ -8,5 +9,6 @@ config BR2_PACKAGE_PYTHON_PYPARTED https://github.com/rhinstaller/pyparted -comment "pyparted needs a toolchain w/ locale, wchar" - depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR +comment "pyparted needs a toolchain w/ locale, wchar, gcc >= 5" + depends on !BR2_ENABLE_LOCALE || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 diff --git a/package/python-pyphen/python-pyphen.hash b/package/python-pyphen/python-pyphen.hash index 39af62e0851..47b9009ea18 100644 --- a/package/python-pyphen/python-pyphen.hash +++ b/package/python-pyphen/python-pyphen.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/Pyphen/json -md5 a5039d1a4d8d4bad784cb864927f83f8 pyphen-0.13.2.tar.gz -sha256 847f57a043a58408f24670ae0184ff6edfb5fd5731743208228c028ddc514438 pyphen-0.13.2.tar.gz +md5 19e799bbf459ac675698c37c5fae34a8 pyphen-0.14.0.tar.gz +sha256 596c8b3be1c1a70411ba5f6517d9ccfe3083c758ae2b94a45f2707346d8e66fa pyphen-0.14.0.tar.gz # Locally computed sha256 checksums sha256 9f0bffde4fbbbbc61c46f6577b6f472919dba9fdffabe74e8a7e44ac5dbef7a2 LICENSE sha256 2233a3eecf299bc271f1a9f57f0b3198343ad4ab16571d70320133002c51496b COPYING.GPL diff --git a/package/python-pyphen/python-pyphen.mk b/package/python-pyphen/python-pyphen.mk index 9ca064c293c..9baa2e7b981 100644 --- a/package/python-pyphen/python-pyphen.mk +++ b/package/python-pyphen/python-pyphen.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYPHEN_VERSION = 0.13.2 +PYTHON_PYPHEN_VERSION = 0.14.0 PYTHON_PYPHEN_SOURCE = pyphen-$(PYTHON_PYPHEN_VERSION).tar.gz -PYTHON_PYPHEN_SITE = https://files.pythonhosted.org/packages/46/12/aeb28a1e1a3f3cede967cea98ef3a1da844418ab8296a4bb9513f232736c +PYTHON_PYPHEN_SITE = https://files.pythonhosted.org/packages/4b/52/46b119f94b3f68e4193ada36941606d8e26852b67bb6e099b0e310540b41 PYTHON_PYPHEN_SETUP_TYPE = flit PYTHON_PYPHEN_LICENSE = LGPL-2.1+, MPL-1.1, GPL-2.0+ PYTHON_PYPHEN_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LGPL COPYING.MPL diff --git a/package/python-pypng/Config.in b/package/python-pypng/Config.in new file mode 100644 index 00000000000..952b46c2c5d --- /dev/null +++ b/package/python-pypng/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYPNG + bool "python-pypng" + select BR2_PACKAGE_PYTHON3_ZLIB # runtime + help + Pure Python library for saving and loading PNG images. + + https://gitlab.com/drj11/pypng diff --git a/package/python-pypng/python-pypng.hash b/package/python-pypng/python-pypng.hash new file mode 100644 index 00000000000..0f55eef7027 --- /dev/null +++ b/package/python-pypng/python-pypng.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pypng/json +md5 7d9cce86ceb19524784ade86fb13a063 pypng-0.20220715.0.tar.gz +sha256 739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1 pypng-0.20220715.0.tar.gz +# Locally computed sha256 checksums +sha256 8dd127d87bb901ab9c8f584e98b7c7aa8539db27fe62ff01b1ee4be93b6a513a LICENCE diff --git a/package/python-pypng/python-pypng.mk b/package/python-pypng/python-pypng.mk new file mode 100644 index 00000000000..07ad16b67bd --- /dev/null +++ b/package/python-pypng/python-pypng.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pypng +# +################################################################################ + +PYTHON_PYPNG_VERSION = 0.20220715.0 +PYTHON_PYPNG_SOURCE = pypng-$(PYTHON_PYPNG_VERSION).tar.gz +PYTHON_PYPNG_SITE = https://files.pythonhosted.org/packages/93/cd/112f092ec27cca83e0516de0a3368dbd9128c187fb6b52aaaa7cde39c96d +PYTHON_PYPNG_SETUP_TYPE = setuptools +PYTHON_PYPNG_LICENSE = MIT +PYTHON_PYPNG_LICENSE_FILES = LICENCE + +$(eval $(python-package)) diff --git a/package/python-pyproject-hooks/python-pyproject-hooks.hash b/package/python-pyproject-hooks/python-pyproject-hooks.hash new file mode 100644 index 00000000000..9fdcd335968 --- /dev/null +++ b/package/python-pyproject-hooks/python-pyproject-hooks.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyproject_hooks/json +md5 69b0b6de189bc04c3f9e304281765741 pyproject_hooks-1.0.0.tar.gz +sha256 f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 pyproject_hooks-1.0.0.tar.gz +# Locally computed sha256 checksums +sha256 1b22b049b5267d6dfc23a67bf4a84d8ec04b9fdfb1a51d360e42b4342c8b4154 LICENSE diff --git a/package/python-pyproject-hooks/python-pyproject-hooks.mk b/package/python-pyproject-hooks/python-pyproject-hooks.mk new file mode 100644 index 00000000000..a42dbb0ab10 --- /dev/null +++ b/package/python-pyproject-hooks/python-pyproject-hooks.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyproject-hooks +# +################################################################################ + +PYTHON_PYPROJECT_HOOKS_VERSION = 1.0.0 +PYTHON_PYPROJECT_HOOKS_SOURCE = pyproject_hooks-$(PYTHON_PYPROJECT_HOOKS_VERSION).tar.gz +PYTHON_PYPROJECT_HOOKS_SITE = https://files.pythonhosted.org/packages/25/c1/374304b8407d3818f7025457b7366c8e07768377ce12edfe2aa58aa0f64c +PYTHON_PYPROJECT_HOOKS_SETUP_TYPE = flit-bootstrap +PYTHON_PYPROJECT_HOOKS_LICENSE = MIT +PYTHON_PYPROJECT_HOOKS_LICENSE_FILES = LICENSE + +$(eval $(host-python-package)) diff --git a/package/python-pyproject-metadata/python-pyproject-metadata.hash b/package/python-pyproject-metadata/python-pyproject-metadata.hash new file mode 100644 index 00000000000..51a3e4b85b5 --- /dev/null +++ b/package/python-pyproject-metadata/python-pyproject-metadata.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyproject-metadata/json +md5 ca5e9527cff96153a976e14530b53746 pyproject-metadata-0.7.1.tar.gz +sha256 0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67 pyproject-metadata-0.7.1.tar.gz +# Locally computed sha256 checksums +sha256 aaf9a29ca5907971ccf07de025375db34539a8d5eeebce20b46099805722106f LICENSE diff --git a/package/python-pyproject-metadata/python-pyproject-metadata.mk b/package/python-pyproject-metadata/python-pyproject-metadata.mk new file mode 100644 index 00000000000..6fac22abee9 --- /dev/null +++ b/package/python-pyproject-metadata/python-pyproject-metadata.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyproject-metadata +# +################################################################################ + +PYTHON_PYPROJECT_METADATA_VERSION = 0.7.1 +PYTHON_PYPROJECT_METADATA_SOURCE = pyproject-metadata-$(PYTHON_PYPROJECT_METADATA_VERSION).tar.gz +PYTHON_PYPROJECT_METADATA_SITE = https://files.pythonhosted.org/packages/38/af/b0e6a9eba989870fd26e10889446d1bec2e6d5be0a1bae2dc4dcda9ce199 +PYTHON_PYPROJECT_METADATA_SETUP_TYPE = setuptools +PYTHON_PYPROJECT_METADATA_LICENSE = MIT +PYTHON_PYPROJECT_METADATA_LICENSE_FILES = LICENSE + +$(eval $(host-python-package)) diff --git a/package/python-pyratemp/python-pyratemp.mk b/package/python-pyratemp/python-pyratemp.mk index 055fb3049c1..6429729a7bc 100644 --- a/package/python-pyratemp/python-pyratemp.mk +++ b/package/python-pyratemp/python-pyratemp.mk @@ -9,6 +9,6 @@ PYTHON_PYRATEMP_SOURCE = pyratemp-$(PYTHON_PYRATEMP_VERSION).tgz PYTHON_PYRATEMP_SITE = https://pypi.python.org/packages/source/p/pyratemp PYTHON_PYRATEMP_LICENSE = MIT PYTHON_PYRATEMP_LICENSE_FILES = LICENSE -PYTHON_PYRATEMP_SETUP_TYPE = distutils +PYTHON_PYRATEMP_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pyroute2/python-pyroute2.hash b/package/python-pyroute2/python-pyroute2.hash index bac8809f2da..87693d028b3 100644 --- a/package/python-pyroute2/python-pyroute2.hash +++ b/package/python-pyroute2/python-pyroute2.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pyroute2/json -md5 caaef93e32f2c3aee305aefba7c8ad21 pyroute2-0.7.3.tar.gz -sha256 7041040db1c2d187fbccd151485b1244c41d758be821785847946370eb6bb706 pyroute2-0.7.3.tar.gz +md5 0566531c56ec453cc9ca0aff2c3f2f31 pyroute2-0.7.10.tar.gz +sha256 cc2f90aad1517cb0b301041f678cc8d3c3427c26e53f15c78c93c67928d89a02 pyroute2-0.7.10.tar.gz # Locally computed sha256 sha256 4739b32a2478e9c204bf010bad5d565d188e59ff905e3c8f71fe3398098b7093 LICENSE.Apache-2.0 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL-2.0-or-later diff --git a/package/python-pyroute2/python-pyroute2.mk b/package/python-pyroute2/python-pyroute2.mk index fb4a1cbe5d6..023b8e7c44a 100644 --- a/package/python-pyroute2/python-pyroute2.mk +++ b/package/python-pyroute2/python-pyroute2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYROUTE2_VERSION = 0.7.3 +PYTHON_PYROUTE2_VERSION = 0.7.10 PYTHON_PYROUTE2_SOURCE = pyroute2-$(PYTHON_PYROUTE2_VERSION).tar.gz -PYTHON_PYROUTE2_SITE = https://files.pythonhosted.org/packages/9c/e6/8d163b1aea84223696fef8f8c55566adf166b79d614d602469d64af00226 +PYTHON_PYROUTE2_SITE = https://files.pythonhosted.org/packages/18/44/930e15e4fd5d0c7c54dfd303f644a057d88f411a97581d6edc5cb9e16f9e PYTHON_PYROUTE2_LICENSE = Apache-2.0 or GPL-2.0+ PYTHON_PYROUTE2_LICENSE_FILES = LICENSE.Apache-2.0 LICENSE.GPL-2.0-or-later README.license.rst PYTHON_PYROUTE2_SETUP_TYPE = setuptools diff --git a/package/python-pyrsistent/python-pyrsistent.hash b/package/python-pyrsistent/python-pyrsistent.hash index bb55c7135d3..780a7f09d94 100644 --- a/package/python-pyrsistent/python-pyrsistent.hash +++ b/package/python-pyrsistent/python-pyrsistent.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyrsistent/json -md5 23da81256b8817e123568a858bf78997 pyrsistent-0.19.2.tar.gz -sha256 bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 pyrsistent-0.19.2.tar.gz +md5 dce0f9a13668dbf8bb76f74954b4a42a pyrsistent-0.20.0.tar.gz +sha256 4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4 pyrsistent-0.20.0.tar.gz # Locally computed sha256 checksums -sha256 3ea56753cbd0cc897d3f4414a902f5694991db7c1b3abb8230216381185f9112 LICENSE.mit +sha256 3fd3d3d1ab9c733ee453fbf3bbbaa845440d0d8c20d7b5a039d2e46a2ed7fc01 LICENSE.mit diff --git a/package/python-pyrsistent/python-pyrsistent.mk b/package/python-pyrsistent/python-pyrsistent.mk index 6a5ac30a15e..6c52d7dbc87 100644 --- a/package/python-pyrsistent/python-pyrsistent.mk +++ b/package/python-pyrsistent/python-pyrsistent.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYRSISTENT_VERSION = 0.19.2 +PYTHON_PYRSISTENT_VERSION = 0.20.0 PYTHON_PYRSISTENT_SOURCE = pyrsistent-$(PYTHON_PYRSISTENT_VERSION).tar.gz -PYTHON_PYRSISTENT_SITE = https://files.pythonhosted.org/packages/b8/ef/325da441a385a8a931b3eeb70db23cb52da42799691988d8d943c5237f10 +PYTHON_PYRSISTENT_SITE = https://files.pythonhosted.org/packages/ce/3a/5031723c09068e9c8c2f0bc25c3a9245f2b1d1aea8396c787a408f2b95ca PYTHON_PYRSISTENT_SETUP_TYPE = setuptools PYTHON_PYRSISTENT_LICENSE = MIT PYTHON_PYRSISTENT_LICENSE_FILES = LICENSE.mit diff --git a/package/python-pysensors/0001-Remove-import-sensors-from-setup-py.patch b/package/python-pysensors/0001-Remove-import-sensors-from-setup-py.patch new file mode 100644 index 00000000000..737f194fd44 --- /dev/null +++ b/package/python-pysensors/0001-Remove-import-sensors-from-setup-py.patch @@ -0,0 +1,55 @@ +Remove import sensors from setup.py + +Don't import sensors in setup.py to avoid adding a dependency on host +lm-sensors. Instead, move __version__, __author__, __contact__ and +__license__ to setup.py + +Signed-off-by: Fabrice Fontaine +Upstream: upstream is dead since 2019 + +diff '--color=auto' -Nura PySensors-0.0.4.orig/sensors/__init__.py PySensors-0.0.4/sensors/__init__.py +--- PySensors-0.0.4.orig/sensors/__init__.py 2024-01-04 13:47:07.114179107 +0100 ++++ PySensors-0.0.4/sensors/__init__.py 2024-01-04 14:07:24.701178768 +0100 +@@ -6,12 +6,6 @@ + + from sensors import stdc + +-__version__ = "0.0.4" +-__date__ = "2019-09-19" +-__author__ = "Marc 'BlackJack' Rintsch" +-__contact__ = 'marc@rintsch.de' +-__license__ = 'LGPL v2.1' +- + API_VERSION = 4 + DEFAULT_CONFIG_FILENAME = b"/etc/sensors3.conf" + +diff '--color=auto' -Nura PySensors-0.0.4.orig/setup.py PySensors-0.0.4/setup.py +--- PySensors-0.0.4.orig/setup.py 2024-01-04 13:47:07.114179107 +0100 ++++ PySensors-0.0.4/setup.py 2024-01-04 14:07:04.657260411 +0100 +@@ -1,17 +1,21 @@ + #!/usr/bin/env python3 + from setuptools import setup +-import sensors ++ ++__version__ = "0.0.4" ++__author__ = "Marc 'BlackJack' Rintsch" ++__contact__ = 'marc@rintsch.de' ++__license__ = 'LGPL v2.1' + + setup( + name='PySensors', +- version=sensors.__version__, +- author=sensors.__author__, +- author_email=sensors.__contact__, ++ version=__version__, ++ author=__author__, ++ author_email=__contact__, + packages=['sensors'], + # scripts=[], + url='http://pypi.python.org/pypi/PySensors/', + # download_url='', +- license=sensors.__license__, ++ license=__license__, + description='Python bindings to libsensors (via ctypes)', + long_description=open('README.rst').read(), + long_description_content_type="text/x-rst", diff --git a/package/python-pysensors/Config.in b/package/python-pysensors/Config.in new file mode 100644 index 00000000000..952d14c351c --- /dev/null +++ b/package/python-pysensors/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_PYSENSORS + bool "python-pysensors" + select BR2_PACKAGE_LM_SENSORS # runtime + help + Python bindings for libsensors.so from the lm-sensors project + via ctypes. Supports API version 4, i.e. libsensors version + 3.x. + + https://pypi.org/project/PySensors diff --git a/package/python-pysensors/python-pysensors.hash b/package/python-pysensors/python-pysensors.hash new file mode 100644 index 00000000000..b98c08602d2 --- /dev/null +++ b/package/python-pysensors/python-pysensors.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/PySensors/json +md5 af5ca440297b45bd440d32a7c8341c0f PySensors-0.0.4.tar.gz +sha256 beb0def410d29ee46fe196a7811124772abf84cbe3a0d8b01d80b81fba31dae5 PySensors-0.0.4.tar.gz diff --git a/package/python-pysensors/python-pysensors.mk b/package/python-pysensors/python-pysensors.mk new file mode 100644 index 00000000000..b38c47f0c80 --- /dev/null +++ b/package/python-pysensors/python-pysensors.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-pysensors +# +################################################################################ + +PYTHON_PYSENSORS_VERSION = 0.0.4 +PYTHON_PYSENSORS_SOURCE = PySensors-$(PYTHON_PYSENSORS_VERSION).tar.gz +PYTHON_PYSENSORS_SITE = https://files.pythonhosted.org/packages/76/31/d3383a192f31ce1d79f27ec3d047cca23dd82a1bf0939e774386aba37cf5 +PYTHON_PYSENSORS_SETUP_TYPE = setuptools +PYTHON_PYSENSORS_LICENSE = LGPL-2.1 + +$(eval $(python-package)) diff --git a/package/python-pysmb/Config.in b/package/python-pysmb/Config.in index 61d7c2a03e4..bb935dddf17 100644 --- a/package/python-pysmb/Config.in +++ b/package/python-pysmb/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_PYTHON_PYSMB bool "python-pysmb" depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_PYTHON_PYASN1 + select BR2_PACKAGE_PYTHON_TQDM help pysmb is an experimental SMB/CIFS library written in Python. It implements the client-side SMB/CIFS protocol (SMB1 and diff --git a/package/python-pysmb/python-pysmb.hash b/package/python-pysmb/python-pysmb.hash index 025e47d0306..87b1edf5957 100644 --- a/package/python-pysmb/python-pysmb.hash +++ b/package/python-pysmb/python-pysmb.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9215356c446e4c6b335b4a481f52d746ff60926badfecbc33524b94908fdc0e1 pysmb-1.2.8.tar.gz +sha256 30558c11ba141e9ad26e5edb1b85b94813a335ed5c0fe11df8046942b0c7e813 pysmb-1.2.9.tar.gz sha256 8c487d5c10f024e44a9cf1df21d1fd28a80bd2dfddd9f1dcd109a47d721f497f LICENSE diff --git a/package/python-pysmb/python-pysmb.mk b/package/python-pysmb/python-pysmb.mk index 36993ce42c5..394a9d806cb 100644 --- a/package/python-pysmb/python-pysmb.mk +++ b/package/python-pysmb/python-pysmb.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_PYSMB_VERSION = 1.2.8 +PYTHON_PYSMB_VERSION = 1.2.9 PYTHON_PYSMB_SOURCE = pysmb-$(PYTHON_PYSMB_VERSION).tar.gz PYTHON_PYSMB_SITE = https://miketeo.net/files/Projects/pysmb PYTHON_PYSMB_LICENSE = Libpng diff --git a/package/python-pyspnego/python-pyspnego.hash b/package/python-pyspnego/python-pyspnego.hash index 400e380b5d0..dc808d4204d 100644 --- a/package/python-pyspnego/python-pyspnego.hash +++ b/package/python-pyspnego/python-pyspnego.hash @@ -1,6 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyspnego/json -md5 67114f5e59c6d5b45fe2b38c128c2140 pyspnego-0.6.3.tar.gz -sha256 6060a0e683171090adcf92c9d319ddd334f15117fa199a703d8c9bd094d9f6c0 pyspnego-0.6.3.tar.gz - -# Locally computed +md5 b633cab73a1481c5dbc2d6f6857569d0 pyspnego-0.10.2.tar.gz +sha256 9a22c23aeae7b4424fdb2482450d3f8302ac012e2644e1cfe735cf468fcd12ed pyspnego-0.10.2.tar.gz +# Locally computed sha256 checksums sha256 286517c93031c343f809f64b38563a783614b762e1367242af6cdd4107335471 LICENSE diff --git a/package/python-pyspnego/python-pyspnego.mk b/package/python-pyspnego/python-pyspnego.mk index 0910c57b7d5..740e6eec154 100644 --- a/package/python-pyspnego/python-pyspnego.mk +++ b/package/python-pyspnego/python-pyspnego.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYSPNEGO_VERSION = 0.6.3 +PYTHON_PYSPNEGO_VERSION = 0.10.2 PYTHON_PYSPNEGO_SOURCE = pyspnego-$(PYTHON_PYSPNEGO_VERSION).tar.gz -PYTHON_PYSPNEGO_SITE = https://files.pythonhosted.org/packages/ba/13/7b4e7dcff1eb24a13e0a631a4b49eab361678e4490d691c03253ae736da4 +PYTHON_PYSPNEGO_SITE = https://files.pythonhosted.org/packages/3a/c3/401a5ae889b51f80e91474b6acda7dae8d704c6fe8424fd40e0ff0702812 PYTHON_PYSPNEGO_SETUP_TYPE = setuptools PYTHON_PYSPNEGO_LICENSE = MIT PYTHON_PYSPNEGO_LICENSE_FILES = LICENSE diff --git a/package/python-pytablereader/Config.in b/package/python-pytablereader/Config.in index 889cb798207..00be18510ff 100644 --- a/package/python-pytablereader/Config.in +++ b/package/python-pytablereader/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_PYTABLEREADER bool "python-pytablereader" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-jsonschema -> python-rpds-py select BR2_PACKAGE_PYTHON_BEAUTIFULSOUP4 # runtime select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime diff --git a/package/python-pytablewriter/Config.in b/package/python-pytablewriter/Config.in index 041c30eb6c7..e0252625cd7 100644 --- a/package/python-pytablewriter/Config.in +++ b/package/python-pytablewriter/Config.in @@ -2,14 +2,15 @@ config BR2_PACKAGE_PYTHON_PYTABLEWRITER bool "python-pytablewriter" select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime - select BR2_PACKAGE_PYTHON_MSGFY # runtime select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TABLEDATA # runtime + select BR2_PACKAGE_PYTHON_TCOLORPY # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime help - pytablewriter is a python library to write a table in various - formats: CSV, HTML, JavaScript, JSON, Markdown, Excel, Pandas, - Python, reStructuredText. + pytablewriter is a Python library to write a table in + various formats: AsciiDoc / CSV / Elasticsearch / HTML / + JavaScript / JSON / LaTeX / LDJSON / LTSV / Markdown / + MediaWiki / NumPy / Excel / Pandas / Python / + reStructuredText / SQLite / TOML / TSV / YAML. https://github.com/thombashi/pytablewriter diff --git a/package/python-pytablewriter/python-pytablewriter.hash b/package/python-pytablewriter/python-pytablewriter.hash index f082542dfbb..d4432ee121f 100644 --- a/package/python-pytablewriter/python-pytablewriter.hash +++ b/package/python-pytablewriter/python-pytablewriter.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytablewriter/json -md5 0eaa4a2429d22389b5e4b8c5f5135bbb pytablewriter-0.64.2.tar.gz -sha256 99409d401d6ef5f06d1bc40f265a8e3053afe4cbfbaf709f71124076afb40dbb pytablewriter-0.64.2.tar.gz +md5 4e3d421d026f30fadec4ac1670e524ee pytablewriter-1.2.0.tar.gz +sha256 0204a4bb684a22140d640f2599f09e137bcdc18b3dd49426f4a555016e246b46 pytablewriter-1.2.0.tar.gz # Locally computed sha256 checksums sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-pytablewriter/python-pytablewriter.mk b/package/python-pytablewriter/python-pytablewriter.mk index d865a89330e..d8bc3615dd7 100644 --- a/package/python-pytablewriter/python-pytablewriter.mk +++ b/package/python-pytablewriter/python-pytablewriter.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTABLEWRITER_VERSION = 0.64.2 +PYTHON_PYTABLEWRITER_VERSION = 1.2.0 PYTHON_PYTABLEWRITER_SOURCE = pytablewriter-$(PYTHON_PYTABLEWRITER_VERSION).tar.gz -PYTHON_PYTABLEWRITER_SITE = https://files.pythonhosted.org/packages/a6/e1/50c1cd9734a9edc1386913b178f9e4757c1bc37665c1855a6596c25957d6 +PYTHON_PYTABLEWRITER_SITE = https://files.pythonhosted.org/packages/cc/a9/76aa4430d32ae10b23e4347006dc4c67a3e2a00621e4bb38a60c1a77f15e PYTHON_PYTABLEWRITER_SETUP_TYPE = setuptools PYTHON_PYTABLEWRITER_LICENSE = MIT PYTHON_PYTABLEWRITER_LICENSE_FILES = LICENSE diff --git a/package/python-pytest-asyncio/python-pytest-asyncio.hash b/package/python-pytest-asyncio/python-pytest-asyncio.hash index b683c605536..29a38c7dc7b 100644 --- a/package/python-pytest-asyncio/python-pytest-asyncio.hash +++ b/package/python-pytest-asyncio/python-pytest-asyncio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytest-asyncio/json -md5 894109d45a7b6f46718bbe4611aa7817 pytest-asyncio-0.20.1.tar.gz -sha256 626699de2a747611f3eeb64168b3575f70439b06c3d0206e6ceaeeb956e65519 pytest-asyncio-0.20.1.tar.gz +md5 0c81f6de855e546180de424c0db05c20 pytest-asyncio-0.23.3.tar.gz +sha256 af313ce900a62fbe2b1aed18e37ad757f1ef9940c6b6a88e2954de38d6b1fb9f pytest-asyncio-0.23.3.tar.gz # Locally computed sha256 checksums sha256 a8ad31b1c3f40dca5a84119351b8fa8ddc868edd77fad8a8ebf6d8f2d16fa4ae LICENSE diff --git a/package/python-pytest-asyncio/python-pytest-asyncio.mk b/package/python-pytest-asyncio/python-pytest-asyncio.mk index b70e0ad0f4e..8464c70f5f2 100644 --- a/package/python-pytest-asyncio/python-pytest-asyncio.mk +++ b/package/python-pytest-asyncio/python-pytest-asyncio.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_PYTEST_ASYNCIO_VERSION = 0.20.1 +PYTHON_PYTEST_ASYNCIO_VERSION = 0.23.3 PYTHON_PYTEST_ASYNCIO_SOURCE = pytest-asyncio-$(PYTHON_PYTEST_ASYNCIO_VERSION).tar.gz -PYTHON_PYTEST_ASYNCIO_SITE = https://files.pythonhosted.org/packages/9e/8f/5a918ac4e2366b61156e16fa9bfb3be52401d81f5309efb1f4e04d99ac39 +PYTHON_PYTEST_ASYNCIO_SITE = https://files.pythonhosted.org/packages/1d/27/f036ec4bcbfd056c54572d7169ba3dbb54e7181f02f21caadd3aecb9cf5b PYTHON_PYTEST_ASYNCIO_SETUP_TYPE = setuptools PYTHON_PYTEST_ASYNCIO_LICENSE = Apache-2.0 PYTHON_PYTEST_ASYNCIO_LICENSE_FILES = LICENSE +PYTHON_PYTEST_ASYNCIO_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-pytest/Config.in b/package/python-pytest/Config.in index c3956c76d2b..b42457e67d1 100644 --- a/package/python-pytest/Config.in +++ b/package/python-pytest/Config.in @@ -4,9 +4,8 @@ config BR2_PACKAGE_PYTHON_PYTEST select BR2_PACKAGE_PYTHON_INICONFIG # runtime select BR2_PACKAGE_PYTHON_PACKAGING # runtime select BR2_PACKAGE_PYTHON_PLUGGY # runtime - select BR2_PACKAGE_PYTHON_PY # runtime - select BR2_PACKAGE_PYTHON_TOML # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help pytest is a framework that makes building simple and scalable tests easy. Tests are expressive and readable—no boilerplate diff --git a/package/python-pytest/python-pytest.hash b/package/python-pytest/python-pytest.hash index 2ae1e61ed40..e710003535f 100644 --- a/package/python-pytest/python-pytest.hash +++ b/package/python-pytest/python-pytest.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytest/json -md5 49decbade40109f9c6970df60c22a230 pytest-7.2.0.tar.gz -sha256 c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59 pytest-7.2.0.tar.gz +md5 e2ac4c70861f26d735b64e5687bb218e pytest-7.4.4.tar.gz +sha256 2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280 pytest-7.4.4.tar.gz # Locally computer sha256 sha256 ca836a5f9ecca3b2f350230faa20a48fb8b145653b5568d784862df864706b9b LICENSE diff --git a/package/python-pytest/python-pytest.mk b/package/python-pytest/python-pytest.mk index 1794582dd3e..3170a1a9dba 100644 --- a/package/python-pytest/python-pytest.mk +++ b/package/python-pytest/python-pytest.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTEST_VERSION = 7.2.0 +PYTHON_PYTEST_VERSION = 7.4.4 PYTHON_PYTEST_SOURCE = pytest-$(PYTHON_PYTEST_VERSION).tar.gz -PYTHON_PYTEST_SITE = https://files.pythonhosted.org/packages/0b/21/055f39bf8861580b43f845f9e8270c7786fe629b2f8562ff09007132e2e7 +PYTHON_PYTEST_SITE = https://files.pythonhosted.org/packages/80/1f/9d8e98e4133ffb16c90f3b405c43e38d3abb715bb5d7a63a5a684f7e46a3 PYTHON_PYTEST_SETUP_TYPE = setuptools PYTHON_PYTEST_LICENSE = MIT PYTHON_PYTEST_LICENSE_FILES = LICENSE diff --git a/package/python-pythran/python-pythran.hash b/package/python-pythran/python-pythran.hash index 08348a5ccf7..a46825c933e 100644 --- a/package/python-pythran/python-pythran.hash +++ b/package/python-pythran/python-pythran.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pythran/json -md5 d2961ece35b4b9f44a84ef31df1b21ff pythran-0.12.0.tar.gz -sha256 eff3dd0d3eebe57372f0d14f82985525e9bcdfb5b1d1010e1932cf9207060f9f pythran-0.12.0.tar.gz +md5 cc6fa05e583733182d06d2e41e03cc10 pythran-0.15.0.tar.gz +sha256 f9bc61bcb96df2cd4b578abc5a62dfb3fbb0b0ef02c264513dfb615c5f87871c pythran-0.15.0.tar.gz # Locally computed sha256 checksums sha256 0be9f14c66a9a3cb66d5263a6495437862ce0c9cdf60d4a6c36d1e51b1244c6e LICENSE sha256 e1c0ed0a99e4462016d79d835f1f479b78c4d4a07fe66598e97f449503ffd178 docs/LICENSE.rst diff --git a/package/python-pythran/python-pythran.mk b/package/python-pythran/python-pythran.mk index 0d946be28ac..43853a514dc 100644 --- a/package/python-pythran/python-pythran.mk +++ b/package/python-pythran/python-pythran.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTHRAN_VERSION = 0.12.0 +PYTHON_PYTHRAN_VERSION = 0.15.0 PYTHON_PYTHRAN_SOURCE = pythran-$(PYTHON_PYTHRAN_VERSION).tar.gz -PYTHON_PYTHRAN_SITE = https://files.pythonhosted.org/packages/99/e0/ed0e81de05cfa4ecbcbceec6603d175387d8bc7a6332cbfd155d09958ccf +PYTHON_PYTHRAN_SITE = https://files.pythonhosted.org/packages/82/31/cc6fd7a2b91efc6cdb03e7c42df895b4a65a8f049b074579d45d1def746f PYTHON_PYTHRAN_SETUP_TYPE = setuptools PYTHON_PYTHRAN_LICENSE = BSD-3-Clause PYTHON_PYTHRAN_LICENSE_FILES = LICENSE docs/LICENSE.rst diff --git a/package/python-pytz/python-pytz.hash b/package/python-pytz/python-pytz.hash index e71e77e5b71..be6f0e976b7 100644 --- a/package/python-pytz/python-pytz.hash +++ b/package/python-pytz/python-pytz.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pytz/json -md5 bf46b54a7e9bcb65ea38f54646181979 pytz-2022.6.tar.gz -sha256 e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 pytz-2022.6.tar.gz +md5 84e6569fcc917b096cca1063819c4ab0 pytz-2023.3.post1.tar.gz +sha256 7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b pytz-2023.3.post1.tar.gz # Locally computed sha256 checksums sha256 be8b1a37ebe26c592a90f6c0eb33103a7f383ce2f4d7498c0af9a526990a07b8 LICENSE.txt diff --git a/package/python-pytz/python-pytz.mk b/package/python-pytz/python-pytz.mk index 58f06e1993c..182d8156fc3 100644 --- a/package/python-pytz/python-pytz.mk +++ b/package/python-pytz/python-pytz.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYTZ_VERSION = 2022.6 +PYTHON_PYTZ_VERSION = 2023.3.post1 PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.gz -PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/76/63/1be349ff0a44e4795d9712cc0b2d806f5e063d4d34631b71b832fac715a8 +PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/69/4f/7bf883f12ad496ecc9514cd9e267b29a68b3e9629661a2bbc24f80eff168 PYTHON_PYTZ_SETUP_TYPE = setuptools PYTHON_PYTZ_LICENSE = MIT PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt diff --git a/package/python-pyudev/Config.in b/package/python-pyudev/Config.in index e0da067cc21..aa98c2cc614 100644 --- a/package/python-pyudev/Config.in +++ b/package/python-pyudev/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_PYTHON_PYUDEV bool "python-pyudev" depends on BR2_PACKAGE_HAS_UDEV select BR2_PACKAGE_PYTHON3_ZLIB # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help pyudev is a LGPL licenced, pure Python 2/3 binding to libudev, the device and hardware management and information diff --git a/package/python-pyudev/python-pyudev.hash b/package/python-pyudev/python-pyudev.hash index 014bf209330..72eb323e1f8 100644 --- a/package/python-pyudev/python-pyudev.hash +++ b/package/python-pyudev/python-pyudev.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/pyudev/json -md5 17c0a41f0e4dfc016350806a0a60f630 pyudev-0.24.0.tar.gz -sha256 b2a3afe1c99ea751f8296652557eac559874da2a1b1ec0625178706ec5a345f3 pyudev-0.24.0.tar.gz +md5 fecaabe9eaa890d2173c7b49ab63a412 pyudev-0.24.1.tar.gz +sha256 75e54d37218f5ac45b0da1f0fd9cc5e526a3cac3ef1cfad410cf7ab338b01471 pyudev-0.24.1.tar.gz # Locally computed sha256 checksums sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/python-pyudev/python-pyudev.mk b/package/python-pyudev/python-pyudev.mk index 5d48cd4f7cb..53d60572a8d 100644 --- a/package/python-pyudev/python-pyudev.mk +++ b/package/python-pyudev/python-pyudev.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYUDEV_VERSION = 0.24.0 +PYTHON_PYUDEV_VERSION = 0.24.1 PYTHON_PYUDEV_SOURCE = pyudev-$(PYTHON_PYUDEV_VERSION).tar.gz -PYTHON_PYUDEV_SITE = https://files.pythonhosted.org/packages/00/8d/810750cb2fc64d7e0dbefc106a9137b157616a95be3f0ea51ca3cf6c762a +PYTHON_PYUDEV_SITE = https://files.pythonhosted.org/packages/20/b6/16961ac3575575260c72928f17df9c99c2a696871e486965ec6e2fa2aff4 PYTHON_PYUDEV_LICENSE = LGPL-2.1+ PYTHON_PYUDEV_LICENSE_FILES = COPYING PYTHON_PYUDEV_SETUP_TYPE = setuptools diff --git a/package/python-pyxb/Config.in b/package/python-pyxb/Config.in deleted file mode 100644 index 6555ed80b60..00000000000 --- a/package/python-pyxb/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_PYTHON_PYXB - bool "python-pyxb" - help - PyXB is a pure Python package that generates Python code for - classes that correspond to data structures defined by - XMLSchema. - - http://pyxb.sourceforge.net/ diff --git a/package/python-pyxb/python-pyxb.hash b/package/python-pyxb/python-pyxb.hash deleted file mode 100644 index f24cd42e5a8..00000000000 --- a/package/python-pyxb/python-pyxb.hash +++ /dev/null @@ -1,4 +0,0 @@ -# md5 from https://pypi.python.org/pypi/PyXB/json, sha256 locally computed -md5 4303573fc7094ce4664c5b71cd4bdb48 PyXB-1.2.6.tar.gz -sha256 2a00f38dd1d87b88f92d79bc5a09718d730419b88e814545f472bbd5a3bf27b4 PyXB-1.2.6.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-pyxb/python-pyxb.mk b/package/python-pyxb/python-pyxb.mk deleted file mode 100644 index 6af10b51e73..00000000000 --- a/package/python-pyxb/python-pyxb.mk +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################ -# -# python-pyxb -# -################################################################################ - -PYTHON_PYXB_VERSION = 1.2.6 -PYTHON_PYXB_SOURCE = PyXB-$(PYTHON_PYXB_VERSION).tar.gz -PYTHON_PYXB_SITE = https://pypi.python.org/packages/e3/09/4fdb190ea2b7cb43d6d3e745276ee69f4d6181be70fcbfda7df3c5f72f0e -PYTHON_PYXB_LICENSE = Apache-2.0 -PYTHON_PYXB_LICENSE_FILES = LICENSE -PYTHON_PYXB_SETUP_TYPE = distutils - -$(eval $(python-package)) diff --git a/package/python-pyyaml/python-pyyaml.hash b/package/python-pyyaml/python-pyyaml.hash index f8b53325653..e1f9412c300 100644 --- a/package/python-pyyaml/python-pyyaml.hash +++ b/package/python-pyyaml/python-pyyaml.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/PyYAML/json -md5 1d19c798f25e58e3e582f0f8c977dbb8 PyYAML-6.0.tar.gz -sha256 68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 PyYAML-6.0.tar.gz +md5 c9246277af2d9a13b7018af267a0831a PyYAML-6.0.1.tar.gz +sha256 bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 PyYAML-6.0.1.tar.gz # Locally computed sha256 checksums sha256 8d3928f9dc4490fd635707cb88eb26bd764102a7282954307d3e5167a577e8a4 LICENSE diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk index 067af8ea7d8..846c57df4ff 100644 --- a/package/python-pyyaml/python-pyyaml.mk +++ b/package/python-pyyaml/python-pyyaml.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYYAML_VERSION = 6.0 +PYTHON_PYYAML_VERSION = 6.0.1 PYTHON_PYYAML_SOURCE = PyYAML-$(PYTHON_PYYAML_VERSION).tar.gz -PYTHON_PYYAML_SITE = https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844 +PYTHON_PYYAML_SITE = https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0 PYTHON_PYYAML_SETUP_TYPE = setuptools PYTHON_PYYAML_LICENSE = MIT PYTHON_PYYAML_LICENSE_FILES = LICENSE diff --git a/package/python-pyzmq/python-pyzmq.hash b/package/python-pyzmq/python-pyzmq.hash index efbc91d83c3..3c91d25995e 100644 --- a/package/python-pyzmq/python-pyzmq.hash +++ b/package/python-pyzmq/python-pyzmq.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/pyzmq/json -md5 f10b7c3dee2c03557e2c5d00b73dfc7f pyzmq-24.0.1.tar.gz -sha256 216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77 pyzmq-24.0.1.tar.gz +md5 280afc0992b0a9f109dafc1e672d2f26 pyzmq-25.1.2.tar.gz +sha256 93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226 pyzmq-25.1.2.tar.gz # Locally computed sha256 checksums -sha256 aef3b80570351d44e29c22d080d4e9e106b34f3fdbc5cdf9636994474c72b1a2 COPYING.BSD -sha256 44b23767df3c0fe27f88981f09bc7f50a1695cec4b24252fa5f55f03e76bcd6d COPYING.LESSER +sha256 c0cf5f5c03f8d6772f7a271df1cb671054578bd3d79527c72fc1f28f8cc72a7a LICENSE.BSD +sha256 5f1dac83d6c25674004810ec9e54b304ccbb8303ac5961813b09235966abfd48 LICENSE.LESSER diff --git a/package/python-pyzmq/python-pyzmq.mk b/package/python-pyzmq/python-pyzmq.mk index 5792957eaf0..1d9a7d01cb6 100644 --- a/package/python-pyzmq/python-pyzmq.mk +++ b/package/python-pyzmq/python-pyzmq.mk @@ -4,15 +4,18 @@ # ################################################################################ -PYTHON_PYZMQ_VERSION = 24.0.1 +PYTHON_PYZMQ_VERSION = 25.1.2 PYTHON_PYZMQ_SOURCE = pyzmq-$(PYTHON_PYZMQ_VERSION).tar.gz -PYTHON_PYZMQ_SITE = https://files.pythonhosted.org/packages/46/0d/b06cf99a64d4187632f4ac9ddf6be99cd35de06fe72d75140496a8e0eef5 +PYTHON_PYZMQ_SITE = https://files.pythonhosted.org/packages/3a/33/1a3683fc9a4bd64d8ccc0290da75c8f042184a1a49c146d28398414d3341 PYTHON_PYZMQ_LICENSE = LGPL-3.0+, BSD-3-Clause, Apache-2.0 # Apache license only online: http://www.apache.org/licenses/LICENSE-2.0 -PYTHON_PYZMQ_LICENSE_FILES = COPYING.LESSER COPYING.BSD -PYTHON_PYZMQ_DEPENDENCIES = host-python-packaging zeromq +PYTHON_PYZMQ_LICENSE_FILES = LICENSE.LESSER LICENSE.BSD PYTHON_PYZMQ_SETUP_TYPE = setuptools PYTHON_PYZMQ_BUILD_OPTS = --zmq=$(STAGING_DIR)/usr +PYTHON_PYZMQ_DEPENDENCIES = \ + host-python-packaging \ + host-python-setuptools-scm \ + zeromq # Due to issues with cross-compiling, hardcode to the zeromq in BR define PYTHON_PYZMQ_PATCH_ZEROMQ_VERSION diff --git a/package/python-qrcode/Config.in b/package/python-qrcode/Config.in index 9a17cc1f081..6e63d83e41a 100644 --- a/package/python-qrcode/Config.in +++ b/package/python-qrcode/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_QRCODE bool "python-qrcode" + select BR2_PACKAGE_PYTHON_PYPNG # runtime + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help Pure python QR Code generator diff --git a/package/python-qrcode/python-qrcode.hash b/package/python-qrcode/python-qrcode.hash index 1ab84dd355a..48b2d7b2b0e 100644 --- a/package/python-qrcode/python-qrcode.hash +++ b/package/python-qrcode/python-qrcode.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/qrcode/json -md5 124103c685e96ba3b7a1616760f31c11 qrcode-7.3.1.tar.gz -sha256 375a6ff240ca9bd41adc070428b5dfc1dcfbb0f2507f1ac848f6cded38956578 qrcode-7.3.1.tar.gz -# Locally computed +# md5, sha256 from https://pypi.org/pypi/qrcode/json +md5 a4c47fe5ff966b105098998cfb2294de qrcode-7.4.2.tar.gz +sha256 9dd969454827e127dbd93696b20747239e6d540e082937c90f14ac95b30f5845 qrcode-7.4.2.tar.gz +# Locally computed sha256 checksums sha256 40dfb903c94ee3f789500131311186548ecba5cefd3557623d7700e2522ab994 LICENSE diff --git a/package/python-qrcode/python-qrcode.mk b/package/python-qrcode/python-qrcode.mk index 23e7dd3b885..97b181a1e1e 100644 --- a/package/python-qrcode/python-qrcode.mk +++ b/package/python-qrcode/python-qrcode.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_QRCODE_VERSION = 7.3.1 +PYTHON_QRCODE_VERSION = 7.4.2 PYTHON_QRCODE_SOURCE = qrcode-$(PYTHON_QRCODE_VERSION).tar.gz -PYTHON_QRCODE_SITE = https://files.pythonhosted.org/packages/94/9f/31f33cdf3cf8f98e64c42582fb82f39ca718264df61957f28b0bbb09b134 +PYTHON_QRCODE_SITE = https://files.pythonhosted.org/packages/30/35/ad6d4c5a547fe9a5baf85a9edbafff93fc6394b014fab30595877305fa59 PYTHON_QRCODE_SETUP_TYPE = setuptools PYTHON_QRCODE_LICENSE = BSD-3-Clause PYTHON_QRCODE_LICENSE_FILES = LICENSE diff --git a/package/python-redis/Config.in b/package/python-redis/Config.in index 4143e1f1c16..e22959cf7bf 100644 --- a/package/python-redis/Config.in +++ b/package/python-redis/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_REDIS bool "python-redis" help - Python client for Redis key-value store. + Python client for Redis database and key-value store. - https://github.com/andymccurdy/redis-py + https://github.com/redis/redis-py diff --git a/package/python-redis/python-redis.hash b/package/python-redis/python-redis.hash index 209ff35b78a..2d9df87a101 100644 --- a/package/python-redis/python-redis.hash +++ b/package/python-redis/python-redis.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/redis/json -md5 4ab691af57ac346c2e630ce2787a424f redis-4.4.0.tar.gz -sha256 7b8c87d19c45d3f1271b124858d2a5c13160c4e74d4835e28273400fa34d5228 redis-4.4.0.tar.gz +md5 f4bff9e3819ec832bb789b8b58363d6b redis-5.0.1.tar.gz +sha256 0dab495cd5753069d3bc650a0dde8a8f9edde16fc5691b689a566eda58100d0f redis-5.0.1.tar.gz # Locally computed sha256 checksums -sha256 7801a39e3a1aec58a7ea7c9f4dc1238cf0922c36a1fc8eff0bb7d684ff6dd354 LICENSE +sha256 a57b250a5bf03d7afe55b74063313f2adb7b00d546c0ab149a89398333fe3cc8 LICENSE diff --git a/package/python-redis/python-redis.mk b/package/python-redis/python-redis.mk index bbbd6f1df23..067a7543521 100644 --- a/package/python-redis/python-redis.mk +++ b/package/python-redis/python-redis.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REDIS_VERSION = 4.4.0 +PYTHON_REDIS_VERSION = 5.0.1 PYTHON_REDIS_SOURCE = redis-$(PYTHON_REDIS_VERSION).tar.gz -PYTHON_REDIS_SITE = https://files.pythonhosted.org/packages/7a/05/671367bb466b3301bc4543fdad6ac107214ca327c8d97165b30246d87e88 +PYTHON_REDIS_SITE = https://files.pythonhosted.org/packages/4a/4c/3c3b766f4ecbb3f0bec91ef342ee98d179e040c25b6ecc99e510c2570f2a PYTHON_REDIS_SETUP_TYPE = setuptools PYTHON_REDIS_LICENSE = MIT PYTHON_REDIS_LICENSE_FILES = LICENSE diff --git a/package/python-reedsolo/python-reedsolo.hash b/package/python-reedsolo/python-reedsolo.hash index fdafc89f495..c1729f0aeb3 100644 --- a/package/python-reedsolo/python-reedsolo.hash +++ b/package/python-reedsolo/python-reedsolo.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/reedsolo/json -md5 b67a04027a1825c63a63b6793ec660a3 reedsolo-1.6.0.tar.gz -sha256 4e290d3b0a7207ac7aac186790766c752b5fcdf5e0b04dfd260349579052bbac reedsolo-1.6.0.tar.gz +md5 5bbd7741f915ad67b6d425f93ab9d103 reedsolo-1.7.0.tar.gz +sha256 c1359f02742751afe0f1c0de9f0772cc113835aa2855d2db420ea24393c87732 reedsolo-1.7.0.tar.gz # Locally computed sha256 checksums -sha256 0babd7b573efc3dcf5bb3c28b583150726f775d3dd8d54d6cd062834735b3d73 LICENSE +sha256 2da9536c23b72bac15603bb1f8dbf269dc68ecfbc35a75f8d0aa9cb209ba0934 LICENSE diff --git a/package/python-reedsolo/python-reedsolo.mk b/package/python-reedsolo/python-reedsolo.mk index 2a7fd42a053..66e85fb40ae 100644 --- a/package/python-reedsolo/python-reedsolo.mk +++ b/package/python-reedsolo/python-reedsolo.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_REEDSOLO_VERSION = 1.6.0 +PYTHON_REEDSOLO_VERSION = 1.7.0 PYTHON_REEDSOLO_SOURCE = reedsolo-$(PYTHON_REEDSOLO_VERSION).tar.gz -PYTHON_REEDSOLO_SITE = https://files.pythonhosted.org/packages/9b/10/28d1492cc82a103bc06f18cb9a9dbb3a9168ab2e4068801fa0aa0c76b231 +PYTHON_REEDSOLO_SITE = https://files.pythonhosted.org/packages/f7/61/a67338cbecf370d464e71b10e9a31355f909d6937c3a8d6b17dd5d5beb5e PYTHON_REEDSOLO_SETUP_TYPE = setuptools -PYTHON_REEDSOLO_LICENSE = Public Domain +PYTHON_REEDSOLO_LICENSE = MIT-0, Unlicense PYTHON_REEDSOLO_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-referencing/Config.in b/package/python-referencing/Config.in new file mode 100644 index 00000000000..273c42543eb --- /dev/null +++ b/package/python-referencing/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_REFERENCING + bool "python-referencing" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-rpds-py + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_RPDS_PY # runtime + help + JSON Referencing + Python. + + https://github.com/python-jsonschema/referencing diff --git a/package/python-referencing/python-referencing.hash b/package/python-referencing/python-referencing.hash new file mode 100644 index 00000000000..2880a474779 --- /dev/null +++ b/package/python-referencing/python-referencing.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/referencing/json +md5 d1a0a4ae03ebba4b86b22bfb825f150b referencing-0.32.1.tar.gz +sha256 3c57da0513e9563eb7e203ebe9bb3a1b509b042016433bd1e45a2853466c3dd3 referencing-0.32.1.tar.gz +# Locally computed sha256 checksums +sha256 42dcd63495f87b4eb7c7757afa379bb55a53f94afd7a5f657d9adf57236e515c COPYING diff --git a/package/python-referencing/python-referencing.mk b/package/python-referencing/python-referencing.mk new file mode 100644 index 00000000000..27d1452e913 --- /dev/null +++ b/package/python-referencing/python-referencing.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-referencing +# +################################################################################ + +PYTHON_REFERENCING_VERSION = 0.32.1 +PYTHON_REFERENCING_SOURCE = referencing-$(PYTHON_REFERENCING_VERSION).tar.gz +PYTHON_REFERENCING_SITE = https://files.pythonhosted.org/packages/81/ce/910573eca7b1a1c6358b0dc0774ce1eeb81f4c98d4ee371f1c85f22040a1 +PYTHON_REFERENCING_SETUP_TYPE = pep517 +PYTHON_REFERENCING_LICENSE = MIT +PYTHON_REFERENCING_LICENSE_FILES = COPYING +PYTHON_REFERENCING_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-vcs + +$(eval $(python-package)) diff --git a/package/python-regex/Config.in b/package/python-regex/Config.in index 5f582d085a9..89ead69c043 100644 --- a/package/python-regex/Config.in +++ b/package/python-regex/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_REGEX help Alternative regular expression module, to replace re. - https://bitbucket.org/mrabarnett/mrab-regex + https://github.com/mrabarnett/mrab-regex diff --git a/package/python-regex/python-regex.hash b/package/python-regex/python-regex.hash index 11a5765e412..7454db99bbb 100644 --- a/package/python-regex/python-regex.hash +++ b/package/python-regex/python-regex.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/regex/json -md5 a85ced10be8bfe76fed4f30c42d32d5c regex-2022.10.31.tar.gz -sha256 a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83 regex-2022.10.31.tar.gz +md5 3f97f0aef9bf334fe50ae5980b183e68 regex-2023.12.25.tar.gz +sha256 29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5 regex-2023.12.25.tar.gz # Locally computed sha256 checksums sha256 bff55ef4cdcc8c14ce259f8e8ab60e264418440d6335f4dc138273fbd506144d LICENSE.txt diff --git a/package/python-regex/python-regex.mk b/package/python-regex/python-regex.mk index 81bd460ecc1..6b1938bc0c4 100644 --- a/package/python-regex/python-regex.mk +++ b/package/python-regex/python-regex.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REGEX_VERSION = 2022.10.31 +PYTHON_REGEX_VERSION = 2023.12.25 PYTHON_REGEX_SOURCE = regex-$(PYTHON_REGEX_VERSION).tar.gz -PYTHON_REGEX_SITE = https://files.pythonhosted.org/packages/27/b5/92d404279fd5f4f0a17235211bb0f5ae7a0d9afb7f439086ec247441ed28 +PYTHON_REGEX_SITE = https://files.pythonhosted.org/packages/b5/39/31626e7e75b187fae7f121af3c538a991e725c744ac893cc2cfd70ce2853 PYTHON_REGEX_SETUP_TYPE = setuptools PYTHON_REGEX_LICENSE = Apache-2.0 PYTHON_REGEX_LICENSE_FILES = LICENSE.txt diff --git a/package/python-requests-toolbelt/Config.in b/package/python-requests-toolbelt/Config.in index ba2b95152e0..7d5b4b65c25 100644 --- a/package/python-requests-toolbelt/Config.in +++ b/package/python-requests-toolbelt/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_REQUESTS_TOOLBELT help A utility belt for advanced users of python-requests. - https://toolbelt.readthedocs.org + https://toolbelt.readthedocs.io/ diff --git a/package/python-requests-toolbelt/python-requests-toolbelt.hash b/package/python-requests-toolbelt/python-requests-toolbelt.hash index 28abf2c6283..12bc58131da 100644 --- a/package/python-requests-toolbelt/python-requests-toolbelt.hash +++ b/package/python-requests-toolbelt/python-requests-toolbelt.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/requests-toolbelt/json -md5 636d226d03632d013269aebbc85f4f4b requests-toolbelt-0.10.1.tar.gz -sha256 62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d requests-toolbelt-0.10.1.tar.gz +md5 6a8348cfc9991b44e499345db1c6f925 requests-toolbelt-1.0.0.tar.gz +sha256 7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6 requests-toolbelt-1.0.0.tar.gz # Locally computed sha256 checksums sha256 1f8cf8bdacd98ed6d36d0fec0c07f7765acebd6e81205962ab5146023b3c858d LICENSE diff --git a/package/python-requests-toolbelt/python-requests-toolbelt.mk b/package/python-requests-toolbelt/python-requests-toolbelt.mk index 8c141e3aa9c..d0bcb1bb219 100644 --- a/package/python-requests-toolbelt/python-requests-toolbelt.mk +++ b/package/python-requests-toolbelt/python-requests-toolbelt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_TOOLBELT_VERSION = 0.10.1 +PYTHON_REQUESTS_TOOLBELT_VERSION = 1.0.0 PYTHON_REQUESTS_TOOLBELT_SOURCE = requests-toolbelt-$(PYTHON_REQUESTS_TOOLBELT_VERSION).tar.gz -PYTHON_REQUESTS_TOOLBELT_SITE = https://files.pythonhosted.org/packages/0c/4c/07f01c6ac44f7784fa399137fbc8d0cdc1b5d35304e8c0f278ad82105b58 +PYTHON_REQUESTS_TOOLBELT_SITE = https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb PYTHON_REQUESTS_TOOLBELT_SETUP_TYPE = setuptools PYTHON_REQUESTS_TOOLBELT_LICENSE = Apache-2.0 PYTHON_REQUESTS_TOOLBELT_LICENSE_FILES = LICENSE diff --git a/package/python-requests/python-requests.hash b/package/python-requests/python-requests.hash index 1383e680d52..c4aeabb25da 100644 --- a/package/python-requests/python-requests.hash +++ b/package/python-requests/python-requests.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/requests/json -md5 796ea875cdae283529c03b9203d9c454 requests-2.28.1.tar.gz -sha256 7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 requests-2.28.1.tar.gz +md5 941e175c276cd7d39d098092c56679a4 requests-2.31.0.tar.gz +sha256 942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1 requests-2.31.0.tar.gz # Locally computed sha256 checksums sha256 09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130b LICENSE diff --git a/package/python-requests/python-requests.mk b/package/python-requests/python-requests.mk index 7a21cca52c3..2c74db37113 100644 --- a/package/python-requests/python-requests.mk +++ b/package/python-requests/python-requests.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_VERSION = 2.28.1 +PYTHON_REQUESTS_VERSION = 2.31.0 PYTHON_REQUESTS_SOURCE = requests-$(PYTHON_REQUESTS_VERSION).tar.gz -PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/a5/61/a867851fd5ab77277495a8709ddda0861b28163c4613b011bc00228cc724 +PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/9d/be/10918a2eac4ae9f02f6cfe6414b7a155ccd8f7f9d4380d62fd5b955065c3 PYTHON_REQUESTS_SETUP_TYPE = setuptools PYTHON_REQUESTS_LICENSE = Apache-2.0 PYTHON_REQUESTS_LICENSE_FILES = LICENSE diff --git a/package/python-rpds-py/Config.in b/package/python-rpds-py/Config.in new file mode 100644 index 00000000000..172c5fd0b6d --- /dev/null +++ b/package/python-rpds-py/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_RPDS_PY + bool "python-rpds-py" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + help + Python bindings to the Rust rpds crate for persistent + data structures. + + https://github.com/crate-py/rpds diff --git a/package/python-rpds-py/python-rpds-py.hash b/package/python-rpds-py/python-rpds-py.hash new file mode 100644 index 00000000000..62b508ae6b9 --- /dev/null +++ b/package/python-rpds-py/python-rpds-py.hash @@ -0,0 +1,4 @@ +# Locally calculated after vendoring +sha256 d9b542bf5321495737005a78d9fbf40541b898d1e2b3309cbe36a2431977be8b rpds_py-0.18.1.tar.gz +# Locally computed sha256 checksums +sha256 314e4e91be3baa93c0fb4bccc9e4e97cd643eb839b065af921782c2175fe9909 LICENSE diff --git a/package/python-rpds-py/python-rpds-py.mk b/package/python-rpds-py/python-rpds-py.mk new file mode 100644 index 00000000000..57fe0be7e8b --- /dev/null +++ b/package/python-rpds-py/python-rpds-py.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-rpds-py +# +################################################################################ + +PYTHON_RPDS_PY_VERSION = 0.18.1 +PYTHON_RPDS_PY_SOURCE = rpds_py-$(PYTHON_RPDS_PY_VERSION).tar.gz +PYTHON_RPDS_PY_SITE = https://files.pythonhosted.org/packages/2d/aa/e7c404bdee1db7be09860dff423d022ffdce9269ec8e6532cce09ee7beea +PYTHON_RPDS_PY_SETUP_TYPE = maturin +PYTHON_RPDS_PY_LICENSE = MIT +PYTHON_RPDS_PY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-rpi-ws281x/python-rpi-ws281x.hash b/package/python-rpi-ws281x/python-rpi-ws281x.hash index ffdd826b6f9..42bc2055232 100644 --- a/package/python-rpi-ws281x/python-rpi-ws281x.hash +++ b/package/python-rpi-ws281x/python-rpi-ws281x.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/rpi-ws281x/json -md5 016e1f03f9168ef03d4baf074aa60f03 rpi_ws281x-4.3.4.tar.gz -sha256 072eff1787e579d1710381b27c467709e3aab28ac579c7a47d7cc87398496f28 rpi_ws281x-4.3.4.tar.gz +md5 9c87b5bedba0a48bb97e9953378dfb78 rpi_ws281x-5.0.0.tar.gz +sha256 00ce6db771436b778d0930245cf8ea2aae11008cc5fd67d57789c5422af3ee55 rpi_ws281x-5.0.0.tar.gz # Locally computed sha256 checksums sha256 7bbf6337c1eee7169579e6acd398f31ea274dfa3a1689ab7e654ca3585d5a8a9 LICENSE sha256 7bbf6337c1eee7169579e6acd398f31ea274dfa3a1689ab7e654ca3585d5a8a9 lib/LICENSE diff --git a/package/python-rpi-ws281x/python-rpi-ws281x.mk b/package/python-rpi-ws281x/python-rpi-ws281x.mk index 73befeb56e9..610467b160c 100644 --- a/package/python-rpi-ws281x/python-rpi-ws281x.mk +++ b/package/python-rpi-ws281x/python-rpi-ws281x.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_RPI_WS281X_VERSION = 4.3.4 +PYTHON_RPI_WS281X_VERSION = 5.0.0 PYTHON_RPI_WS281X_SOURCE = rpi_ws281x-$(PYTHON_RPI_WS281X_VERSION).tar.gz -PYTHON_RPI_WS281X_SITE = https://files.pythonhosted.org/packages/e2/d4/75fcc4f3412b9b16e39e6cd6156f2e171fe7b2e79057be17d1acf38fded4 +PYTHON_RPI_WS281X_SITE = https://files.pythonhosted.org/packages/c0/1e/642208a685c5e96d38323f42c75d9b24f95e2d1b8390dd104e04a712f29e PYTHON_RPI_WS281X_SETUP_TYPE = setuptools PYTHON_RPI_WS281X_LICENSE = BSD-2-Clause PYTHON_RPI_WS281X_LICENSE_FILES = LICENSE lib/LICENSE diff --git a/package/python-rsa/python-rsa.mk b/package/python-rsa/python-rsa.mk index 01b5c49b50f..d84ba8b431d 100644 --- a/package/python-rsa/python-rsa.mk +++ b/package/python-rsa/python-rsa.mk @@ -10,6 +10,6 @@ PYTHON_RSA_SITE = https://files.pythonhosted.org/packages/aa/65/7d973b89c4d2351d PYTHON_RSA_SETUP_TYPE = setuptools PYTHON_RSA_LICENSE = Apache-2.0 PYTHON_RSA_LICENSE_FILES = LICENSE -PYTHON_RSA_CPE_ID_VENDOR = python-rsa_project +PYTHON_RSA_CPE_ID_VALID = YES $(eval $(python-package)) diff --git a/package/python-rtoml/python-rtoml.hash b/package/python-rtoml/python-rtoml.hash index 04d22ed1a44..59f17d9d621 100644 --- a/package/python-rtoml/python-rtoml.hash +++ b/package/python-rtoml/python-rtoml.hash @@ -1,4 +1,4 @@ # Locally calculated after vendoring -sha256 821a430ab6587bdaaf7cb95044e8e0d99c77c6aed0adce5a370045b270f7ee20 rtoml-0.8.0.tar.gz +sha256 987d3d9e9d56761b17c3e4e172937cbcc793bf24b0ebb2730647a9a2cf86c789 rtoml-0.10.0.tar.gz # Locally computed sha256 checksums sha256 cd5ffde80e6d3286a2e2e5f02fb2cb07b823931ca368e7c735a6c5f5aebe7103 LICENSE diff --git a/package/python-rtoml/python-rtoml.mk b/package/python-rtoml/python-rtoml.mk index 9afe8c03150..16f9dea5737 100644 --- a/package/python-rtoml/python-rtoml.mk +++ b/package/python-rtoml/python-rtoml.mk @@ -4,19 +4,11 @@ # ################################################################################ -PYTHON_RTOML_VERSION = 0.8.0 +PYTHON_RTOML_VERSION = 0.10.0 PYTHON_RTOML_SOURCE = rtoml-$(PYTHON_RTOML_VERSION).tar.gz -PYTHON_RTOML_SITE = https://files.pythonhosted.org/packages/33/a6/b42d8e0e28bec9fd7fdbafb2d76db3f8578f151a669eba564d422756d909 -PYTHON_RTOML_SETUP_TYPE = setuptools +PYTHON_RTOML_SITE = https://files.pythonhosted.org/packages/ca/b2/0e77a00e75ed582ec1c4c3a9e1eeed886a15c195bcce87b7daf1171c4115 +PYTHON_RTOML_SETUP_TYPE = maturin PYTHON_RTOML_LICENSE = MIT PYTHON_RTOML_LICENSE_FILES = LICENSE -PYTHON_RTOML_DEPENDENCIES = host-python-setuptools-rust host-rustc -PYTHON_RTOML_ENV = \ - $(PKG_CARGO_ENV) \ - PYO3_CROSS_LIB_DIR="$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)" -# We need to vendor the Cargo crates at download time -PYTHON_RTOML_DOWNLOAD_POST_PROCESS = cargo -PYTHON_RTOML_DOWNLOAD_DEPENDENCIES = host-rustc -PYTHON_RTOML_DL_ENV = $(PKG_CARGO_ENV) $(eval $(python-package)) diff --git a/package/python-rtslib-fb/python-rtslib-fb.hash b/package/python-rtslib-fb/python-rtslib-fb.hash index 3c2e39fffd1..39c390edb26 100644 --- a/package/python-rtslib-fb/python-rtslib-fb.hash +++ b/package/python-rtslib-fb/python-rtslib-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 9f581c4bcffebc60be236af8a6ebdeccdb66d0435eeb04ab1b743c170b95d046 python-rtslib-fb-2.1.74.tar.gz +sha256 ac15c113d09209c7b0d14d94a12ed88205a7c2feadd1096f573049fd737f7e74 python-rtslib-fb-2.1.76.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/python-rtslib-fb/python-rtslib-fb.mk b/package/python-rtslib-fb/python-rtslib-fb.mk index 09bde874f0b..6396d26a3f5 100644 --- a/package/python-rtslib-fb/python-rtslib-fb.mk +++ b/package/python-rtslib-fb/python-rtslib-fb.mk @@ -6,7 +6,7 @@ # When upgrading the version, be sure to also upgrade # python-configshell-fb and targetcli-fb at the same time. -PYTHON_RTSLIB_FB_VERSION = 2.1.74 +PYTHON_RTSLIB_FB_VERSION = 2.1.76 # Do not switch site to PyPI: it does not contain the latest version. PYTHON_RTSLIB_FB_SITE = $(call github,open-iscsi,rtslib-fb,v$(PYTHON_RTSLIB_FB_VERSION)) PYTHON_RTSLIB_FB_LICENSE = Apache-2.0 diff --git a/package/python-s3transfer/python-s3transfer.hash b/package/python-s3transfer/python-s3transfer.hash index 16f0face72b..48be6b3a8b6 100644 --- a/package/python-s3transfer/python-s3transfer.hash +++ b/package/python-s3transfer/python-s3transfer.hash @@ -1,4 +1,5 @@ -# sha256 from https://pypi.org/pypi/s3transfer/json -sha256 2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947 s3transfer-0.6.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/s3transfer/json +md5 ba84e7c06bc1dcd3151c3d2132621cfc s3transfer-0.10.0.tar.gz +sha256 d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b s3transfer-0.10.0.tar.gz # Locally computed sha256 checksums sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/python-s3transfer/python-s3transfer.mk b/package/python-s3transfer/python-s3transfer.mk index 60a72da7295..6fae824862e 100644 --- a/package/python-s3transfer/python-s3transfer.mk +++ b/package/python-s3transfer/python-s3transfer.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_S3TRANSFER_VERSION = 0.6.0 +PYTHON_S3TRANSFER_VERSION = 0.10.0 PYTHON_S3TRANSFER_SOURCE = s3transfer-$(PYTHON_S3TRANSFER_VERSION).tar.gz -PYTHON_S3TRANSFER_SITE = https://files.pythonhosted.org/packages/e1/eb/e57c93d5cd5edf8c1d124c831ef916601540db70acd96fa21fe60cef1365 +PYTHON_S3TRANSFER_SITE = https://files.pythonhosted.org/packages/a0/b5/4c570b08cb85fdcc65037b5229e00412583bb38d974efecb7ec3495f40ba PYTHON_S3TRANSFER_SETUP_TYPE = setuptools PYTHON_S3TRANSFER_LICENSE = Apache-2.0 PYTHON_S3TRANSFER_LICENSE_FILES = LICENSE.txt diff --git a/package/python-scapy/python-scapy.hash b/package/python-scapy/python-scapy.hash index 4dccffd39ac..7b21e6cb306 100644 --- a/package/python-scapy/python-scapy.hash +++ b/package/python-scapy/python-scapy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/scapy/json -md5 54072af118e9291b6c7898b4ea87cdaf scapy-2.4.5.tar.gz -sha256 bc707e3604784496b6665a9e5b2a69c36cc9fb032af4864b29051531b24c8593 scapy-2.4.5.tar.gz +md5 f546b1c82c2c98e0dae1a436219dd042 scapy-2.5.0.tar.gz +sha256 5b260c2b754fd8d409ba83ee7aee294ecdbb2c235f9f78fe90bc11cb6e5debc2 scapy-2.5.0.tar.gz # Locally computed sha256 checksums sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/python-scapy/python-scapy.mk b/package/python-scapy/python-scapy.mk index 9cf17db6711..a2c6cc6872f 100644 --- a/package/python-scapy/python-scapy.mk +++ b/package/python-scapy/python-scapy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SCAPY_VERSION = 2.4.5 +PYTHON_SCAPY_VERSION = 2.5.0 PYTHON_SCAPY_SOURCE = scapy-$(PYTHON_SCAPY_VERSION).tar.gz -PYTHON_SCAPY_SITE = https://files.pythonhosted.org/packages/85/47/c919432ca258f354bb2c1e645623f891603f185bfc7563d4a21f6432e7ed +PYTHON_SCAPY_SITE = https://files.pythonhosted.org/packages/67/a1/2a60d5b6f0fed297dd0c0311c887d5e8a30ba1250506585b897e5a662f4c PYTHON_SCAPY_SETUP_TYPE = setuptools PYTHON_SCAPY_LICENSE = GPL-2.0 PYTHON_SCAPY_LICENSE_FILES = LICENSE diff --git a/package/python-schedule/python-schedule.hash b/package/python-schedule/python-schedule.hash index 3d67be0f5eb..59c84c20024 100644 --- a/package/python-schedule/python-schedule.hash +++ b/package/python-schedule/python-schedule.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/schedule/json -md5 9bf7544e37824e450457187633a17b17 schedule-1.1.0.tar.gz -sha256 e6ca13585e62c810e13a08682e0a6a8ad245372e376ba2b8679294f377dfc8e4 schedule-1.1.0.tar.gz +md5 ecb436a797e1a149bac4643330b268ca schedule-1.2.1.tar.gz +sha256 843bc0538b99c93f02b8b50e3e39886c06f2d003b24f48e1aa4cadfa3f341279 schedule-1.2.1.tar.gz # Locally computed sha256 checksums sha256 30a8352c318ce1b645acde0299697342d4380ed2637d7ca18a8ad25661e3b41b LICENSE.txt diff --git a/package/python-schedule/python-schedule.mk b/package/python-schedule/python-schedule.mk index fc6081cf22e..11be2e49d4c 100644 --- a/package/python-schedule/python-schedule.mk +++ b/package/python-schedule/python-schedule.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SCHEDULE_VERSION = 1.1.0 +PYTHON_SCHEDULE_VERSION = 1.2.1 PYTHON_SCHEDULE_SOURCE = schedule-$(PYTHON_SCHEDULE_VERSION).tar.gz -PYTHON_SCHEDULE_SITE = https://files.pythonhosted.org/packages/a8/b5/a291a4c0faa491fd5baefa6d89011ece581cff47b23c0a39b42a63383358 +PYTHON_SCHEDULE_SITE = https://files.pythonhosted.org/packages/29/22/9dd374cbf76a42ece1f1f41cc8f4957f0ad512577372527cd3dd52758241 PYTHON_SCHEDULE_SETUP_TYPE = setuptools PYTHON_SCHEDULE_LICENSE = MIT PYTHON_SCHEDULE_LICENSE_FILES = LICENSE.txt diff --git a/package/python-scipy/Config.in b/package/python-scipy/Config.in index 229b5997ad2..aa7eefd44d5 100644 --- a/package/python-scipy/Config.in +++ b/package/python-scipy/Config.in @@ -2,10 +2,14 @@ config BR2_PACKAGE_PYTHON_SCIPY bool "python-scipy" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS # lapack + depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS # openblas depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy + depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy depends on BR2_TOOLCHAIN_HAS_FORTRAN # lapack depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LAPACK + select BR2_PACKAGE_OPENBLAS select BR2_PACKAGE_PYTHON3_ZLIB # runtime scipy::io select BR2_PACKAGE_PYTHON_NUMPY # runtime select BR2_PACKAGE_PYTHON_PYBIND @@ -17,9 +21,11 @@ config BR2_PACKAGE_PYTHON_SCIPY https://www.scipy.org/scipylib/ -comment "python-scipy needs toolchain w/ fortran and c++ and glibc or musl" +comment "python-scipy needs glibc or musl toolchain w/ fortran, c++, gcc >= 9, host gcc >= 9" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS + depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_FORTRAN || \ - !BR2_INSTALL_LIBSTDCPP || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_9 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ (!BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/python-scipy/python-scipy.hash b/package/python-scipy/python-scipy.hash index 0274679c431..bee5d698a02 100644 --- a/package/python-scipy/python-scipy.hash +++ b/package/python-scipy/python-scipy.hash @@ -1,7 +1,8 @@ -# Locally generated -sha256 0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9 scipy-1.8.1.tar.xz -sha256 96599f8ec69a2cc609265eed13fc75090aacb28742260e55ce623788a33da19c LICENSE.txt -sha256 37e64a498894ac7c3b070023e3689e954a8ecf8a23b90968d09a455f1b4f7b35 scipy/linalg/src/lapack_deprecations/LICENSE +# md5, sha256 from https://pypi.org/pypi/scipy/json +md5 0e8eea0f7c4fe7d8102366230c96d66d scipy-1.11.4.tar.gz +sha256 90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa scipy-1.11.4.tar.gz +# Locally computed sha256 checksums +sha256 5517022426a56179540ee6eace15fd723ef8fdb83b2900fed2152dd2e2f972a2 LICENSE.txt sha256 606209a000716c5f66e33e180ce08434b96ed17db4975ab9723c6b5fbcc89609 scipy/ndimage/LICENSE.txt sha256 3df9207af2fdb861af0ae3b22026f163b9bcfab4e525dc4943afe2ffa3f77624 scipy/optimize/tnc/LICENSE sha256 f0cedf52503b2d42b83411a0a16e6fefac346dfad8fddc66f50050150123470c scipy/sparse/linalg/_dsolve/SuperLU/License.txt diff --git a/package/python-scipy/python-scipy.mk b/package/python-scipy/python-scipy.mk index a8c23c6c888..6626826e33b 100644 --- a/package/python-scipy/python-scipy.mk +++ b/package/python-scipy/python-scipy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SCIPY_VERSION = 1.8.1 -PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.xz -PYTHON_SCIPY_SITE = https://github.com/scipy/scipy/releases/download/v$(PYTHON_SCIPY_VERSION) +PYTHON_SCIPY_VERSION = 1.11.4 +PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz +PYTHON_SCIPY_SITE = https://files.pythonhosted.org/packages/6e/1f/91144ba78dccea567a6466262922786ffc97be1e9b06ed9574ef0edc11e1 PYTHON_SCIPY_LICENSE = \ BSD-3-Clause, \ BSD-2-Clause, \ @@ -16,7 +16,6 @@ PYTHON_SCIPY_LICENSE = \ Qhull PYTHON_SCIPY_LICENSE_FILES = \ LICENSE.txt \ - scipy/linalg/src/lapack_deprecations/LICENSE \ scipy/ndimage/LICENSE.txt \ scipy/optimize/tnc/LICENSE \ scipy/sparse/linalg/_dsolve/SuperLU/License.txt \ @@ -25,34 +24,24 @@ PYTHON_SCIPY_LICENSE_FILES = \ PYTHON_SCIPY_CPE_ID_VENDOR = scipy PYTHON_SCIPY_CPE_ID_PRODUCT = scipy PYTHON_SCIPY_DEPENDENCIES += \ + host-python-cython \ host-python-numpy \ host-python-pythran \ zlib \ lapack \ + openblas \ + python3 \ python-numpy \ python-pybind PYTHON_SCIPY_INSTALL_STAGING = YES -PYTHON_SCIPY_SETUP_TYPE = setuptools -PYTHON_SCIPY_BUILD_OPTS = config_fc --fcompiler=gnu95 +PYTHON_SCIPY_CONF_ENV += \ + _PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \ + PYTHONPATH=$(PYTHON3_PATH) -PYTHON_SCIPY_LDFLAGS = $(TARGET_LDFLAGS) -shared \ - -L$(PYTHON3_PATH)/site-packages/numpy/core/lib -# -lnpyrandom localization -PYTHON_SCIPY_LDFLAGS += \ - -L$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/random/lib +PYTHON_SCIPY_CONF_OPTS = -Dblas=openblas -Dlapack=lapack -PYTHON_SCIPY_ENV = \ - F90=$(TARGET_FC) \ - LDFLAGS="$(PYTHON_SCIPY_LDFLAGS)" +PYTHON_SCIPY_MESON_EXTRA_PROPERTIES = \ + numpy-include-dir='$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include' -# Provide system configuration options to numpy distutils extensions, telling -# to find all include files and libraries in staging directory. -define PYTHON_SCIPY_CONFIGURE_CMDS - -rm -f $(@D)/site.cfg - echo "[DEFAULT]" >> $(@D)/site.cfg - echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(@D)/site.cfg - echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg -endef - -$(eval $(python-package)) +$(eval $(meson-package)) diff --git a/package/python-sdnotify/python-sdnotify.mk b/package/python-sdnotify/python-sdnotify.mk index 1b0f2276dcd..4e250eee95e 100644 --- a/package/python-sdnotify/python-sdnotify.mk +++ b/package/python-sdnotify/python-sdnotify.mk @@ -7,7 +7,7 @@ PYTHON_SDNOTIFY_VERSION = 0.3.2 PYTHON_SDNOTIFY_SOURCE = sdnotify-$(PYTHON_SDNOTIFY_VERSION).tar.gz PYTHON_SDNOTIFY_SITE = https://files.pythonhosted.org/packages/ce/d8/9fdc36b2a912bf78106de4b3f0de3891ff8f369e7a6f80be842b8b0b6bd5 -PYTHON_SDNOTIFY_SETUP_TYPE = distutils +PYTHON_SDNOTIFY_SETUP_TYPE = setuptools PYTHON_SDNOTIFY_LICENSE = MIT PYTHON_SDNOTIFY_LICENSE_FILES = LICENSE.txt diff --git a/package/python-segno/Config.in b/package/python-segno/Config.in new file mode 100644 index 00000000000..e6080fd4173 --- /dev/null +++ b/package/python-segno/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_SEGNO + bool "python-segno" + select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime + help + QR Code and Micro QR Code generator for Python. + + https://github.com/heuer/segno/ diff --git a/package/python-segno/python-segno.hash b/package/python-segno/python-segno.hash new file mode 100644 index 00000000000..58142c184f7 --- /dev/null +++ b/package/python-segno/python-segno.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/segno/json +md5 b80c19075a7a07cce50b054e9e221cf7 segno-1.6.0.tar.gz +sha256 8d3b11098ac6dd93161499544dedbfb187d4459088109b8855ff0bbe98105047 segno-1.6.0.tar.gz +# Locally computed sha256 checksums +sha256 3af9b2f15c736a571978760b2d60598502c205eb6daebe2ec36f0272c380ed28 LICENSE diff --git a/package/python-segno/python-segno.mk b/package/python-segno/python-segno.mk new file mode 100644 index 00000000000..2c230ee26b1 --- /dev/null +++ b/package/python-segno/python-segno.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-segno +# +################################################################################ + +PYTHON_SEGNO_VERSION = 1.6.0 +PYTHON_SEGNO_SOURCE = segno-$(PYTHON_SEGNO_VERSION).tar.gz +PYTHON_SEGNO_SITE = https://files.pythonhosted.org/packages/51/a8/960844fec8d853a4e8e91f64bdde323ea5a2a44357eca799e7f7f7bf2f1e +PYTHON_SEGNO_SETUP_TYPE = setuptools +PYTHON_SEGNO_LICENSE = BSD-3-Clause +PYTHON_SEGNO_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-selenium/Config.in b/package/python-selenium/Config.in new file mode 100644 index 00000000000..30820f07f8a --- /dev/null +++ b/package/python-selenium/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_SELENIUM + bool "python-selenium" + select BR2_PACKAGE_PYTHON_CERTIFI # runtime + select BR2_PACKAGE_PYTHON_PYSOCKS # runtime + select BR2_PACKAGE_PYTHON_TRIO # runtime + select BR2_PACKAGE_PYTHON_TRIO_WEBSOCKET # runtime + select BR2_PACKAGE_PYTHON_URLLIB3 # runtime + help + Python language bindings for Selenium WebDriver. + + https://www.selenium.dev diff --git a/package/python-selenium/python-selenium.hash b/package/python-selenium/python-selenium.hash new file mode 100644 index 00000000000..ef1c34bfd32 --- /dev/null +++ b/package/python-selenium/python-selenium.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/selenium/json +md5 9afd7110a9e06721baae028ac42a2221 selenium-4.16.0.tar.gz +sha256 b2e987a445306151f7be0e6dfe2aa72a479c2ac6a91b9d5ef2d6dd4e49ad0435 selenium-4.16.0.tar.gz diff --git a/package/python-selenium/python-selenium.mk b/package/python-selenium/python-selenium.mk new file mode 100644 index 00000000000..0428cefa469 --- /dev/null +++ b/package/python-selenium/python-selenium.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-selenium +# +################################################################################ + +PYTHON_SELENIUM_VERSION = 4.16.0 +PYTHON_SELENIUM_SOURCE = selenium-$(PYTHON_SELENIUM_VERSION).tar.gz +PYTHON_SELENIUM_SITE = https://files.pythonhosted.org/packages/16/fd/a0ef793383077dd6296e4637acc82d1e9893e9a49a47f56e96996909e427 +PYTHON_SELENIUM_SETUP_TYPE = setuptools +PYTHON_SELENIUM_LICENSE = Apache-2.0 + +$(eval $(python-package)) diff --git a/package/python-semver/Config.in b/package/python-semver/Config.in index 4af2bbf449a..db83d8edc4b 100644 --- a/package/python-semver/Config.in +++ b/package/python-semver/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_SEMVER bool "python-semver" help - Python helper for Semantic Versioning (http://semver.org/). + Python helper for Semantic Versioning (https://semver.org). https://github.com/python-semver/python-semver diff --git a/package/python-semver/python-semver.hash b/package/python-semver/python-semver.hash index 10cb0a84649..1e061676107 100644 --- a/package/python-semver/python-semver.hash +++ b/package/python-semver/python-semver.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/semver/json -md5 e98b5fb283ea84daa5195087de83ebf1 semver-2.13.0.tar.gz -sha256 fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f semver-2.13.0.tar.gz -# Locally computed +md5 0bbc4d74959c9f1522f75ffb4ae0934d semver-3.0.2.tar.gz +sha256 6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc semver-3.0.2.tar.gz +# Locally computed sha256 checksums sha256 cda490c32e61d3884dc17791fc8078f2a3e564fba98dd18b4dc64eb2720b2b6f LICENSE.txt diff --git a/package/python-semver/python-semver.mk b/package/python-semver/python-semver.mk index d3a905754f3..29d7ba46b13 100644 --- a/package/python-semver/python-semver.mk +++ b/package/python-semver/python-semver.mk @@ -4,11 +4,12 @@ # ################################################################################ -PYTHON_SEMVER_VERSION = 2.13.0 +PYTHON_SEMVER_VERSION = 3.0.2 PYTHON_SEMVER_SOURCE = semver-$(PYTHON_SEMVER_VERSION).tar.gz -PYTHON_SEMVER_SITE = https://files.pythonhosted.org/packages/31/a9/b61190916030ee9af83de342e101f192bbb436c59be20a4cb0cdb7256ece +PYTHON_SEMVER_SITE = https://files.pythonhosted.org/packages/41/6c/a536cc008f38fd83b3c1b98ce19ead13b746b5588c9a0cb9dd9f6ea434bc PYTHON_SEMVER_SETUP_TYPE = setuptools PYTHON_SEMVER_LICENSE = BSD-3-Clause PYTHON_SEMVER_LICENSE_FILES = LICENSE.txt +PYTHON_SEMVER_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-sentry-sdk/python-sentry-sdk.hash b/package/python-sentry-sdk/python-sentry-sdk.hash index 2aa739f3986..2534a482212 100644 --- a/package/python-sentry-sdk/python-sentry-sdk.hash +++ b/package/python-sentry-sdk/python-sentry-sdk.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sentry-sdk/json -md5 4980e01dc73c6bcf794b0b7d3f3e08d7 sentry-sdk-1.11.1.tar.gz -sha256 675f6279b6bb1fea09fd61751061f9a90dca3b5929ef631dd50dc8b3aeb245e9 sentry-sdk-1.11.1.tar.gz +md5 94ba9002bbfaf8c443c496b05bbc32eb sentry-sdk-1.39.2.tar.gz +sha256 24c83b0b41c887d33328a9166f5950dc37ad58f01c9f2fbff6b87a6f1094170c sentry-sdk-1.39.2.tar.gz # Locally computed sha256 checksums -sha256 59404d4c854e579097d41bfccd5006afde9d6d70e646cf55074cdbfead5ecf1c LICENSE +sha256 2a140d660f462812fa290bc740d04633126c5ec45d84b79b569e127b0eeddd0b LICENSE diff --git a/package/python-sentry-sdk/python-sentry-sdk.mk b/package/python-sentry-sdk/python-sentry-sdk.mk index 056a015952f..f1c5648f076 100644 --- a/package/python-sentry-sdk/python-sentry-sdk.mk +++ b/package/python-sentry-sdk/python-sentry-sdk.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_SENTRY_SDK_VERSION = 1.11.1 +PYTHON_SENTRY_SDK_VERSION = 1.39.2 PYTHON_SENTRY_SDK_SOURCE = sentry-sdk-$(PYTHON_SENTRY_SDK_VERSION).tar.gz -PYTHON_SENTRY_SDK_SITE = https://files.pythonhosted.org/packages/a3/d5/db26377e9817407ae8d7b65e15b3c3b8d817c301633be15bd2aef61f38a3 +PYTHON_SENTRY_SDK_SITE = https://files.pythonhosted.org/packages/66/90/9deac5c137e9f0ede908757d886af77938ef28f94b24decedbdf98f1ca4d PYTHON_SENTRY_SDK_SETUP_TYPE = setuptools -PYTHON_SENTRY_SDK_LICENSE = BSD-2-Clause +PYTHON_SENTRY_SDK_LICENSE = MIT PYTHON_SENTRY_SDK_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-service-identity/Config.in b/package/python-service-identity/Config.in index 278900971eb..3bb5c08c6f0 100644 --- a/package/python-service-identity/Config.in +++ b/package/python-service-identity/Config.in @@ -1,12 +1,10 @@ config BR2_PACKAGE_PYTHON_SERVICE_IDENTITY bool "python-service-identity" - # python-pyopenssl -> python-cryptography - depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cryptography select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime select BR2_PACKAGE_PYTHON_PYASN1 # runtime select BR2_PACKAGE_PYTHON_PYASN1_MODULES # runtime - select BR2_PACKAGE_PYTHON_PYOPENSSL # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime help Service identity verification for pyOpenSSL. diff --git a/package/python-service-identity/python-service-identity.hash b/package/python-service-identity/python-service-identity.hash index f648918dbd8..32d8f21ad4a 100644 --- a/package/python-service-identity/python-service-identity.hash +++ b/package/python-service-identity/python-service-identity.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/service-identity/json -md5 5e5c195d8fcedc72f9068be2ad9b5a13 service-identity-21.1.0.tar.gz -sha256 6e6c6086ca271dc11b033d17c3a8bea9f24ebff920c587da090afc9519419d34 service-identity-21.1.0.tar.gz +md5 14a751406024544784459474d93d1ea5 service_identity-23.1.0.tar.gz +sha256 ecb33cd96307755041e978ab14f8b14e13b40f1fbd525a4dc78f46d2b986431d service_identity-23.1.0.tar.gz # Locally computed sha256 checksums -sha256 c5075126e1272b176504e36af369781a95c5c1124239da8e4f61b0f9c15a56cf LICENSE +sha256 51f7c647190e74d19f9f24f1b19645b425eb8f30f049196053686bff188505cf LICENSE diff --git a/package/python-service-identity/python-service-identity.mk b/package/python-service-identity/python-service-identity.mk index e4ae8e68893..6e61dd951bf 100644 --- a/package/python-service-identity/python-service-identity.mk +++ b/package/python-service-identity/python-service-identity.mk @@ -4,11 +4,15 @@ # ################################################################################ -PYTHON_SERVICE_IDENTITY_VERSION = 21.1.0 -PYTHON_SERVICE_IDENTITY_SOURCE = service-identity-$(PYTHON_SERVICE_IDENTITY_VERSION).tar.gz -PYTHON_SERVICE_IDENTITY_SITE = https://files.pythonhosted.org/packages/09/2e/26ade69944773df4748c19d3053e025b282f48de02aad84906d34a29d28b +PYTHON_SERVICE_IDENTITY_VERSION = 23.1.0 +PYTHON_SERVICE_IDENTITY_SOURCE = service_identity-$(PYTHON_SERVICE_IDENTITY_VERSION).tar.gz +PYTHON_SERVICE_IDENTITY_SITE = https://files.pythonhosted.org/packages/3b/98/2a46c7414ffc1d06ba67d2c2dd62a207a70cb351028a8cd8c85b3dbd1cf7 PYTHON_SERVICE_IDENTITY_LICENSE = MIT PYTHON_SERVICE_IDENTITY_LICENSE_FILES = LICENSE -PYTHON_SERVICE_IDENTITY_SETUP_TYPE = setuptools +PYTHON_SERVICE_IDENTITY_SETUP_TYPE = pep517 +PYTHON_SERVICE_IDENTITY_DEPENDENCIES = \ + host-python-hatchling \ + host-python-hatch-vcs \ + host-python-hatch-fancy-pypi-readme $(eval $(python-package)) diff --git a/package/python-setproctitle/python-setproctitle.hash b/package/python-setproctitle/python-setproctitle.hash index ac8fed986aa..f60595bf6cf 100644 --- a/package/python-setproctitle/python-setproctitle.hash +++ b/package/python-setproctitle/python-setproctitle.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/setproctitle/json -md5 fa9771540422a59a8dee1331ad6fd3a9 setproctitle-1.3.2.tar.gz -sha256 b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd setproctitle-1.3.2.tar.gz -# Locally computed +md5 1c042d6717212de791c4f9b63e7b544e setproctitle-1.3.3.tar.gz +sha256 c913e151e7ea01567837ff037a23ca8740192880198b7fbb90b16d181607caae setproctitle-1.3.3.tar.gz +# Locally computed sha256 checksums sha256 4ace14d0836da75079088cfc5cef6f2ddc8ce16f600609b36ee1bf10f8101f61 COPYRIGHT diff --git a/package/python-setproctitle/python-setproctitle.mk b/package/python-setproctitle/python-setproctitle.mk index 7055920c085..ca2d0ffbc6c 100644 --- a/package/python-setproctitle/python-setproctitle.mk +++ b/package/python-setproctitle/python-setproctitle.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SETPROCTITLE_VERSION = 1.3.2 +PYTHON_SETPROCTITLE_VERSION = 1.3.3 PYTHON_SETPROCTITLE_SOURCE = setproctitle-$(PYTHON_SETPROCTITLE_VERSION).tar.gz -PYTHON_SETPROCTITLE_SITE = https://files.pythonhosted.org/packages/b5/47/ac709629ddb9779fee29b7d10ae9580f60a4b37e49bce72360ddf9a79cdc +PYTHON_SETPROCTITLE_SITE = https://files.pythonhosted.org/packages/ff/e1/b16b16a1aa12174349d15b73fd4b87e641a8ae3fb1163e80938dbbf6ae98 PYTHON_SETPROCTITLE_LICENSE = BSD-3-Clause PYTHON_SETPROCTITLE_LICENSE_FILES = COPYRIGHT PYTHON_SETPROCTITLE_SETUP_TYPE = setuptools diff --git a/package/python-setuptools-rust/python-setuptools-rust.hash b/package/python-setuptools-rust/python-setuptools-rust.hash index ff1b9a127f9..a83288e43ac 100644 --- a/package/python-setuptools-rust/python-setuptools-rust.hash +++ b/package/python-setuptools-rust/python-setuptools-rust.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/setuptools-rust/json -md5 fd3412ca77ffd6e06e2e83d0e9636084 setuptools-rust-1.5.2.tar.gz -sha256 d8daccb14dc0eae1b6b6eb3ecef79675bd37b4065369f79c35393dd5c55652c7 setuptools-rust-1.5.2.tar.gz +md5 c5ca990845902dbaa1885f9ad9399988 setuptools-rust-1.8.1.tar.gz +sha256 94b1dd5d5308b3138d5b933c3a2b55e6d6927d1a22632e509fcea9ddd0f7e486 setuptools-rust-1.8.1.tar.gz # Locally computed sha256 checksums sha256 b20668c1590582b3882854050ccfbdb7aee1f71a1ffe9eacc4c5aeb08a14161b LICENSE diff --git a/package/python-setuptools-rust/python-setuptools-rust.mk b/package/python-setuptools-rust/python-setuptools-rust.mk index 7f19ece1a3a..f07263becfb 100644 --- a/package/python-setuptools-rust/python-setuptools-rust.mk +++ b/package/python-setuptools-rust/python-setuptools-rust.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_SETUPTOOLS_RUST_VERSION = 1.5.2 +PYTHON_SETUPTOOLS_RUST_VERSION = 1.8.1 PYTHON_SETUPTOOLS_RUST_SOURCE = setuptools-rust-$(PYTHON_SETUPTOOLS_RUST_VERSION).tar.gz -PYTHON_SETUPTOOLS_RUST_SITE = https://files.pythonhosted.org/packages/99/db/e4ecb483ffa194d632ed44bda32cb740e564789fed7e56c2be8e2a0e2aa6 +PYTHON_SETUPTOOLS_RUST_SITE = https://files.pythonhosted.org/packages/f2/40/f1e9fedb88462248e94ea4383cda0065111582a4d5a32ca84acf60ab1107 PYTHON_SETUPTOOLS_RUST_SETUP_TYPE = setuptools PYTHON_SETUPTOOLS_RUST_LICENSE = MIT PYTHON_SETUPTOOLS_RUST_LICENSE_FILES = LICENSE -HOST_PYTHON_SETUPTOOLS_RUST_DEPENDENCIES = host-rustc host-python-setuptools-scm host-python-toml host-python-semantic-version host-python-typing-extensions +HOST_PYTHON_SETUPTOOLS_RUST_DEPENDENCIES = host-rustc host-python-semantic-version $(eval $(host-python-package)) diff --git a/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash b/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash deleted file mode 100644 index 40b4b0e7f78..00000000000 --- a/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.hash +++ /dev/null @@ -1,5 +0,0 @@ -# md5, sha256 from https://pypi.org/pypi/setuptools-scm-git-archive/json -md5 df3933d33c49c5d9aca06715b4c65370 setuptools_scm_git_archive-1.4.tar.gz -sha256 b048b27b32e1e76ec865b0caa4bb85df6ddbf4697d6909f567ac36709f6ef2f0 setuptools_scm_git_archive-1.4.tar.gz -# Locally computed sha256 checksums -sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE diff --git a/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.mk b/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.mk deleted file mode 100644 index 278fc972e5b..00000000000 --- a/package/python-setuptools-scm-git-archive/python-setuptools-scm-git-archive.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# python-setuptools-scm-git-archive -# -################################################################################ - -PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_VERSION = 1.4 -PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_SOURCE = setuptools_scm_git_archive-$(PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_VERSION).tar.gz -PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_SITE = https://files.pythonhosted.org/packages/69/5f/7135eec07395c51d3dd6899251b277405ecc2f8f7a80ef80a483e3c5a2bd -PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_SETUP_TYPE = setuptools -PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_LICENSE = MIT -PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_LICENSE_FILES = LICENSE -HOST_PYTHON_SETUPTOOLS_SCM_GIT_ARCHIVE_DEPENDENCIES = host-python-setuptools-scm - -$(eval $(host-python-package)) diff --git a/package/python-setuptools-scm/python-setuptools-scm.hash b/package/python-setuptools-scm/python-setuptools-scm.hash index 8ef125840a2..1a884dbbbf3 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.hash +++ b/package/python-setuptools-scm/python-setuptools-scm.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/setuptools-scm/json -md5 0df4e7fd923e4983cd65786efaa0e0d0 setuptools_scm-7.0.5.tar.gz -sha256 031e13af771d6f892b941adb6ea04545bbf91ebc5ce68c78aaf3fff6e1fb4844 setuptools_scm-7.0.5.tar.gz -# sha256 locally computed +md5 a05e98ab9ae447e173f0c747e0d49e81 setuptools-scm-8.0.4.tar.gz +sha256 b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7 setuptools-scm-8.0.4.tar.gz +# Locally computed sha256 checksums sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE diff --git a/package/python-setuptools-scm/python-setuptools-scm.mk b/package/python-setuptools-scm/python-setuptools-scm.mk index 87d5dd290d5..4cbf9146905 100644 --- a/package/python-setuptools-scm/python-setuptools-scm.mk +++ b/package/python-setuptools-scm/python-setuptools-scm.mk @@ -4,16 +4,16 @@ # ################################################################################ -PYTHON_SETUPTOOLS_SCM_VERSION = 7.0.5 -PYTHON_SETUPTOOLS_SCM_SOURCE = setuptools_scm-$(PYTHON_SETUPTOOLS_SCM_VERSION).tar.gz -PYTHON_SETUPTOOLS_SCM_SITE = https://files.pythonhosted.org/packages/d0/43/f038b5009f93bcd77b1b8da9e6d424b739ab17aec9726f3a99eba23d53ca +PYTHON_SETUPTOOLS_SCM_VERSION = 8.0.4 +PYTHON_SETUPTOOLS_SCM_SOURCE = setuptools-scm-$(PYTHON_SETUPTOOLS_SCM_VERSION).tar.gz +PYTHON_SETUPTOOLS_SCM_SITE = https://files.pythonhosted.org/packages/eb/b1/0248705f10f6de5eefe7ff93e399f7192257b23df4d431d2f5680bb2778f PYTHON_SETUPTOOLS_SCM_LICENSE = MIT PYTHON_SETUPTOOLS_SCM_LICENSE_FILES = LICENSE -PYTHON_SETUPTOOLS_SCM_SETUP_TYPE = setuptools +PYTHON_SETUPTOOLS_SCM_SETUP_TYPE = pep517 HOST_PYTHON_SETUPTOOLS_SCM_DEPENDENCIES = \ host-python-packaging \ - host-python-tomli \ + host-python-setuptools \ host-python-typing-extensions $(eval $(host-python-package)) diff --git a/package/python-setuptools/0001-add-executable.patch b/package/python-setuptools/0001-add-executable.patch index b688745ce46..d93298e1187 100644 --- a/package/python-setuptools/0001-add-executable.patch +++ b/package/python-setuptools/0001-add-executable.patch @@ -1,4 +1,4 @@ -From 9b3d307f8f6a1af88f3f810f5a6cf0835830e1e8 Mon Sep 17 00:00:00 2001 +From 975379e84ae3229fac94cd0499fd4ba7baa574ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krause?= Date: Mon, 7 Dec 2015 01:14:33 +0100 Subject: [PATCH] add executable @@ -15,13 +15,14 @@ force the shebang line in installed python scripts. Signed-off-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni Signed-off-by: Jörg Krause +Signed-off-by: James Hilliard --- setuptools/command/install.py | 2 ++ setuptools/command/install_scripts.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/setuptools/command/install.py b/setuptools/command/install.py -index 72b9a3e..6781d2b 100644 +index 606cce9d8..f158e1b51 100644 --- a/setuptools/command/install.py +++ b/setuptools/command/install.py @@ -16,6 +16,7 @@ class install(orig.install): @@ -30,9 +31,9 @@ index 72b9a3e..6781d2b 100644 user_options = orig.install.user_options + [ + ('executable=', 'e', "specify final destination interpreter path"), ('old-and-unmanageable', None, "Try not to use this!"), - ('single-version-externally-managed', None, - "used by system package builders to create 'flat' eggs"), -@@ -38,6 +39,7 @@ class install(orig.install): + ( + 'single-version-externally-managed', +@@ -48,6 +49,7 @@ class install(orig.install): ) orig.install.initialize_options(self) @@ -41,10 +42,10 @@ index 72b9a3e..6781d2b 100644 self.single_version_externally_managed = None diff --git a/setuptools/command/install_scripts.py b/setuptools/command/install_scripts.py -index 9cd8eb0..7786150 100644 +index 72b2e45cb..146a0bb58 100644 --- a/setuptools/command/install_scripts.py +++ b/setuptools/command/install_scripts.py -@@ -13,6 +13,13 @@ class install_scripts(orig.install_scripts): +@@ -12,6 +12,13 @@ class install_scripts(orig.install_scripts): def initialize_options(self): orig.install_scripts.initialize_options(self) self.no_ep = False @@ -57,16 +58,16 @@ index 9cd8eb0..7786150 100644 + ) def run(self): - import setuptools.command.easy_install as ei -@@ -33,6 +40,8 @@ class install_scripts(orig.install_scripts): + self.run_command("egg_info") +@@ -38,6 +45,8 @@ class install_scripts(orig.install_scripts): ) bs_cmd = self.get_finalized_command('build_scripts') exec_param = getattr(bs_cmd, 'executable', None) + if self.executable is not None: + exec_param = self.executable - try: - bw_cmd = self.get_finalized_command("bdist_wininst") - is_wininst = getattr(bw_cmd, '_is_running', False) + writer = ei.ScriptWriter + if exec_param == sys.executable: + # In case the path to the Python executable contains a space, wrap -- -2.30.2 +2.34.1 diff --git a/package/python-setuptools/Config.in b/package/python-setuptools/Config.in index 28228534f81..d47f7587505 100644 --- a/package/python-setuptools/Config.in +++ b/package/python-setuptools/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PYTHON_SETUPTOOLS bool "python-setuptools" - select BR2_PACKAGE_PYTHON3_ZLIB # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime help Download, build, install, upgrade, and uninstall Python packages. diff --git a/package/python-setuptools/python-setuptools.hash b/package/python-setuptools/python-setuptools.hash index 76ad1ba1ce3..7f13ac38962 100644 --- a/package/python-setuptools/python-setuptools.hash +++ b/package/python-setuptools/python-setuptools.hash @@ -1,4 +1,5 @@ -# From https://pypi.org/pypi/setuptools/json -md5 1fd8bd04b0bed95ad6c81f03b1c080bc setuptools-65.6.3.tar.gz -sha256 a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75 setuptools-65.6.3.tar.gz -sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE +# md5, sha256 from https://pypi.org/pypi/setuptools/json +md5 b82de45aaa6b9bb911226660212ebb83 setuptools-69.0.3.tar.gz +sha256 be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78 setuptools-69.0.3.tar.gz +# Locally computed sha256 checksums +sha256 86da0f01aeae46348a3c3d465195dc1ceccde79f79e87769a64b8da04b2a4741 LICENSE diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk index 226ef2b479f..0aea3c6cfaf 100644 --- a/package/python-setuptools/python-setuptools.mk +++ b/package/python-setuptools/python-setuptools.mk @@ -4,14 +4,16 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = 65.6.3 +PYTHON_SETUPTOOLS_VERSION = 69.0.3 PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz -PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/b6/21/cb9a8d0b2c8597c83fce8e9c02884bce3d4951e41e807fc35791c6b23d9a +PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/fc/c9/b146ca195403e0182a374e0ea4dbc69136bad3cd55bc293df496d625d0f7 PYTHON_SETUPTOOLS_LICENSE = MIT PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_CPE_ID_VENDOR = python PYTHON_SETUPTOOLS_CPE_ID_PRODUCT = setuptools -PYTHON_SETUPTOOLS_SETUP_TYPE = setuptools +PYTHON_SETUPTOOLS_SETUP_TYPE = pep517 +PYTHON_SETUPTOOLS_DEPENDENCIES = host-python-wheel +HOST_PYTHON_SETUPTOOLS_DEPENDENCIES = host-python-wheel $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-sh/python-sh.hash b/package/python-sh/python-sh.hash index a31aacdee19..c0d3f62f126 100644 --- a/package/python-sh/python-sh.hash +++ b/package/python-sh/python-sh.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sh/json -md5 d60498172876f35aef6303a9cbb8eb11 sh-1.14.3.tar.gz -sha256 e4045b6c732d9ce75d571c79f5ac2234edd9ae4f5fa9d59b09705082bdca18c7 sh-1.14.3.tar.gz +md5 aadf37759a9cb4862257cef3cf44a27b sh-2.0.6.tar.gz +sha256 9b2998f313f201c777e2c0061f0b1367497097ef13388595be147e2a00bf7ba1 sh-2.0.6.tar.gz # Locally computed sha256 checksums sha256 d8491c6e236568d04f7c8c07f2f1b8f5d142706dab6ab88f6e0d2dd476b6c706 LICENSE.txt diff --git a/package/python-sh/python-sh.mk b/package/python-sh/python-sh.mk index 781de88ab15..af4da3f6c9a 100644 --- a/package/python-sh/python-sh.mk +++ b/package/python-sh/python-sh.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SH_VERSION = 1.14.3 +PYTHON_SH_VERSION = 2.0.6 PYTHON_SH_SOURCE = sh-$(PYTHON_SH_VERSION).tar.gz -PYTHON_SH_SITE = https://files.pythonhosted.org/packages/b7/09/89c28aaf2a49f226fef8587c90c6386bd2cc03a0295bc4ff7fc6ee43c01d +PYTHON_SH_SITE = https://files.pythonhosted.org/packages/cd/51/7355831d8e1cee8348157d769ccda8a31ca9fa0548e7f93d87837d83866d PYTHON_SH_SETUP_TYPE = setuptools PYTHON_SH_LICENSE = MIT PYTHON_SH_LICENSE_FILES = LICENSE.txt diff --git a/package/python-simplejson/python-simplejson.hash b/package/python-simplejson/python-simplejson.hash index 1c99b875901..9f96f99bf40 100644 --- a/package/python-simplejson/python-simplejson.hash +++ b/package/python-simplejson/python-simplejson.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/simplejson/json -md5 83e24e662f024e06af2fffe698227da4 simplejson-3.18.0.tar.gz -sha256 58a429d2c2fa80834115b923ff689622de8f214cf0dc4afa9f59e824b444ab31 simplejson-3.18.0.tar.gz +md5 3b334627d870a3c849e1322d18a7bfe7 simplejson-3.19.2.tar.gz +sha256 9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c simplejson-3.19.2.tar.gz # Locally computed sha256 checksums sha256 fcaa1e313a99304322e2e0836ea4ee7d839ce9a480438f3922a853edfdde129f LICENSE.txt diff --git a/package/python-simplejson/python-simplejson.mk b/package/python-simplejson/python-simplejson.mk index 1607d9c90c7..d5ba3948b78 100644 --- a/package/python-simplejson/python-simplejson.mk +++ b/package/python-simplejson/python-simplejson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLEJSON_VERSION = 3.18.0 +PYTHON_SIMPLEJSON_VERSION = 3.19.2 PYTHON_SIMPLEJSON_SOURCE = simplejson-$(PYTHON_SIMPLEJSON_VERSION).tar.gz -PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/17/3d/b8bfe1f40558f6a16f70c349adf97480dc71a7d11b2b1a5dc0824a87faa0 +PYTHON_SIMPLEJSON_SITE = https://files.pythonhosted.org/packages/79/79/3ccb95bb4154952532f280f7a41979fbfb0fbbaee4d609810ecb01650afa PYTHON_SIMPLEJSON_LICENSE = Academic Free License (AFL), MIT PYTHON_SIMPLEJSON_LICENSE_FILES = LICENSE.txt PYTHON_SIMPLEJSON_CPE_ID_VENDOR = simplejson_project diff --git a/package/python-simplesqlite/Config.in b/package/python-simplesqlite/Config.in index 81501c9e834..d650439dce4 100644 --- a/package/python-simplesqlite/Config.in +++ b/package/python-simplesqlite/Config.in @@ -3,8 +3,6 @@ config BR2_PACKAGE_PYTHON_SIMPLESQLITE select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime select BR2_PACKAGE_PYTHON_PATHVALIDATE # runtime - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON3_SQLITE # runtime select BR2_PACKAGE_PYTHON_SQLITESCHEMA # runtime select BR2_PACKAGE_PYTHON_TABLEDATA # runtime diff --git a/package/python-simplesqlite/python-simplesqlite.hash b/package/python-simplesqlite/python-simplesqlite.hash index 06edbfab3d3..8060437718d 100644 --- a/package/python-simplesqlite/python-simplesqlite.hash +++ b/package/python-simplesqlite/python-simplesqlite.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/simplesqlite/json -md5 11f2ef73243fb0d677ed00d22f1441b2 SimpleSQLite-1.3.0.tar.gz -sha256 f7e862bec5982059e665cc73b6fdb4c8340a1f565ba3497387c3c48f10d43bf8 SimpleSQLite-1.3.0.tar.gz +md5 a907352592539345bf8145c3e39015cb SimpleSQLite-1.5.2.tar.gz +sha256 f9a25b9e43d7aa28f551d170a42cfae10139c5c81a1bcb8776f857816ef5ae0f SimpleSQLite-1.5.2.tar.gz # Locally computed sha256 checksums sha256 a93d75bcb0774e2990106380cadad6dcb2de193c55d435ffc56ba345a08b1dc2 LICENSE diff --git a/package/python-simplesqlite/python-simplesqlite.mk b/package/python-simplesqlite/python-simplesqlite.mk index ea60cefc16e..d8efe23a6cb 100644 --- a/package/python-simplesqlite/python-simplesqlite.mk +++ b/package/python-simplesqlite/python-simplesqlite.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIMPLESQLITE_VERSION = 1.3.0 +PYTHON_SIMPLESQLITE_VERSION = 1.5.2 PYTHON_SIMPLESQLITE_SOURCE = SimpleSQLite-$(PYTHON_SIMPLESQLITE_VERSION).tar.gz -PYTHON_SIMPLESQLITE_SITE = https://files.pythonhosted.org/packages/a0/2c/39a9e7dc4af46d101f48753086c686982790ecc2bdf5e9fa88f85f027e7a +PYTHON_SIMPLESQLITE_SITE = https://files.pythonhosted.org/packages/c8/07/92e3291fda6f1bbf6e7ff4721d87566e1615572d9c205ef64398c5d22efe PYTHON_SIMPLESQLITE_SETUP_TYPE = setuptools PYTHON_SIMPLESQLITE_LICENSE = MIT PYTHON_SIMPLESQLITE_LICENSE_FILES = LICENSE diff --git a/package/python-sip/0002-siplib-fix-build-with-python-3.11.patch b/package/python-sip/0002-siplib-fix-build-with-python-3.11.patch new file mode 100644 index 00000000000..17c3e05314c --- /dev/null +++ b/package/python-sip/0002-siplib-fix-build-with-python-3.11.patch @@ -0,0 +1,66 @@ +From e8bbb7844c141b339ef0598decf2a808faa50f5e Mon Sep 17 00:00:00 2001 +From: Ralf Dragon +Date: Sun, 17 Dec 2023 22:55:17 +0100 +Subject: [PATCH] siplib: fix build with python >= 3.11 + +With python 3.11, the PyFrameObject structure members have been +removed from the public C API: + +https://docs.python.org/3.11/whatsnew/3.11.html#whatsnew311-c-api-porting +https://docs.python.org/3.11/whatsnew/3.11.html#pyframeobject-3-11-hiding + +This patch migrates to the opaque PyFrameObject. + +Upstream: Not Applicable, SIP 4.x is no longer maintained +Signed-off-by: Ralf Dragon +--- + siplib/sip.h | 2 +- + siplib/siplib.c | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/siplib/sip.h b/siplib/sip.h +index 251b122..b9d8ea2 100644 +--- a/siplib/sip.h ++++ b/siplib/sip.h +@@ -1799,7 +1799,7 @@ typedef struct _sipAPIDef { + int (*api_get_time)(PyObject *, sipTimeDef *); + PyObject *(*api_from_time)(const sipTimeDef *); + int (*api_is_user_type)(const sipWrapperType *); +- struct _frame *(*api_get_frame)(int); ++ PyFrameObject *(*api_get_frame)(int); + int (*api_check_plugin_for_type)(const sipTypeDef *, const char *); + PyObject *(*api_unicode_new)(SIP_SSIZE_T, unsigned, int *, void **); + void (*api_unicode_write)(int, void *, int, unsigned); +diff --git a/siplib/siplib.c b/siplib/siplib.c +index db52b68..a297855 100644 +--- a/siplib/siplib.c ++++ b/siplib/siplib.c +@@ -448,7 +448,7 @@ static PyObject *sip_api_from_datetime(const sipDateDef *date, + static int sip_api_get_time(PyObject *obj, sipTimeDef *time); + static PyObject *sip_api_from_time(const sipTimeDef *time); + static int sip_api_is_user_type(const sipWrapperType *wt); +-static struct _frame *sip_api_get_frame(int); ++static PyFrameObject *sip_api_get_frame(int); + static int sip_api_check_plugin_for_type(const sipTypeDef *td, + const char *name); + static PyObject *sip_api_unicode_new(SIP_SSIZE_T len, unsigned maxchar, +@@ -13741,13 +13741,13 @@ static int sip_api_is_user_type(const sipWrapperType *wt) + /* + * Return a frame from the execution stack. + */ +-static struct _frame *sip_api_get_frame(int depth) ++static PyFrameObject *sip_api_get_frame(int depth) + { +- struct _frame *frame = PyEval_GetFrame(); ++ PyFrameObject *frame = PyEval_GetFrame(); + + while (frame != NULL && depth > 0) + { +- frame = frame->f_back; ++ frame = PyFrame_GetBack(frame); + --depth; + } + +-- +2.43.0 + diff --git a/package/python-slob/python-slob.mk b/package/python-slob/python-slob.mk index 2db39322162..4a0d1a7e1ca 100644 --- a/package/python-slob/python-slob.mk +++ b/package/python-slob/python-slob.mk @@ -8,6 +8,6 @@ PYTHON_SLOB_VERSION = 31ad0e769360a5b10a4893f686587bb8e48c3895 PYTHON_SLOB_SITE = $(call github,itkach,slob,$(PYTHON_SLOB_VERSION)) PYTHON_SLOB_LICENSE = GPL-3.0 PYTHON_SLOB_LICENSE_FILES = LICENSE -PYTHON_SLOB_SETUP_TYPE = distutils +PYTHON_SLOB_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-smbprotocol/python-smbprotocol.hash b/package/python-smbprotocol/python-smbprotocol.hash index a46f9f635bd..b9d5f74999a 100644 --- a/package/python-smbprotocol/python-smbprotocol.hash +++ b/package/python-smbprotocol/python-smbprotocol.hash @@ -1,6 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/smbprotocol/json -md5 a7474ab4cf8912dffaab56ad5067f429 smbprotocol-1.10.1.tar.gz -sha256 b5bc9d4930ec947d42c21089a4d373b97e3f6488fd15d32d27189312fd8a04c9 smbprotocol-1.10.1.tar.gz - -# Locally computed +md5 ccbb42bdd58a0070f56e966d8562451b smbprotocol-1.12.0.tar.gz +sha256 5916a4b6c948bb70f82c246bdbfc86cf152226b71dac9f33b3d731d91e86274f smbprotocol-1.12.0.tar.gz +# Locally computed sha256 checksums sha256 4c3c550abc2b04c507ed0d641dd7e524eaff5bd06c7862af957301836d496d15 LICENSE diff --git a/package/python-smbprotocol/python-smbprotocol.mk b/package/python-smbprotocol/python-smbprotocol.mk index 17c2b17dbcf..ece07442521 100644 --- a/package/python-smbprotocol/python-smbprotocol.mk +++ b/package/python-smbprotocol/python-smbprotocol.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SMBPROTOCOL_VERSION = 1.10.1 +PYTHON_SMBPROTOCOL_VERSION = 1.12.0 PYTHON_SMBPROTOCOL_SOURCE = smbprotocol-$(PYTHON_SMBPROTOCOL_VERSION).tar.gz -PYTHON_SMBPROTOCOL_SITE = https://files.pythonhosted.org/packages/13/1a/73ad1883beebe4f6f47879cb9880690944faa00681141920c7a2219f6152 +PYTHON_SMBPROTOCOL_SITE = https://files.pythonhosted.org/packages/57/72/d95216a9fd5da1b2fa225130741f50d4949c8f76d46669d30921c06d69ff PYTHON_SMBPROTOCOL_SETUP_TYPE = setuptools PYTHON_SMBPROTOCOL_LICENSE = MIT PYTHON_SMBPROTOCOL_LICENSE_FILES = LICENSE diff --git a/package/python-sniffio/Config.in b/package/python-sniffio/Config.in new file mode 100644 index 00000000000..6f3947afe65 --- /dev/null +++ b/package/python-sniffio/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_SNIFFIO + bool "python-sniffio" + help + Sniff out which async library your code is running under. + + https://github.com/python-trio/sniffio diff --git a/package/python-sniffio/python-sniffio.hash b/package/python-sniffio/python-sniffio.hash new file mode 100644 index 00000000000..00af7c58bb6 --- /dev/null +++ b/package/python-sniffio/python-sniffio.hash @@ -0,0 +1,7 @@ +# md5, sha256 from https://pypi.org/pypi/sniffio/json +md5 abb96bcda81817d6c632915c53ac29c8 sniffio-1.3.0.tar.gz +sha256 e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101 sniffio-1.3.0.tar.gz +# Locally computed sha256 checksums +sha256 652c878488d1456361e08c3f8607fd7ba59892a14103d15cce4ff93c85b5cc8b LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.APACHE2 +sha256 3e6dae555eb92787fc82d1d48355677f454c7f65aeb38d3f9e72bf9a3daf034b LICENSE.MIT diff --git a/package/python-sniffio/python-sniffio.mk b/package/python-sniffio/python-sniffio.mk new file mode 100644 index 00000000000..fa369a0e2fd --- /dev/null +++ b/package/python-sniffio/python-sniffio.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-sniffio +# +################################################################################ + +PYTHON_SNIFFIO_VERSION = 1.3.0 +PYTHON_SNIFFIO_SOURCE = sniffio-$(PYTHON_SNIFFIO_VERSION).tar.gz +PYTHON_SNIFFIO_SITE = https://files.pythonhosted.org/packages/cd/50/d49c388cae4ec10e8109b1b833fd265511840706808576df3ada99ecb0ac +PYTHON_SNIFFIO_SETUP_TYPE = setuptools +PYTHON_SNIFFIO_LICENSE = Apache-2.0 or MIT +PYTHON_SNIFFIO_LICENSE_FILES = LICENSE LICENSE.APACHE2 LICENSE.MIT + +$(eval $(python-package)) diff --git a/package/python-socketio/python-socketio.hash b/package/python-socketio/python-socketio.hash index abdcc3a5b74..a7756eb39da 100644 --- a/package/python-socketio/python-socketio.hash +++ b/package/python-socketio/python-socketio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/python-socketio/json -md5 e63369252a9d383cbfc503337b864733 python-socketio-5.7.2.tar.gz -sha256 92395062d9db3c13d30e7cdedaa0e1330bba78505645db695415f9a3c628d097 python-socketio-5.7.2.tar.gz +md5 207c7452bf6f1f444d8b70cac8801647 python-socketio-5.11.0.tar.gz +sha256 b03186e04b942088781f6286c13604a853e5e35ed59158c51ff7af22fa032e6f python-socketio-5.11.0.tar.gz # Locally computed sha256 checksums sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/package/python-socketio/python-socketio.mk b/package/python-socketio/python-socketio.mk index aecff55ef4a..dc0c24fef50 100644 --- a/package/python-socketio/python-socketio.mk +++ b/package/python-socketio/python-socketio.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_SOCKETIO_VERSION = 5.7.2 -PYTHON_SOCKETIO_SITE = https://files.pythonhosted.org/packages/ee/56/294629986bf6cea96e0edb3933a7f2fac7a079d12909e893903a2effc670 +PYTHON_SOCKETIO_VERSION = 5.11.0 +PYTHON_SOCKETIO_SITE = https://files.pythonhosted.org/packages/7a/e1/2817819a5635a099fda9fc758c51dc2f07996d6928d744639afcf5c5ddbb PYTHON_SOCKETIO_SETUP_TYPE = setuptools PYTHON_SOCKETIO_LICENSE = MIT PYTHON_SOCKETIO_LICENSE_FILES = LICENSE diff --git a/package/python-soupsieve/python-soupsieve.hash b/package/python-soupsieve/python-soupsieve.hash index cf348d441f0..278c7d1b0c8 100644 --- a/package/python-soupsieve/python-soupsieve.hash +++ b/package/python-soupsieve/python-soupsieve.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/soupsieve/json -md5 4c824620563604cbf783de149c8b8889 soupsieve-2.3.2.post1.tar.gz -sha256 fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d soupsieve-2.3.2.post1.tar.gz +md5 88ae72bd970b425692235d17224204e6 soupsieve-2.5.tar.gz +sha256 5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690 soupsieve-2.5.tar.gz # Locally computed sha256 checksums -sha256 bc66234cadd3f6e7aaf7160faf165f3f869ffc8a11b6b0d6c44a2e2a83314dd0 LICENSE.md +sha256 ceb7b9053b88addffa3102a457302bd840d123925ee9ed9c2ac90cf6548b33bf LICENSE.md diff --git a/package/python-soupsieve/python-soupsieve.mk b/package/python-soupsieve/python-soupsieve.mk index ebf2ada7acf..581df7e7870 100644 --- a/package/python-soupsieve/python-soupsieve.mk +++ b/package/python-soupsieve/python-soupsieve.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SOUPSIEVE_VERSION = 2.3.2.post1 +PYTHON_SOUPSIEVE_VERSION = 2.5 PYTHON_SOUPSIEVE_SOURCE = soupsieve-$(PYTHON_SOUPSIEVE_VERSION).tar.gz -PYTHON_SOUPSIEVE_SITE = https://files.pythonhosted.org/packages/f3/03/bac179d539362319b4779a00764e95f7542f4920084163db6b0fd4742d38 +PYTHON_SOUPSIEVE_SITE = https://files.pythonhosted.org/packages/ce/21/952a240de1c196c7e3fbcd4e559681f0419b1280c617db21157a0390717b PYTHON_SOUPSIEVE_SETUP_TYPE = pep517 PYTHON_SOUPSIEVE_LICENSE = MIT PYTHON_SOUPSIEVE_LICENSE_FILES = LICENSE.md diff --git a/package/python-spake2/0001-Update-versioneer-to-0.29.patch b/package/python-spake2/0001-Update-versioneer-to-0.29.patch new file mode 100644 index 00000000000..3b5db5342c4 --- /dev/null +++ b/package/python-spake2/0001-Update-versioneer-to-0.29.patch @@ -0,0 +1,2194 @@ +From 5b5436f11d01e66505bb4c148304c2eb49346529 Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Tue, 24 Oct 2023 09:56:57 +0200 +Subject: [PATCH] Update versioneer to 0.29 + +Fixes builds against Python 3.12.0 + +Upstream: https://github.com/warner/python-spake2/pull/15 + +Signed-off-by: Adam Duskett +--- + versioneer.py | 1350 ++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 931 insertions(+), 419 deletions(-) + +diff --git a/versioneer.py b/versioneer.py +index 64fea1c..de97d90 100644 +--- a/versioneer.py ++++ b/versioneer.py +@@ -1,5 +1,4 @@ +- +-# Version: 0.18 ++# Version: 0.29 + + """The Versioneer - like a rocketeer, but for versions. + +@@ -7,18 +6,14 @@ The Versioneer + ============== + + * like a rocketeer, but for versions! +-* https://github.com/warner/python-versioneer ++* https://github.com/python-versioneer/python-versioneer + * Brian Warner +-* License: Public Domain +-* Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, and pypy +-* [![Latest Version] +-(https://pypip.in/version/versioneer/badge.svg?style=flat) +-](https://pypi.python.org/pypi/versioneer/) +-* [![Build Status] +-(https://travis-ci.org/warner/python-versioneer.png?branch=master) +-](https://travis-ci.org/warner/python-versioneer) +- +-This is a tool for managing a recorded version number in distutils-based ++* License: Public Domain (Unlicense) ++* Compatible with: Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3 ++* [![Latest Version][pypi-image]][pypi-url] ++* [![Build Status][travis-image]][travis-url] ++ ++This is a tool for managing a recorded version number in setuptools-based + python projects. The goal is to remove the tedious and error-prone "update + the embedded version string" step from your release process. Making a new + release should be as easy as recording a new tag in your version-control +@@ -27,9 +22,38 @@ system, and maybe making new tarballs. + + ## Quick Install + +-* `pip install versioneer` to somewhere to your $PATH +-* add a `[versioneer]` section to your setup.cfg (see below) +-* run `versioneer install` in your source tree, commit the results ++Versioneer provides two installation modes. The "classic" vendored mode installs ++a copy of versioneer into your repository. The experimental build-time dependency mode ++is intended to allow you to skip this step and simplify the process of upgrading. ++ ++### Vendored mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++ * Note that you will need to add `tomli; python_version < "3.11"` to your ++ build-time dependencies if you use `pyproject.toml` ++* run `versioneer install --vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` ++ ++### Build-time dependency mode ++ ++* `pip install versioneer` to somewhere in your $PATH ++ * A [conda-forge recipe](https://github.com/conda-forge/versioneer-feedstock) is ++ available, so you can also use `conda install -c conda-forge versioneer` ++* add a `[tool.versioneer]` section to your `pyproject.toml` or a ++ `[versioneer]` section to your `setup.cfg` (see [Install](INSTALL.md)) ++* add `versioneer` (with `[toml]` extra, if configuring in `pyproject.toml`) ++ to the `requires` key of the `build-system` table in `pyproject.toml`: ++ ```toml ++ [build-system] ++ requires = ["setuptools", "versioneer[toml]"] ++ build-backend = "setuptools.build_meta" ++ ``` ++* run `versioneer install --no-vendor` in your source tree, commit the results ++* verify version information with `python setup.py version` + + ## Version Identifiers + +@@ -61,7 +85,7 @@ version 1.3). Many VCS systems can report a description that captures this, + for example `git describe --tags --dirty --always` reports things like + "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the + 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has +-uncommitted changes. ++uncommitted changes). + + The version identifier is used for multiple purposes: + +@@ -166,7 +190,7 @@ which may help identify what went wrong). + + Some situations are known to cause problems for Versioneer. This details the + most significant ones. More can be found on Github +-[issues page](https://github.com/warner/python-versioneer/issues). ++[issues page](https://github.com/python-versioneer/python-versioneer/issues). + + ### Subprojects + +@@ -180,7 +204,7 @@ two common reasons why `setup.py` might not be in the root: + `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI + distributions (and upload multiple independently-installable tarballs). + * Source trees whose main purpose is to contain a C library, but which also +- provide bindings to Python (and perhaps other langauges) in subdirectories. ++ provide bindings to Python (and perhaps other languages) in subdirectories. + + Versioneer will look for `.git` in parent directories, and most operations + should get the right version string. However `pip` and `setuptools` have bugs +@@ -194,9 +218,9 @@ work too. + Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in + some later version. + +-[Bug #38](https://github.com/warner/python-versioneer/issues/38) is tracking ++[Bug #38](https://github.com/python-versioneer/python-versioneer/issues/38) is tracking + this issue. The discussion in +-[PR #61](https://github.com/warner/python-versioneer/pull/61) describes the ++[PR #61](https://github.com/python-versioneer/python-versioneer/pull/61) describes the + issue from the Versioneer side in more detail. + [pip PR#3176](https://github.com/pypa/pip/pull/3176) and + [pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve +@@ -224,31 +248,20 @@ regenerated while a different version is checked out. Many setup.py commands + cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into + a different virtualenv), so this can be surprising. + +-[Bug #83](https://github.com/warner/python-versioneer/issues/83) describes ++[Bug #83](https://github.com/python-versioneer/python-versioneer/issues/83) describes + this one, but upgrading to a newer version of setuptools should probably + resolve it. + +-### Unicode version strings +- +-While Versioneer works (and is continually tested) with both Python 2 and +-Python 3, it is not entirely consistent with bytes-vs-unicode distinctions. +-Newer releases probably generate unicode version strings on py2. It's not +-clear that this is wrong, but it may be surprising for applications when then +-write these strings to a network connection or include them in bytes-oriented +-APIs like cryptographic checksums. +- +-[Bug #71](https://github.com/warner/python-versioneer/issues/71) investigates +-this question. +- + + ## Updating Versioneer + + To upgrade your project to a new release of Versioneer, do the following: + + * install the new Versioneer (`pip install -U versioneer` or equivalent) +-* edit `setup.cfg`, if necessary, to include any new configuration settings +- indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. +-* re-run `versioneer install` in your source tree, to replace ++* edit `setup.cfg` and `pyproject.toml`, if necessary, ++ to include any new configuration settings indicated by the release notes. ++ See [UPGRADING](./UPGRADING.md) for details. ++* re-run `versioneer install --[no-]vendor` in your source tree, to replace + `SRC/_version.py` + * commit any changed files + +@@ -265,35 +278,70 @@ installation by editing setup.py . Alternatively, it might go the other + direction and include code from all supported VCS systems, reducing the + number of intermediate scripts. + ++## Similar projects ++ ++* [setuptools_scm](https://github.com/pypa/setuptools_scm/) - a non-vendored build-time ++ dependency ++* [minver](https://github.com/jbweston/miniver) - a lightweight reimplementation of ++ versioneer ++* [versioningit](https://github.com/jwodder/versioningit) - a PEP 518-based setuptools ++ plugin + + ## License + + To make Versioneer easier to embed, all its code is dedicated to the public + domain. The `_version.py` that it creates is also in the public domain. +-Specifically, both are released under the Creative Commons "Public Domain +-Dedication" license (CC0-1.0), as described in +-https://creativecommons.org/publicdomain/zero/1.0/ . ++Specifically, both are released under the "Unlicense", as described in ++https://unlicense.org/. ++ ++[pypi-image]: https://img.shields.io/pypi/v/versioneer.svg ++[pypi-url]: https://pypi.python.org/pypi/versioneer/ ++[travis-image]: ++https://img.shields.io/travis/com/python-versioneer/python-versioneer.svg ++[travis-url]: https://travis-ci.com/github/python-versioneer/python-versioneer + + """ ++# pylint:disable=invalid-name,import-outside-toplevel,missing-function-docstring ++# pylint:disable=missing-class-docstring,too-many-branches,too-many-statements ++# pylint:disable=raise-missing-from,too-many-lines,too-many-locals,import-error ++# pylint:disable=too-few-public-methods,redefined-outer-name,consider-using-with ++# pylint:disable=attribute-defined-outside-init,too-many-arguments + +-from __future__ import print_function +-try: +- import configparser +-except ImportError: +- import ConfigParser as configparser ++import configparser + import errno + import json + import os + import re + import subprocess + import sys ++from pathlib import Path ++from typing import Any, Callable, cast, Dict, List, Optional, Tuple, Union ++from typing import NoReturn ++import functools ++ ++have_tomllib = True ++if sys.version_info >= (3, 11): ++ import tomllib ++else: ++ try: ++ import tomli as tomllib ++ except ImportError: ++ have_tomllib = False + + + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ versionfile_source: str ++ versionfile_build: Optional[str] ++ parentdir_prefix: Optional[str] ++ verbose: Optional[bool] ++ + +-def get_root(): ++def get_root() -> str: + """Get the project root directory. + + We require that all commands are run from the project root, i.e. the +@@ -301,18 +349,30 @@ def get_root(): + """ + root = os.path.realpath(os.path.abspath(os.getcwd())) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): + # allow 'python path/to/setup.py COMMAND' + root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) + setup_py = os.path.join(root, "setup.py") ++ pyproject_toml = os.path.join(root, "pyproject.toml") + versioneer_py = os.path.join(root, "versioneer.py") +- if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): +- err = ("Versioneer was unable to run the project root directory. " +- "Versioneer requires setup.py to be executed from " +- "its immediate directory (like 'python setup.py COMMAND'), " +- "or in a way that lets it use sys.argv[0] to find the root " +- "(like 'python path/to/setup.py COMMAND').") ++ if not ( ++ os.path.exists(setup_py) ++ or os.path.exists(pyproject_toml) ++ or os.path.exists(versioneer_py) ++ ): ++ err = ( ++ "Versioneer was unable to run the project root directory. " ++ "Versioneer requires setup.py to be executed from " ++ "its immediate directory (like 'python setup.py COMMAND'), " ++ "or in a way that lets it use sys.argv[0] to find the root " ++ "(like 'python path/to/setup.py COMMAND')." ++ ) + raise VersioneerBadRootError(err) + try: + # Certain runtime workflows (setup.py install/develop in a setuptools +@@ -321,43 +381,64 @@ def get_root(): + # module-import table will cache the first one. So we can't use + # os.path.dirname(__file__), as that will find whichever + # versioneer.py was first imported, even in later projects. +- me = os.path.realpath(os.path.abspath(__file__)) +- me_dir = os.path.normcase(os.path.splitext(me)[0]) ++ my_path = os.path.realpath(os.path.abspath(__file__)) ++ me_dir = os.path.normcase(os.path.splitext(my_path)[0]) + vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) +- if me_dir != vsr_dir: +- print("Warning: build in %s is using versioneer.py from %s" +- % (os.path.dirname(me), versioneer_py)) ++ if me_dir != vsr_dir and "VERSIONEER_PEP518" not in globals(): ++ print( ++ "Warning: build in %s is using versioneer.py from %s" ++ % (os.path.dirname(my_path), versioneer_py) ++ ) + except NameError: + pass + return root + + +-def get_config_from_root(root): ++def get_config_from_root(root: str) -> VersioneerConfig: + """Read the project setup.cfg file to determine Versioneer config.""" +- # This might raise EnvironmentError (if setup.cfg is missing), or ++ # This might raise OSError (if setup.cfg is missing), or + # configparser.NoSectionError (if it lacks a [versioneer] section), or + # configparser.NoOptionError (if it lacks "VCS="). See the docstring at + # the top of versioneer.py for instructions on writing your setup.cfg . +- setup_cfg = os.path.join(root, "setup.cfg") +- parser = configparser.SafeConfigParser() +- with open(setup_cfg, "r") as f: +- parser.readfp(f) +- VCS = parser.get("versioneer", "VCS") # mandatory +- +- def get(parser, name): +- if parser.has_option("versioneer", name): +- return parser.get("versioneer", name) +- return None ++ root_pth = Path(root) ++ pyproject_toml = root_pth / "pyproject.toml" ++ setup_cfg = root_pth / "setup.cfg" ++ section: Union[Dict[str, Any], configparser.SectionProxy, None] = None ++ if pyproject_toml.exists() and have_tomllib: ++ try: ++ with open(pyproject_toml, "rb") as fobj: ++ pp = tomllib.load(fobj) ++ section = pp["tool"]["versioneer"] ++ except (tomllib.TOMLDecodeError, KeyError) as e: ++ print(f"Failed to load config from {pyproject_toml}: {e}") ++ print("Try to load it from setup.cfg") ++ if not section: ++ parser = configparser.ConfigParser() ++ with open(setup_cfg) as cfg_file: ++ parser.read_file(cfg_file) ++ parser.get("versioneer", "VCS") # raise error if missing ++ ++ section = parser["versioneer"] ++ ++ # `cast`` really shouldn't be used, but its simplest for the ++ # common VersioneerConfig users at the moment. We verify against ++ # `None` values elsewhere where it matters ++ + cfg = VersioneerConfig() +- cfg.VCS = VCS +- cfg.style = get(parser, "style") or "" +- cfg.versionfile_source = get(parser, "versionfile_source") +- cfg.versionfile_build = get(parser, "versionfile_build") +- cfg.tag_prefix = get(parser, "tag_prefix") +- if cfg.tag_prefix in ("''", '""'): ++ cfg.VCS = section["VCS"] ++ cfg.style = section.get("style", "") ++ cfg.versionfile_source = cast(str, section.get("versionfile_source")) ++ cfg.versionfile_build = section.get("versionfile_build") ++ cfg.tag_prefix = cast(str, section.get("tag_prefix")) ++ if cfg.tag_prefix in ("''", '""', None): + cfg.tag_prefix = "" +- cfg.parentdir_prefix = get(parser, "parentdir_prefix") +- cfg.verbose = get(parser, "verbose") ++ cfg.parentdir_prefix = section.get("parentdir_prefix") ++ if isinstance(section, configparser.SectionProxy): ++ # Make sure configparser translates to bool ++ cfg.verbose = section.getboolean("verbose") ++ else: ++ cfg.verbose = section.get("verbose") ++ + return cfg + + +@@ -366,37 +447,54 @@ class NotThisMethod(Exception): + + + # these dictionaries contain VCS-specific tools +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" +- if vcs not in HANDLERS: +- HANDLERS[vcs] = {} +- HANDLERS[vcs][method] = f ++ HANDLERS.setdefault(vcs, {})[method] = f + return f ++ + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen( ++ [command] + args, ++ cwd=cwd, ++ env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr else None), ++ **popen_kwargs, ++ ) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -407,26 +505,27 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %s" % (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %s (error)" % dispcmd) + print("stdout was %s" % stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-LONG_VERSION_PY['git'] = ''' ++LONG_VERSION_PY[ ++ "git" ++] = r''' + # This file helps to compute a version number in source trees obtained from + # git-archive tarball (such as those provided by githubs download-from-tag + # feature). Distribution tarballs (built by setup.py sdist) and build + # directories (produced by setup.py build) will contain a much shorter file + # that just contains the computed version number. + +-# This file is released into the public domain. Generated by +-# versioneer-0.18 (https://github.com/warner/python-versioneer) ++# This file is released into the public domain. ++# Generated by versioneer-0.29 ++# https://github.com/python-versioneer/python-versioneer + + """Git implementation of _version.py.""" + +@@ -435,9 +534,11 @@ import os + import re + import subprocess + import sys ++from typing import Any, Callable, Dict, List, Optional, Tuple ++import functools + + +-def get_keywords(): ++def get_keywords() -> Dict[str, str]: + """Get the keywords needed to look up the version information.""" + # these strings will be replaced by git during git-archive. + # setup.py/versioneer.py will grep for the variable names, so they must +@@ -453,8 +554,15 @@ def get_keywords(): + class VersioneerConfig: + """Container for Versioneer configuration parameters.""" + ++ VCS: str ++ style: str ++ tag_prefix: str ++ parentdir_prefix: str ++ versionfile_source: str ++ verbose: bool ++ + +-def get_config(): ++def get_config() -> VersioneerConfig: + """Create, populate and return the VersioneerConfig() object.""" + # these strings are filled in when 'setup.py versioneer' creates + # _version.py +@@ -472,13 +580,13 @@ class NotThisMethod(Exception): + """Exception raised if a method is not valid for the current scenario.""" + + +-LONG_VERSION_PY = {} +-HANDLERS = {} ++LONG_VERSION_PY: Dict[str, str] = {} ++HANDLERS: Dict[str, Dict[str, Callable]] = {} + + +-def register_vcs_handler(vcs, method): # decorator +- """Decorator to mark a method as the handler for a particular VCS.""" +- def decorate(f): ++def register_vcs_handler(vcs: str, method: str) -> Callable: # decorator ++ """Create decorator to mark a method as the handler of a VCS.""" ++ def decorate(f: Callable) -> Callable: + """Store f in HANDLERS[vcs][method].""" + if vcs not in HANDLERS: + HANDLERS[vcs] = {} +@@ -487,22 +595,35 @@ def register_vcs_handler(vcs, method): # decorator + return decorate + + +-def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, +- env=None): ++def run_command( ++ commands: List[str], ++ args: List[str], ++ cwd: Optional[str] = None, ++ verbose: bool = False, ++ hide_stderr: bool = False, ++ env: Optional[Dict[str, str]] = None, ++) -> Tuple[Optional[str], Optional[int]]: + """Call the given command(s).""" + assert isinstance(commands, list) +- p = None +- for c in commands: ++ process = None ++ ++ popen_kwargs: Dict[str, Any] = {} ++ if sys.platform == "win32": ++ # This hides the console window if pythonw.exe is used ++ startupinfo = subprocess.STARTUPINFO() ++ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW ++ popen_kwargs["startupinfo"] = startupinfo ++ ++ for command in commands: + try: +- dispcmd = str([c] + args) ++ dispcmd = str([command] + args) + # remember shell=False, so use git.cmd on windows, not just git +- p = subprocess.Popen([c] + args, cwd=cwd, env=env, +- stdout=subprocess.PIPE, +- stderr=(subprocess.PIPE if hide_stderr +- else None)) ++ process = subprocess.Popen([command] + args, cwd=cwd, env=env, ++ stdout=subprocess.PIPE, ++ stderr=(subprocess.PIPE if hide_stderr ++ else None), **popen_kwargs) + break +- except EnvironmentError: +- e = sys.exc_info()[1] ++ except OSError as e: + if e.errno == errno.ENOENT: + continue + if verbose: +@@ -513,18 +634,20 @@ def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, + if verbose: + print("unable to find command, tried %%s" %% (commands,)) + return None, None +- stdout = p.communicate()[0].strip() +- if sys.version_info[0] >= 3: +- stdout = stdout.decode() +- if p.returncode != 0: ++ stdout = process.communicate()[0].strip().decode() ++ if process.returncode != 0: + if verbose: + print("unable to run %%s (error)" %% dispcmd) + print("stdout was %%s" %% stdout) +- return None, p.returncode +- return stdout, p.returncode ++ return None, process.returncode ++ return stdout, process.returncode + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -533,15 +656,14 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): + return {"version": dirname[len(parentdir_prefix):], + "full-revisionid": None, + "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: + print("Tried directories %%s but none started with prefix %%s" %% +@@ -550,41 +672,48 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -597,11 +726,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG):] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %%d +@@ -610,7 +739,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r'\d', r)} + if verbose: + print("discarding '%%s', no digits" %% ",".join(refs - tags)) + if verbose: +@@ -619,6 +748,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): + r = ref[len(tag_prefix):] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r'\d', r): ++ continue + if verbose: + print("picking %%s" %% r) + return {"version": r, +@@ -634,7 +768,12 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, ++ root: str, ++ verbose: bool, ++ runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -645,8 +784,15 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, ++ hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %%s not under git control" %% root) +@@ -654,24 +800,57 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%%s*" %% tag_prefix], +- cwd=root) ++ describe_out, rc = runner(GITS, [ ++ "describe", "--tags", "--dirty", "--always", "--long", ++ "--match", f"{tag_prefix}[[:digit:]]*" ++ ], cwd=root) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], ++ cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -688,7 +867,7 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + # TAG-NUM-gHEX + mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? ++ # unparsable. Maybe git-describe is misbehaving? + pieces["error"] = ("unable to parse git-describe output: '%%s'" + %% describe_out) + return pieces +@@ -713,26 +892,27 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -757,23 +937,71 @@ def render_pep440(pieces): + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%%d.g%%s" %% (pieces["distance"], ++ pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%%d" %% pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%%d.dev%%d" %% (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%%d" %% (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%%d" %% pieces["distance"] ++ rendered = "0.post0.dev%%d" %% pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -800,12 +1028,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%%d" %% pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%%s" %% pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -822,7 +1079,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -842,7 +1099,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -862,7 +1119,7 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: + return {"version": "unknown", +@@ -876,10 +1133,14 @@ def render(pieces, style): + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -894,7 +1155,7 @@ def render(pieces, style): + "date": pieces.get("date")} + + +-def get_versions(): ++def get_versions() -> Dict[str, Any]: + """Get version information or return default if unable to do so.""" + # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have + # __file__, we can work backwards from there to the root. Some +@@ -915,7 +1176,7 @@ def get_versions(): + # versionfile_source is the relative path from the top of the source + # tree (where the .git directory might live) to this file. Invert + # this to find the root from __file__. +- for i in cfg.versionfile_source.split('/'): ++ for _ in cfg.versionfile_source.split('/'): + root = os.path.dirname(root) + except NameError: + return {"version": "0+unknown", "full-revisionid": None, +@@ -942,41 +1203,48 @@ def get_versions(): + + + @register_vcs_handler("git", "get_keywords") +-def git_get_keywords(versionfile_abs): ++def git_get_keywords(versionfile_abs: str) -> Dict[str, str]: + """Extract version information from the given file.""" + # the code embedded in _version.py can just fetch the value of these + # keywords. When used from setup.py, we don't want to import _version.py, + # so we do it with a regexp instead. This function is not used from + # _version.py. +- keywords = {} ++ keywords: Dict[str, str] = {} + try: +- f = open(versionfile_abs, "r") +- for line in f.readlines(): +- if line.strip().startswith("git_refnames ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["refnames"] = mo.group(1) +- if line.strip().startswith("git_full ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["full"] = mo.group(1) +- if line.strip().startswith("git_date ="): +- mo = re.search(r'=\s*"(.*)"', line) +- if mo: +- keywords["date"] = mo.group(1) +- f.close() +- except EnvironmentError: ++ with open(versionfile_abs, "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith("git_refnames ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["refnames"] = mo.group(1) ++ if line.strip().startswith("git_full ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["full"] = mo.group(1) ++ if line.strip().startswith("git_date ="): ++ mo = re.search(r'=\s*"(.*)"', line) ++ if mo: ++ keywords["date"] = mo.group(1) ++ except OSError: + pass + return keywords + + + @register_vcs_handler("git", "keywords") +-def git_versions_from_keywords(keywords, tag_prefix, verbose): ++def git_versions_from_keywords( ++ keywords: Dict[str, str], ++ tag_prefix: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Get version information from git keywords.""" +- if not keywords: +- raise NotThisMethod("no keywords at all, weird") ++ if "refnames" not in keywords: ++ raise NotThisMethod("Short version file found") + date = keywords.get("date") + if date is not None: ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] ++ + # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant + # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 + # -like" string, which we must then edit to make compliant), because +@@ -989,11 +1257,11 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + if verbose: + print("keywords are unexpanded, not using") + raise NotThisMethod("unexpanded keywords, not a git-archive tarball") +- refs = set([r.strip() for r in refnames.strip("()").split(",")]) ++ refs = {r.strip() for r in refnames.strip("()").split(",")} + # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of + # just "foo-1.0". If we see a "tag: " prefix, prefer those. + TAG = "tag: " +- tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) ++ tags = {r[len(TAG) :] for r in refs if r.startswith(TAG)} + if not tags: + # Either we're using git < 1.8.3, or there really are no tags. We use + # a heuristic: assume all version tags have a digit. The old git %d +@@ -1002,7 +1270,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + # between branches and tags. By ignoring refnames without digits, we + # filter out many common branch names like "release" and + # "stabilization", as well as "HEAD" and "master". +- tags = set([r for r in refs if re.search(r'\d', r)]) ++ tags = {r for r in refs if re.search(r"\d", r)} + if verbose: + print("discarding '%s', no digits" % ",".join(refs - tags)) + if verbose: +@@ -1010,23 +1278,37 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose): + for ref in sorted(tags): + # sorting will prefer e.g. "2.0" over "2.0rc1" + if ref.startswith(tag_prefix): +- r = ref[len(tag_prefix):] ++ r = ref[len(tag_prefix) :] ++ # Filter out refs that exactly match prefix or that don't start ++ # with a number once the prefix is stripped (mostly a concern ++ # when prefix is '') ++ if not re.match(r"\d", r): ++ continue + if verbose: + print("picking %s" % r) +- return {"version": r, +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": None, +- "date": date} ++ return { ++ "version": r, ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": None, ++ "date": date, ++ } + # no suitable tags, so version is "0+unknown", but full hex is still there + if verbose: + print("no suitable tags, using unknown + full revision id") +- return {"version": "0+unknown", +- "full-revisionid": keywords["full"].strip(), +- "dirty": False, "error": "no suitable tags", "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": keywords["full"].strip(), ++ "dirty": False, ++ "error": "no suitable tags", ++ "date": None, ++ } + + + @register_vcs_handler("git", "pieces_from_vcs") +-def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): ++def git_pieces_from_vcs( ++ tag_prefix: str, root: str, verbose: bool, runner: Callable = run_command ++) -> Dict[str, Any]: + """Get version from 'git describe' in the root of the source tree. + + This only gets called if the git-archive 'subst' keywords were *not* +@@ -1037,8 +1319,14 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] + +- out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, +- hide_stderr=True) ++ # GIT_DIR can interfere with correct operation of Versioneer. ++ # It may be intended to be passed to the Versioneer-versioned project, ++ # but that should not change where we get our version from. ++ env = os.environ.copy() ++ env.pop("GIT_DIR", None) ++ runner = functools.partial(runner, env=env) ++ ++ _, rc = runner(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=not verbose) + if rc != 0: + if verbose: + print("Directory %s not under git control" % root) +@@ -1046,24 +1334,65 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + + # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] + # if there isn't one, this yields HEX[-dirty] (no NUM) +- describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", +- "--always", "--long", +- "--match", "%s*" % tag_prefix], +- cwd=root) ++ describe_out, rc = runner( ++ GITS, ++ [ ++ "describe", ++ "--tags", ++ "--dirty", ++ "--always", ++ "--long", ++ "--match", ++ f"{tag_prefix}[[:digit:]]*", ++ ], ++ cwd=root, ++ ) + # --long was added in git-1.5.5 + if describe_out is None: + raise NotThisMethod("'git describe' failed") + describe_out = describe_out.strip() +- full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) ++ full_out, rc = runner(GITS, ["rev-parse", "HEAD"], cwd=root) + if full_out is None: + raise NotThisMethod("'git rev-parse' failed") + full_out = full_out.strip() + +- pieces = {} ++ pieces: Dict[str, Any] = {} + pieces["long"] = full_out + pieces["short"] = full_out[:7] # maybe improved later + pieces["error"] = None + ++ branch_name, rc = runner(GITS, ["rev-parse", "--abbrev-ref", "HEAD"], cwd=root) ++ # --abbrev-ref was added in git-1.6.3 ++ if rc != 0 or branch_name is None: ++ raise NotThisMethod("'git rev-parse --abbrev-ref' returned error") ++ branch_name = branch_name.strip() ++ ++ if branch_name == "HEAD": ++ # If we aren't exactly on a branch, pick a branch which represents ++ # the current commit. If all else fails, we are on a branchless ++ # commit. ++ branches, rc = runner(GITS, ["branch", "--contains"], cwd=root) ++ # --contains was added in git-1.5.4 ++ if rc != 0 or branches is None: ++ raise NotThisMethod("'git branch --contains' returned error") ++ branches = branches.split("\n") ++ ++ # Remove the first line if we're running detached ++ if "(" in branches[0]: ++ branches.pop(0) ++ ++ # Strip off the leading "* " from the list of branches. ++ branches = [branch[2:] for branch in branches] ++ if "master" in branches: ++ branch_name = "master" ++ elif not branches: ++ branch_name = None ++ else: ++ # Pick the first branch that is returned. Good or bad. ++ branch_name = branches[0] ++ ++ pieces["branch"] = branch_name ++ + # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] + # TAG might have hyphens. + git_describe = describe_out +@@ -1072,17 +1401,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + dirty = git_describe.endswith("-dirty") + pieces["dirty"] = dirty + if dirty: +- git_describe = git_describe[:git_describe.rindex("-dirty")] ++ git_describe = git_describe[: git_describe.rindex("-dirty")] + + # now we have TAG-NUM-gHEX or HEX + + if "-" in git_describe: + # TAG-NUM-gHEX +- mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) ++ mo = re.search(r"^(.+)-(\d+)-g([0-9a-f]+)$", git_describe) + if not mo: +- # unparseable. Maybe git-describe is misbehaving? +- pieces["error"] = ("unable to parse git-describe output: '%s'" +- % describe_out) ++ # unparsable. Maybe git-describe is misbehaving? ++ pieces["error"] = "unable to parse git-describe output: '%s'" % describe_out + return pieces + + # tag +@@ -1091,10 +1419,12 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + if verbose: + fmt = "tag '%s' doesn't start with prefix '%s'" + print(fmt % (full_tag, tag_prefix)) +- pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" +- % (full_tag, tag_prefix)) ++ pieces["error"] = "tag '%s' doesn't start with prefix '%s'" % ( ++ full_tag, ++ tag_prefix, ++ ) + return pieces +- pieces["closest-tag"] = full_tag[len(tag_prefix):] ++ pieces["closest-tag"] = full_tag[len(tag_prefix) :] + + # distance: number of commits since tag + pieces["distance"] = int(mo.group(2)) +@@ -1105,19 +1435,20 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): + else: + # HEX: no tags + pieces["closest-tag"] = None +- count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], +- cwd=root) +- pieces["distance"] = int(count_out) # total number of commits ++ out, rc = runner(GITS, ["rev-list", "HEAD", "--left-right"], cwd=root) ++ pieces["distance"] = len(out.split()) # total number of commits + + # commit date: see ISO-8601 comment in git_versions_from_keywords() +- date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], +- cwd=root)[0].strip() ++ date = runner(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() ++ # Use only the last line. Previous lines may contain GPG signature ++ # information. ++ date = date.splitlines()[-1] + pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) + + return pieces + + +-def do_vcs_install(manifest_in, versionfile_source, ipy): ++def do_vcs_install(versionfile_source: str, ipy: Optional[str]) -> None: + """Git-specific installation logic for Versioneer. + + For Git, this means creating/changing .gitattributes to mark _version.py +@@ -1126,36 +1457,40 @@ def do_vcs_install(manifest_in, versionfile_source, ipy): + GITS = ["git"] + if sys.platform == "win32": + GITS = ["git.cmd", "git.exe"] +- files = [manifest_in, versionfile_source] ++ files = [versionfile_source] + if ipy: + files.append(ipy) +- try: +- me = __file__ +- if me.endswith(".pyc") or me.endswith(".pyo"): +- me = os.path.splitext(me)[0] + ".py" +- versioneer_file = os.path.relpath(me) +- except NameError: +- versioneer_file = "versioneer.py" +- files.append(versioneer_file) ++ if "VERSIONEER_PEP518" not in globals(): ++ try: ++ my_path = __file__ ++ if my_path.endswith((".pyc", ".pyo")): ++ my_path = os.path.splitext(my_path)[0] + ".py" ++ versioneer_file = os.path.relpath(my_path) ++ except NameError: ++ versioneer_file = "versioneer.py" ++ files.append(versioneer_file) + present = False + try: +- f = open(".gitattributes", "r") +- for line in f.readlines(): +- if line.strip().startswith(versionfile_source): +- if "export-subst" in line.strip().split()[1:]: +- present = True +- f.close() +- except EnvironmentError: ++ with open(".gitattributes", "r") as fobj: ++ for line in fobj: ++ if line.strip().startswith(versionfile_source): ++ if "export-subst" in line.strip().split()[1:]: ++ present = True ++ break ++ except OSError: + pass + if not present: +- f = open(".gitattributes", "a+") +- f.write("%s export-subst\n" % versionfile_source) +- f.close() ++ with open(".gitattributes", "a+") as fobj: ++ fobj.write(f"{versionfile_source} export-subst\n") + files.append(".gitattributes") + run_command(GITS, ["add", "--"] + files) + + +-def versions_from_parentdir(parentdir_prefix, root, verbose): ++def versions_from_parentdir( ++ parentdir_prefix: str, ++ root: str, ++ verbose: bool, ++) -> Dict[str, Any]: + """Try to determine the version from the parent directory name. + + Source tarballs conventionally unpack into a directory that includes both +@@ -1164,24 +1499,29 @@ def versions_from_parentdir(parentdir_prefix, root, verbose): + """ + rootdirs = [] + +- for i in range(3): ++ for _ in range(3): + dirname = os.path.basename(root) + if dirname.startswith(parentdir_prefix): +- return {"version": dirname[len(parentdir_prefix):], +- "full-revisionid": None, +- "dirty": False, "error": None, "date": None} +- else: +- rootdirs.append(root) +- root = os.path.dirname(root) # up a level ++ return { ++ "version": dirname[len(parentdir_prefix) :], ++ "full-revisionid": None, ++ "dirty": False, ++ "error": None, ++ "date": None, ++ } ++ rootdirs.append(root) ++ root = os.path.dirname(root) # up a level + + if verbose: +- print("Tried directories %s but none started with prefix %s" % +- (str(rootdirs), parentdir_prefix)) ++ print( ++ "Tried directories %s but none started with prefix %s" ++ % (str(rootdirs), parentdir_prefix) ++ ) + raise NotThisMethod("rootdir doesn't start with parentdir_prefix") + + + SHORT_VERSION_PY = """ +-# This file was generated by 'versioneer.py' (0.18) from ++# This file was generated by 'versioneer.py' (0.29) from + # revision-control system data, or from the parent directory name of an + # unpacked source archive. Distribution tarballs contain a pre-generated copy + # of this file. +@@ -1198,42 +1538,42 @@ def get_versions(): + """ + + +-def versions_from_file(filename): ++def versions_from_file(filename: str) -> Dict[str, Any]: + """Try to determine the version from _version.py if present.""" + try: + with open(filename) as f: + contents = f.read() +- except EnvironmentError: ++ except OSError: + raise NotThisMethod("unable to read _version.py") +- mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: +- mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", +- contents, re.M | re.S) ++ mo = re.search( ++ r"version_json = '''\r\n(.*)''' # END VERSION_JSON", contents, re.M | re.S ++ ) + if not mo: + raise NotThisMethod("no version_json in _version.py") + return json.loads(mo.group(1)) + + +-def write_to_version_file(filename, versions): ++def write_to_version_file(filename: str, versions: Dict[str, Any]) -> None: + """Write the given version number to the given _version.py file.""" +- os.unlink(filename) +- contents = json.dumps(versions, sort_keys=True, +- indent=1, separators=(",", ": ")) ++ contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) + with open(filename, "w") as f: + f.write(SHORT_VERSION_PY % contents) + + print("set %s to '%s'" % (filename, versions["version"])) + + +-def plus_or_dot(pieces): ++def plus_or_dot(pieces: Dict[str, Any]) -> str: + """Return a + if we don't already have one, else return a .""" + if "+" in pieces.get("closest-tag", ""): + return "." + return "+" + + +-def render_pep440(pieces): ++def render_pep440(pieces: Dict[str, Any]) -> str: + """Build up version string, with post-release "local version identifier". + + Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you +@@ -1251,30 +1591,76 @@ def render_pep440(pieces): + rendered += ".dirty" + else: + # exception #1 +- rendered = "0+untagged.%d.g%s" % (pieces["distance"], +- pieces["short"]) ++ rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) + if pieces["dirty"]: + rendered += ".dirty" + return rendered + + +-def render_pep440_pre(pieces): +- """TAG[.post.devDISTANCE] -- No -dirty. ++def render_pep440_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[[.dev0]+DISTANCE.gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. Note that .dev0 sorts backwards ++ (a feature branch will appear "older" than the master branch). + + Exceptions: +- 1: no tags. 0.post.devDISTANCE ++ 1: no tags. 0[.dev0]+untagged.DISTANCE.gHEX[.dirty] + """ + if pieces["closest-tag"]: + rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0" ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def pep440_split_post(ver: str) -> Tuple[str, Optional[int]]: ++ """Split pep440 version string at the post-release segment. ++ ++ Returns the release segments before the post-release and the ++ post-release version number (or -1 if no post-release segment is present). ++ """ ++ vc = str.split(ver, ".post") ++ return vc[0], int(vc[1] or 0) if len(vc) == 2 else None ++ ++ ++def render_pep440_pre(pieces: Dict[str, Any]) -> str: ++ """TAG[.postN.devDISTANCE] -- No -dirty. ++ ++ Exceptions: ++ 1: no tags. 0.post0.devDISTANCE ++ """ ++ if pieces["closest-tag"]: + if pieces["distance"]: +- rendered += ".post.dev%d" % pieces["distance"] ++ # update the post release segment ++ tag_version, post_version = pep440_split_post(pieces["closest-tag"]) ++ rendered = tag_version ++ if post_version is not None: ++ rendered += ".post%d.dev%d" % (post_version + 1, pieces["distance"]) ++ else: ++ rendered += ".post0.dev%d" % (pieces["distance"]) ++ else: ++ # no commits, use the tag as the version ++ rendered = pieces["closest-tag"] + else: + # exception #1 +- rendered = "0.post.dev%d" % pieces["distance"] ++ rendered = "0.post0.dev%d" % pieces["distance"] + return rendered + + +-def render_pep440_post(pieces): ++def render_pep440_post(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]+gHEX] . + + The ".dev0" means dirty. Note that .dev0 sorts backwards +@@ -1301,12 +1687,41 @@ def render_pep440_post(pieces): + return rendered + + +-def render_pep440_old(pieces): ++def render_pep440_post_branch(pieces: Dict[str, Any]) -> str: ++ """TAG[.postDISTANCE[.dev0]+gHEX[.dirty]] . ++ ++ The ".dev0" means not master branch. ++ ++ Exceptions: ++ 1: no tags. 0.postDISTANCE[.dev0]+gHEX[.dirty] ++ """ ++ if pieces["closest-tag"]: ++ rendered = pieces["closest-tag"] ++ if pieces["distance"] or pieces["dirty"]: ++ rendered += ".post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += plus_or_dot(pieces) ++ rendered += "g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ else: ++ # exception #1 ++ rendered = "0.post%d" % pieces["distance"] ++ if pieces["branch"] != "master": ++ rendered += ".dev0" ++ rendered += "+g%s" % pieces["short"] ++ if pieces["dirty"]: ++ rendered += ".dirty" ++ return rendered ++ ++ ++def render_pep440_old(pieces: Dict[str, Any]) -> str: + """TAG[.postDISTANCE[.dev0]] . + + The ".dev0" means dirty. + +- Eexceptions: ++ Exceptions: + 1: no tags. 0.postDISTANCE[.dev0] + """ + if pieces["closest-tag"]: +@@ -1323,7 +1738,7 @@ def render_pep440_old(pieces): + return rendered + + +-def render_git_describe(pieces): ++def render_git_describe(pieces: Dict[str, Any]) -> str: + """TAG[-DISTANCE-gHEX][-dirty]. + + Like 'git describe --tags --dirty --always'. +@@ -1343,7 +1758,7 @@ def render_git_describe(pieces): + return rendered + + +-def render_git_describe_long(pieces): ++def render_git_describe_long(pieces: Dict[str, Any]) -> str: + """TAG-DISTANCE-gHEX[-dirty]. + + Like 'git describe --tags --dirty --always -long'. +@@ -1363,24 +1778,30 @@ def render_git_describe_long(pieces): + return rendered + + +-def render(pieces, style): ++def render(pieces: Dict[str, Any], style: str) -> Dict[str, Any]: + """Render the given version pieces into the requested style.""" + if pieces["error"]: +- return {"version": "unknown", +- "full-revisionid": pieces.get("long"), +- "dirty": None, +- "error": pieces["error"], +- "date": None} ++ return { ++ "version": "unknown", ++ "full-revisionid": pieces.get("long"), ++ "dirty": None, ++ "error": pieces["error"], ++ "date": None, ++ } + + if not style or style == "default": + style = "pep440" # the default + + if style == "pep440": + rendered = render_pep440(pieces) ++ elif style == "pep440-branch": ++ rendered = render_pep440_branch(pieces) + elif style == "pep440-pre": + rendered = render_pep440_pre(pieces) + elif style == "pep440-post": + rendered = render_pep440_post(pieces) ++ elif style == "pep440-post-branch": ++ rendered = render_pep440_post_branch(pieces) + elif style == "pep440-old": + rendered = render_pep440_old(pieces) + elif style == "git-describe": +@@ -1390,16 +1811,20 @@ def render(pieces, style): + else: + raise ValueError("unknown style '%s'" % style) + +- return {"version": rendered, "full-revisionid": pieces["long"], +- "dirty": pieces["dirty"], "error": None, +- "date": pieces.get("date")} ++ return { ++ "version": rendered, ++ "full-revisionid": pieces["long"], ++ "dirty": pieces["dirty"], ++ "error": None, ++ "date": pieces.get("date"), ++ } + + + class VersioneerBadRootError(Exception): + """The project root directory is unknown or missing key files.""" + + +-def get_versions(verbose=False): ++def get_versions(verbose: bool = False) -> Dict[str, Any]: + """Get the project version from whatever source is available. + + Returns dict with two keys: 'version' and 'full'. +@@ -1414,9 +1839,10 @@ def get_versions(verbose=False): + assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" + handlers = HANDLERS.get(cfg.VCS) + assert handlers, "unrecognized VCS '%s'" % cfg.VCS +- verbose = verbose or cfg.verbose +- assert cfg.versionfile_source is not None, \ +- "please set versioneer.versionfile_source" ++ verbose = verbose or bool(cfg.verbose) # `bool()` used to avoid `None` ++ assert ( ++ cfg.versionfile_source is not None ++ ), "please set versioneer.versionfile_source" + assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" + + versionfile_abs = os.path.join(root, cfg.versionfile_source) +@@ -1470,18 +1896,26 @@ def get_versions(verbose=False): + if verbose: + print("unable to compute version") + +- return {"version": "0+unknown", "full-revisionid": None, +- "dirty": None, "error": "unable to compute version", +- "date": None} ++ return { ++ "version": "0+unknown", ++ "full-revisionid": None, ++ "dirty": None, ++ "error": "unable to compute version", ++ "date": None, ++ } + + +-def get_version(): ++def get_version() -> str: + """Get the short version string for this project.""" + return get_versions()["version"] + + +-def get_cmdclass(): +- """Get the custom setuptools/distutils subclasses used by Versioneer.""" ++def get_cmdclass(cmdclass: Optional[Dict[str, Any]] = None): ++ """Get the custom setuptools subclasses used by Versioneer. ++ ++ If the package uses a different cmdclass (e.g. one from numpy), it ++ should be provide as an argument. ++ """ + if "versioneer" in sys.modules: + del sys.modules["versioneer"] + # this fixes the "python setup.py develop" case (also 'install' and +@@ -1495,25 +1929,25 @@ def get_cmdclass(): + # parent is protected against the child's "import versioneer". By + # removing ourselves from sys.modules here, before the child build + # happens, we protect the child from the parent's versioneer too. +- # Also see https://github.com/warner/python-versioneer/issues/52 ++ # Also see https://github.com/python-versioneer/python-versioneer/issues/52 + +- cmds = {} ++ cmds = {} if cmdclass is None else cmdclass.copy() + +- # we add "version" to both distutils and setuptools +- from distutils.core import Command ++ # we add "version" to setuptools ++ from setuptools import Command + + class cmd_version(Command): + description = "report generated version string" +- user_options = [] +- boolean_options = [] ++ user_options: List[Tuple[str, str, str]] = [] ++ boolean_options: List[str] = [] + +- def initialize_options(self): ++ def initialize_options(self) -> None: + pass + +- def finalize_options(self): ++ def finalize_options(self) -> None: + pass + +- def run(self): ++ def run(self) -> None: + vers = get_versions(verbose=True) + print("Version: %s" % vers["version"]) + print(" full-revisionid: %s" % vers.get("full-revisionid")) +@@ -1521,9 +1955,10 @@ def get_cmdclass(): + print(" date: %s" % vers.get("date")) + if vers["error"]: + print(" error: %s" % vers["error"]) ++ + cmds["version"] = cmd_version + +- # we override "build_py" in both distutils and setuptools ++ # we override "build_py" in setuptools + # + # most invocation pathways end up running build_py: + # distutils/build -> build_py +@@ -1538,29 +1973,71 @@ def get_cmdclass(): + # then does setup.py bdist_wheel, or sometimes setup.py install + # setup.py egg_info -> ? + ++ # pip install -e . and setuptool/editable_wheel will invoke build_py ++ # but the build_py command is not expected to copy any files. ++ + # we override different "build_py" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.build_py import build_py as _build_py ++ if "build_py" in cmds: ++ _build_py: Any = cmds["build_py"] + else: +- from distutils.command.build_py import build_py as _build_py ++ from setuptools.command.build_py import build_py as _build_py + + class cmd_build_py(_build_py): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() + _build_py.run(self) ++ if getattr(self, "editable_mode", False): ++ # During editable installs `.py` and data files are ++ # not copied to build_lib ++ return + # now locate _version.py in the new build/ directory and replace + # it with an updated value + if cfg.versionfile_build: +- target_versionfile = os.path.join(self.build_lib, +- cfg.versionfile_build) ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) + print("UPDATING %s" % target_versionfile) + write_to_version_file(target_versionfile, versions) ++ + cmds["build_py"] = cmd_build_py + ++ if "build_ext" in cmds: ++ _build_ext: Any = cmds["build_ext"] ++ else: ++ from setuptools.command.build_ext import build_ext as _build_ext ++ ++ class cmd_build_ext(_build_ext): ++ def run(self) -> None: ++ root = get_root() ++ cfg = get_config_from_root(root) ++ versions = get_versions() ++ _build_ext.run(self) ++ if self.inplace: ++ # build_ext --inplace will only build extensions in ++ # build/lib<..> dir with no _version.py to write to. ++ # As in place builds will already have a _version.py ++ # in the module dir, we do not need to write one. ++ return ++ # now locate _version.py in the new build/ directory and replace ++ # it with an updated value ++ if not cfg.versionfile_build: ++ return ++ target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) ++ if not os.path.exists(target_versionfile): ++ print( ++ f"Warning: {target_versionfile} does not exist, skipping " ++ "version update. This can happen if you are running build_ext " ++ "without first running build_py." ++ ) ++ return ++ print("UPDATING %s" % target_versionfile) ++ write_to_version_file(target_versionfile, versions) ++ ++ cmds["build_ext"] = cmd_build_ext ++ + if "cx_Freeze" in sys.modules: # cx_freeze enabled? +- from cx_Freeze.dist import build_exe as _build_exe ++ from cx_Freeze.dist import build_exe as _build_exe # type: ignore ++ + # nczeczulin reports that py2exe won't like the pep440-style string + # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. + # setup(console=[{ +@@ -1569,7 +2046,7 @@ def get_cmdclass(): + # ... + + class cmd_build_exe(_build_exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1581,24 +2058,28 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["build_exe"] = cmd_build_exe + del cmds["build_py"] + +- if 'py2exe' in sys.modules: # py2exe enabled? ++ if "py2exe" in sys.modules: # py2exe enabled? + try: +- from py2exe.distutils_buildexe import py2exe as _py2exe # py3 ++ from py2exe.setuptools_buildexe import py2exe as _py2exe # type: ignore + except ImportError: +- from py2exe.build_exe import py2exe as _py2exe # py2 ++ from py2exe.distutils_buildexe import py2exe as _py2exe # type: ignore + + class cmd_py2exe(_py2exe): +- def run(self): ++ def run(self) -> None: + root = get_root() + cfg = get_config_from_root(root) + versions = get_versions() +@@ -1610,23 +2091,67 @@ def get_cmdclass(): + os.unlink(target_versionfile) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % +- {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ + cmds["py2exe"] = cmd_py2exe + ++ # sdist farms its file list building out to egg_info ++ if "egg_info" in cmds: ++ _egg_info: Any = cmds["egg_info"] ++ else: ++ from setuptools.command.egg_info import egg_info as _egg_info ++ ++ class cmd_egg_info(_egg_info): ++ def find_sources(self) -> None: ++ # egg_info.find_sources builds the manifest list and writes it ++ # in one shot ++ super().find_sources() ++ ++ # Modify the filelist and normalize it ++ root = get_root() ++ cfg = get_config_from_root(root) ++ self.filelist.append("versioneer.py") ++ if cfg.versionfile_source: ++ # There are rare cases where versionfile_source might not be ++ # included by default, so we must be explicit ++ self.filelist.append(cfg.versionfile_source) ++ self.filelist.sort() ++ self.filelist.remove_duplicates() ++ ++ # The write method is hidden in the manifest_maker instance that ++ # generated the filelist and was thrown away ++ # We will instead replicate their final normalization (to unicode, ++ # and POSIX-style paths) ++ from setuptools import unicode_utils ++ ++ normalized = [ ++ unicode_utils.filesys_decode(f).replace(os.sep, "/") ++ for f in self.filelist.files ++ ] ++ ++ manifest_filename = os.path.join(self.egg_info, "SOURCES.txt") ++ with open(manifest_filename, "w") as fobj: ++ fobj.write("\n".join(normalized)) ++ ++ cmds["egg_info"] = cmd_egg_info ++ + # we override different "sdist" commands for both environments +- if "setuptools" in sys.modules: +- from setuptools.command.sdist import sdist as _sdist ++ if "sdist" in cmds: ++ _sdist: Any = cmds["sdist"] + else: +- from distutils.command.sdist import sdist as _sdist ++ from setuptools.command.sdist import sdist as _sdist + + class cmd_sdist(_sdist): +- def run(self): ++ def run(self) -> None: + versions = get_versions() + self._versioneer_generated_versions = versions + # unless we update this, the command will keep using the old +@@ -1634,7 +2159,7 @@ def get_cmdclass(): + self.distribution.metadata.version = versions["version"] + return _sdist.run(self) + +- def make_release_tree(self, base_dir, files): ++ def make_release_tree(self, base_dir: str, files: List[str]) -> None: + root = get_root() + cfg = get_config_from_root(root) + _sdist.make_release_tree(self, base_dir, files) +@@ -1643,8 +2168,10 @@ def get_cmdclass(): + # updated value + target_versionfile = os.path.join(base_dir, cfg.versionfile_source) + print("UPDATING %s" % target_versionfile) +- write_to_version_file(target_versionfile, +- self._versioneer_generated_versions) ++ write_to_version_file( ++ target_versionfile, self._versioneer_generated_versions ++ ) ++ + cmds["sdist"] = cmd_sdist + + return cmds +@@ -1687,23 +2214,26 @@ SAMPLE_CONFIG = """ + + """ + +-INIT_PY_SNIPPET = """ ++OLD_SNIPPET = """ + from ._version import get_versions + __version__ = get_versions()['version'] + del get_versions + """ + ++INIT_PY_SNIPPET = """ ++from . import {0} ++__version__ = {0}.get_versions()['version'] ++""" ++ + +-def do_setup(): +- """Main VCS-independent setup function for installing Versioneer.""" ++def do_setup() -> int: ++ """Do main VCS-independent setup function for installing Versioneer.""" + root = get_root() + try: + cfg = get_config_from_root(root) +- except (EnvironmentError, configparser.NoSectionError, +- configparser.NoOptionError) as e: +- if isinstance(e, (EnvironmentError, configparser.NoSectionError)): +- print("Adding sample versioneer config to setup.cfg", +- file=sys.stderr) ++ except (OSError, configparser.NoSectionError, configparser.NoOptionError) as e: ++ if isinstance(e, (OSError, configparser.NoSectionError)): ++ print("Adding sample versioneer config to setup.cfg", file=sys.stderr) + with open(os.path.join(root, "setup.cfg"), "a") as f: + f.write(SAMPLE_CONFIG) + print(CONFIG_ERROR, file=sys.stderr) +@@ -1712,71 +2242,49 @@ def do_setup(): + print(" creating %s" % cfg.versionfile_source) + with open(cfg.versionfile_source, "w") as f: + LONG = LONG_VERSION_PY[cfg.VCS] +- f.write(LONG % {"DOLLAR": "$", +- "STYLE": cfg.style, +- "TAG_PREFIX": cfg.tag_prefix, +- "PARENTDIR_PREFIX": cfg.parentdir_prefix, +- "VERSIONFILE_SOURCE": cfg.versionfile_source, +- }) +- +- ipy = os.path.join(os.path.dirname(cfg.versionfile_source), +- "__init__.py") ++ f.write( ++ LONG ++ % { ++ "DOLLAR": "$", ++ "STYLE": cfg.style, ++ "TAG_PREFIX": cfg.tag_prefix, ++ "PARENTDIR_PREFIX": cfg.parentdir_prefix, ++ "VERSIONFILE_SOURCE": cfg.versionfile_source, ++ } ++ ) ++ ++ ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") ++ maybe_ipy: Optional[str] = ipy + if os.path.exists(ipy): + try: + with open(ipy, "r") as f: + old = f.read() +- except EnvironmentError: ++ except OSError: + old = "" +- if INIT_PY_SNIPPET not in old: ++ module = os.path.splitext(os.path.basename(cfg.versionfile_source))[0] ++ snippet = INIT_PY_SNIPPET.format(module) ++ if OLD_SNIPPET in old: ++ print(" replacing boilerplate in %s" % ipy) ++ with open(ipy, "w") as f: ++ f.write(old.replace(OLD_SNIPPET, snippet)) ++ elif snippet not in old: + print(" appending to %s" % ipy) + with open(ipy, "a") as f: +- f.write(INIT_PY_SNIPPET) ++ f.write(snippet) + else: + print(" %s unmodified" % ipy) + else: + print(" %s doesn't exist, ok" % ipy) +- ipy = None +- +- # Make sure both the top-level "versioneer.py" and versionfile_source +- # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so +- # they'll be copied into source distributions. Pip won't be able to +- # install the package without this. +- manifest_in = os.path.join(root, "MANIFEST.in") +- simple_includes = set() +- try: +- with open(manifest_in, "r") as f: +- for line in f: +- if line.startswith("include "): +- for include in line.split()[1:]: +- simple_includes.add(include) +- except EnvironmentError: +- pass +- # That doesn't cover everything MANIFEST.in can do +- # (http://docs.python.org/2/distutils/sourcedist.html#commands), so +- # it might give some false negatives. Appending redundant 'include' +- # lines is safe, though. +- if "versioneer.py" not in simple_includes: +- print(" appending 'versioneer.py' to MANIFEST.in") +- with open(manifest_in, "a") as f: +- f.write("include versioneer.py\n") +- else: +- print(" 'versioneer.py' already in MANIFEST.in") +- if cfg.versionfile_source not in simple_includes: +- print(" appending versionfile_source ('%s') to MANIFEST.in" % +- cfg.versionfile_source) +- with open(manifest_in, "a") as f: +- f.write("include %s\n" % cfg.versionfile_source) +- else: +- print(" versionfile_source already in MANIFEST.in") ++ maybe_ipy = None + + # Make VCS-specific changes. For git, this means creating/changing + # .gitattributes to mark _version.py for export-subst keyword + # substitution. +- do_vcs_install(manifest_in, cfg.versionfile_source, ipy) ++ do_vcs_install(cfg.versionfile_source, maybe_ipy) + return 0 + + +-def scan_setup_py(): ++def scan_setup_py() -> int: + """Validate the contents of setup.py against Versioneer's expectations.""" + found = set() + setters = False +@@ -1813,10 +2321,14 @@ def scan_setup_py(): + return errors + + ++def setup_command() -> NoReturn: ++ """Set up Versioneer and exit with appropriate error code.""" ++ errors = do_setup() ++ errors += scan_setup_py() ++ sys.exit(1 if errors else 0) ++ ++ + if __name__ == "__main__": + cmd = sys.argv[1] + if cmd == "setup": +- errors = do_setup() +- errors += scan_setup_py() +- if errors: +- sys.exit(1) ++ setup_command() +-- +2.41.0 + diff --git a/package/python-spake2/Config.in b/package/python-spake2/Config.in new file mode 100644 index 00000000000..1c2e3a49af3 --- /dev/null +++ b/package/python-spake2/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PYTHON_SPAKE2 + bool "python-spake2" + select BR2_PACKAGE_PYTHON_HKDF # runtime + help + SPAKE2 password-authenticated key exchange (in pure python). + + This library implements the SPAKE2 password-authenticated + key exchange ("PAKE") algorithm. This allows two parties, + who share a weak password, to safely derive a strong shared + secret (and therefore build an encrypted+authenticated + channel). + + https://github.com/warner/python-spake2 diff --git a/package/python-spake2/python-spake2.hash b/package/python-spake2/python-spake2.hash new file mode 100644 index 00000000000..30052b1b368 --- /dev/null +++ b/package/python-spake2/python-spake2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/spake2/json +md5 0155bad518bb49c39994fe0b7d9fb32c spake2-0.8.tar.gz +sha256 c17a614b29ee4126206e22181f70a406c618d3c6c62ca6d6779bce95e9c926f4 spake2-0.8.tar.gz +# Locally computed sha256 checksums +sha256 2a8a1200c3a2769d1815727f3b4439bd800f3bc88163118a36ff30b007d30031 LICENSE diff --git a/package/python-spake2/python-spake2.mk b/package/python-spake2/python-spake2.mk new file mode 100644 index 00000000000..99ce7dae13a --- /dev/null +++ b/package/python-spake2/python-spake2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-spake2 +# +################################################################################ + +PYTHON_SPAKE2_VERSION = 0.8 +PYTHON_SPAKE2_SOURCE = spake2-$(PYTHON_SPAKE2_VERSION).tar.gz +PYTHON_SPAKE2_SITE = https://files.pythonhosted.org/packages/60/0b/bb5eca8e18c38a10b1c207bbe6103df091e5cf7b3e5fdc0efbcad7b85b60 +PYTHON_SPAKE2_SETUP_TYPE = setuptools +PYTHON_SPAKE2_LICENSE = MIT +PYTHON_SPAKE2_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-sqlalchemy/Config.in b/package/python-sqlalchemy/Config.in index f7ec3a6ad4b..974393bb5ca 100644 --- a/package/python-sqlalchemy/Config.in +++ b/package/python-sqlalchemy/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_SQLALCHEMY bool "python-sqlalchemy" + select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime help SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and diff --git a/package/python-sqlalchemy/python-sqlalchemy.hash b/package/python-sqlalchemy/python-sqlalchemy.hash index 9f479d8f7b6..7951a329785 100644 --- a/package/python-sqlalchemy/python-sqlalchemy.hash +++ b/package/python-sqlalchemy/python-sqlalchemy.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sqlalchemy/json -md5 52318b83e8931c5f5a459f54fe4be3e8 SQLAlchemy-1.4.42.tar.gz -sha256 177e41914c476ed1e1b77fd05966ea88c094053e17a85303c4ce007f88eff363 SQLAlchemy-1.4.42.tar.gz +md5 7abfc2972d7e16315c8b7492ea0e0fdb SQLAlchemy-2.0.25.tar.gz +sha256 a2c69a7664fb2d54b8682dd774c3b54f67f84fa123cf84dda2a5f40dcaa04e08 SQLAlchemy-2.0.25.tar.gz # Locally computed sha256 checksums -sha256 859ded25da34c1eb73e6e736df4c5f8ce3ed2ed5290663176f06e7720d9c9a20 LICENSE +sha256 3c0f59ab887d041de6a4e52ffe3e9edb5d9522de909fae9a6cd7adb6e7be3293 LICENSE diff --git a/package/python-sqlalchemy/python-sqlalchemy.mk b/package/python-sqlalchemy/python-sqlalchemy.mk index a94b9eca92b..400ad92f637 100644 --- a/package/python-sqlalchemy/python-sqlalchemy.mk +++ b/package/python-sqlalchemy/python-sqlalchemy.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SQLALCHEMY_VERSION = 1.4.42 +PYTHON_SQLALCHEMY_VERSION = 2.0.25 PYTHON_SQLALCHEMY_SOURCE = SQLAlchemy-$(PYTHON_SQLALCHEMY_VERSION).tar.gz -PYTHON_SQLALCHEMY_SITE = https://files.pythonhosted.org/packages/e4/56/8ea85eaab7d93b58f9c213ad8fc5882838189a29fc8cc401d80710a12969 +PYTHON_SQLALCHEMY_SITE = https://files.pythonhosted.org/packages/7b/bb/85bd8e211f54983e927c7cd9b2ad66773fbef507957156fc72e481a62681 PYTHON_SQLALCHEMY_SETUP_TYPE = setuptools PYTHON_SQLALCHEMY_LICENSE = MIT PYTHON_SQLALCHEMY_LICENSE_FILES = LICENSE diff --git a/package/python-sqliteschema/Config.in b/package/python-sqliteschema/Config.in index 102a6157656..30971021000 100644 --- a/package/python-sqliteschema/Config.in +++ b/package/python-sqliteschema/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_SQLITESCHEMA bool "python-sqliteschema" - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_MBSTRDECODER # runtime select BR2_PACKAGE_PYTHON_TABLEDATA # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime diff --git a/package/python-sqliteschema/python-sqliteschema.hash b/package/python-sqliteschema/python-sqliteschema.hash index d5fe6e7af12..7fe8ee925d2 100644 --- a/package/python-sqliteschema/python-sqliteschema.hash +++ b/package/python-sqliteschema/python-sqliteschema.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sqliteschema/json -md5 46da4f7575a0cc6c1d92377a279e5188 sqliteschema-1.3.0.tar.gz -sha256 1acdd5087cab54a099135a5623bb1960019816e2e3042b889c637901a832d3c3 sqliteschema-1.3.0.tar.gz +md5 b7fd543b82ad709f70cdc06c4ec8639a sqliteschema-2.0.0.tar.gz +sha256 fe6cedddf10de8934ec1ace8319340a2256667e4a1a36f3da4fd1c0956124dc8 sqliteschema-2.0.0.tar.gz # Locally computed sha256 checksums sha256 7588265082eed5e9f4afd5090c57e610b740ec547b16aaaab739ba07c5eefb15 LICENSE diff --git a/package/python-sqliteschema/python-sqliteschema.mk b/package/python-sqliteschema/python-sqliteschema.mk index c399ebd6f6c..4b224048f91 100644 --- a/package/python-sqliteschema/python-sqliteschema.mk +++ b/package/python-sqliteschema/python-sqliteschema.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SQLITESCHEMA_VERSION = 1.3.0 +PYTHON_SQLITESCHEMA_VERSION = 2.0.0 PYTHON_SQLITESCHEMA_SOURCE = sqliteschema-$(PYTHON_SQLITESCHEMA_VERSION).tar.gz -PYTHON_SQLITESCHEMA_SITE = https://files.pythonhosted.org/packages/3d/ff/91cfff0c96f9ba2bddc27d6855db4907af77551a267b86740c8842beeb78 +PYTHON_SQLITESCHEMA_SITE = https://files.pythonhosted.org/packages/29/e7/4482eebf6d8ff7923bb3fd0e9239d3e634f67125cfda3001c88506b939b9 PYTHON_SQLITESCHEMA_SETUP_TYPE = setuptools PYTHON_SQLITESCHEMA_LICENSE = MIT PYTHON_SQLITESCHEMA_LICENSE_FILES = LICENSE diff --git a/package/python-sqlparse/python-sqlparse.hash b/package/python-sqlparse/python-sqlparse.hash index c78fd2edc3f..0b7c14d9aef 100644 --- a/package/python-sqlparse/python-sqlparse.hash +++ b/package/python-sqlparse/python-sqlparse.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/sqlparse/json -md5 180fb4e11a3f79b119868d7c102d7816 sqlparse-0.4.3.tar.gz -sha256 69ca804846bb114d2ec380e4360a8a340db83f0ccf3afceeb1404df028f57268 sqlparse-0.4.3.tar.gz +md5 67798c7a0dae90f263d20e9ecf62c8cd sqlparse-0.4.4.tar.gz +sha256 d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c sqlparse-0.4.4.tar.gz # Locally computed sha256 checksums sha256 c1938235b80d39e93138eae89edc3af67e18ecbc40d266529fa57b2dce426310 LICENSE diff --git a/package/python-sqlparse/python-sqlparse.mk b/package/python-sqlparse/python-sqlparse.mk index 23b1338e496..3f99eb64768 100644 --- a/package/python-sqlparse/python-sqlparse.mk +++ b/package/python-sqlparse/python-sqlparse.mk @@ -4,11 +4,13 @@ # ################################################################################ -PYTHON_SQLPARSE_VERSION = 0.4.3 +PYTHON_SQLPARSE_VERSION = 0.4.4 PYTHON_SQLPARSE_SOURCE = sqlparse-$(PYTHON_SQLPARSE_VERSION).tar.gz -PYTHON_SQLPARSE_SITE = https://files.pythonhosted.org/packages/ba/fa/5b7662b04b69f3a34b8867877e4dbf2a37b7f2a5c0bbb5a9eed64efd1ad1 -PYTHON_SQLPARSE_SETUP_TYPE = setuptools +PYTHON_SQLPARSE_SITE = https://files.pythonhosted.org/packages/65/16/10f170ec641ed852611b6c9441b23d10b5702ab5288371feab3d36de2574 +PYTHON_SQLPARSE_SETUP_TYPE = flit PYTHON_SQLPARSE_LICENSE = BSD-3-Clause PYTHON_SQLPARSE_LICENSE_FILES = LICENSE +PYTHON_SQLPARSE_CPE_ID_VENDOR = sqlparse_project +PYTHON_SQLPARSE_CPE_ID_PRODUCT = sqlparse $(eval $(python-package)) diff --git a/package/python-stack-data/Config.in b/package/python-stack-data/Config.in new file mode 100644 index 00000000000..508eb9cf132 --- /dev/null +++ b/package/python-stack-data/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_STACK_DATA + bool "python-stack-data" + select BR2_PACKAGE_PYTHON_ASTTOKENS # runtime + select BR2_PACKAGE_PYTHON_EXECUTING # runtime + select BR2_PACKAGE_PYTHON_PURE_EVAL # runtime + help + Extract data from python stack frames and tracebacks + for informative displays. + + http://github.com/alexmojaki/stack_data diff --git a/package/python-stack-data/python-stack-data.hash b/package/python-stack-data/python-stack-data.hash new file mode 100644 index 00000000000..b155a77c818 --- /dev/null +++ b/package/python-stack-data/python-stack-data.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/stack_data/json +md5 d04f7cda6589138e90691aec1edbf0d5 stack_data-0.6.3.tar.gz +sha256 836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 stack_data-0.6.3.tar.gz +# Locally computed sha256 checksums +sha256 a476a2cb0ef4c41450340a577a28b91ac4c7f669136b2ee148047fabd5fc4181 LICENSE.txt diff --git a/package/python-stack-data/python-stack-data.mk b/package/python-stack-data/python-stack-data.mk new file mode 100644 index 00000000000..7c38d2c4eb4 --- /dev/null +++ b/package/python-stack-data/python-stack-data.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-stack-data +# +################################################################################ + +PYTHON_STACK_DATA_VERSION = 0.6.3 +PYTHON_STACK_DATA_SOURCE = stack_data-$(PYTHON_STACK_DATA_VERSION).tar.gz +PYTHON_STACK_DATA_SITE = https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b +PYTHON_STACK_DATA_SETUP_TYPE = pep517 +PYTHON_STACK_DATA_LICENSE = MIT +PYTHON_STACK_DATA_LICENSE_FILES = LICENSE.txt +PYTHON_STACK_DATA_DEPENDENCIES = host-python-setuptools-scm + +$(eval $(python-package)) diff --git a/package/python-starlette/Config.in b/package/python-starlette/Config.in new file mode 100644 index 00000000000..90f590689a5 --- /dev/null +++ b/package/python-starlette/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_STARLETTE + bool "python-starlette" + select BR2_PACKAGE_PYTHON_ANYIO # runtime + help + The little ASGI library that shines. + + https://github.com/encode/starlette diff --git a/package/python-starlette/python-starlette.hash b/package/python-starlette/python-starlette.hash new file mode 100644 index 00000000000..03d77cf5be3 --- /dev/null +++ b/package/python-starlette/python-starlette.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/starlette/json +md5 0a1e026d653dc448ae07f47eefe1dc8b starlette-0.36.3.tar.gz +sha256 90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080 starlette-0.36.3.tar.gz +# Locally computed sha256 checksums +sha256 dcb95677a02240243187e964f941847d19b17821cf99e5afae684fab328c19bf LICENSE.md diff --git a/package/python-starlette/python-starlette.mk b/package/python-starlette/python-starlette.mk new file mode 100644 index 00000000000..9d137f5f5a4 --- /dev/null +++ b/package/python-starlette/python-starlette.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-starlette +# +################################################################################ + +PYTHON_STARLETTE_VERSION = 0.36.3 +PYTHON_STARLETTE_SOURCE = starlette-$(PYTHON_STARLETTE_VERSION).tar.gz +PYTHON_STARLETTE_SITE = https://files.pythonhosted.org/packages/be/47/1bba49d42d63f4453f0a64a20acbf2d0bd2f5a8cde6a166ee66c074a08f8 +PYTHON_STARLETTE_SETUP_TYPE = pep517 +PYTHON_STARLETTE_LICENSE = BSD-3-Clause +PYTHON_STARLETTE_LICENSE_FILES = LICENSE.md +PYTHON_STARLETTE_DEPENDENCIES = host-python-hatchling +PYTHON_STARLETTE_CPE_ID_VENDOR = encode +PYTHON_STARLETTE_CPE_ID_PRODUCT = starlette + +$(eval $(python-package)) diff --git a/package/python-systemd/python-systemd.hash b/package/python-systemd/python-systemd.hash index 789b48590de..6cc66392186 100644 --- a/package/python-systemd/python-systemd.hash +++ b/package/python-systemd/python-systemd.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/systemd-python/ -md5 5071ea5bcb976186e92a3f5e75df221d systemd-python-234.tar.gz +md5 93f3ca09f35719ca6a4edd1d62d38dd4 systemd-python-235.tar.gz # Locally computed -sha256 fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7 systemd-python-234.tar.gz +sha256 4e57f39797fd5d9e2d22b8806a252d7c0106c936039d1e71c8c6b8008e695c0a systemd-python-235.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.txt diff --git a/package/python-systemd/python-systemd.mk b/package/python-systemd/python-systemd.mk index 3ccfd57ce58..fdc5d7e2784 100644 --- a/package/python-systemd/python-systemd.mk +++ b/package/python-systemd/python-systemd.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_SYSTEMD_VERSION = 234 # Should be kept in sync with $(SYSTEMD_VERSION) +PYTHON_SYSTEMD_VERSION = 235 PYTHON_SYSTEMD_SOURCE = systemd-python-$(PYTHON_SYSTEMD_VERSION).tar.gz -PYTHON_SYSTEMD_SITE = https://pypi.python.org/packages/e8/a8/00ba0f605837a8f69523e6c3a4fb14675a6430c163f836540129c50b3aef -PYTHON_SYSTEMD_SETUP_TYPE = distutils +PYTHON_SYSTEMD_SITE = https://files.pythonhosted.org/packages/10/9e/ab4458e00367223bda2dd7ccf0849a72235ee3e29b36dce732685d9b7ad9 +PYTHON_SYSTEMD_SETUP_TYPE = setuptools PYTHON_SYSTEMD_LICENSE = LGPL-2.1 PYTHON_SYSTEMD_LICENSE_FILES = LICENSE.txt PYTHON_SYSTEMD_DEPENDENCIES = systemd # To be able to link against libsystemd diff --git a/package/python-tabledata/Config.in b/package/python-tabledata/Config.in index 9947f41af66..3ee3057a391 100644 --- a/package/python-tabledata/Config.in +++ b/package/python-tabledata/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_PYTHON_TABLEDATA bool "python-tabledata" select BR2_PACKAGE_PYTHON_DATAPROPERTY # runtime - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_TYPEPY # runtime help A Python library to represent tabular data for diff --git a/package/python-tabledata/python-tabledata.hash b/package/python-tabledata/python-tabledata.hash index 3613589ae0d..19fd4ea9c58 100644 --- a/package/python-tabledata/python-tabledata.hash +++ b/package/python-tabledata/python-tabledata.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/tabledata/json -md5 1874cb0bf69cbc824a7bec67431023a9 tabledata-1.3.0.tar.gz -sha256 54541b0c9e58f8fa38251ea0a60965dbaf95737027fa80e6ab56f98d7e4d61e9 tabledata-1.3.0.tar.gz +md5 579c4e7454a837d252d4977b73556aae tabledata-1.3.3.tar.gz +sha256 c90daaba9a408e4397934b3ff2f6c06797d5289676420bf520c741ad43e6ff91 tabledata-1.3.3.tar.gz # Locally computed sha256 checksums sha256 bebbdf0524a147f89a615fff53d79bdc90cbc7631550fb4b725cd3f3bdcd24f6 LICENSE diff --git a/package/python-tabledata/python-tabledata.mk b/package/python-tabledata/python-tabledata.mk index 48f544b115d..43e22d45d1f 100644 --- a/package/python-tabledata/python-tabledata.mk +++ b/package/python-tabledata/python-tabledata.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TABLEDATA_VERSION = 1.3.0 +PYTHON_TABLEDATA_VERSION = 1.3.3 PYTHON_TABLEDATA_SOURCE = tabledata-$(PYTHON_TABLEDATA_VERSION).tar.gz -PYTHON_TABLEDATA_SITE = https://files.pythonhosted.org/packages/ed/ed/dd0d6975963967492ac2c230107587593c7bd94acfa802b0c60a5395125c +PYTHON_TABLEDATA_SITE = https://files.pythonhosted.org/packages/48/6a/7f78fbf883f325b70ba9ce5c10d97652f5c371e224940097c2cea9d0f456 PYTHON_TABLEDATA_SETUP_TYPE = setuptools PYTHON_TABLEDATA_LICENSE = MIT PYTHON_TABLEDATA_LICENSE_FILES = LICENSE diff --git a/package/python-tcolorpy/Config.in b/package/python-tcolorpy/Config.in new file mode 100644 index 00000000000..e3e90584830 --- /dev/null +++ b/package/python-tcolorpy/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_TCOLORPY + bool "python-tcolorpy" + help + Tcolopy is a Python library to apply true color for + terminal text. + + https://github.com/thombashi/tcolorpy diff --git a/package/python-tcolorpy/python-tcolorpy.hash b/package/python-tcolorpy/python-tcolorpy.hash new file mode 100644 index 00000000000..cf5ca0e5f39 --- /dev/null +++ b/package/python-tcolorpy/python-tcolorpy.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/tcolorpy/json +md5 ca571cccff812ecdc0c73968c9d24ebf tcolorpy-0.1.4.tar.gz +sha256 f0dceb1cb95e554cee63024b3cd2fd8d4628c568773de2d1e6b4f0478461901c tcolorpy-0.1.4.tar.gz +# Locally computed sha256 checksums +sha256 f41a0456d5f2bba25fd4d7e50b51a95de304770ff1db5a79515d03397a914d8d LICENSE diff --git a/package/python-tcolorpy/python-tcolorpy.mk b/package/python-tcolorpy/python-tcolorpy.mk new file mode 100644 index 00000000000..5c42320c17f --- /dev/null +++ b/package/python-tcolorpy/python-tcolorpy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-tcolorpy +# +################################################################################ + +PYTHON_TCOLORPY_VERSION = 0.1.4 +PYTHON_TCOLORPY_SOURCE = tcolorpy-$(PYTHON_TCOLORPY_VERSION).tar.gz +PYTHON_TCOLORPY_SITE = https://files.pythonhosted.org/packages/ba/e0/20b99847e76bb89784b68634399261d770b01054bca16cd19a06ac9c2e67 +PYTHON_TCOLORPY_SETUP_TYPE = setuptools +PYTHON_TCOLORPY_LICENSE = MIT +PYTHON_TCOLORPY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-tempora/Config.in b/package/python-tempora/Config.in index 508cbae3f31..3f4481422af 100644 --- a/package/python-tempora/Config.in +++ b/package/python-tempora/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_TEMPORA bool "python-tempora" select BR2_PACKAGE_PYTHON_JARACO_FUNCTOOLS # runtime - select BR2_PACKAGE_PYTHON_SIX # runtime select BR2_PACKAGE_PYTHON_PYTZ # runtime help Objects and routines pertaining to date and time. diff --git a/package/python-tempora/python-tempora.hash b/package/python-tempora/python-tempora.hash index 39249eb4fa7..ff7093394f3 100644 --- a/package/python-tempora/python-tempora.hash +++ b/package/python-tempora/python-tempora.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/tempora/json -md5 f9954a8c3b091f9769eb7bbe0faddccf tempora-5.1.0.tar.gz -sha256 3e7c4a5369a1788c88a99b6be3a4c74c0c7728d3b62fd768a7e81bd0be0e88df tempora-5.1.0.tar.gz +md5 39314c5843bc3f40f8ce4f5cc340c479 tempora-5.5.0.tar.gz +sha256 13e4fcc997d0509c3306d6841f03e9381b7e5e46b2bebfae9151af90085f0c26 tempora-5.5.0.tar.gz # Locally computed sha256 checksums -sha256 db3f0246b1f9278f15845b99fec478b8b506eb76487993722f8c6e254285faf8 LICENSE +sha256 86da0f01aeae46348a3c3d465195dc1ceccde79f79e87769a64b8da04b2a4741 LICENSE diff --git a/package/python-tempora/python-tempora.mk b/package/python-tempora/python-tempora.mk index 68516a8388c..d1b333ec0a8 100644 --- a/package/python-tempora/python-tempora.mk +++ b/package/python-tempora/python-tempora.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TEMPORA_VERSION = 5.1.0 +PYTHON_TEMPORA_VERSION = 5.5.0 PYTHON_TEMPORA_SOURCE = tempora-$(PYTHON_TEMPORA_VERSION).tar.gz -PYTHON_TEMPORA_SITE = https://files.pythonhosted.org/packages/a9/4e/41863232e77742b3a5b30a81e1398abd102aa0a67657bc86a53800966b8e +PYTHON_TEMPORA_SITE = https://files.pythonhosted.org/packages/c9/dc/97d90b9f64dbe4f599023e19602b33a2cced68462db67a3d4805a77cf784 PYTHON_TEMPORA_LICENSE = MIT PYTHON_TEMPORA_LICENSE_FILES = LICENSE PYTHON_TEMPORA_SETUP_TYPE = setuptools diff --git a/package/python-termcolor/python-termcolor.hash b/package/python-termcolor/python-termcolor.hash index 73fb9129edc..ed69ab06d1e 100644 --- a/package/python-termcolor/python-termcolor.hash +++ b/package/python-termcolor/python-termcolor.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/termcolor/json -md5 f7f59efd147dd1ec2a25e667616e8a52 termcolor-2.1.1.tar.gz -sha256 67cee2009adc6449c650f6bcf3bdeed00c8ba53a8cda5362733c53e0a39fb70b termcolor-2.1.1.tar.gz +md5 1d567737d43835549d2fd1bc87ec6c7d termcolor-2.4.0.tar.gz +sha256 aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a termcolor-2.4.0.tar.gz # Locally computed sha256 checksums sha256 e79b6bd82962c1330caaa7c42278567b08667777673f8e2371a624d5715d4c0e COPYING.txt diff --git a/package/python-termcolor/python-termcolor.mk b/package/python-termcolor/python-termcolor.mk index d7511d692fc..c242cfa4740 100644 --- a/package/python-termcolor/python-termcolor.mk +++ b/package/python-termcolor/python-termcolor.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TERMCOLOR_VERSION = 2.1.1 +PYTHON_TERMCOLOR_VERSION = 2.4.0 PYTHON_TERMCOLOR_SOURCE = termcolor-$(PYTHON_TERMCOLOR_VERSION).tar.gz -PYTHON_TERMCOLOR_SITE = https://files.pythonhosted.org/packages/19/da/ff1f0906818a5bd2e69e773d88801ca3c9e92d0d7caa99db1665658819ea +PYTHON_TERMCOLOR_SITE = https://files.pythonhosted.org/packages/10/56/d7d66a84f96d804155f6ff2873d065368b25a07222a6fd51c4f24ef6d764 PYTHON_TERMCOLOR_SETUP_TYPE = pep517 PYTHON_TERMCOLOR_LICENSE = MIT PYTHON_TERMCOLOR_LICENSE_FILES = COPYING.txt diff --git a/package/python-tftpy/Config.in b/package/python-tftpy/Config.in new file mode 100644 index 00000000000..ef21ac58de7 --- /dev/null +++ b/package/python-tftpy/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_TFTPY + bool "python-tftpy" + help + tftpy is a pure Python implementation of the + Trivial FTP protocol. + + https://github.com/msoulier/tftpy diff --git a/package/python-tftpy/python-tftpy.hash b/package/python-tftpy/python-tftpy.hash new file mode 100644 index 00000000000..1fae4fdeef3 --- /dev/null +++ b/package/python-tftpy/python-tftpy.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 2bfbf6377f6e3b6ba647f0ac614e9cbc225d1cc35b52991860ba6ea1ec58ef9d python-tftpy-0.8.2.tar.gz +sha256 4616f0c71e62ce2e0f6cdd3aef6d3c285f8730c9304b88a9f3ce3f14c2e6f756 LICENSE diff --git a/package/python-tftpy/python-tftpy.mk b/package/python-tftpy/python-tftpy.mk new file mode 100644 index 00000000000..fd3c6014960 --- /dev/null +++ b/package/python-tftpy/python-tftpy.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-tftpy +# +################################################################################ + +PYTHON_TFTPY_VERSION = 0.8.2 +PYTHON_TFTPY_SITE = $(call github,msoulier,tftpy,$(PYTHON_TFTPY_VERSION)) +PYTHON_TFTPY_LICENSE = MIT +PYTHON_TFTPY_LICENSE_FILES = LICENSE +PYTHON_TFTPY_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-tornado/0001-web-Fix-an-open-redirect-in-StaticFileHandler.patch b/package/python-tornado/0001-web-Fix-an-open-redirect-in-StaticFileHandler.patch new file mode 100644 index 00000000000..357c6f2f129 --- /dev/null +++ b/package/python-tornado/0001-web-Fix-an-open-redirect-in-StaticFileHandler.patch @@ -0,0 +1,42 @@ +From ac79778c91bd9a4a92111f7e06d4b12674571113 Mon Sep 17 00:00:00 2001 +From: Ben Darnell +Date: Sat, 13 May 2023 20:58:52 -0400 +Subject: [PATCH] web: Fix an open redirect in StaticFileHandler + +Under some configurations the default_filename redirect could be exploited +to redirect to an attacker-controlled site. This change refuses to redirect +to URLs that could be misinterpreted. + +A test case for the specific vulnerable configuration will follow after the +patch has been available. + +Upstream: https://github.com/tornadoweb/tornado/commit/32ad07c54e607839273b4e1819c347f5c8976b2f +[Thomas: backported to fix CVE-2023-28370] +Signed-off-by: Thomas Petazzoni +--- + tornado/web.py | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/tornado/web.py b/tornado/web.py +index cd6a81b4..05b571eb 100644 +--- a/tornado/web.py ++++ b/tornado/web.py +@@ -2806,6 +2806,15 @@ class StaticFileHandler(RequestHandler): + # but there is some prefix to the path that was already + # trimmed by the routing + if not self.request.path.endswith("/"): ++ if self.request.path.startswith("//"): ++ # A redirect with two initial slashes is a "protocol-relative" URL. ++ # This means the next path segment is treated as a hostname instead ++ # of a part of the path, making this effectively an open redirect. ++ # Reject paths starting with two slashes to prevent this. ++ # This is only reachable under certain configurations. ++ raise HTTPError( ++ 403, "cannot redirect path with two initial slashes" ++ ) + self.redirect(self.request.path + "/", permanent=True) + return None + absolute_path = os.path.join(absolute_path, self.default_filename) +-- +2.41.0 + diff --git a/package/python-tornado/python-tornado.mk b/package/python-tornado/python-tornado.mk index 2af86ecb18a..f4a4c97d2a2 100644 --- a/package/python-tornado/python-tornado.mk +++ b/package/python-tornado/python-tornado.mk @@ -12,5 +12,7 @@ PYTHON_TORNADO_LICENSE_FILES = LICENSE PYTHON_TORNADO_CPE_ID_VENDOR = tornadoweb PYTHON_TORNADO_CPE_ID_PRODUCT = tornado PYTHON_TORNADO_SETUP_TYPE = setuptools +# 0001-web-Fix-an-open-redirect-in-StaticFileHandler.patch +PYTHON_TORNADO_IGNORE_CVES += CVE-2023-28370 $(eval $(python-package)) diff --git a/package/python-trafaret/Config.in b/package/python-trafaret/Config.in new file mode 100644 index 00000000000..73c7216b1e6 --- /dev/null +++ b/package/python-trafaret/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_TRAFARET + bool "python-trafaret" + help + Ultimate transformation library that supports validation, + contexts and aiohttp. + + https://github.com/Deepwalker/trafaret/ diff --git a/package/python-trafaret/python-trafaret.hash b/package/python-trafaret/python-trafaret.hash new file mode 100644 index 00000000000..d0d54c9ff2b --- /dev/null +++ b/package/python-trafaret/python-trafaret.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/trafaret/json +md5 85085fe18dd133d3622a2f7a3b0acf6a trafaret-2.1.1.tar.gz +sha256 d9d00800318fbd343fdfb3353e947b2ebb5557159c844696c5ac24846f76d41c trafaret-2.1.1.tar.gz +# Locally computed sha256 checksums +sha256 724f8da8a7161f07d9448aa37d1d5c4eb44b14727021c3b5d60a50ecf9a24771 LICENSE.txt diff --git a/package/python-trafaret/python-trafaret.mk b/package/python-trafaret/python-trafaret.mk new file mode 100644 index 00000000000..74d87a3d137 --- /dev/null +++ b/package/python-trafaret/python-trafaret.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-trafaret +# +################################################################################ + +PYTHON_TRAFARET_VERSION = 2.1.1 +PYTHON_TRAFARET_SOURCE = trafaret-$(PYTHON_TRAFARET_VERSION).tar.gz +PYTHON_TRAFARET_SITE = https://files.pythonhosted.org/packages/c9/ed/aac034e566f8846aee6472dcc90da6011a0b1829e3ffc768407df519a3b0 +PYTHON_TRAFARET_SETUP_TYPE = setuptools +PYTHON_TRAFARET_LICENSE = BSD-2-Clause +PYTHON_TRAFARET_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-traitlets/python-traitlets.hash b/package/python-traitlets/python-traitlets.hash index 3b48fb6ab86..80fa8d4d440 100644 --- a/package/python-traitlets/python-traitlets.hash +++ b/package/python-traitlets/python-traitlets.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/traitlets/json -md5 bae965c0e6ab468079f233e8a9caf581 traitlets-5.7.0.tar.gz -sha256 bd0fca5c890a09bf66b33cce67ca14156b080429bc39c7ef26b075a4bd4f9fc3 traitlets-5.7.0.tar.gz +md5 95b21c721316bbc06922df9d97af5158 traitlets-5.8.0.tar.gz +sha256 6cc57d6dc28c85d5365961726ffd19b538739347749e13ebe34e03323a0e8f84 traitlets-5.8.0.tar.gz # Locally computed sha256 checksums sha256 3dcd47086529bf178cf7d10f35a8c188a1e9710391acecceef700898a4cf099b COPYING.md diff --git a/package/python-traitlets/python-traitlets.mk b/package/python-traitlets/python-traitlets.mk index 71bb775a455..7054557a486 100644 --- a/package/python-traitlets/python-traitlets.mk +++ b/package/python-traitlets/python-traitlets.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TRAITLETS_VERSION = 5.7.0 +PYTHON_TRAITLETS_VERSION = 5.8.0 PYTHON_TRAITLETS_SOURCE = traitlets-$(PYTHON_TRAITLETS_VERSION).tar.gz -PYTHON_TRAITLETS_SITE = https://files.pythonhosted.org/packages/a2/88/5b2a191dd0287b45b933405d951ebfc490a9dfee2494442e5977653ec43b +PYTHON_TRAITLETS_SITE = https://files.pythonhosted.org/packages/56/48/0eb99357330a02974d537be8e4096bc58cfac1089e3153570119ccea7a40 PYTHON_TRAITLETS_LICENSE = BSD-3-Clause PYTHON_TRAITLETS_LICENSE_FILES = COPYING.md PYTHON_TRAITLETS_SETUP_TYPE = pep517 diff --git a/package/python-trio-websocket/Config.in b/package/python-trio-websocket/Config.in new file mode 100644 index 00000000000..7d35fd02968 --- /dev/null +++ b/package/python-trio-websocket/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_TRIO_WEBSOCKET + bool "python-trio-websocket" + select BR2_PACKAGE_PYTHON_ASYNC_GENERATOR # runtime + select BR2_PACKAGE_PYTHON_TRIO # runtime + select BR2_PACKAGE_PYTHON_WSPROTO # runtime + help + WebSocket library for Trio. + + https://github.com/HyperionGray/trio-websocket diff --git a/package/python-trio-websocket/python-trio-websocket.hash b/package/python-trio-websocket/python-trio-websocket.hash new file mode 100644 index 00000000000..3e6e832d900 --- /dev/null +++ b/package/python-trio-websocket/python-trio-websocket.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/trio-websocket/json +md5 37b141910bdafa3c9b6731aa16646acc trio-websocket-0.9.2.tar.gz +sha256 a3d34de8fac26023eee701ed1e7bf4da9a8326b61a62934ec9e53b64970fd8fe trio-websocket-0.9.2.tar.gz diff --git a/package/python-trio-websocket/python-trio-websocket.mk b/package/python-trio-websocket/python-trio-websocket.mk new file mode 100644 index 00000000000..4522b87c9c2 --- /dev/null +++ b/package/python-trio-websocket/python-trio-websocket.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-trio-websocket +# +################################################################################ + +PYTHON_TRIO_WEBSOCKET_VERSION = 0.9.2 +PYTHON_TRIO_WEBSOCKET_SOURCE = trio-websocket-$(PYTHON_TRIO_WEBSOCKET_VERSION).tar.gz +PYTHON_TRIO_WEBSOCKET_SITE = https://files.pythonhosted.org/packages/75/91/44a0a016025794ba9fef530a6fbe59987153e2cbea7e11fe2f3d8c618740 +PYTHON_TRIO_WEBSOCKET_SETUP_TYPE = setuptools +PYTHON_TRIO_WEBSOCKET_LICENSE = MIT + +$(eval $(python-package)) diff --git a/package/python-trio/Config.in b/package/python-trio/Config.in new file mode 100644 index 00000000000..0aa53c90cae --- /dev/null +++ b/package/python-trio/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PYTHON_TRIO + bool "python-trio" + select BR2_PACKAGE_PYTHON_ASYNC_GENERATOR # runtime + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_IDNA # runtime + select BR2_PACKAGE_PYTHON_OUTCOME # runtime + select BR2_PACKAGE_PYTHON_SNIFFIO # runtime + select BR2_PACKAGE_PYTHON_SORTEDCONTAINERS # runtime + help + A friendly Python library for async concurrency and I/O. + + https://github.com/python-trio/trio diff --git a/package/python-trio/python-trio.hash b/package/python-trio/python-trio.hash new file mode 100644 index 00000000000..487194662ed --- /dev/null +++ b/package/python-trio/python-trio.hash @@ -0,0 +1,7 @@ +# md5, sha256 from https://pypi.org/pypi/trio/json +md5 f7dbfa6a8722065f09da188641d8ed93 trio-0.22.0.tar.gz +sha256 ce68f1c5400a47b137c5a4de72c7c901bd4e7a24fbdebfe9b41de8c6c04eaacf trio-0.22.0.tar.gz +# Locally computed sha256 checksums +sha256 418d025e1284311f2690263e6efa6bf51585e5741818ece63e5862487e505bb9 LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.APACHE2 +sha256 faa301d72dcc023b432bd77dc08a773ca3449e5c27440b9d66eb46fb8500b430 LICENSE.MIT diff --git a/package/python-trio/python-trio.mk b/package/python-trio/python-trio.mk new file mode 100644 index 00000000000..80da203c159 --- /dev/null +++ b/package/python-trio/python-trio.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-trio +# +################################################################################ + +PYTHON_TRIO_VERSION = 0.22.0 +PYTHON_TRIO_SOURCE = trio-$(PYTHON_TRIO_VERSION).tar.gz +PYTHON_TRIO_SITE = https://files.pythonhosted.org/packages/0b/b8/1b81d2149c3e2c25900d40b8e6c8d3ca502a3cc844b90c962b0854aaf3f3 +PYTHON_TRIO_SETUP_TYPE = setuptools +PYTHON_TRIO_LICENSE = Apache-2.0 or MIT +PYTHON_TRIO_LICENSE_FILES = LICENSE LICENSE.APACHE2 LICENSE.MIT + +$(eval $(python-package)) diff --git a/package/python-trove-classifiers/python-trove-classifiers.hash b/package/python-trove-classifiers/python-trove-classifiers.hash new file mode 100644 index 00000000000..26b813eded4 --- /dev/null +++ b/package/python-trove-classifiers/python-trove-classifiers.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/trove-classifiers/json +md5 2afa6925489403b8025a1b66d990e760 trove-classifiers-2023.10.18.tar.gz +sha256 2cdfcc7f31f7ffdd57666a9957296089ac72daad4d11ab5005060e5cd7e29939 trove-classifiers-2023.10.18.tar.gz +# Locally computed sha256 checksums +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/python-trove-classifiers/python-trove-classifiers.mk b/package/python-trove-classifiers/python-trove-classifiers.mk new file mode 100644 index 00000000000..d0d79d297c2 --- /dev/null +++ b/package/python-trove-classifiers/python-trove-classifiers.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-trove-classifiers +# +################################################################################ + +PYTHON_TROVE_CLASSIFIERS_VERSION = 2023.10.18 +PYTHON_TROVE_CLASSIFIERS_SOURCE = trove-classifiers-$(PYTHON_TROVE_CLASSIFIERS_VERSION).tar.gz +PYTHON_TROVE_CLASSIFIERS_SITE = https://files.pythonhosted.org/packages/5b/fa/49b6a09e4f389d4d9406d2947a685de1462ffb676ea6e61c50905e27b0f4 +PYTHON_TROVE_CLASSIFIERS_SETUP_TYPE = setuptools +PYTHON_TROVE_CLASSIFIERS_LICENSE = Apache-2.0 +PYTHON_TROVE_CLASSIFIERS_LICENSE_FILES = LICENSE +HOST_PYTHON_TROVE_CLASSIFIERS_DEPENDENCIES = host-python-calver + +$(eval $(host-python-package)) diff --git a/package/python-txaio/python-txaio.hash b/package/python-txaio/python-txaio.hash index f06c14b21f9..d561cec6356 100644 --- a/package/python-txaio/python-txaio.hash +++ b/package/python-txaio/python-txaio.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/txaio/json -md5 9b692af4c4fce73cadd36374c138936b txaio-22.2.1.tar.gz -sha256 2e4582b70f04b2345908254684a984206c0d9b50e3074a24a4c55aba21d24d01 txaio-22.2.1.tar.gz +md5 297409f2dff8e71bad24467374aa8775 txaio-23.1.1.tar.gz +sha256 f9a9216e976e5e3246dfd112ad7ad55ca915606b60b84a757ac769bd404ff704 txaio-23.1.1.tar.gz # Locally computed sha256 checksums -sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE +sha256 ab1dd7a42dbdae302346c5a4571f2149691cc1ec06836232bf4923527e3fe41c LICENSE diff --git a/package/python-txaio/python-txaio.mk b/package/python-txaio/python-txaio.mk index 1a8a8889630..585b3a5f575 100644 --- a/package/python-txaio/python-txaio.mk +++ b/package/python-txaio/python-txaio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXAIO_VERSION = 22.2.1 +PYTHON_TXAIO_VERSION = 23.1.1 PYTHON_TXAIO_SOURCE = txaio-$(PYTHON_TXAIO_VERSION).tar.gz -PYTHON_TXAIO_SITE = https://files.pythonhosted.org/packages/6d/4b/28313388dfb2bdedb71b35b900459c56ba08ccb7ad2885487df037808c06 +PYTHON_TXAIO_SITE = https://files.pythonhosted.org/packages/51/91/bc9fd5aa84703f874dea27313b11fde505d343f3ef3ad702bddbe20bfd6e PYTHON_TXAIO_LICENSE = MIT PYTHON_TXAIO_LICENSE_FILES = LICENSE PYTHON_TXAIO_SETUP_TYPE = setuptools diff --git a/package/python-types-python-dateutil/Config.in b/package/python-types-python-dateutil/Config.in new file mode 100644 index 00000000000..e2a8bb63412 --- /dev/null +++ b/package/python-types-python-dateutil/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_TYPES_PYTHON_DATEUTIL + bool "python-types-python-dateutil" + help + Typing stubs for python-dateutil. + + https://github.com/python/typeshed diff --git a/package/python-types-python-dateutil/python-types-python-dateutil.hash b/package/python-types-python-dateutil/python-types-python-dateutil.hash new file mode 100644 index 00000000000..ef5e9380cf7 --- /dev/null +++ b/package/python-types-python-dateutil/python-types-python-dateutil.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/types-python-dateutil/json +md5 58072922ac0c740121e311e970f003bf types-python-dateutil-2.8.19.14.tar.gz +sha256 1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b types-python-dateutil-2.8.19.14.tar.gz diff --git a/package/python-types-python-dateutil/python-types-python-dateutil.mk b/package/python-types-python-dateutil/python-types-python-dateutil.mk new file mode 100644 index 00000000000..b2303941209 --- /dev/null +++ b/package/python-types-python-dateutil/python-types-python-dateutil.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-types-python-dateutil +# +################################################################################ + +PYTHON_TYPES_PYTHON_DATEUTIL_VERSION = 2.8.19.14 +PYTHON_TYPES_PYTHON_DATEUTIL_SOURCE = types-python-dateutil-$(PYTHON_TYPES_PYTHON_DATEUTIL_VERSION).tar.gz +PYTHON_TYPES_PYTHON_DATEUTIL_SITE = https://files.pythonhosted.org/packages/1b/2d/f189e5c03c22700c4ce5aece4b51bb73fa8adcfd7848629de0fb78af5f6f +PYTHON_TYPES_PYTHON_DATEUTIL_SETUP_TYPE = setuptools +PYTHON_TYPES_PYTHON_DATEUTIL_LICENSE = Apache-2.0 + +$(eval $(python-package)) diff --git a/package/python-typing-extensions/python-typing-extensions.hash b/package/python-typing-extensions/python-typing-extensions.hash index 249bb63a42b..778b2d57715 100644 --- a/package/python-typing-extensions/python-typing-extensions.hash +++ b/package/python-typing-extensions/python-typing-extensions.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/typing_extensions/json -md5 5cfcb56ea6fc4972c3600c0030f4d136 typing_extensions-4.4.0.tar.gz -sha256 1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa typing_extensions-4.4.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/typing-extensions/json +md5 2bcafbd6817cb0d7a29ed7a7f1bb1e5d typing_extensions-4.9.0.tar.gz +sha256 23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 typing_extensions-4.9.0.tar.gz # Locally computed sha256 checksums -sha256 c7afb65e755707b9fb90487389a176d3ed3d0031d5131afde45c23715ff5e891 LICENSE +sha256 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE diff --git a/package/python-typing-extensions/python-typing-extensions.mk b/package/python-typing-extensions/python-typing-extensions.mk index fd7d0bd93af..89ed75bda79 100644 --- a/package/python-typing-extensions/python-typing-extensions.mk +++ b/package/python-typing-extensions/python-typing-extensions.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TYPING_EXTENSIONS_VERSION = 4.4.0 +PYTHON_TYPING_EXTENSIONS_VERSION = 4.9.0 PYTHON_TYPING_EXTENSIONS_SOURCE = typing_extensions-$(PYTHON_TYPING_EXTENSIONS_VERSION).tar.gz -PYTHON_TYPING_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/e3/a7/8f4e456ef0adac43f452efc2d0e4b242ab831297f1bac60ac815d37eb9cf +PYTHON_TYPING_EXTENSIONS_SITE = https://files.pythonhosted.org/packages/0c/1d/eb26f5e75100d531d7399ae800814b069bc2ed2a7410834d57374d010d96 PYTHON_TYPING_EXTENSIONS_SETUP_TYPE = flit PYTHON_TYPING_EXTENSIONS_LICENSE = Python-2.0 PYTHON_TYPING_EXTENSIONS_LICENSE_FILES = LICENSE diff --git a/package/python-uhid/Config.in b/package/python-uhid/Config.in new file mode 100644 index 00000000000..6fdff951445 --- /dev/null +++ b/package/python-uhid/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_UHID + bool "python-uhid" + help + Pure Python typed UHID wrapper. + + https://github.com/FFY00/python-uhid diff --git a/package/python-uhid/python-uhid.hash b/package/python-uhid/python-uhid.hash new file mode 100644 index 00000000000..3faf6d9f23a --- /dev/null +++ b/package/python-uhid/python-uhid.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/uhid/json +md5 1c62bbefe10923545bbdf42355d9be07 uhid-0.0.1.tar.gz +sha256 3c782489890dbf33621fb2c30d1ac81fbc1b3ef1911ae7d4c73907cdc0f59aab uhid-0.0.1.tar.gz +# Locally computed sha256 checksums +sha256 106a8f7c2c26bd2acc597c79a36a2fe3979f98a14dc14c6065b7dc9c58b27f33 LICENSE diff --git a/package/python-uhid/python-uhid.mk b/package/python-uhid/python-uhid.mk new file mode 100644 index 00000000000..215545b60f8 --- /dev/null +++ b/package/python-uhid/python-uhid.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# python-uhid +# +################################################################################ + +PYTHON_UHID_VERSION = 0.0.1 +PYTHON_UHID_SOURCE = uhid-$(PYTHON_UHID_VERSION).tar.gz +PYTHON_UHID_SITE = https://files.pythonhosted.org/packages/cb/44/6ebe9dceadc028507d16603e2bb542557a4c70c6032ef8ee507c3ce51283 +PYTHON_UHID_SETUP_TYPE = setuptools +PYTHON_UHID_LICENSE = MIT +PYTHON_UHID_LICENSE_FILES = LICENSE + +define PYTHON_UHID_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_INPUT) + $(call KCONFIG_ENABLE_OPT,CONFIG_HID) + $(call KCONFIG_ENABLE_OPT,CONFIG_UHID) +endef + +$(eval $(python-package)) diff --git a/package/python-ujson/python-ujson.hash b/package/python-ujson/python-ujson.hash index 3dfc681167c..759cafc2501 100644 --- a/package/python-ujson/python-ujson.hash +++ b/package/python-ujson/python-ujson.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/ujson/json -md5 45a74680e2936470821bf74a8f043a71 ujson-5.6.0.tar.gz -sha256 f881e2d8a022e9285aa2eab6ba8674358dbcb2b57fa68618d88d62937ac3ff04 ujson-5.6.0.tar.gz +md5 f93bd7aa33e3e6ed41c9e3782abe7b48 ujson-5.7.0.tar.gz +sha256 e788e5d5dcae8f6118ac9b45d0b891a0d55f7ac480eddcb7f07263f2bcf37b23 ujson-5.7.0.tar.gz # Locally computed sha256 checksums sha256 6a00a8f8b4050303368b694147bde1aed9c96bdff869c181dbbf3ccb784a1501 LICENSE.txt diff --git a/package/python-ujson/python-ujson.mk b/package/python-ujson/python-ujson.mk index 24ad4822b8e..3afd33cb5a0 100644 --- a/package/python-ujson/python-ujson.mk +++ b/package/python-ujson/python-ujson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_UJSON_VERSION = 5.6.0 +PYTHON_UJSON_VERSION = 5.7.0 PYTHON_UJSON_SOURCE = ujson-$(PYTHON_UJSON_VERSION).tar.gz -PYTHON_UJSON_SITE = https://files.pythonhosted.org/packages/45/48/466d672c53fcb93d64a2817e3a0306214103e3baba109821c88e1150c100 +PYTHON_UJSON_SITE = https://files.pythonhosted.org/packages/43/1a/b0a027144aa5c8f4ea654f4afdd634578b450807bb70b9f8bad00d6f6d3c PYTHON_UJSON_SETUP_TYPE = setuptools PYTHON_UJSON_LICENSE = BSD-3-Clause PYTHON_UJSON_LICENSE_FILES = LICENSE.txt diff --git a/package/python-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash index 963967332e3..209cfe277ea 100644 --- a/package/python-urllib3/python-urllib3.hash +++ b/package/python-urllib3/python-urllib3.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/urllib3/json -md5 38f7d1589aa9720101316d07fcbd05c8 urllib3-1.26.13.tar.gz -sha256 c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8 urllib3-1.26.13.tar.gz +md5 5a264ef3ae827e5842bbc80536a343dd urllib3-2.0.7.tar.gz +sha256 c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84 urllib3-2.0.7.tar.gz # Locally computed sha256 checksums -sha256 c37bf186e27cf9dbe9619e55edfe3cea7b30091ceb3da63c7dacbe0e6d77907b LICENSE.txt +sha256 130e3a64d5fdd5d096a752694634a7d9df284469de86e5732100268041e3d686 LICENSE.txt diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk index 5868927440b..ba041082db3 100644 --- a/package/python-urllib3/python-urllib3.mk +++ b/package/python-urllib3/python-urllib3.mk @@ -4,14 +4,16 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.26.13 +PYTHON_URLLIB3_VERSION = 2.0.7 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/c2/51/32da03cf19d17d46cce5c731967bf58de9bd71db3a379932f53b094deda4 +PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/af/47/b215df9f71b4fdba1025fc05a77db2ad243fa0926755a52c5e71659f4e3c PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_CPE_ID_VENDOR = python PYTHON_URLLIB3_CPE_ID_PRODUCT = urllib3 -PYTHON_URLLIB3_SETUP_TYPE = setuptools +PYTHON_URLLIB3_SETUP_TYPE = pep517 +PYTHON_URLLIB3_DEPENDENCIES = host-python-hatchling +HOST_PYTHON_URLLIB3_DEPENDENCIES = host-python-hatchling $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-urwid-readline/Config.in b/package/python-urwid-readline/Config.in new file mode 100644 index 00000000000..a8046fc25b9 --- /dev/null +++ b/package/python-urwid-readline/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_URWID_READLINE + bool "python-urwid-readline" + select BR2_PACKAGE_PYTHON_URWID # runtime + help + A textbox edit widget for urwid that supports readline + shortcuts. + + https://github.com/rr-/urwid_readline diff --git a/package/python-urwid-readline/python-urwid-readline.hash b/package/python-urwid-readline/python-urwid-readline.hash new file mode 100644 index 00000000000..75220e937bb --- /dev/null +++ b/package/python-urwid-readline/python-urwid-readline.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/urwid_readline/json +md5 6e0bd170f621f0ad3edab1875bdb5c5f urwid_readline-0.13.tar.gz +sha256 018020cbc864bb5ed87be17dc26b069eae2755cb29f3a9c569aac3bded1efaf4 urwid_readline-0.13.tar.gz diff --git a/package/python-urwid-readline/python-urwid-readline.mk b/package/python-urwid-readline/python-urwid-readline.mk new file mode 100644 index 00000000000..782c425b653 --- /dev/null +++ b/package/python-urwid-readline/python-urwid-readline.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-urwid-readline +# +################################################################################ + +PYTHON_URWID_READLINE_VERSION = 0.13 +PYTHON_URWID_READLINE_SOURCE = urwid_readline-$(PYTHON_URWID_READLINE_VERSION).tar.gz +PYTHON_URWID_READLINE_SITE = https://files.pythonhosted.org/packages/ab/bb/c5b3fec22268d97ad30232f5533d4a5939d4df7ed3917a8d20d447f1d0a7 +PYTHON_URWID_READLINE_LICENSE = MIT +PYTHON_URWID_READLINE_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/package/python-uvicorn/Config.in b/package/python-uvicorn/Config.in new file mode 100644 index 00000000000..c84f54781f8 --- /dev/null +++ b/package/python-uvicorn/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_UVICORN + bool "python-uvicorn" + select BR2_PACKAGE_PYTHON_CLICK # runtime + select BR2_PACKAGE_PYTHON_H11 # runtime + select BR2_PACKAGE_PYTHON3_SSL # runtime + help + The lightning-fast ASGI server. + + https://www.uvicorn.org/ diff --git a/package/python-uvicorn/python-uvicorn.hash b/package/python-uvicorn/python-uvicorn.hash new file mode 100644 index 00000000000..c7feaf3bfe6 --- /dev/null +++ b/package/python-uvicorn/python-uvicorn.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/uvicorn/json +md5 a98f96c2578d9e6d454e271d0eae3ba3 uvicorn-0.27.0.post1.tar.gz +sha256 54898fcd80c13ff1cd28bf77b04ec9dbd8ff60c5259b499b4b12bb0917f22907 uvicorn-0.27.0.post1.tar.gz +# Locally computed sha256 checksums +sha256 efe1acf3e62fb99c288b0ec73e5a773b7268ef4320fe757ea994214e4b63c371 LICENSE.md diff --git a/package/python-uvicorn/python-uvicorn.mk b/package/python-uvicorn/python-uvicorn.mk new file mode 100644 index 00000000000..502cc06ad87 --- /dev/null +++ b/package/python-uvicorn/python-uvicorn.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-uvicorn +# +################################################################################ + +PYTHON_UVICORN_VERSION = 0.27.0.post1 +PYTHON_UVICORN_SOURCE = uvicorn-$(PYTHON_UVICORN_VERSION).tar.gz +PYTHON_UVICORN_SITE = https://files.pythonhosted.org/packages/38/56/7bc5cf1d693d0c8e5d9dd66c29808691c17260b31346e4ddfbee26ba9bc2 +PYTHON_UVICORN_SETUP_TYPE = pep517 +PYTHON_UVICORN_LICENSE = BSD-3-Clause +PYTHON_UVICORN_LICENSE_FILES = LICENSE.md +PYTHON_UVICORN_CPE_ID_VENDOR = encode +PYTHON_UVICORN_CPE_ID_PRODUCT = uvicorn +PYTHON_UVICORN_DEPENDENCIES = host-python-hatchling + +$(eval $(python-package)) diff --git a/package/python-uvloop/Config.in b/package/python-uvloop/Config.in index b3fb275091a..c9a05111cb3 100644 --- a/package/python-uvloop/Config.in +++ b/package/python-uvloop/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PYTHON_UVLOOP depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_LIBUV select BR2_PACKAGE_PYTHON3_SSL help @@ -11,7 +12,8 @@ config BR2_PACKAGE_PYTHON_UVLOOP http://github.com/MagicStack/uvloop -comment "python-uvloop needs a toolchain w/ NPTL, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "python-uvloop needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU diff --git a/package/python-uvloop/python-uvloop.hash b/package/python-uvloop/python-uvloop.hash index 69834d52431..481dbd0569f 100644 --- a/package/python-uvloop/python-uvloop.hash +++ b/package/python-uvloop/python-uvloop.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/uvloop/json -md5 bc5e841a1c3f6e8935eeaf9d82b5ee29 uvloop-0.17.0.tar.gz -sha256 0ddf6baf9cf11a1a22c71487f39f15b2cf78eb5bde7e5b45fbb99e8a9d91b9e1 uvloop-0.17.0.tar.gz +md5 0107f6e04c23bdcd93a0a712a0e52ffb uvloop-0.19.0.tar.gz +sha256 0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd uvloop-0.19.0.tar.gz # Locally computed sha256 checksums sha256 377025287798f9dcd819e1f826fa5fc5e2f382528691ab0528c5cf8c8c282c27 LICENSE-APACHE sha256 6dd4c399f26de043d77a2ad7e31db4cb5bf08ea8368b0a42d6e158635cc8ab62 LICENSE-MIT diff --git a/package/python-uvloop/python-uvloop.mk b/package/python-uvloop/python-uvloop.mk index 147062cf7b1..285884a2bb2 100644 --- a/package/python-uvloop/python-uvloop.mk +++ b/package/python-uvloop/python-uvloop.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_UVLOOP_VERSION = 0.17.0 +PYTHON_UVLOOP_VERSION = 0.19.0 PYTHON_UVLOOP_SOURCE = uvloop-$(PYTHON_UVLOOP_VERSION).tar.gz -PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/ba/86/6dda1760481abf244cbd3908b79a4520d757040ca9ec37a79fc0fd01e2a0 +PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/9c/16/728cc5dde368e6eddb299c5aec4d10eaf25335a5af04e8c0abd68e2e9d32 PYTHON_UVLOOP_SETUP_TYPE = setuptools PYTHON_UVLOOP_LICENSE = Apache-2.0, MIT PYTHON_UVLOOP_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT diff --git a/package/python-validators/Config.in b/package/python-validators/Config.in index 8a2ddb49fba..6eb6913ab6b 100644 --- a/package/python-validators/Config.in +++ b/package/python-validators/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PYTHON_VALIDATORS bool "python-validators" - select BR2_PACKAGE_PYTHON_DECORATOR # runtime help Python Data Validation for Humans. - https://github.com/kvesteri/validators + https://python-validators.github.io/validators diff --git a/package/python-validators/python-validators.hash b/package/python-validators/python-validators.hash index 4f4e1c21f81..3682850cb30 100644 --- a/package/python-validators/python-validators.hash +++ b/package/python-validators/python-validators.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/validators/json -md5 f03b5acb91079450bae664726ae01948 validators-0.20.0.tar.gz -sha256 24148ce4e64100a2d5e267233e23e7afeb55316b47d30faae7eb6e7292bc226a validators-0.20.0.tar.gz +md5 e7b36d935ebafe149629146cbfe5b0c8 validators-0.22.0.tar.gz +sha256 77b2689b172eeeb600d9605ab86194641670cdb73b60afd577142a9397873370 validators-0.22.0.tar.gz # Locally computed sha256 checksums -sha256 a7fd9d761c7ca1c6508b9baf030f6e21f5752d1caea3e49a270634aa9ef01e6f LICENSE +sha256 7c1bdc4712afecb46d402ec79da0ea2877811711e76dbaf1e425ee0b0e331b1f LICENSE diff --git a/package/python-validators/python-validators.mk b/package/python-validators/python-validators.mk index 731aca11f63..09ccbe6ab7b 100644 --- a/package/python-validators/python-validators.mk +++ b/package/python-validators/python-validators.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_VALIDATORS_VERSION = 0.20.0 +PYTHON_VALIDATORS_VERSION = 0.22.0 PYTHON_VALIDATORS_SOURCE = validators-$(PYTHON_VALIDATORS_VERSION).tar.gz -PYTHON_VALIDATORS_SITE = https://files.pythonhosted.org/packages/95/14/ed0af6865d378cfc3c504aed0d278a890cbefb2f1934bf2dbe92ecf9d6b1 +PYTHON_VALIDATORS_SITE = https://files.pythonhosted.org/packages/9b/21/40a249498eee5a244a017582c06c0af01851179e2617928063a3d628bc8f PYTHON_VALIDATORS_SETUP_TYPE = setuptools PYTHON_VALIDATORS_LICENSE = MIT PYTHON_VALIDATORS_LICENSE_FILES = LICENSE diff --git a/package/python-versioneer/python-versioneer.hash b/package/python-versioneer/python-versioneer.hash new file mode 100644 index 00000000000..44cbeb15936 --- /dev/null +++ b/package/python-versioneer/python-versioneer.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/versioneer/json +md5 1703d6ced3656553066fa71e42c5eee6 versioneer-0.29.tar.gz +sha256 5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731 versioneer-0.29.tar.gz +# Locally computed sha256 checksums +sha256 b5065838cbac452dfc855ba6e6e031481ad2c68406f70d21ead9321374653e6c LICENSE diff --git a/package/python-versioneer/python-versioneer.mk b/package/python-versioneer/python-versioneer.mk new file mode 100644 index 00000000000..5dbf0dd1c2a --- /dev/null +++ b/package/python-versioneer/python-versioneer.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-versioneer +# +################################################################################ + +PYTHON_VERSIONEER_VERSION = 0.29 +PYTHON_VERSIONEER_SOURCE = versioneer-$(PYTHON_VERSIONEER_VERSION).tar.gz +PYTHON_VERSIONEER_SITE = https://files.pythonhosted.org/packages/32/d7/854e45d2b03e1a8ee2aa6429dd396d002ce71e5d88b77551b2fb249cb382 +PYTHON_VERSIONEER_SETUP_TYPE = setuptools +PYTHON_VERSIONEER_LICENSE = Unlicense +PYTHON_VERSIONEER_LICENSE_FILES = LICENSE + +$(eval $(host-python-package)) diff --git a/package/python-watchdog/python-watchdog.hash b/package/python-watchdog/python-watchdog.hash index 3bacccf2d60..0653787110c 100644 --- a/package/python-watchdog/python-watchdog.hash +++ b/package/python-watchdog/python-watchdog.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/watchdog/json -md5 d029b806814bcba26745c26769a847bc watchdog-2.2.0.tar.gz -sha256 83cf8bc60d9c613b66a4c018051873d6273d9e45d040eed06d6a96241bd8ec01 watchdog-2.2.0.tar.gz +md5 04cda210c7ffd04582d2466328ee7368 watchdog-2.2.1.tar.gz +sha256 cdcc23c9528601a8a293eb4369cbd14f6b4f34f07ae8769421252e9c22718b6f watchdog-2.2.1.tar.gz # Locally computed sha256 checksums sha256 02c8760f988a76e92a9d6cb525456a86f7b0fd1953870dd491de5955cb974d41 COPYING sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-watchdog/python-watchdog.mk b/package/python-watchdog/python-watchdog.mk index bb9f145e16d..9c058e38ad4 100644 --- a/package/python-watchdog/python-watchdog.mk +++ b/package/python-watchdog/python-watchdog.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WATCHDOG_VERSION = 2.2.0 +PYTHON_WATCHDOG_VERSION = 2.2.1 PYTHON_WATCHDOG_SOURCE = watchdog-$(PYTHON_WATCHDOG_VERSION).tar.gz -PYTHON_WATCHDOG_SITE = https://files.pythonhosted.org/packages/c3/fb/bd960970258366b0704307ccd12617d64201407bfb6d31ae412d2762ccf1 +PYTHON_WATCHDOG_SITE = https://files.pythonhosted.org/packages/11/6f/0396d373e039b89c60e23a1a9025edc6dd203121fe0af7d1427e85d5ec98 PYTHON_WATCHDOG_SETUP_TYPE = setuptools PYTHON_WATCHDOG_LICENSE = Apache-2.0 PYTHON_WATCHDOG_LICENSE_FILES = LICENSE COPYING diff --git a/package/python-weasyprint/Config.in b/package/python-weasyprint/Config.in index 18d72d742eb..65210fb1eb7 100644 --- a/package/python-weasyprint/Config.in +++ b/package/python-weasyprint/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PYTHON_WEASYPRINT bool "python-weasyprint" - depends on BR2_INSTALL_LIBSTDCPP # python-brotli, python-zopfli + depends on BR2_INSTALL_LIBSTDCPP # python-zopfli select BR2_PACKAGE_PYTHON_BROTLI # runtime select BR2_PACKAGE_PYTHON_CFFI # runtime select BR2_PACKAGE_PYTHON_CSSSELECT2 # runtime diff --git a/package/python-weasyprint/python-weasyprint.hash b/package/python-weasyprint/python-weasyprint.hash index 4da8ea479a2..c22677cad0a 100644 --- a/package/python-weasyprint/python-weasyprint.hash +++ b/package/python-weasyprint/python-weasyprint.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/weasyprint/json -md5 bab389bdfb25e03d64591c56367fb344 weasyprint-57.1.tar.gz -sha256 397a9d11298f94485ec3b7b68aeef1c6106fb638350126d9d4a64109b73508a0 weasyprint-57.1.tar.gz +md5 2cb135e7c5318bb1652205035f083922 weasyprint-59.0.tar.gz +sha256 223a76636b3744eaa4ab8a2885f50cf46cf8ebb1acb99b5276d02feccf507492 weasyprint-59.0.tar.gz # Locally computed sha256 checksums sha256 bfd14eccfa6100575460e685556b183399d4bd335904e3c9521b0116d21c54da LICENSE diff --git a/package/python-weasyprint/python-weasyprint.mk b/package/python-weasyprint/python-weasyprint.mk index d1e5e7983d0..a1e3d23b751 100644 --- a/package/python-weasyprint/python-weasyprint.mk +++ b/package/python-weasyprint/python-weasyprint.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WEASYPRINT_VERSION = 57.1 +PYTHON_WEASYPRINT_VERSION = 59.0 PYTHON_WEASYPRINT_SOURCE = weasyprint-$(PYTHON_WEASYPRINT_VERSION).tar.gz -PYTHON_WEASYPRINT_SITE = https://files.pythonhosted.org/packages/32/3f/d305dc714c119e5b11c0ea1ecff9741407b6da90d6b684859d3b3e586692 +PYTHON_WEASYPRINT_SITE = https://files.pythonhosted.org/packages/1d/69/11343bbb46d4f2a311677058e19cc2f7bc55a769b64c547a64ea1e2b6045 PYTHON_WEASYPRINT_SETUP_TYPE = flit PYTHON_WEASYPRINT_LICENSE = BSD-3-Clause PYTHON_WEASYPRINT_LICENSE_FILES = LICENSE diff --git a/package/python-web2py/python-web2py.hash b/package/python-web2py/python-web2py.hash index dbf85437f2f..1b4d8f56320 100644 --- a/package/python-web2py/python-web2py.hash +++ b/package/python-web2py/python-web2py.hash @@ -1,3 +1,3 @@ # sha256 locally computed -sha256 d4a15fc15254d3fa9e9e9b5a726ae51a0989b7d740d53fd7c3d5b81ac6b8274e python-web2py-2.22.5.tar.gz +sha256 d5d79f6260ec9f53f90447ad59313a8fac0571fce0018aa5f6fcf95d28c04382 python-web2py-2.26.1.tar.gz sha256 2aae96826184a492bc799add49aed7b29036e7aba2d2294fb65053bd30fe55fe LICENSE diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk index b9a4e95609d..fe7774fc2bd 100644 --- a/package/python-web2py/python-web2py.mk +++ b/package/python-web2py/python-web2py.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = 2.22.5 +PYTHON_WEB2PY_VERSION = 2.26.1 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,v$(PYTHON_WEB2PY_VERSION)) PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE diff --git a/package/python-webargs/Config.in b/package/python-webargs/Config.in new file mode 100644 index 00000000000..f2332d3b707 --- /dev/null +++ b/package/python-webargs/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_WEBARGS + bool "python-webargs" + select BR2_PACKAGE_PYTHON_MARSHMALLOW # runtime + select BR2_PACKAGE_PYTHON_PACKAGING # runtime + help + Declarative parsing and validation of HTTP request objects, + with built-in support for popular web frameworks, including + Flask, Django, Bottle, Tornado, Pyramid, Falcon, and + aiohttp. + + https://github.com/marshmallow-code/webargs diff --git a/package/python-webargs/python-webargs.hash b/package/python-webargs/python-webargs.hash new file mode 100644 index 00000000000..10bb3651f08 --- /dev/null +++ b/package/python-webargs/python-webargs.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/webargs/json +md5 9fff29294a5db748eca791da2b93e370 webargs-8.2.0.tar.gz +sha256 99d68940c452e07726485a15fef43f12f8ae6c0c5b391bcba76065d4527fb85d webargs-8.2.0.tar.gz +# Locally computed sha256 checksums +sha256 5973e5dcc20b65e4eb4b4acdf273bb78a18522914ab626f496f1b070f7e6294d LICENSE diff --git a/package/python-webargs/python-webargs.mk b/package/python-webargs/python-webargs.mk new file mode 100644 index 00000000000..ce270842c13 --- /dev/null +++ b/package/python-webargs/python-webargs.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-webargs +# +################################################################################ + +PYTHON_WEBARGS_VERSION = 8.2.0 +PYTHON_WEBARGS_SOURCE = webargs-$(PYTHON_WEBARGS_VERSION).tar.gz +PYTHON_WEBARGS_SITE = https://files.pythonhosted.org/packages/4b/7d/fece8e6547b3edde8953b1c84a63da02e1a88efcb9d7d485e4d1b25d9c47 +PYTHON_WEBARGS_SETUP_TYPE = setuptools +PYTHON_WEBARGS_LICENSE = MIT +PYTHON_WEBARGS_LICENSE_FILES = LICENSE +PYTHON_WEBARGS_CPE_ID_VENDOR = webargs_project +PYTHON_WEBARGS_CPE_ID_PRODUCT = webargs + +$(eval $(python-package)) diff --git a/package/python-werkzeug/python-werkzeug.hash b/package/python-werkzeug/python-werkzeug.hash index 13b95bc4483..34adc67088e 100644 --- a/package/python-werkzeug/python-werkzeug.hash +++ b/package/python-werkzeug/python-werkzeug.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.org/pypi/Werkzeug/json -md5 9d7e50c5bb3a9fc12823b5faf374b90e Werkzeug-2.2.2.tar.gz -sha256 7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f Werkzeug-2.2.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/werkzeug/json +md5 3bb49cd2f2b51a1c638532e9a935e207 werkzeug-2.3.8.tar.gz +sha256 554b257c74bbeb7a0d254160a4f8ffe185243f52a52035060b761ca62d977f03 werkzeug-2.3.8.tar.gz # Locally computed sha256 checksums sha256 3b49dcee4105eb37bac10faf1be260408fe85d252b8e9df2e0979fc1e094437b LICENSE.rst diff --git a/package/python-werkzeug/python-werkzeug.mk b/package/python-werkzeug/python-werkzeug.mk index 3ebae3c1655..e8ef32bb1b3 100644 --- a/package/python-werkzeug/python-werkzeug.mk +++ b/package/python-werkzeug/python-werkzeug.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WERKZEUG_VERSION = 2.2.2 -PYTHON_WERKZEUG_SOURCE = Werkzeug-$(PYTHON_WERKZEUG_VERSION).tar.gz -PYTHON_WERKZEUG_SITE = https://files.pythonhosted.org/packages/f8/c1/1c8e539f040acd80f844c69a5ef8e2fccdf8b442dabb969e497b55d544e1 +PYTHON_WERKZEUG_VERSION = 2.3.8 +PYTHON_WERKZEUG_SOURCE = werkzeug-$(PYTHON_WERKZEUG_VERSION).tar.gz +PYTHON_WERKZEUG_SITE = https://files.pythonhosted.org/packages/3d/4b/d746f1000782c89d6c97df9df43ba8f4d126038608843d3560ae88d201b5 PYTHON_WERKZEUG_SETUP_TYPE = setuptools PYTHON_WERKZEUG_LICENSE = BSD-3-Clause PYTHON_WERKZEUG_LICENSE_FILES = LICENSE.rst diff --git a/package/python-wheel/python-wheel.hash b/package/python-wheel/python-wheel.hash new file mode 100644 index 00000000000..377a85c8fd5 --- /dev/null +++ b/package/python-wheel/python-wheel.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/wheel/json +md5 ec5004c46d1905da98bb5bc1a10ddd21 wheel-0.40.0.tar.gz +sha256 cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873 wheel-0.40.0.tar.gz +# Locally computed sha256 checksums +sha256 30c23618679108f3e8ea1d2a658c7ca417bdfc891c98ef1a89fa4ff0c9828654 LICENSE.txt diff --git a/package/python-wheel/python-wheel.mk b/package/python-wheel/python-wheel.mk new file mode 100644 index 00000000000..320995521ec --- /dev/null +++ b/package/python-wheel/python-wheel.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# python-wheel +# +################################################################################ + +PYTHON_WHEEL_VERSION = 0.40.0 +PYTHON_WHEEL_SOURCE = wheel-$(PYTHON_WHEEL_VERSION).tar.gz +PYTHON_WHEEL_SITE = https://files.pythonhosted.org/packages/fc/ef/0335f7217dd1e8096a9e8383e1d472aa14717878ffe07c4772e68b6e8735 +PYTHON_WHEEL_SETUP_TYPE = flit +PYTHON_WHEEL_LICENSE = MIT +PYTHON_WHEEL_LICENSE_FILES = LICENSE.txt +PYTHON_WHEEL_CPE_ID_VENDOR = wheel_project +PYTHON_WHEEL_CPE_ID_PRODUCT = wheel + +$(eval $(host-python-package)) diff --git a/package/python-wsaccel/python-wsaccel.hash b/package/python-wsaccel/python-wsaccel.hash index b388c3cc7cb..9991f8f4544 100644 --- a/package/python-wsaccel/python-wsaccel.hash +++ b/package/python-wsaccel/python-wsaccel.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/wsaccel/json -md5 73bdc70035813ded14f9a4b81e82622a wsaccel-0.6.4.tar.gz -sha256 cbf66a88bcaf6c6ad16d50ea29215891526b6e993c4bc7ed44b044ee6fe3ad3d wsaccel-0.6.4.tar.gz +md5 b05eecfac9cb19326bfc3b538de495ac wsaccel-0.6.6.tar.gz +sha256 18efec0a7182587ba97102b4cd8df7b4f665f45d7ca36f19783f5f081ea114ea wsaccel-0.6.6.tar.gz # Locally computed sha256 checksums sha256 b6982974cb838b985b54b663d1780d280735086249c2e28015f25dd455df25da LICENSE diff --git a/package/python-wsaccel/python-wsaccel.mk b/package/python-wsaccel/python-wsaccel.mk index ce41d431ffb..1f63aa5c403 100644 --- a/package/python-wsaccel/python-wsaccel.mk +++ b/package/python-wsaccel/python-wsaccel.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WSACCEL_VERSION = 0.6.4 +PYTHON_WSACCEL_VERSION = 0.6.6 PYTHON_WSACCEL_SOURCE = wsaccel-$(PYTHON_WSACCEL_VERSION).tar.gz -PYTHON_WSACCEL_SITE = https://files.pythonhosted.org/packages/77/0b/a44df15382a76b6768184630d483b8363d65b9f70d1aacf76153d496bbb9 +PYTHON_WSACCEL_SITE = https://files.pythonhosted.org/packages/94/28/41c0e711b538f6031a247ab4ec5352267f12ed416e3a638b8d55fc33f609 PYTHON_WSACCEL_LICENSE = Apache-2.0 PYTHON_WSACCEL_LICENSE_FILES = LICENSE PYTHON_WSACCEL_SETUP_TYPE = setuptools diff --git a/package/python-wsproto/Config.in b/package/python-wsproto/Config.in new file mode 100644 index 00000000000..0610348b8d1 --- /dev/null +++ b/package/python-wsproto/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_WSPROTO + bool "python-wsproto" + select BR2_PACKAGE_PYTHON_H11 # runtime + help + WebSockets state-machine based protocol implementation. + + https://github.com/python-hyper/wsproto/ diff --git a/package/python-wsproto/python-wsproto.hash b/package/python-wsproto/python-wsproto.hash new file mode 100644 index 00000000000..4eb31957850 --- /dev/null +++ b/package/python-wsproto/python-wsproto.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/wsproto/json +md5 f64973434117e23d2079460ed64b05c3 wsproto-1.2.0.tar.gz +sha256 ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065 wsproto-1.2.0.tar.gz +# Locally computed sha256 checksums +sha256 c0329a8dbf3437b095f7f5cf4257d6bb855e07120cae8786586073ff7a699959 LICENSE diff --git a/package/python-wsproto/python-wsproto.mk b/package/python-wsproto/python-wsproto.mk new file mode 100644 index 00000000000..629f4431b44 --- /dev/null +++ b/package/python-wsproto/python-wsproto.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-wsproto +# +################################################################################ + +PYTHON_WSPROTO_VERSION = 1.2.0 +PYTHON_WSPROTO_SOURCE = wsproto-$(PYTHON_WSPROTO_VERSION).tar.gz +PYTHON_WSPROTO_SITE = https://files.pythonhosted.org/packages/c9/4a/44d3c295350d776427904d73c189e10aeae66d7f555bb2feee16d1e4ba5a +PYTHON_WSPROTO_SETUP_TYPE = setuptools +PYTHON_WSPROTO_LICENSE = MIT +PYTHON_WSPROTO_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-xlsxwriter/python-xlsxwriter.hash b/package/python-xlsxwriter/python-xlsxwriter.hash index 4363799079b..4a4b946fcbc 100644 --- a/package/python-xlsxwriter/python-xlsxwriter.hash +++ b/package/python-xlsxwriter/python-xlsxwriter.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/xlsxwriter/json -md5 b08fcc4753c14aa64b9d99219475d91e XlsxWriter-3.0.3.tar.gz -sha256 e89f4a1d2fa2c9ea15cde77de95cd3fd8b0345d0efb3964623f395c8c4988b7f XlsxWriter-3.0.3.tar.gz +md5 3df433a1b6427d40af6e7cac36f0b5c4 XlsxWriter-3.0.6.tar.gz +sha256 2f9e5ea13343fe85486e349d4e5fdf746bb69dc7bc1dedfa9b5fae2bb48c0795 XlsxWriter-3.0.6.tar.gz # Locally computed sha256 checksums -sha256 6287be39bd007c8729f5c3cf8dfda9b462af725c1d06e3bf0e17b1532196a08f LICENSE.txt +sha256 b3b494c7e7456dad12ac1b3e61c60e850d60d3ce865fa056c4ce0ae680c03677 LICENSE.txt diff --git a/package/python-xlsxwriter/python-xlsxwriter.mk b/package/python-xlsxwriter/python-xlsxwriter.mk index 4055e52622d..f05b10670c4 100644 --- a/package/python-xlsxwriter/python-xlsxwriter.mk +++ b/package/python-xlsxwriter/python-xlsxwriter.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_XLSXWRITER_VERSION = 3.0.3 +PYTHON_XLSXWRITER_VERSION = 3.0.6 PYTHON_XLSXWRITER_SOURCE = XlsxWriter-$(PYTHON_XLSXWRITER_VERSION).tar.gz -PYTHON_XLSXWRITER_SITE = https://files.pythonhosted.org/packages/53/04/91ff43803c3e88c32aa272fdbda5859fc3c3b50b0de3a1e439cc57455330 +PYTHON_XLSXWRITER_SITE = https://files.pythonhosted.org/packages/d4/b5/cef6fadeaf316a3bbe82a506252081f2e6533cdf4b69ed64f8831ac01fb0 PYTHON_XLSXWRITER_SETUP_TYPE = setuptools PYTHON_XLSXWRITER_LICENSE = BSD-2-Clause PYTHON_XLSXWRITER_LICENSE_FILES = LICENSE.txt diff --git a/package/python-xmodem/python-xmodem.hash b/package/python-xmodem/python-xmodem.hash index 33ddfeb5958..65a9b6afdaa 100644 --- a/package/python-xmodem/python-xmodem.hash +++ b/package/python-xmodem/python-xmodem.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/xmodem/json -md5 f876cb35caf276b61990377710a3b4c4 xmodem-0.4.6.tar.gz -sha256 089737298f5738eabc43f2519efdc80b402693768f16383f7013b9e6f8f279d7 xmodem-0.4.6.tar.gz -# locally calculated -sha256 5ddb38acab95bb77e1e92e22830e358082d879d2dd59ba05577c47791edaa78e PKG-INFO +md5 0a21c269cb4d3995d13a2615c24fed0a xmodem-0.4.7.tar.gz +sha256 2f1068aa8676f0d1d112498b5786c4f8ea4f89d8f25d07d3a0f293cd21db1c35 xmodem-0.4.7.tar.gz +# Locally computed sha256 checksums +sha256 e317b0ce19724327a41e09def456579b80a7b82f9bceb2ba6933eba406f78d88 LICENSE diff --git a/package/python-xmodem/python-xmodem.mk b/package/python-xmodem/python-xmodem.mk index 739c6154d7b..d7040f72451 100644 --- a/package/python-xmodem/python-xmodem.mk +++ b/package/python-xmodem/python-xmodem.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_XMODEM_VERSION = 0.4.6 +PYTHON_XMODEM_VERSION = 0.4.7 PYTHON_XMODEM_SOURCE = xmodem-$(PYTHON_XMODEM_VERSION).tar.gz -PYTHON_XMODEM_SITE = https://files.pythonhosted.org/packages/29/5d/a20d7957f207fc4c4c143881ca7b9617ab7700c153012372ef0a934c7710 +PYTHON_XMODEM_SITE = https://files.pythonhosted.org/packages/3d/17/fd6668a09afdc46c22990172b6f65e07dfb5bcf38960d063a7a887ca926d PYTHON_XMODEM_SETUP_TYPE = setuptools PYTHON_XMODEM_LICENSE = MIT -PYTHON_XMODEM_LICENSE_FILES = PKG-INFO +PYTHON_XMODEM_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-yarl/python-yarl.hash b/package/python-yarl/python-yarl.hash index 9725e0058bd..624297aeba1 100644 --- a/package/python-yarl/python-yarl.hash +++ b/package/python-yarl/python-yarl.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/yarl/json -md5 57c82725b9f4895eecee45faf5e61a54 yarl-1.8.2.tar.gz -sha256 49d43402c6e3013ad0978602bf6bf5328535c48d192304b91b97a3c6790b1562 yarl-1.8.2.tar.gz +md5 4e46a0c7078d34d9734a7c5d182dee92 yarl-1.9.2.tar.gz +sha256 04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571 yarl-1.9.2.tar.gz # Locally computed sha256 checksums -sha256 56d6ac6c8105c0a51304c21db060e361af9a8ea0af9a75c239c28b5d13693838 LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-yarl/python-yarl.mk b/package/python-yarl/python-yarl.mk index 77e0c91383b..e4424ff5773 100644 --- a/package/python-yarl/python-yarl.mk +++ b/package/python-yarl/python-yarl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_YARL_VERSION = 1.8.2 +PYTHON_YARL_VERSION = 1.9.2 PYTHON_YARL_SOURCE = yarl-$(PYTHON_YARL_VERSION).tar.gz -PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/c4/1e/1b204050c601d5cd82b45d5c8f439cb6f744a2ce0c0a6f83be0ddf0dc7b2 +PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/5f/3f/04b3c5e57844fb9c034b09c5cb6d2b43de5d64a093c30529fd233e16cf09 PYTHON_YARL_LICENSE = Apache-2.0 PYTHON_YARL_LICENSE_FILES = LICENSE PYTHON_YARL_SETUP_TYPE = setuptools diff --git a/package/python-zlmdb/Config.in b/package/python-zlmdb/Config.in index ac4ee054423..007ca727235 100644 --- a/package/python-zlmdb/Config.in +++ b/package/python-zlmdb/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_PYTHON_ZLMDB bool "python-zlmdb" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy + depends on BR2_INSTALL_LIBSTDCPP # python-numpy depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy select BR2_PACKAGE_PYTHON_CBOR2 # runtime select BR2_PACKAGE_PYTHON_CFFI # runtime select BR2_PACKAGE_PYTHON_CLICK # runtime @@ -17,6 +19,8 @@ config BR2_PACKAGE_PYTHON_ZLMDB https://github.com/crossbario/zlmdb -comment "python-zlmdb needs glibc or musl" +comment "python-zlmdb needs a glibc or musl toolchain w/ C++, gcc >= 9" depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) diff --git a/package/python3/0012-Add-an-option-to-disable-lib2to3.patch b/package/python3/0012-Add-an-option-to-disable-lib2to3.patch index 0085d5a63f3..228b86a90ba 100644 --- a/package/python3/0012-Add-an-option-to-disable-lib2to3.patch +++ b/package/python3/0012-Add-an-option-to-disable-lib2to3.patch @@ -12,6 +12,8 @@ Signed-off-by: Samuel Martin Signed-off-by: Andrey Smirnov [ Adam Duskett: ported to Python 3.10.0 ] Signed-off-by: Adam Duskett +[ Bernd Kuhls: ported to Python 3.11.4] +Signed-off-by: Bernd Kuhls --- Makefile.pre.in | 17 ++++++++++++----- configure.ac | 6 ++++++ @@ -48,9 +50,9 @@ index 403380e181..f5d0573067 100644 - lib2to3/tests/data \ - lib2to3/tests/data/fixers \ - lib2to3/tests/data/fixers/myfixes \ - test test/audiodata \ - test/capath test/cjkencodings \ - test/data test/decimaltestdata \ + test \ + test/audiodata \ + test/capath \ @@ -2013,6 +2010,14 @@ ifeq (@PYDOC@,yes) LIBSUBDIRS += pydoc_data endif diff --git a/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch index 04f7e34435a..b89e1d27bce 100644 --- a/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch +++ b/package/python3/0014-Add-an-option-to-disable-the-tk-module.patch @@ -9,6 +9,8 @@ Signed-off-by: Samuel Martin Signed-off-by: Andrey Smirnov [ Adam Duskett: ported to Python 3.10.0 ] Signed-off-by: Adam Duskett +[ Bernd Kuhls: ported to Python 3.11.4] +Signed-off-by: Bernd Kuhls --- Makefile.pre.in | 10 +++++++--- configure.ac | 9 +++++++++ @@ -26,14 +28,15 @@ index 9f4cdf14cf..4f83911200 100644 tomllib \ turtledemo \ unittest \ -@@ -2001,8 +2000,6 @@ TESTSUBDIRS= ctypes/test \ - test/tracedmodules \ - test/xmltestdata test/xmltestdata/c14n-20 \ +@@ -2038,9 +2038,6 @@ + test/xmltestdata \ + test/xmltestdata/c14n-20 \ test/ziptestdata \ -- tkinter/test tkinter/test/test_tkinter \ +- tkinter/test \ +- tkinter/test/test_tkinter \ - tkinter/test/test_ttk \ - unittest/test unittest/test/testmock - + unittest/test \ + unittest/test/testmock ifeq (@PYDOC@,yes) @@ -2021,6 +2018,13 @@ ifeq (@SQLITE3@,yes) LIBSUBDIRS += sqlite3 diff --git a/package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch b/package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch new file mode 100644 index 00000000000..4d5afeb3cb7 --- /dev/null +++ b/package/python3/0032-gh-115382-Fix-cross-compiles-when-host-and-target-us.patch @@ -0,0 +1,140 @@ +From 8d8cc9087fd44c097775ca0a9ebb6c877605baec Mon Sep 17 00:00:00 2001 +From: Vincent Fazio <5265893+vfazio@users.noreply.github.com> +Date: Wed, 28 Feb 2024 13:55:04 -0600 +Subject: [PATCH] gh-115382: Fix cross compiles when host and target use same + SOABI + +Previously, when a build was configured to use a host interpreter via +--with-build-python, the PYTHON_FOR_BUILD config value included a path +in PYTHONPATH that pointed to the target's built external modules. + +For "normal" foreign architecture cross compiles, when loading compiled +external libraries, the target libraries were processed first due to +their precedence in sys.path. These libraries were then ruled out due to +a mismatch in the SOABI so the import mechanism continued searching +until it found the host's native modules. + +However, if the host interpreter and the target python were on the same +version + SOABI combination, the host interpreter would attempt to load +the target's external modules due to their precedence in sys.path. + +Despite the "match", the target build may have been linked against a +different libc or may include unsupported instructions so loading or +executing the target's external modules can lead to crashes. + +Now, the path to the target's external modules is no longer defined in +PYTHONPATH to prevent accidentally loading these foreign modules. + +One caveat is that during certain build stages, the target's sysconfig +module requires higher precedence than the host's version in order to +accurately query the target build's configuration. + +This worked previously due to the target's sysconfig data module having +precedence over the host's (see above). In order to keep this desired +behavior, a new environment variable, _PYTHON_SYSCONFIGDATA_PATH, has +been defined so sysconfig can search this directory for the target's +sysconfig data. + +Signed-off-by: Vincent Fazio +Upstream-issue: https://github.com/python/cpython/issues/115382 +Upstream: https://github.com/python/cpython/pull/116294 +--- + Lib/sysconfig.py | 15 ++++++++++++++- + Lib/test/libregrtest/main.py | 1 + + Lib/test/pythoninfo.py | 1 + + Tools/scripts/run_tests.py | 1 + + configure | 2 +- + configure.ac | 2 +- + 6 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 6328ec41af..744f715fe2 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -535,7 +535,20 @@ def _init_posix(vars): + """Initialize the module as appropriate for POSIX systems.""" + # _sysconfigdata is generated at build time, see _generate_posix_vars() + name = _get_sysconfigdata_name() +- _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) ++ ++ # For cross builds, the path to the target's sysconfigdata must be specified ++ # so it can be imported. It cannot be in PYTHONPATH, as foreign modules in ++ # sys.path can cause crashes when loaded by the host interpreter. ++ # Rely on truthiness as a valueless env variable is still an empty string. ++ # See OS X note in _generate_posix_vars re _sysconfigdata. ++ if (path := os.environ.get('_PYTHON_SYSCONFIGDATA_PATH')): ++ from importlib.machinery import FileFinder, SourceFileLoader, SOURCE_SUFFIXES ++ from importlib.util import module_from_spec ++ spec = FileFinder(path, (SourceFileLoader, SOURCE_SUFFIXES)).find_spec(name) ++ _temp = module_from_spec(spec) ++ spec.loader.exec_module(_temp) ++ else: ++ _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) + build_time_vars = _temp.build_time_vars + vars.update(build_time_vars) + +diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py +index a9725fa967..121e2e7393 100644 +--- a/Lib/test/libregrtest/main.py ++++ b/Lib/test/libregrtest/main.py +@@ -519,6 +519,7 @@ def _add_cross_compile_opts(self, regrtest_opts): + '_PYTHON_PROJECT_BASE', + '_PYTHON_HOST_PLATFORM', + '_PYTHON_SYSCONFIGDATA_NAME', ++ "_PYTHON_SYSCONFIGDATA_PATH", + 'PYTHONPATH' + } + old_environ = os.environ +diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py +index 74ebb5e5b8..fa7fbca34e 100644 +--- a/Lib/test/pythoninfo.py ++++ b/Lib/test/pythoninfo.py +@@ -326,6 +326,7 @@ def format_groups(groups): + "_PYTHON_HOST_PLATFORM", + "_PYTHON_PROJECT_BASE", + "_PYTHON_SYSCONFIGDATA_NAME", ++ "_PYTHON_SYSCONFIGDATA_PATH", + "__PYVENV_LAUNCHER__", + + # Sanitizer options +diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py +index 445a34ae3e..4077a83424 100644 +--- a/Tools/scripts/run_tests.py ++++ b/Tools/scripts/run_tests.py +@@ -42,6 +42,7 @@ def main(regrtest_args): + '_PYTHON_PROJECT_BASE', + '_PYTHON_HOST_PLATFORM', + '_PYTHON_SYSCONFIGDATA_NAME', ++ "_PYTHON_SYSCONFIGDATA_PATH", + 'PYTHONPATH' + } + environ = { +diff --git a/configure b/configure +index a1ad0ae251..0657162d1a 100755 +--- a/configure ++++ b/configure +@@ -3262,7 +3262,7 @@ fi + fi + ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python + PYTHON_FOR_FREEZE="$with_build_python" +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) _PYTHON_SYSCONFIGDATA_PATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`) '$with_build_python + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_build_python" >&5 + $as_echo "$with_build_python" >&6; } + +diff --git a/configure.ac b/configure.ac +index e5fb8bd99e..d444f5ec09 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -162,7 +162,7 @@ AC_ARG_WITH( + dnl Build Python interpreter is used for regeneration and freezing. + ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python + PYTHON_FOR_FREEZE="$with_build_python" +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) _PYTHON_SYSCONFIGDATA_PATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`) '$with_build_python + AC_MSG_RESULT([$with_build_python]) + ], [ + AS_VAR_IF([cross_compiling], [yes], +-- +2.34.1 + diff --git a/package/python3/Config.in b/package/python3/Config.in index 761c38c850a..38f0580aa4e 100644 --- a/package/python3/Config.in +++ b/package/python3/Config.in @@ -48,6 +48,7 @@ config BR2_PACKAGE_PYTHON3_2TO3 config BR2_PACKAGE_PYTHON3_BERKELEYDB bool "berkeleydb" select BR2_PACKAGE_BERKELEYDB + select BR2_PACKAGE_BERKELEYDB_DBM help berkeleydb module for Python3 diff --git a/package/python3/Config.in.host b/package/python3/Config.in.host index 77d608bdc04..88c286c55b2 100644 --- a/package/python3/Config.in.host +++ b/package/python3/Config.in.host @@ -12,6 +12,11 @@ config BR2_PACKAGE_HOST_PYTHON3_BZIP2 help bz2 module for host Python3. +config BR2_PACKAGE_HOST_PYTHON3_CURSES + bool "curses" + help + curses module for host Python3. + config BR2_PACKAGE_HOST_PYTHON3_SSL bool "ssl" select BR2_PACKAGE_HOST_OPENSSL diff --git a/package/python3/python3.hash b/package/python3/python3.hash index 7f079865d90..962d32b5d91 100644 --- a/package/python3/python3.hash +++ b/package/python3/python3.hash @@ -1,3 +1,5 @@ +# From https://www.python.org/downloads/release/python-3118/ +md5 b353b8433e560e1af2b130f56dfbd973 Python-3.11.8.tar.xz # Locally computed -sha256 85879192f2cffd56cb16c092905949ebf3e5e394b7f764723529637901dfb58f Python-3.11.1.tar.xz -sha256 d4a223f033419313218c9b8444167e91e87a5bebdb43fb8490df441df5220a8b LICENSE +sha256 9e06008c8901924395bc1da303eac567a729ae012baa182ab39269f650383bb3 Python-3.11.8.tar.xz +sha256 3b2f81fe21d181c499c59a256c8e1968455d6689d269aa85373bfb6af41da3bf LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 219d135b3f5..5d9d77af50e 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON3_VERSION_MAJOR = 3.11 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).1 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).8 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others @@ -13,9 +13,6 @@ PYTHON3_LICENSE_FILES = LICENSE PYTHON3_CPE_ID_VENDOR = python PYTHON3_CPE_ID_PRODUCT = python -# 0033-3.11-gh-98433-Fix-quadratic-time-idna-decoding.-GH-9.patch -PYTHON3_IGNORE_CVES += CVE-2022-45061 - # This host Python is installed in $(HOST_DIR), as it is needed when # cross-compiling third-party Python modules. @@ -25,12 +22,12 @@ HOST_PYTHON3_CONF_OPTS += \ --disable-sqlite3 \ --disable-tk \ --with-expat=system \ - --disable-curses \ --disable-codecs-cjk \ --disable-nis \ --enable-unicodedata \ --disable-test-modules \ --disable-idle3 \ + --disable-uuid \ --disable-ossaudiodev # Make sure that LD_LIBRARY_PATH overrides -rpath. @@ -57,6 +54,12 @@ else HOST_PYTHON3_CONF_OPTS += --disable-bzip2 endif +ifeq ($(BR2_PACKAGE_HOST_PYTHON3_CURSES),y) +HOST_PYTHON3_DEPENDENCIES += host-ncurses +else +HOST_PYTHON3_CONF_OPTS += --disable-curses +endif + ifeq ($(BR2_PACKAGE_HOST_PYTHON3_SSL),y) HOST_PYTHON3_DEPENDENCIES += host-openssl else diff --git a/package/qcom-db410c-firmware/qcom-db410c-firmware.mk b/package/qcom-db410c-firmware/qcom-db410c-firmware.mk index 9ef32cc9d4d..cf4b59b72e5 100644 --- a/package/qcom-db410c-firmware/qcom-db410c-firmware.mk +++ b/package/qcom-db410c-firmware/qcom-db410c-firmware.mk @@ -8,7 +8,7 @@ QCOM_DB410C_FIRMWARE_VERSION = 1034.2.1 QCOM_DB410C_FIRMWARE_BASE = linux-board-support-package-r$(QCOM_DB410C_FIRMWARE_VERSION) QCOM_DB410C_FIRMWARE_SOURCE = $(QCOM_DB410C_FIRMWARE_BASE).zip QCOM_DB410C_FIRMWARE_SITE = https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware -QCOM_DB410C_FIRMWARE_LICENCE = Qualcomm firmware license +QCOM_DB410C_FIRMWARE_LICENSE = Qualcomm firmware license QCOM_DB410C_FIRMWARE_LICENSE_FILES = LICENSE QCOM_DB410C_FIRMWARE_DEPENDENCIES = host-mtools diff --git a/package/qdecoder/qdecoder.mk b/package/qdecoder/qdecoder.mk index c465617e260..9544dcf5e1d 100644 --- a/package/qdecoder/qdecoder.mk +++ b/package/qdecoder/qdecoder.mk @@ -8,7 +8,7 @@ QDECODER_VERSION = 12.1.0 QDECODER_SITE = $(call github,wolkykim,qdecoder,v$(QDECODER_VERSION)) QDECODER_LICENSE = BSD-2-Clause QDECODER_LICENSE_FILES = COPYING -QDECODER_CPE_ID_VENDOR = qdecoder_project +QDECODER_CPE_ID_VALID = YES QDECODER_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' QDECODER_INSTALL_STAGING = YES diff --git a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch b/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch deleted file mode 100644 index 60518bcfa32..00000000000 --- a/package/qemu/0001-tests-fp-disable-fp-bench-build-by-default.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 83d976d6d7f0357659d5daa0f01c52048a609e88 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 25 Aug 2021 21:55:53 +0200 -Subject: [PATCH] tests/fp: disable fp-bench build by default - -Fixes: -https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html - -Signed-off-by: Romain Naour ---- - tests/fp/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/fp/meson.build b/tests/fp/meson.build -index 8bd0979f67..2fe019d2c6 100644 ---- a/tests/fp/meson.build -+++ b/tests/fp/meson.build -@@ -636,6 +636,7 @@ fpbench = executable( - dependencies: [qemuutil], - include_directories: [sfinc, include_directories(tfdir)], - c_args: fpcflags, -+ build_by_default: false, - ) - - fptestlog2 = executable( --- -2.35.1 - diff --git a/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch new file mode 100644 index 00000000000..b7e41d6f232 --- /dev/null +++ b/package/qemu/0001-tests-fp-meson-don-t-build-fp-bench-test-if-fenv.h-i.patch @@ -0,0 +1,49 @@ +From b4a692f46135af1011bf0adbfeb19abf354ca191 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Tue, 30 Apr 2024 09:40:55 +0200 +Subject: [PATCH] tests/fp/meson: don't build fp-bench test if fenv.h is + missing + +The fp-bench test (i. e. tests/fp/fp-bench.c) use fenv.h that is not +always provided by the libc (uClibc). The patch disables its compilation +in case the header is not available. + +The patch is based on a suggestion from Paolo Bonzini, which you can +find at the following link. + +Link: https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00492.html +Suggested-by: Paolo Bonzini +Signed-off-by: Dario Binacchi +Upstream: https://patchwork.ozlabs.org/project/qemu-devel/patch/20240430164752.645521-1-dario.binacchi@amarulasolutions.com/ +--- + tests/fp/meson.build | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/tests/fp/meson.build b/tests/fp/meson.build +index cbc17392d678..cd052667e940 100644 +--- a/tests/fp/meson.build ++++ b/tests/fp/meson.build +@@ -126,12 +126,14 @@ test('fp-test-mulAdd', fptest, + ['f16_mulAdd', 'f32_mulAdd', 'f64_mulAdd', 'f128_mulAdd'], + suite: ['softfloat-slow', 'softfloat-ops-slow', 'slow'], timeout: 90) + +-executable( +- 'fp-bench', +- ['fp-bench.c', '../../fpu/softfloat.c'], +- dependencies: [qemuutil, libtestfloat, libsoftfloat], +- c_args: fpcflags, +-) ++if cc.has_header('fenv.h') ++ executable( ++ 'fp-bench', ++ ['fp-bench.c', '../../fpu/softfloat.c'], ++ dependencies: [qemuutil, libtestfloat, libsoftfloat], ++ c_args: fpcflags, ++ ) ++endif + + fptestlog2 = executable( + 'fp-test-log2', +-- +2.43.0 + diff --git a/package/qemu/0003-tracing-install-trace-events-file-only-if-necessary.patch b/package/qemu/0003-tracing-install-trace-events-file-only-if-necessary.patch new file mode 100644 index 00000000000..36bdaa4978a --- /dev/null +++ b/package/qemu/0003-tracing-install-trace-events-file-only-if-necessary.patch @@ -0,0 +1,30 @@ +From 5c43da1e4983cc3c209b325a5228b6149e0a0ccf Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Fri, 24 Mar 2023 21:40:22 -0300 +Subject: [PATCH] tracing: install trace events file only if necessary + +It is not useful when configuring with --enable-trace-backends=nop. + +Upstream: https://patchwork.kernel.org/project/qemu-devel/patch/20230408010410.281263-1-casantos@redhat.com/ +Signed-off-by: Carlos Santos +Signed-off-by: Carlos Santos +--- + trace/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/trace/meson.build b/trace/meson.build +index 8e80be895c..30b1d942eb 100644 +--- a/trace/meson.build ++++ b/trace/meson.build +@@ -64,7 +64,7 @@ trace_events_all = custom_target('trace-events-all', + input: trace_events_files, + command: [ 'cat', '@INPUT@' ], + capture: true, +- install: true, ++ install: get_option('trace_backends') != [ 'nop' ], + install_dir: qemu_datadir) + + if 'ust' in get_option('trace_backends') +-- +2.31.1 + diff --git a/package/qemu/Config.in b/package/qemu/Config.in index 15d6c7d6b56..91e0de884fa 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -17,7 +17,7 @@ comment "QEMU requires a toolchain with wchar, threads, gcc >= 8" depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_8 -config BR2_PACKAGE_QEMU +menuconfig BR2_PACKAGE_QEMU bool "QEMU" depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 @@ -25,7 +25,6 @@ config BR2_PACKAGE_QEMU depends on BR2_USE_WCHAR # gettext depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_PIXMAN select BR2_PACKAGE_ZLIB help QEMU is a generic and open source machine emulator and @@ -43,26 +42,32 @@ config BR2_PACKAGE_QEMU Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests. - http://qemu.org/ + https://www.qemu.org/ if BR2_PACKAGE_QEMU comment "Emulators selection" -config BR2_PACKAGE_QEMU_CUSTOM_TARGETS - string "Enable specific targets" +config BR2_PACKAGE_QEMU_SYSTEM + bool "Enable systems emulation" + depends on !BR2_STATIC_LIBS # dtc + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_QEMU_FDT if !BR2_PACKAGE_QEMU_CHOOSE_TARGETS help - Enter here the list of QEMU targets you want to build. For - example: + Say 'y' to build system emulators/virtualisers. - System emulation | User-land emulation - ----------------------+----------------------- - i386-softmmu | i386-linux-user - arm-softmmu | ppc-linux-user - x86_64-softmmu | sparc-bsd-user - ... | ... +if BR2_PACKAGE_QEMU_SYSTEM -comment "Networking options" +config BR2_PACKAGE_QEMU_BLOBS + bool "Install binary blobs" + default y + help + Say 'y' here (the default) to install binary blobs (such as + BIOS or firmwares for the different machines simulated by + QEMU). Say 'n' to not install those blobs. + + Note: Some machines may be unbootable without those blobs. + If unsure, say 'y'. config BR2_PACKAGE_QEMU_SLIRP bool "Enable user mode networking (SLIRP)" @@ -87,69 +92,274 @@ config BR2_PACKAGE_QEMU_SLIRP Notice that this option does not disable other networking modes. -if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = "" +config BR2_PACKAGE_QEMU_SDL + bool "Enable SDL frontend" + select BR2_PACKAGE_SDL2 + help + Say 'y' to enable the SDL frontend, that is, a graphical + window presenting the VM's display. -comment "... or you can select emulator families to enable, below:" +config BR2_PACKAGE_QEMU_FDT + bool "Enable FDT" + select BR2_PACKAGE_DTC + help + Say 'y' here to have QEMU capable of constructing Device + Trees, and passing them to the VMs. -config BR2_PACKAGE_QEMU_SYSTEM - bool "Enable all systems emulation" - depends on !BR2_STATIC_LIBS # dtc - select BR2_PACKAGE_QEMU_FDT +config BR2_PACKAGE_QEMU_TRACING + bool "Enable tracing" help - Say 'y' to build all system emulators/virtualisers that QEMU - supports. + Say 'y' to enable the "log" tracing infrastructure in QEMU, + used for debugging, profiling, and observing execution. For + detailed documentation, see + + https://www.qemu.org/docs/master/devel/tracing.html + +endif # BR2_PACKAGE_QEMU_SYSTEM comment "systems emulation needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS config BR2_PACKAGE_QEMU_LINUX_USER - bool "Enable all Linux user-land emulation" + bool "Enable Linux user-land emulation" # Incompatible "struct sigevent" definition on musl depends on !BR2_TOOLCHAIN_USES_MUSL help - Say 'y' to build all Linux user-land emulators that QEMU - supports. + Say 'y' to build Linux user-land emulators. # Note: bsd-user can not be build on Linux comment "Linux user-land emulation needs a glibc or uClibc toolchain" depends on BR2_TOOLCHAIN_USES_MUSL -endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == "" +config BR2_PACKAGE_QEMU_CHOOSE_TARGETS + bool "Select individual emulator targets" + depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER + help + By default, all targets (system and/or user, subject to the + corresponding options, above) are built. If you only need a + subset of the emulated targets, say 'y' here and enable at + least one target, below. -config BR2_PACKAGE_QEMU_HAS_EMULS - def_bool y - depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER || BR2_PACKAGE_QEMU_CUSTOM_TARGETS != "" +if BR2_PACKAGE_QEMU_CHOOSE_TARGETS -if BR2_PACKAGE_QEMU_HAS_EMULS +config BR2_PACKAGE_QEMU_TARGET_AARCH64 + bool "aarch64" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + ARM 64-bit architecture. -comment "Frontends" +config BR2_PACKAGE_QEMU_TARGET_AARCH64_BE + bool "aarch64_be (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + ARM 64-bit architecture, big-endian. -config BR2_PACKAGE_QEMU_SDL - bool "Enable SDL frontend" - depends on !BR2_STATIC_LIBS # sdl2 - select BR2_PACKAGE_SDL2 +config BR2_PACKAGE_QEMU_TARGET_ALPHA + bool "alpha" help - Say 'y' to enable the SDL frontend, that is, a graphical - window presenting the VM's display. + DEC Alpha 64-bit RISC architecture. -comment "SDL frontend needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +config BR2_PACKAGE_QEMU_TARGET_ARM + bool "arm" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + ARM EABI architecture, little-endian. -comment "Misc. features" +config BR2_PACKAGE_QEMU_TARGET_ARMEB + bool "armeb (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + ARM EABI architecture, big-endian. -config BR2_PACKAGE_QEMU_FDT - bool "Enable FDT" - depends on !BR2_STATIC_LIBS # dtc - select BR2_PACKAGE_DTC +config BR2_PACKAGE_QEMU_TARGET_AVR + bool "avr (system, only)" + depends on BR2_PACKAGE_QEMU_SYSTEM help - Say 'y' here to have QEMU capable of constructing Device - Trees, and passing them to the VMs. + AVR 8-bit microcontroller architecture. -comment "FDT support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +config BR2_PACKAGE_QEMU_TARGET_CRIS + bool "cris" + help + ETRAX CRIS microcontroller architecture. + +config BR2_PACKAGE_QEMU_TARGET_HEXAGON + bool "hexagon (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + Qualcomm's Hexagon VLSI DSP architecture. + +config BR2_PACKAGE_QEMU_TARGET_HPPA + bool "hppa" + help + HP PA-RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_I386 + bool "i386" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + Intel i386 32-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_LOONGARCH64 + bool "loongarch64" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + Loongson 64-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_M68K + bool "m68k" + help + Motorola 68000 architecture. + +config BR2_PACKAGE_QEMU_TARGET_MICROBLAZE + bool "microblaze" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + Xilinix MicroBlaze soft processor. -endif # BR2_PACKAGE_QEMU_HAS_EMULS +config BR2_PACKAGE_QEMU_TARGET_MICROBLAZEEL + bool "microblazeel" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + Xilinix MicroBlaze EL soft processor. + +config BR2_PACKAGE_QEMU_TARGET_MIPS + bool "mips" + help + MIPS 32-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_MIPSEL + bool "mipsel" + help + MIPS 32-bit architecture, little-endian. + +config BR2_PACKAGE_QEMU_TARGET_MIPS64 + bool "mips64" + help + MIPS 64-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_MIPS64EL + bool "mips64el" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + MIPS 64-bit architecture, little-endian. + +config BR2_PACKAGE_QEMU_TARGET_MIPSN32 + bool "mipsn32 (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + MIPS N32 architecture. + +config BR2_PACKAGE_QEMU_TARGET_MIPSN32EL + bool "mipsn32el (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + MIPS N32 architecture, little-endian. + +config BR2_PACKAGE_QEMU_TARGET_NIOS2 + bool "nios2" + help + Nios II architecture. + +config BR2_PACKAGE_QEMU_TARGET_OR1K + bool "or1k" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + OpenRISC 1000 architecture. + +config BR2_PACKAGE_QEMU_TARGET_PPC + bool "ppc" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + PoewerPC 32-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_PPC64 + bool "ppc64" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + PoewerPC 64-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_PPC64LE + bool "ppc64le (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + PoewerPC 64-bit architecture, little-endian. + +config BR2_PACKAGE_QEMU_TARGET_RISCV32 + bool "riscv32" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + RISC-V 32-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_RISCV64 + bool "riscv64" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + RISC-V 64-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_RX + bool "rx (system-only)" + depends on BR2_PACKAGE_QEMU_SYSTEM + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + Renesas Electronics RX 32-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_S390X + bool "s390x" + help + IBM z/Architecture 64-bit mainframe (s390x) + +config BR2_PACKAGE_QEMU_TARGET_SH4 + bool "sh4" + help + Super-H 32-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_SH4EB + bool "sh4eb" + help + Super-H EB 32-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_SPARC + bool "sparc" + help + SPARC 32-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_SPARC32PLUS + bool "sparc32plus (linux-user, only)" + depends on BR2_PACKAGE_QEMU_LINUX_USER + help + SPARC 32-bit RISC architecture (Sun's v8plus). + +config BR2_PACKAGE_QEMU_TARGET_SPARC64 + bool "sparc64" + help + SPARC 64-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_TRICORE + bool "tricore (system, only)" + depends on BR2_PACKAGE_QEMU_SYSTEM + help + Infineon TriCore 32-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_X86_64 + bool "x86_64" + select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM + help + Intel x86 64-bit architecture. + +config BR2_PACKAGE_QEMU_TARGET_XTENSA + bool "xtensa" + help + Xtensa 32-bit RISC architecture. + +config BR2_PACKAGE_QEMU_TARGET_XTENSAEB + bool "xtensaeb" + help + Xtensa 32-bit RISC architecture, big-endian. + +endif # BR2_PACKAGE_QEMU_CHOOSE_TARGETS + +comment "Tools selection" config BR2_PACKAGE_QEMU_TOOLS bool "Enable tools" @@ -157,4 +367,11 @@ config BR2_PACKAGE_QEMU_TOOLS Say 'y' here to include tools packaged with QEMU (e.g. qemu-img). +config BR2_PACKAGE_QEMU_GUEST_AGENT + bool "Enable guest agent" + help + Say 'y' here to include an agent to run on guests, which + communicates with the host over a virtio-serial channel + named "org.qemu.guest_agent.0". + endif # BR2_PACKAGE_QEMU diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host index f9cdb9b7037..8dd0c7d11b0 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -34,6 +34,11 @@ config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS bool default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS +comment "host-qemu needs a host gcc >= 8" + depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || \ + BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORT + depends on !BR2_HOST_GCC_AT_LEAST_8 + config BR2_PACKAGE_HOST_QEMU bool "host qemu" depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS @@ -50,11 +55,6 @@ config BR2_PACKAGE_HOST_QEMU http://www.qemu.org -comment "host-qemu needs a host gcc >= 8" - depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || \ - BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORT - depends on !BR2_HOST_GCC_AT_LEAST_8 - if BR2_PACKAGE_HOST_QEMU comment "Emulators selection" diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash index 06d090bd1da..61e51a923f1 100644 --- a/package/qemu/qemu.hash +++ b/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 a0634e536bded57cf38ec8a751adb124b89c776fe0846f21ab6c6728f1cbbbe6 qemu-7.1.0.tar.xz +sha256 37ce2ef5e500fb752f681117c68b45118303ea49a7e26bd54080ced54fab7def qemu-8.1.1.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index a991d49993c..ef406dc8e9b 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -4,9 +4,12 @@ # ################################################################################ -QEMU_VERSION = 7.1.0 +# When updating the version, check whether the list of supported targets +# needs to be updated. +QEMU_VERSION = 8.1.1 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz -QEMU_SITE = http://download.qemu.org +QEMU_SITE = https://download.qemu.org +QEMU_SELINUX_MODULES = qemu virt QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c QEMU_LICENSE_FILES = COPYING COPYING.LIB # NOTE: there is no top-level license file for non-(L)GPL licenses; @@ -14,13 +17,25 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB # individual source files. QEMU_CPE_ID_VENDOR = qemu +# Need to ignore the following CVEs because the CPE database does +# not have an entry for the 8.1.1 version yet. +QEMU_IGNORE_CVES += CVE-2023-4135 +QEMU_IGNORE_CVES += CVE-2023-3354 +QEMU_IGNORE_CVES += CVE-2023-3180 + #------------------------------------------------------------- # The build system is now partly based on Meson. # However, building is still done with configure and make as in previous versions of QEMU. # Target-qemu -QEMU_DEPENDENCIES = host-meson host-pkgconf libglib2 zlib pixman host-python3 +QEMU_DEPENDENCIES = \ + host-meson \ + host-pkgconf \ + host-python3 \ + host-python-distlib \ + libglib2 \ + zlib # Need the LIBS variable because librt and libm are # not automatically pulled. :-( @@ -30,30 +45,98 @@ QEMU_OPTS = QEMU_VARS = LIBTOOL=$(HOST_DIR)/bin/libtool -# If we want to specify only a subset of targets, we must still enable all -# of them, so that QEMU properly builds its list of default targets, from -# which it then checks if the specified sub-set is valid. That's what we -# do in the first part of the if-clause. -# Otherwise, if we do not want to pass a sub-set of targets, we then need -# to either enable or disable -user and/or -system emulation appropriately. -# That's what we do in the else-clause. -ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),) -QEMU_OPTS += --enable-system --enable-linux-user -QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))" -else +# If we want to build all emulation targets, we just need to either enable -user +# and/or -system emulation appropriately. +# Otherwise, if we want only a subset of targets, we must still enable all of +# them, so that QEMU properly builds a list of default targets from which it +# checks if the specified sub-set is valid. ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y) +QEMU_DEPENDENCIES += pixman QEMU_OPTS += --enable-system +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_AARCH64) += aarch64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_ALPHA) += alpha-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_ARM) += arm-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_AVR) += avr-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_CRIS) += cris-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_HPPA) += hppa-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_I386) += i386-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_LOONGARCH64) += loongarch64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_M68K) += m68k-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MICROBLAZE) += microblaze-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MICROBLAZEEL) += microblazeel-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPS) += mips-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPS64) += mips64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPS64EL) += mips64el-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPSEL) += mipsel-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_NIOS2) += nios2-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_OR1K) += or1k-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_PPC) += ppc-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_PPC64) += ppc64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_RISCV32) += riscv32-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_RISCV64) += riscv64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_RX) += rx-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_S390X) += s390x-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SH4) += sh4-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SH4EB) += sh4eb-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SPARC) += sparc-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SPARC64) += sparc64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_TRICORE) += tricore-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_X86_64) += x86_64-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_XTENSA) += xtensa-softmmu +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_XTENSAEB) += xtensaeb-softmmu else QEMU_OPTS += --disable-system endif ifeq ($(BR2_PACKAGE_QEMU_LINUX_USER),y) QEMU_OPTS += --enable-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_AARCH64) += aarch64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_AARCH64_BE) += aarch64_be-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_ALPHA) += alpha-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_ARM) += arm-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_ARMEB) += armeb-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_CRIS) += cris-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_HEXAGON) += hexagon-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_HPPA) += hppa-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_I386) += i386-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_LOONGARCH64) += loongarch64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_M68K) += m68k-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MICROBLAZE) += microblaze-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MICROBLAZEEL) += microblazeel-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPS) += mips-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPS64) += mips64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPS64EL) += mips64el-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPSEL) += mipsel-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPSN32) += mipsn32-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_MIPSN32EL) += mipsn32el-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_NIOS2) += nios2-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_OR1K) += or1k-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_PPC) += ppc-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_PPC64) += ppc64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_PPC64LE) += ppc64le-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_RISCV32) += riscv32-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_RISCV64) += riscv64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_S390X) += s390x-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SH4) += sh4-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SH4EB) += sh4eb-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SPARC) += sparc-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SPARC32PLUS) += sparc32plus-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_SPARC64) += sparc64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_X86_64) += x86_64-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_XTENSA) += xtensa-linux-user +QEMU_TARGET_LIST_$(BR2_PACKAGE_QEMU_TARGET_XTENSAEB) += xtensaeb-linux-user else QEMU_OPTS += --disable-linux-user endif +# Build the list of desired targets, if any. +ifeq ($(BR2_PACKAGE_QEMU_CHOOSE_TARGETS),y) +QEMU_TARGET_LIST = $(strip $(QEMU_TARGET_LIST_y)) +ifeq ($(BR_BUILDING).$(QEMU_TARGET_LIST),y.) +$(error "No emulator target has ben chosen") +endif +QEMU_OPTS += --target-list="$(QEMU_TARGET_LIST)" endif ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) @@ -63,7 +146,7 @@ QEMU_OPTS += --enable-vhost-user endif ifeq ($(BR2_PACKAGE_QEMU_SLIRP),y) -QEMU_OPTS += --enable-slirp=system +QEMU_OPTS += --enable-slirp QEMU_DEPENDENCIES += slirp else QEMU_OPTS += --disable-slirp @@ -84,12 +167,24 @@ else QEMU_OPTS += --disable-fdt endif +ifeq ($(BR2_PACKAGE_QEMU_TRACING),y) +QEMU_OPTS += --enable-trace-backends=log +else +QEMU_OPTS += --enable-trace-backends=nop +endif + ifeq ($(BR2_PACKAGE_QEMU_TOOLS),y) QEMU_OPTS += --enable-tools else QEMU_OPTS += --disable-tools endif +ifeq ($(BR2_PACKAGE_QEMU_GUEST_AGENT),y) +QEMU_OPTS += --enable-guest-agent +else +QEMU_OPTS += --disable-guest-agent +endif + ifeq ($(BR2_PACKAGE_LIBFUSE3),y) QEMU_OPTS += --enable-fuse --enable-fuse-lseek QEMU_DEPENDENCIES += libfuse3 @@ -153,6 +248,13 @@ else QEMU_OPTS += --disable-numa endif +ifeq ($(BR2_PACKAGE_PIPEWIRE),y) +QEMU_OPTS += --enable-pipewire +QEMU_DEPENDENCIES += pipewire +else +QEMU_OPTS += --disable-pipewire +endif + ifeq ($(BR2_PACKAGE_SPICE),y) QEMU_OPTS += --enable-spice QEMU_DEPENDENCIES += spice @@ -171,6 +273,12 @@ ifeq ($(BR2_STATIC_LIBS),y) QEMU_OPTS += --static endif +ifeq ($(BR2_PACKAGE_QEMU_BLOBS),y) +QEMU_OPTS += --enable-install-blobs +else +QEMU_OPTS += --disable-install-blobs +endif + # Override CPP, as it expects to be able to call it like it'd # call the compiler. define QEMU_CONFIGURE_CMDS @@ -185,7 +293,7 @@ define QEMU_CONFIGURE_CMDS --prefix=/usr \ --cross-prefix=$(TARGET_CROSS) \ --audio-drv-list= \ - --meson=$(HOST_DIR)/bin/meson \ + --python=$(HOST_DIR)/bin/python3 \ --ninja=$(HOST_DIR)/bin/ninja \ --disable-alsa \ --disable-bpf \ @@ -221,13 +329,13 @@ define QEMU_CONFIGURE_CMDS --disable-vhost-crypto \ --disable-vhost-user-blk-server \ --disable-virtfs \ - --disable-virtiofsd \ --disable-whpx \ --disable-xen \ --enable-attr \ --enable-kvm \ --enable-vhost-net \ - --with-git-submodules=ignore \ + --disable-download \ + --disable-hexagon-idef-parser \ $(QEMU_OPTS) endef @@ -246,7 +354,15 @@ $(eval $(generic-package)) #------------------------------------------------------------- # Host-qemu -HOST_QEMU_DEPENDENCIES = host-meson host-pkgconf host-zlib host-libglib2 host-pixman host-python3 +HOST_QEMU_DEPENDENCIES = \ + host-libglib2 \ + host-meson \ + host-pixman \ + host-pkgconf \ + host-python3 \ + host-python-distlib \ + host-slirp \ + host-zlib # BR ARCH qemu # ------- ---- @@ -364,7 +480,7 @@ define HOST_QEMU_CONFIGURE_CMDS --host-cc="$(HOSTCC)" \ --extra-cflags="$(HOST_QEMU_CFLAGS)" \ --extra-ldflags="$(HOST_LDFLAGS)" \ - --meson=$(HOST_DIR)/bin/meson \ + --python=$(HOST_DIR)/bin/python3 \ --ninja=$(HOST_DIR)/bin/ninja \ --disable-alsa \ --disable-bpf \ @@ -382,15 +498,17 @@ define HOST_QEMU_CONFIGURE_CMDS --disable-netmap \ --disable-oss \ --disable-pa \ + --disable-pipewire \ --disable-sdl \ --disable-selinux \ --disable-vde \ --disable-vhost-user-blk-server \ - --disable-virtiofsd \ --disable-vnc-jpeg \ --disable-png \ --disable-vnc-sasl \ + --enable-slirp \ --enable-tools \ + --disable-guest-agent \ $(HOST_QEMU_OPTS) endef @@ -405,10 +523,12 @@ define HOST_QEMU_INSTALL_CMDS endef # install symlink to qemu-system +ifeq ($(BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE),y) define HOST_QEMU_POST_INSTALL_SYMLINK ln -sf ./qemu-system-$(HOST_QEMU_ARCH) $(HOST_DIR)/bin/qemu-system endef HOST_QEMU_POST_INSTALL_HOOKS += HOST_QEMU_POST_INSTALL_SYMLINK +endif $(eval $(host-generic-package)) diff --git a/package/qoriq-fm-ucode/Config.in b/package/qoriq-fm-ucode/Config.in new file mode 100644 index 00000000000..b9855f45260 --- /dev/null +++ b/package/qoriq-fm-ucode/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_QORIQ_FM_UCODE + bool "qoriq-fm-ucode" + help + These are the microcode families of the Frame Manager + hardware block in QorIQ products. Specific platforms require + specific binaries, and those also have to further match + specific software versions (Frame Manager Driver -- FMD). + + https://github.com/nxp-qoriq/qoriq-fm-ucode + +if BR2_PACKAGE_QORIQ_FM_UCODE + +config BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM + string "platform" + default "ls1046" + help + This option specifies which platform's microcode to use. + + This string should match a file in qoriq-fm-ucode of the form + "fsl_fman_ucode_${PLATFORM}*.bin". + +endif diff --git a/package/qoriq-fm-ucode/qoriq-fm-ucode.hash b/package/qoriq-fm-ucode/qoriq-fm-ucode.hash new file mode 100644 index 00000000000..5c664356c03 --- /dev/null +++ b/package/qoriq-fm-ucode/qoriq-fm-ucode.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 2e431dd726c4aa1db558931d80b318149abdf71fec6e39de9d5aa33399df1fb1 qoriq-fm-ucode-LSDK-21.08.tar.gz +sha256 7a223031d76339df0e4e5a94d193a270fb9963d42b577aa42fe130a4657f3e17 NXP-Binary-EULA.txt diff --git a/package/qoriq-fm-ucode/qoriq-fm-ucode.mk b/package/qoriq-fm-ucode/qoriq-fm-ucode.mk new file mode 100644 index 00000000000..5dfdf1e8f8f --- /dev/null +++ b/package/qoriq-fm-ucode/qoriq-fm-ucode.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# qoriq-fm-ucode +# +################################################################################ + +QORIQ_FM_UCODE_VERSION = LSDK-21.08 +QORIQ_FM_UCODE_SITE = $(call github,nxp-qoriq,qoriq-fm-ucode,$(QORIQ_FM_UCODE_VERSION)) +QORIQ_FM_UCODE_LICENSE = NXP Binary EULA +QORIQ_FM_UCODE_LICENSE_FILES = NXP-Binary-EULA.txt +QORIQ_FM_UCODE_INSTALL_IMAGES = YES +QORIQ_FM_UCODE_INSTALL_TARGET = NO + +QORIQ_FM_UCODE_PLATFORM = $(call qstrip,$(BR2_PACKAGE_QORIQ_FM_UCODE_PLATFORM)) + +define QORIQ_FM_UCODE_INSTALL_IMAGES_CMDS + cp $(@D)/fsl_fman_ucode_$(QORIQ_FM_UCODE_PLATFORM)*.bin \ + $(BINARIES_DIR) +endef + +$(eval $(generic-package)) diff --git a/package/qoriq-rcw/Config.in.host b/package/qoriq-rcw/Config.in.host index 08fc83acd04..58c16d495b5 100644 --- a/package/qoriq-rcw/Config.in.host +++ b/package/qoriq-rcw/Config.in.host @@ -9,7 +9,7 @@ config BR2_PACKAGE_HOST_QORIQ_RCW $(HOST_DIR)/share/rcw. Either a SDK or post scripts can then use this toolset and examples. - https://source.codeaurora.org/external/qoriq/qoriq-components/rcw/ + https://github.com/nxp-qoriq/rcw if BR2_PACKAGE_HOST_QORIQ_RCW diff --git a/package/qoriq-rcw/qoriq-rcw.hash b/package/qoriq-rcw/qoriq-rcw.hash index f34c771d113..2a887d57d45 100644 --- a/package/qoriq-rcw/qoriq-rcw.hash +++ b/package/qoriq-rcw/qoriq-rcw.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 caa6802f2ba5ea92fd27e7c977749010a91c9091fcc3fe626f96d9cacfba1f0a qoriq-rcw-LSDK-21.08-br1.tar.gz +sha256 f199c10e50bd18d7bed0d60f5b68194240dea4f1aa164cec98332723727a4796 qoriq-rcw-LSDK-21.08.tar.gz sha256 68f4b15ecc085729419bc60ca6eeadca5af0237bbfec791e8a79da9c943d42e9 LICENSE diff --git a/package/qoriq-rcw/qoriq-rcw.mk b/package/qoriq-rcw/qoriq-rcw.mk index 0501c36f461..b9c9e99222b 100644 --- a/package/qoriq-rcw/qoriq-rcw.mk +++ b/package/qoriq-rcw/qoriq-rcw.mk @@ -5,8 +5,7 @@ ################################################################################ QORIQ_RCW_VERSION = LSDK-21.08 -QORIQ_RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw -QORIQ_RCW_SITE_METHOD = git +QORIQ_RCW_SITE = $(call github,nxp-qoriq,rcw,$(QORIQ_RCW_VERSION)) QORIQ_RCW_LICENSE = BSD-3-Clause QORIQ_RCW_LICENSE_FILES = LICENSE @@ -60,7 +59,6 @@ endef else ifneq ($(QORIQ_RCW_INTREE),) QORIQ_RCW_PLATFORM = $(firstword $(subst /, ,$(QORIQ_RCW_INTREE))) -QORIQ_RCW_FILE_BIN = $(lastword $(subst /, ,$(QORIQ_RCW_INTREE))) define HOST_QORIQ_RCW_BUILD_CMDS $(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM) diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index a58781f4f10..d4795157890 100644 --- a/package/qpdf/qpdf.mk +++ b/package/qpdf/qpdf.mk @@ -9,7 +9,7 @@ QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Apache-2.0 or Artistic-2.0 QPDF_LICENSE_FILES = LICENSE.txt Artistic-2.0 -QPDF_CPE_ID_VENDOR = qpdf_project +QPDF_CPE_ID_VALID = YES QPDF_DEPENDENCIES = host-pkgconf zlib jpeg QPDF_CONF_OPTS = --with-random=/dev/urandom diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 6dc9cfa1480..f1b16ff39bb 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -59,6 +59,7 @@ source "package/qt5/qt5scxml/Config.in" source "package/qt5/qt5sensors/Config.in" source "package/qt5/qt5serialbus/Config.in" source "package/qt5/qt5serialport/Config.in" +source "package/qt5/qt5speech/Config.in" source "package/qt5/qt5svg/Config.in" source "package/qt5/qt5tools/Config.in" source "package/qt5/qt5virtualkeyboard/Config.in" diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index 0706c3548dc..a43b36dd519 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -5,7 +5,7 @@ ################################################################################ QT5_VERSION_MAJOR = 5.15 -QT5_VERSION = $(QT5_VERSION_MAJOR).8 +QT5_VERSION = $(QT5_VERSION_MAJOR).11 QT5_SITE = https://invent.kde.org/qt/qt include $(sort $(wildcard package/qt5/*/*.mk)) diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index b876f1948ed..6e6a7cf9840 100644 --- a/package/qt5/qt5base/Config.in +++ b/package/qt5/qt5base/Config.in @@ -62,7 +62,7 @@ if BR2_PACKAGE_QT5BASE_SQL config BR2_PACKAGE_QT5BASE_MYSQL bool "MySQL Plugin" depends on BR2_USE_MMU # mysql - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB select BR2_PACKAGE_NCURSES select BR2_PACKAGE_READLINE help @@ -180,6 +180,16 @@ config BR2_PACKAGE_QT5BASE_OPENGL_LIB endif +config BR2_PACKAGE_QT5BASE_VULKAN + bool "Vulkan support" + depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader + depends on !BR2_STATIC_LIBS # vulkan-loader + depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader + select BR2_PACKAGE_VULKAN_HEADERS + select BR2_PACKAGE_VULKAN_LOADER + help + This option enables Vulkan support. + config BR2_PACKAGE_QT5BASE_LINUXFB bool "linuxfb support" diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index 27d2b99c34c..8f28cdb5565 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/package/qt5/qt5base/qt5base.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ecff8cf42af98c2294f7c99eb8c41564892f470382adaf8f4048c85252849808 qtbase-2ffb7ad8a1079a0444b9c72affe3d19b089b60de.tar.bz2 +sha256 7fdd81fc6c157c3e65e16b306e90c8dd4363d10b752d7379251dfb7214cb0574 qt5base-da6e958319e95fe564d3b30c931492dd666bfaff-br1.tar.gz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index a81892422c5..bbab9b3de17 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -4,9 +4,11 @@ # ################################################################################ -QT5BASE_VERSION = 2ffb7ad8a1079a0444b9c72affe3d19b089b60de -QT5BASE_SITE = $(QT5_SITE)/qtbase/-/archive/$(QT5BASE_VERSION) -QT5BASE_SOURCE = qtbase-$(QT5BASE_VERSION).tar.bz2 +QT5BASE_VERSION = da6e958319e95fe564d3b30c931492dd666bfaff +QT5BASE_SITE = $(QT5_SITE)/qtbase +QT5BASE_SITE_METHOD = git +QT5BASE_CPE_ID_VENDOR = qt +QT5BASE_CPE_ID_PRODUCT = qt QT5BASE_DEPENDENCIES = host-pkgconf pcre2 zlib QT5BASE_INSTALL_STAGING = YES @@ -127,7 +129,7 @@ endif ifeq ($(BR2_PACKAGE_QT5BASE_SQL),y) ifeq ($(BR2_PACKAGE_QT5BASE_MYSQL),y) QT5BASE_CONFIGURE_OPTS += -plugin-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config -QT5BASE_DEPENDENCIES += mysql +QT5BASE_DEPENDENCIES += mariadb else QT5BASE_CONFIGURE_OPTS += -no-sql-mysql endif @@ -206,6 +208,13 @@ else QT5BASE_CONFIGURE_OPTS += -no-opengl endif +ifeq ($(BR2_PACKAGE_QT5BASE_VULKAN),y) +QT5BASE_CONFIGURE_OPTS += -feature-vulkan +QT5BASE_DEPENDENCIES += vulkan-headers vulkan-loader +else +QT5BASE_CONFIGURE_OPTS += -no-feature-vulkan +endif + QT5BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT5BASE_DEFAULT_QPA)) QT5BASE_CONFIGURE_OPTS += $(if $(QT5BASE_DEFAULT_QPA),-qpa $(QT5BASE_DEFAULT_QPA)) @@ -229,8 +238,8 @@ else QT5BASE_CONFIGURE_OPTS += -no-eglfs endif -QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl) -QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl) +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBOPENSSL),-openssl,-no-openssl) +QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBOPENSSL),openssl) QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig) diff --git a/package/qt5/qt5charts/qt5charts.hash b/package/qt5/qt5charts/qt5charts.hash index ba22e29996c..fec54c86b1f 100644 --- a/package/qt5/qt5charts/qt5charts.hash +++ b/package/qt5/qt5charts/qt5charts.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 32119f7ac88c250b24835b91a71510bf673f1cede6e572fd1059debf8325d7ff qtcharts-16c2a8821135bf89369c4e3c5a1bdff8b05ffdb5.tar.bz2 +sha256 66dae46a8bcb1dfc10dd3404296701c41e50658792e4a6a7317a182fad6f36c8 qtcharts-e17308d5ce83a8b66aeeaaaf16ce16d4ee6b2826.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5charts/qt5charts.mk b/package/qt5/qt5charts/qt5charts.mk index 0028c9f8cb6..bfc60212894 100644 --- a/package/qt5/qt5charts/qt5charts.mk +++ b/package/qt5/qt5charts/qt5charts.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5CHARTS_VERSION = 16c2a8821135bf89369c4e3c5a1bdff8b05ffdb5 +QT5CHARTS_VERSION = e17308d5ce83a8b66aeeaaaf16ce16d4ee6b2826 QT5CHARTS_SITE = $(QT5_SITE)/qtcharts/-/archive/$(QT5CHARTS_VERSION) QT5CHARTS_SOURCE = qtcharts-$(QT5CHARTS_VERSION).tar.bz2 QT5CHARTS_INSTALL_STAGING = YES diff --git a/package/qt5/qt5coap/qt5coap.mk b/package/qt5/qt5coap/qt5coap.mk index a50f19d7f22..5feb1e5bc26 100644 --- a/package/qt5/qt5coap/qt5coap.mk +++ b/package/qt5/qt5coap/qt5coap.mk @@ -5,7 +5,7 @@ ################################################################################ QT5COAP_VERSION = 5.15.2 -QT5COAP_SITE = https://code.qt.io/cgit/qt/qtcoap.git +QT5COAP_SITE = https://code.qt.io/qt/qtcoap.git QT5COAP_SITE_METHOD = git QT5COAP_INSTALL_STAGING = YES QT5COAP_LICENSE = GPL-3.0, GFDL-1.3 diff --git a/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash index 1252a73247a..776448502b6 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/package/qt5/qt5connectivity/qt5connectivity.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ec1d91fc35d8b4a333209fb5fd85e00ab77345bff48b60b4e43b804a59f60979 qtconnectivity-c5f35f89e975c2ad58c83c6b606d40ba41057f15.tar.bz2 +sha256 7a44848e113e1d7232c077f9fa8021ab038f59765123920e11936e7d4b8e3c66 qtconnectivity-f0c98c39447894bba493aa91c65053d7f18d68cb.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5connectivity/qt5connectivity.mk b/package/qt5/qt5connectivity/qt5connectivity.mk index 72797de1a03..dc5e647e0b6 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.mk +++ b/package/qt5/qt5connectivity/qt5connectivity.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5CONNECTIVITY_VERSION = c5f35f89e975c2ad58c83c6b606d40ba41057f15 +QT5CONNECTIVITY_VERSION = f0c98c39447894bba493aa91c65053d7f18d68cb QT5CONNECTIVITY_SITE = $(QT5_SITE)/qtconnectivity/-/archive/$(QT5CONNECTIVITY_VERSION) QT5CONNECTIVITY_SOURCE = qtconnectivity-$(QT5CONNECTIVITY_VERSION).tar.bz2 QT5CONNECTIVITY_INSTALL_STAGING = YES diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash index 00c9a044324..3db5c944584 100644 --- a/package/qt5/qt5declarative/qt5declarative.hash +++ b/package/qt5/qt5declarative/qt5declarative.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 0dd6b29bb19ad419d47d1fb612b39b1834d675fd1c58b80cd85c7d3da98b40bf qtdeclarative-51efb2ed2f071beda188270a23ac450fe4b318f7.tar.bz2 +sha256 bebd1205aa087f529b8824f0284e127e08672ff7ce36a6b865cd921514ec1192 qtdeclarative-960a980dc885622cb84990c4da75d5060318302d.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk index cece8e476bb..99c88e7d069 100644 --- a/package/qt5/qt5declarative/qt5declarative.mk +++ b/package/qt5/qt5declarative/qt5declarative.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5DECLARATIVE_VERSION = 51efb2ed2f071beda188270a23ac450fe4b318f7 +QT5DECLARATIVE_VERSION = 960a980dc885622cb84990c4da75d5060318302d QT5DECLARATIVE_SITE = $(QT5_SITE)/qtdeclarative/-/archive/$(QT5DECLARATIVE_VERSION) QT5DECLARATIVE_SOURCE = qtdeclarative-$(QT5DECLARATIVE_VERSION).tar.bz2 QT5DECLARATIVE_INSTALL_STAGING = YES diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in index b738f0db7cd..a1ac6f8ca03 100644 --- a/package/qt5/qt5enginio/Config.in +++ b/package/qt5/qt5enginio/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_QT5ENGINIO bool "qt5enginio" select BR2_PACKAGE_OPENSSL + # Only openssl is supported by qt5 + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_NETWORK help diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index 5de13a176db..e5fdaf67bf4 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 83ee3888473fb786c1615c4b98320a9b1eeeb66dbc1ef9743b8339718594e48e qtgraphicaleffects-4c6ec38635aa22cf0854df8e710733c529f4ec02.tar.bz2 +sha256 18afbc24b40420ce0fe6bfad8331f43a1d8c8ec22501b7987ecec9334b69e9a2 qtgraphicaleffects-cce7d784237cd2dd4af1abe2757d048e34e02685.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk index e4c464b8c7a..ddf805303ba 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk +++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5GRAPHICALEFFECTS_VERSION = 4c6ec38635aa22cf0854df8e710733c529f4ec02 +QT5GRAPHICALEFFECTS_VERSION = cce7d784237cd2dd4af1abe2757d048e34e02685 QT5GRAPHICALEFFECTS_SITE = $(QT5_SITE)/qtgraphicaleffects/-/archive/$(QT5GRAPHICALEFFECTS_VERSION) QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-$(QT5GRAPHICALEFFECTS_VERSION).tar.bz2 QT5GRAPHICALEFFECTS_DEPENDENCIES = qt5declarative diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash index 9b8a788cae0..779db8d109f 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/package/qt5/qt5imageformats/qt5imageformats.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4ce1982ccf3232d25187286ca4893bcf00b149cf9f6706f06f60d908fab480a0 qtimageformats-b43e31b9f31ec482ddea2066fda7ca9315512815.tar.bz2 +sha256 bac150b9c5eaf0132a39a0b2a75cfca5400c11f4b8bf60f7362a6e0307f5c19e qtimageformats-6a1af670d52492ab0955933b830026b2a18ed6d6.tar.bz2 # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5imageformats/qt5imageformats.mk b/package/qt5/qt5imageformats/qt5imageformats.mk index 2cc8e0f17b1..27ef05777da 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.mk +++ b/package/qt5/qt5imageformats/qt5imageformats.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5IMAGEFORMATS_VERSION = b43e31b9f31ec482ddea2066fda7ca9315512815 +QT5IMAGEFORMATS_VERSION = 6a1af670d52492ab0955933b830026b2a18ed6d6 QT5IMAGEFORMATS_SITE = $(QT5_SITE)/qtimageformats/-/archive/$(QT5IMAGEFORMATS_VERSION) QT5IMAGEFORMATS_SOURCE = qtimageformats-$(QT5IMAGEFORMATS_VERSION).tar.bz2 QT5IMAGEFORMATS_INSTALL_STAGING = YES diff --git a/package/qt5/qt5knx/qt5knx.mk b/package/qt5/qt5knx/qt5knx.mk index 412e31c6529..91b99aaa87b 100644 --- a/package/qt5/qt5knx/qt5knx.mk +++ b/package/qt5/qt5knx/qt5knx.mk @@ -5,7 +5,7 @@ ################################################################################ QT5KNX_VERSION = 5.15.2 -QT5KNX_SITE = https://code.qt.io/cgit/qt/qtknx.git +QT5KNX_SITE = https://code.qt.io/qt/qtknx.git QT5KNX_SITE_METHOD = git QT5KNX_INSTALL_STAGING = YES QT5KNX_LICENSE = GPL-3.0 with exception diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash index e41b20fd9b2..0188f51c838 100644 --- a/package/qt5/qt5location/qt5location.hash +++ b/package/qt5/qt5location/qt5location.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 f9673cb1e5b88b4c43d663d7b9b666ff82d6843bf2b445805367cf537839a782 qt5location-db3b6bc6afed6477e6ab2d8465e41efee30fb6d5-br1.tar.gz +sha256 133d28fc0071e419682b7ed736c17b39240545c8e9d6ff7e9905f365bb1eb693 qt5location-0ec8f5e82da7369a92824167c4d7331f6c502325-br1.tar.gz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5location/qt5location.mk b/package/qt5/qt5location/qt5location.mk index a61994fa530..88bf3d289c2 100644 --- a/package/qt5/qt5location/qt5location.mk +++ b/package/qt5/qt5location/qt5location.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5LOCATION_VERSION = db3b6bc6afed6477e6ab2d8465e41efee30fb6d5 +QT5LOCATION_VERSION = 0ec8f5e82da7369a92824167c4d7331f6c502325 QT5LOCATION_SITE = $(QT5_SITE)/qtlocation QT5LOCATION_SITE_METHOD = git QT5LOCATION_GIT_SUBMODULES = YES diff --git a/package/qt5/qt5lottie/qt5lottie.hash b/package/qt5/qt5lottie/qt5lottie.hash index c5c71ddf6c1..642625753c5 100644 --- a/package/qt5/qt5lottie/qt5lottie.hash +++ b/package/qt5/qt5lottie/qt5lottie.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 7e006b7a3608f0737f41682352819c404db4c1506d9ebe82eb4af7b1ae652d14 qtlottie-ccba2b00bd7f10558edb8664d6b9a95e9fafe6ac.tar.bz2 +sha256 4d8a063687c25675b012821e252a1afd455bdb4ea43e6d79787f9991c68cb5c5 qtlottie-909b79f4810b8ac62baa3544837793cfb132593b.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5lottie/qt5lottie.mk b/package/qt5/qt5lottie/qt5lottie.mk index d02d693401b..d4ad3afc63e 100644 --- a/package/qt5/qt5lottie/qt5lottie.mk +++ b/package/qt5/qt5lottie/qt5lottie.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5LOTTIE_VERSION = ccba2b00bd7f10558edb8664d6b9a95e9fafe6ac +QT5LOTTIE_VERSION = 909b79f4810b8ac62baa3544837793cfb132593b QT5LOTTIE_SITE = $(QT5_SITE)/qtlottie/-/archive/$(QT5LOTTIE_VERSION) QT5LOTTIE_SOURCE = qtlottie-$(QT5LOTTIE_VERSION).tar.bz2 QT5LOTTIE_DEPENDENCIES = qt5declarative diff --git a/package/qt5/qt5mqtt/qt5mqtt.mk b/package/qt5/qt5mqtt/qt5mqtt.mk index 0b62cf1bed5..824d58d1d12 100644 --- a/package/qt5/qt5mqtt/qt5mqtt.mk +++ b/package/qt5/qt5mqtt/qt5mqtt.mk @@ -5,7 +5,7 @@ ################################################################################ QT5MQTT_VERSION = 5.15.2 -QT5MQTT_SITE = https://code.qt.io/cgit/qt/qtmqtt.git +QT5MQTT_SITE = https://code.qt.io/qt/qtmqtt.git QT5MQTT_SITE_METHOD = git QT5MQTT_INSTALL_STAGING = YES QT5MQTT_LICENSE = GPL-3.0 with exception diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash index 527e3948b86..7925c4fe059 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/package/qt5/qt5multimedia/qt5multimedia.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 b6a17deafe7ea7ad44e2852a92ea73b0089beaf9f24cb3434d018db9b8170ee6 qtmultimedia-dc0ee181d4c56ff66c989bd3292dad7cc35e234b.tar.bz2 +sha256 3f78ede5dcc231d0e92e9907d11fa1d7a7cf506eb73d3f035e8461b57dc692b4 qtmultimedia-b4d58d8921d6d1c937b5e708e257e2a07a0c5dc4.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk index bf2126b285b..7a56d238f2e 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/package/qt5/qt5multimedia/qt5multimedia.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5MULTIMEDIA_VERSION = dc0ee181d4c56ff66c989bd3292dad7cc35e234b +QT5MULTIMEDIA_VERSION = b4d58d8921d6d1c937b5e708e257e2a07a0c5dc4 QT5MULTIMEDIA_SITE = $(QT5_SITE)/qtmultimedia/-/archive/$(QT5MULTIMEDIA_VERSION) QT5MULTIMEDIA_SOURCE = qtmultimedia-$(QT5MULTIMEDIA_VERSION).tar.bz2 QT5MULTIMEDIA_INSTALL_STAGING = YES diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 45af81c99fc..219dc8d5887 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 c2ddcf9c524ef12a0786c410ac4b3c6d4be9aa17db71f2ea8c57ff615fda62dd qtquickcontrols-d405bf6a29bc9d6da6e3dcefbd1b88f5ed70fb1b.tar.bz2 +sha256 8c02691d3eb45b9f144bef64c9705e26e8a4c725a0731b18450d39a589965c49 qtquickcontrols-dcc90558d9c0cba41eec7df290943994289b0e87.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk index 5903e6d69c7..86792ddd8ea 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5QUICKCONTROLS_VERSION = d405bf6a29bc9d6da6e3dcefbd1b88f5ed70fb1b +QT5QUICKCONTROLS_VERSION = dcc90558d9c0cba41eec7df290943994289b0e87 QT5QUICKCONTROLS_SITE = $(QT5_SITE)/qtquickcontrols/-/archive/$(QT5QUICKCONTROLS_VERSION) QT5QUICKCONTROLS_SOURCE = qtquickcontrols-$(QT5QUICKCONTROLS_VERSION).tar.bz2 QT5QUICKCONTROLS_DEPENDENCIES = qt5declarative diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index 7d81b614073..91fb31a7b73 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 0c4204257be906c13f863b9481bb20ad616c9a80a074b6f160f863ac046dad27 qtquickcontrols2-0d3d39e821ea7634c174a29910c18d7101bce6f7.tar.bz2 +sha256 481220682ce3127711465d6ade22c9ce0e4a4130dd9735344f7464f9147d8f0d qtquickcontrols2-1ce461bd1dc713cd2f79fc16c5454d587b45eefa.tar.bz2 # Hashes for license files: sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk index f847ec95ab3..a2503eb9a37 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5QUICKCONTROLS2_VERSION = 0d3d39e821ea7634c174a29910c18d7101bce6f7 +QT5QUICKCONTROLS2_VERSION = 1ce461bd1dc713cd2f79fc16c5454d587b45eefa QT5QUICKCONTROLS2_SITE = $(QT5_SITE)/qtquickcontrols2/-/archive/$(QT5QUICKCONTROLS2_VERSION) QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-$(QT5QUICKCONTROLS2_VERSION).tar.bz2 QT5QUICKCONTROLS2_DEPENDENCIES = qt5declarative diff --git a/package/qt5/qt5quicktimeline/qt5quicktimeline.hash b/package/qt5/qt5quicktimeline/qt5quicktimeline.hash index e68f66edd8a..1c9f436b1b1 100644 --- a/package/qt5/qt5quicktimeline/qt5quicktimeline.hash +++ b/package/qt5/qt5quicktimeline/qt5quicktimeline.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ab113ead993206de4025c78fd2babea69824f52ff88fa78451b6bbcb932a6ab6 qtquicktimeline-2ce816fa5822bcc1c47678447405b2e5dc1312c1.tar.bz2 +sha256 ee404943ef00dbac33928cf001b613ca517fdfdf2767b932a8def5f8c2b0797f qtquicktimeline-b1b4b882dabaa036c3fb73c4a879ba8efbb02ded.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5quicktimeline/qt5quicktimeline.mk b/package/qt5/qt5quicktimeline/qt5quicktimeline.mk index 70cca38ff45..3a8542ab1b8 100644 --- a/package/qt5/qt5quicktimeline/qt5quicktimeline.mk +++ b/package/qt5/qt5quicktimeline/qt5quicktimeline.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5QUICKTIMELINE_VERSION = 2ce816fa5822bcc1c47678447405b2e5dc1312c1 +QT5QUICKTIMELINE_VERSION = b1b4b882dabaa036c3fb73c4a879ba8efbb02ded QT5QUICKTIMELINE_SITE = $(QT5_SITE)/qtquicktimeline/-/archive/$(QT5QUICKTIMELINE_VERSION) QT5QUICKTIMELINE_SOURCE = qtquicktimeline-$(QT5QUICKTIMELINE_VERSION).tar.bz2 QT5QUICKTIMELINE_DEPENDENCIES = qt5declarative diff --git a/package/qt5/qt5remoteobjects/qt5remoteobjects.hash b/package/qt5/qt5remoteobjects/qt5remoteobjects.hash index 980101c7fb5..a931ce09cb9 100644 --- a/package/qt5/qt5remoteobjects/qt5remoteobjects.hash +++ b/package/qt5/qt5remoteobjects/qt5remoteobjects.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 f51631a142ac47a03266496dae9d07c734f092a0afe8c4e18cd78b7cf9c17b38 qtremoteobjects-809412e1cc2151c21f843796ef67705600f6aafb.tar.bz2 +sha256 677b8ccb5c07673296c4fa01bcbc6bd9b8e3a534d332624f61fe0360a5649703 qtremoteobjects-bdc316aca82769b43cb7821c10d80a1ca02b846e.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5remoteobjects/qt5remoteobjects.mk b/package/qt5/qt5remoteobjects/qt5remoteobjects.mk index 984f392dda1..5fea3487a56 100644 --- a/package/qt5/qt5remoteobjects/qt5remoteobjects.mk +++ b/package/qt5/qt5remoteobjects/qt5remoteobjects.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5REMOTEOBJECTS_VERSION = 809412e1cc2151c21f843796ef67705600f6aafb +QT5REMOTEOBJECTS_VERSION = bdc316aca82769b43cb7821c10d80a1ca02b846e QT5REMOTEOBJECTS_SITE = $(QT5_SITE)/qtremoteobjects/-/archive/$(QT5REMOTEOBJECTS_VERSION) QT5REMOTEOBJECTS_SOURCE = qtremoteobjects-$(QT5REMOTEOBJECTS_VERSION).tar.bz2 QT5REMOTEOBJECTS_DEPENDENCIES = qt5base diff --git a/package/qt5/qt5script/qt5script.hash b/package/qt5/qt5script/qt5script.hash index b3e10491fd4..d6572be818d 100644 --- a/package/qt5/qt5script/qt5script.hash +++ b/package/qt5/qt5script/qt5script.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 fc625c1682d7ee5d1092255408cbaf08d5cac52eb45bacd3ab52937dc84d91f2 qtscript-5cec94b2c1503f106f4ef4778d016410ebb86211.tar.bz2 +sha256 7731d8c85636d039a2b35a9ee0de7b5ebb0c3900a9b4845676041ce91f56f01f qtscript-f237e324508dcf0dbabde9dd498eda9fa61c4ff0.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5script/qt5script.mk b/package/qt5/qt5script/qt5script.mk index 313895f11b3..96cbbfbbadb 100644 --- a/package/qt5/qt5script/qt5script.mk +++ b/package/qt5/qt5script/qt5script.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SCRIPT_VERSION = 5cec94b2c1503f106f4ef4778d016410ebb86211 +QT5SCRIPT_VERSION = f237e324508dcf0dbabde9dd498eda9fa61c4ff0 QT5SCRIPT_SITE = $(QT5_SITE)/qtscript/-/archive/$(QT5SCRIPT_VERSION) QT5SCRIPT_SOURCE = qtscript-$(QT5SCRIPT_VERSION).tar.bz2 QT5SCRIPT_INSTALL_STAGING = YES diff --git a/package/qt5/qt5scxml/qt5scxml.hash b/package/qt5/qt5scxml/qt5scxml.hash index 1c11ae5853f..0f13743f456 100644 --- a/package/qt5/qt5scxml/qt5scxml.hash +++ b/package/qt5/qt5scxml/qt5scxml.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 5fc3e6166ab3588242864c5d8f18235a45f5c3396482ccfeb8590fe67d0cd549 qtscxml-dcbd73cf3e8a07dbfa249d7db2257caafa83781b.tar.bz2 +sha256 d598238bfa3bbbe283a8bd2907a4e8e813e00c522f08297a856e6595bbd44099 qtscxml-e8727aabe55526956295407d27317ec15e12b283.tar.bz2 # Hashes for license files: sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk index af18b84e9db..32ef425e97e 100644 --- a/package/qt5/qt5scxml/qt5scxml.mk +++ b/package/qt5/qt5scxml/qt5scxml.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SCXML_VERSION = dcbd73cf3e8a07dbfa249d7db2257caafa83781b +QT5SCXML_VERSION = e8727aabe55526956295407d27317ec15e12b283 QT5SCXML_SITE = $(QT5_SITE)/qtscxml/-/archive/$(QT5SCXML_VERSION) QT5SCXML_SOURCE = qtscxml-$(QT5SCXML_VERSION).tar.bz2 QT5SCXML_DEPENDENCIES = qt5declarative diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash index 559f02e7f6e..37a23516dfd 100644 --- a/package/qt5/qt5sensors/qt5sensors.hash +++ b/package/qt5/qt5sensors/qt5sensors.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 fa0ffba89fed2086d06dab84074cdd789acbfb89da6f64c40a64fc3bc067832e qtsensors-1ab8d6c7257f9ec060739b648704be1cf1c16b05.tar.bz2 +sha256 f44148d1a21f3959d79f973d8aa233ddfacf37af6e27902fca8c885b91933fcc qtsensors-a41492b23cde20d1e00427d31e4637d06aea3638.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5sensors/qt5sensors.mk b/package/qt5/qt5sensors/qt5sensors.mk index 299fab3db02..29e257fddad 100644 --- a/package/qt5/qt5sensors/qt5sensors.mk +++ b/package/qt5/qt5sensors/qt5sensors.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SENSORS_VERSION = 1ab8d6c7257f9ec060739b648704be1cf1c16b05 +QT5SENSORS_VERSION = a41492b23cde20d1e00427d31e4637d06aea3638 QT5SENSORS_SITE = $(QT5_SITE)/qtsensors/-/archive/$(QT5SENSORS_VERSION) QT5SENSORS_SOURCE = qtsensors-$(QT5SENSORS_VERSION).tar.bz2 QT5SENSORS_INSTALL_STAGING = YES diff --git a/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash index b8f96cf0c09..1d1861a4a30 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/package/qt5/qt5serialbus/qt5serialbus.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 caaccfdabdf502c3aacf9fa842ed31ed7682cab6ada69b06be1ba49273fb1f1c qtserialbus-e34053fbda8d687e3dc294fbd5e3a88bf94a7a66.tar.bz2 +sha256 952b145ae64e03208d7c2a0b0b2b94b928e8998eb72c6762b54e4d9760737dde qtserialbus-c41785c9f36560722b917d373ee97eed8cc4089a.tar.bz2 # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5serialbus/qt5serialbus.mk b/package/qt5/qt5serialbus/qt5serialbus.mk index 70f23ce407e..3315ef5be71 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.mk +++ b/package/qt5/qt5serialbus/qt5serialbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SERIALBUS_VERSION = e34053fbda8d687e3dc294fbd5e3a88bf94a7a66 +QT5SERIALBUS_VERSION = c41785c9f36560722b917d373ee97eed8cc4089a QT5SERIALBUS_SITE = $(QT5_SITE)/qtserialbus/-/archive/$(QT5SERIALBUS_VERSION) QT5SERIALBUS_SOURCE = qtserialbus-$(QT5SERIALBUS_VERSION).tar.bz2 QT5SERIALBUS_DEPENDENCIES = qt5serialport diff --git a/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash index d25b2193e79..e95392b8809 100644 --- a/package/qt5/qt5serialport/qt5serialport.hash +++ b/package/qt5/qt5serialport/qt5serialport.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 83abb0c5b9c435a031abf1a36d6d44f8e3f5e2fc16150bdc78c6d33b25386bb6 qtserialport-191e67e428522a0e2e1e8d2f3440607a9760d441.tar.bz2 +sha256 2b7584de148f0b6ea2cf162609d44d7ad3bb893b1995427ceed72cb4562db6d7 qtserialport-3380465d5d4977326616c5e57789a81681be650e.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5serialport/qt5serialport.mk b/package/qt5/qt5serialport/qt5serialport.mk index cd96df20074..462d1dd7b9b 100644 --- a/package/qt5/qt5serialport/qt5serialport.mk +++ b/package/qt5/qt5serialport/qt5serialport.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SERIALPORT_VERSION = 191e67e428522a0e2e1e8d2f3440607a9760d441 +QT5SERIALPORT_VERSION = 3380465d5d4977326616c5e57789a81681be650e QT5SERIALPORT_SITE = $(QT5_SITE)/qtserialport/-/archive/$(QT5SERIALPORT_VERSION) QT5SERIALPORT_SOURCE = qtserialport-$(QT5SERIALPORT_VERSION).tar.bz2 QT5SERIALPORT_INSTALL_STAGING = YES diff --git a/package/qt5/qt5speech/Config.in b/package/qt5/qt5speech/Config.in new file mode 100644 index 00000000000..cebd06057ec --- /dev/null +++ b/package/qt5/qt5speech/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_QT5SPEECH + bool "qt5speech" + help + Qt is a cross-platform application and UI framework for + developers using C++. + + Qt Speech enables support for accessibility features such as + text-to-speech. + + For output optional enable flite or speechd. + + https://doc.qt.io/qt-5/qtspeech-index.html diff --git a/package/qt5/qt5speech/qt5speech.hash b/package/qt5/qt5speech/qt5speech.hash new file mode 100644 index 00000000000..3be66a77fe1 --- /dev/null +++ b/package/qt5/qt5speech/qt5speech.hash @@ -0,0 +1,7 @@ +# Locally calculated +sha256 4be0161595806cfc5c9c3160a83d0379269a2813dd4b3ffe2e2a1328f23d8fbc qtspeech-214dcefc7c408e11a3e9fe9d221e4a384e2eaca1.tar.bz2 + +# Hashes for license files: +sha256 6c3f3c31b93985f1b93bfbb35fb609d37281697d0efc220c9f91cf4b59eaabde LICENSE.GPLv2 +sha256 75d800e60c8d58c2e7f0338e8552ea6123a9ce7e5dd8e1cdf2095e013b737488 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5speech/qt5speech.mk b/package/qt5/qt5speech/qt5speech.mk new file mode 100644 index 00000000000..c8054431df7 --- /dev/null +++ b/package/qt5/qt5speech/qt5speech.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# qt5speech +# +################################################################################ + +QT5SPEECH_VERSION = 214dcefc7c408e11a3e9fe9d221e4a384e2eaca1 +QT5SPEECH_SITE = $(QT5_SITE)/qtspeech/-/archive/$(QT5SPEECH_VERSION) +QT5SPEECH_SOURCE = qtspeech-$(QT5SPEECH_VERSION).tar.bz2 +QT5SPEECH_INSTALL_STAGING = YES +QT5SPEECH_LICENSE = GPL-2.0+ or LGPL-3.0, GFDL-1.3 (docs) +QT5SPEECH_LICENSE_FILES = LICENSE.GPLv2 LICENSE.LGPLv3 LICENSE.FDL +QT5SPEECH_SYNC_QT_HEADERS = YES + +ifeq ($(BR2_PACKAGE_FLITE),y) +QT5SPEECH_DEPENDENCIES += flite +endif + +ifeq ($(BR2_PACKAGE_SPEECHD),y) +QT5SPEECH_DEPENDENCIES += speechd +endif + +$(eval $(qmake-package)) diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash index 424891ac2c0..f3e47da5ded 100644 --- a/package/qt5/qt5svg/qt5svg.hash +++ b/package/qt5/qt5svg/qt5svg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 eeb4175f0b2c3299abf0ca9d751886612dad5ecd212c954f9801b28b4696f4f7 qtsvg-23b8cf7d833c335d7735855570c05e9e0893a9b7.tar.bz2 +sha256 6a71029b46e71667f86c48923f0b292c3057ea56b2aedb8aeaa5af70e85e71c3 qtsvg-3385b64df939815e9df5955f991d270d47a5515b.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5svg/qt5svg.mk b/package/qt5/qt5svg/qt5svg.mk index 3072fd7a187..c1d019000b3 100644 --- a/package/qt5/qt5svg/qt5svg.mk +++ b/package/qt5/qt5svg/qt5svg.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5SVG_VERSION = 23b8cf7d833c335d7735855570c05e9e0893a9b7 +QT5SVG_VERSION = 3385b64df939815e9df5955f991d270d47a5515b QT5SVG_SITE = $(QT5_SITE)/qtsvg/-/archive/$(QT5SVG_VERSION) QT5SVG_SOURCE = qtsvg-$(QT5SVG_VERSION).tar.bz2 QT5SVG_INSTALL_STAGING = YES diff --git a/package/qt5/qt5tools/Config.in b/package/qt5/qt5tools/Config.in index 46585e1e043..47a9ad0f5fc 100644 --- a/package/qt5/qt5tools/Config.in +++ b/package/qt5/qt5tools/Config.in @@ -23,13 +23,13 @@ config BR2_PACKAGE_QT5TOOLS_QDOC_TOOL # currently supported in Buildroot, unless the target is # already supported by llvm. depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # llvm, clang - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # llvm, clang + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # llvm, clang depends on BR2_TOOLCHAIN_HAS_THREADS # llvm, clang depends on BR2_INSTALL_LIBSTDCPP # llvm, clang depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # llvm, clang depends on !BR2_STATIC_LIBS # llvm, clang depends on BR2_USE_WCHAR # llvm, clang - depends on BR2_HOST_GCC_AT_LEAST_5 # llvm, clang + depends on BR2_HOST_GCC_AT_LEAST_7 # llvm, clang help This option enables the qdoc host tool. diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash index 58ed752b9bf..d4ea0dc0471 100644 --- a/package/qt5/qt5tools/qt5tools.hash +++ b/package/qt5/qt5tools/qt5tools.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 76052a183a41fcddfd4446ffba6a99c3e77a21453fe629cf67379ffa617a0d53 qttools-53ee43a51b5a3de2877dafffc78e71ff55926708.tar.bz2 +sha256 7214584115d0b89a362c6b0e8586d6228ac138f3ed5e52c97962b8634edbbcfd qttools-ddf6686e9bce7a3232af14a2966b4c895e654f02.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5tools/qt5tools.mk b/package/qt5/qt5tools/qt5tools.mk index e87c9b50a55..98f3948d178 100644 --- a/package/qt5/qt5tools/qt5tools.mk +++ b/package/qt5/qt5tools/qt5tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5TOOLS_VERSION = 53ee43a51b5a3de2877dafffc78e71ff55926708 +QT5TOOLS_VERSION = ddf6686e9bce7a3232af14a2966b4c895e654f02 QT5TOOLS_SITE = $(QT5_SITE)/qttools/-/archive/$(QT5TOOLS_VERSION) QT5TOOLS_SOURCE = qttools-$(QT5TOOLS_VERSION).tar.bz2 diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash index 1cdd8f0386b..89559b63f28 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6ef14ba8bb5eb287320b6c0d6e61c5c2916a94ef754bb8a2d89c123043485d67 qtvirtualkeyboard-e8ae4757dd32e8dbf69a7c57f2bc5c1e238416db.tar.bz2 +sha256 c8dfb16614a63e39c714673abe35a7c30107d359356695634af619e62e8ce6cd qtvirtualkeyboard-817378aa10176fd26eed36542bc657e48d9dd42e.tar.bz2 # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk index c31d455c4e5..5657d78c30f 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5VIRTUALKEYBOARD_VERSION = e8ae4757dd32e8dbf69a7c57f2bc5c1e238416db +QT5VIRTUALKEYBOARD_VERSION = 817378aa10176fd26eed36542bc657e48d9dd42e QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)/qtvirtualkeyboard/-/archive/$(QT5VIRTUALKEYBOARD_VERSION) QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-$(QT5VIRTUALKEYBOARD_VERSION).tar.bz2 QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5declarative qt5svg @@ -16,7 +16,7 @@ QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3 QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS = $(call qstrip,$(BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)) ifneq ($(strip $(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) -QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+="$(foreach lang,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS),lang-$(lang))" +QT5VIRTUALKEYBOARD_CONF_OPTS += CONFIG+="$(foreach lang,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS),lang-$(lang))" ifneq ($(filter ja_JP all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) QT5VIRTUALKEYBOARD_LICENSE += , Apache-2.0 (openwnn) diff --git a/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch b/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch deleted file mode 100644 index adad3768b23..00000000000 --- a/package/qt5/qt5wayland/0001-Add-missing-define-guards.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 05658e127dedfff65789860415537c6920ec574d Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Thu, 22 Apr 2021 15:29:56 +0300 -Subject: [PATCH] Add missing define guards - -Ammend cca1b94190a094b5d1d7ce492b6533e2d330c5e8 to use m_composeState -only if xcbcommon is available. - -Pick-to: 5.15 -Change-Id: I48332b15def3282c5bda3e1c7c393ea7e9849cbe -Reviewed-by: Aleix Pol Gonzalez -[Backported from: 05658e127dedfff65789860415537c6920ec574d] -Signed-off-by: Quentin Schulz ---- - src/client/qwaylandinputcontext.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp -index 16e03ea1..cbf63cde 100644 ---- a/src/client/qwaylandinputcontext.cpp -+++ b/src/client/qwaylandinputcontext.cpp -@@ -408,8 +408,10 @@ bool QWaylandInputContext::isValid() const - void QWaylandInputContext::reset() - { - qCDebug(qLcQpaInputMethods) << Q_FUNC_INFO; -+#if QT_CONFIG(xkbcommon) - if (m_composeState) - xkb_compose_state_reset(m_composeState); -+#endif - - QPlatformInputContext::reset(); - --- -2.35.1 - diff --git a/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash index 58935ceadcb..f4a1663add8 100644 --- a/package/qt5/qt5wayland/qt5wayland.hash +++ b/package/qt5/qt5wayland/qt5wayland.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 bfe9bce353c036356dc7bca04e634f03c7c924381062ce89627a88df0ae7484e qtwayland-36659e6130ed3fc2b3f0c91423408ef5ecb7b991.tar.bz2 +sha256 d45149cce43ad76f0c8ee43f0469728259d2ab341cf7e2c02ddab6163c5f1d13 qtwayland-b8f1882df7215b6e00f66b7a6a08afafe230de29.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk index 63fa1f21c0b..4ce89fc46a9 100644 --- a/package/qt5/qt5wayland/qt5wayland.mk +++ b/package/qt5/qt5wayland/qt5wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5WAYLAND_VERSION = 36659e6130ed3fc2b3f0c91423408ef5ecb7b991 +QT5WAYLAND_VERSION = b8f1882df7215b6e00f66b7a6a08afafe230de29 QT5WAYLAND_SITE = $(QT5_SITE)/qtwayland/-/archive/$(QT5WAYLAND_VERSION) QT5WAYLAND_SOURCE = qtwayland-$(QT5WAYLAND_VERSION).tar.bz2 QT5WAYLAND_DEPENDENCIES = wayland diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash index b5e9f1a043c..7f2a357dbb6 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/package/qt5/qt5webchannel/qt5webchannel.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 a281a053471f5c480d7c2679caa0a759e8628f6eafc07c1781f1eb8bb97ee37d qtwebchannel-8c842152da613f941892481d62267c73c4a4f006.tar.bz2 +sha256 7d482e5140d789b417c359f557da783ed2cc07e8148133971caeb5b48b418645 qtwebchannel-48a520c11a0ef57f2553746159acf739c7f3863d.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5webchannel/qt5webchannel.mk b/package/qt5/qt5webchannel/qt5webchannel.mk index 54e6a70ddb1..8ba81383d1b 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.mk +++ b/package/qt5/qt5webchannel/qt5webchannel.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5WEBCHANNEL_VERSION = 8c842152da613f941892481d62267c73c4a4f006 +QT5WEBCHANNEL_VERSION = 48a520c11a0ef57f2553746159acf739c7f3863d QT5WEBCHANNEL_SITE = $(QT5_SITE)/qtwebchannel/-/archive/$(QT5WEBCHANNEL_VERSION) QT5WEBCHANNEL_SOURCE = qtwebchannel-$(QT5WEBCHANNEL_VERSION).tar.bz2 QT5WEBCHANNEL_DEPENDENCIES = qt5websockets diff --git a/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch index dff3e6c8494..aeec4c58b17 100644 --- a/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch +++ b/package/qt5/qt5webengine/0001-gn.pro-don-t-link-statically-with-libstc.patch @@ -28,24 +28,25 @@ linking statically by default. [1] https://github.com/qt/qtwebengine-chromium/commit/cfab9198a9917f42cf08b1caf84ab9b71aac1911#diff-905c8f054808213577c0a92d1b704615 Signed-off-by: Romain Naour +Signed-off-by: Giulio Benetti +[Giulio: rebased to qt5.15.10] --- src/buildtools/gn.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro -index 033202e6..5dd8e241 100644 +index f94694da0..19079a5b3 100644 --- a/src/buildtools/gn.pro +++ b/src/buildtools/gn.pro @@ -20,7 +20,8 @@ build_pass|!debug_and_release { - + gn_gen_args = --no-last-commit-position --out-path $$out_path \ --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \ - --ld \"$$which($$QMAKE_LINK)\" + --ld \"$$which($$QMAKE_LINK)\" \ + --no-static-libstdc++ - - msvc:!clang_cl: gn_gen_args += --use-lto - --- -2.25.4 + !isEmpty(QMAKE_AR): gn_gen_args += --ar \"$$which($$first(QMAKE_AR))\" + msvc:!clang_cl: gn_gen_args += --use-lto +-- +2.34.1 diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in index 542f212dfc4..99a2980a251 100644 --- a/package/qt5/qt5webengine/Config.in +++ b/package/qt5/qt5webengine/Config.in @@ -9,12 +9,13 @@ config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative depends on !BR2_BINFMT_FLAT # qt5base-icu depends on BR2_USE_MMU # libglib2, qt5base-dbus + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # re2 -comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 4.9, host gcc >= 4.9, threads, wchar" +comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 8, host gcc >= 4.9, dynamic library, threads, wchar" depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_HOST_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \ + !BR2_HOST_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR comment "qt5webengine needs an OpenGL and EGL-capable backend" @@ -24,9 +25,10 @@ comment "qt5webengine needs an OpenGL and EGL-capable backend" config BR2_PACKAGE_QT5WEBENGINE bool "qt5webengine" depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + depends on !BR2_STATIC_LIBS # re2 depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo depends on BR2_HOST_GCC_AT_LEAST_4_9 # qt5base-icu - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # qt5base-icu + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # re2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libvpx, qt5base-dbus depends on BR2_USE_WCHAR # libglib2 depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash index 1d2b70c4f6d..e0447c70b12 100644 --- a/package/qt5/qt5webengine/qt5webengine.hash +++ b/package/qt5/qt5webengine/qt5webengine.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 fb7abcf88d4336d55565627e18b33df1855fefb0f12e24931b6a7decbe60913b qtwebengine-v5.15.8-lts.tar.bz2 +sha256 e7c9534453472311c06605f2892e038e9920bf10ca3a0dad99b46955ea124618 qtwebengine-v5.15.11-lts.tar.bz2 # Locally calculated sha256 f34787ef0342c614b667186a6ec2f5d6b9d650e30142a2788a589a89743e88e9 LICENSE.Chromium diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in index 26c3897d1d3..9b84ac5f96a 100644 --- a/package/qt5/qt5webkit/Config.in +++ b/package/qt5/qt5webkit/Config.in @@ -16,6 +16,8 @@ config BR2_PACKAGE_QT5WEBKIT select BR2_PACKAGE_LEVELDB select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_OPENSSL + # Only openssl is supported by qt5 + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash index 72fbb4a5990..fa3cc489954 100644 --- a/package/qt5/qt5websockets/qt5websockets.hash +++ b/package/qt5/qt5websockets/qt5websockets.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 00a6d312f2e0ec8c64c12f6a178681d5936ec65bc7f1b85948b58cdb5021a8b6 qtwebsockets-6a4991250793cd38efa5e8db858cd49c82439130.tar.bz2 +sha256 2e024a4c0706d58a9c846cc1d036f383906e392f3cd7c3051fc56915b7530eee qtwebsockets-50f3853a83ffc80a978cfa0882bdc2859e8de71e.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5websockets/qt5websockets.mk b/package/qt5/qt5websockets/qt5websockets.mk index 4eafb0b2124..bb96fefe820 100644 --- a/package/qt5/qt5websockets/qt5websockets.mk +++ b/package/qt5/qt5websockets/qt5websockets.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5WEBSOCKETS_VERSION = 6a4991250793cd38efa5e8db858cd49c82439130 +QT5WEBSOCKETS_VERSION = 50f3853a83ffc80a978cfa0882bdc2859e8de71e QT5WEBSOCKETS_SITE = $(QT5_SITE)/qtwebsockets/-/archive/$(QT5WEBSOCKETS_VERSION) QT5WEBSOCKETS_SOURCE = qtwebsockets-$(QT5WEBSOCKETS_VERSION).tar.bz2 QT5WEBSOCKETS_INSTALL_STAGING = YES diff --git a/package/qt5/qt5webview/qt5webview.hash b/package/qt5/qt5webview/qt5webview.hash index fe129509293..00525dbad2a 100644 --- a/package/qt5/qt5webview/qt5webview.hash +++ b/package/qt5/qt5webview/qt5webview.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6b84aab9bc8292f299b249840218e9e69a1dbbff42e08c5da7cb659cff8bc37d qtwebview-826d2a33929c69807917536d48b7861e7682001e.tar.bz2 +sha256 2427179da946d6df409e334c94ffe3f8589035a5d566caf52db2333cc9bfe47c qtwebview-f078642eb9a440f6aa88f2beaf10f445de1e29bb.tar.bz2 # Hashes for license files: sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5webview/qt5webview.mk b/package/qt5/qt5webview/qt5webview.mk index 54da733e7b7..01a377c27b4 100644 --- a/package/qt5/qt5webview/qt5webview.mk +++ b/package/qt5/qt5webview/qt5webview.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5WEBVIEW_VERSION = 826d2a33929c69807917536d48b7861e7682001e +QT5WEBVIEW_VERSION = f078642eb9a440f6aa88f2beaf10f445de1e29bb QT5WEBVIEW_SITE = $(QT5_SITE)/qtwebview/-/archive/$(QT5WEBVIEW_VERSION) QT5WEBVIEW_SOURCE = qtwebview-$(QT5WEBVIEW_VERSION).tar.bz2 QT5WEBVIEW_DEPENDENCIES = qt5webengine diff --git a/package/qt5/qt5x11extras/qt5x11extras.hash b/package/qt5/qt5x11extras/qt5x11extras.hash index 7b369b0a02f..132c28dd963 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/package/qt5/qt5x11extras/qt5x11extras.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 fde322c017bee349d56f73f402ca67ad986e0c43a592e3ee032313aa194406da qtx11extras-51b0a5a2e3e35f4cb17da1e7cb4babef6294bfb4.tar.bz2 +sha256 7d99fa4d900207c0ae1c7a514e7dc0b607c04e0232d2842a8d84f52534bd16e6 qtx11extras-5fb2e067a38d3583684310130f5d8aad064f512f.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5x11extras/qt5x11extras.mk b/package/qt5/qt5x11extras/qt5x11extras.mk index fb6650e84a1..a6fade01353 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/package/qt5/qt5x11extras/qt5x11extras.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5X11EXTRAS_VERSION = 51b0a5a2e3e35f4cb17da1e7cb4babef6294bfb4 +QT5X11EXTRAS_VERSION = 5fb2e067a38d3583684310130f5d8aad064f512f QT5X11EXTRAS_SITE = $(QT5_SITE)/qtx11extras/-/archive/$(QT5X11EXTRAS_VERSION) QT5X11EXTRAS_SOURCE = qtx11extras-$(QT5X11EXTRAS_VERSION).tar.bz2 QT5X11EXTRAS_INSTALL_STAGING = YES diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index a1dbb401546..9be7bb78315 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 6243e6334c0d1467e3e5bdecd981d7e673f4cc99cf2cee3b99597be4218a4bd2 qtxmlpatterns-dfcae10dec8c1c2c544ad0cd303cea113b0af51d.tar.bz2 +sha256 7770b333f2c0079cf65aa19dafd9e7d80fe058baf8e924f1c0d6e75c0b6e7374 qtxmlpatterns-5a1948ddc05bf44017ac12bd5c2b9bc79fbcb9a2.tar.bz2 # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index 6711e9bf70a..2126d3c9152 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT5XMLPATTERNS_VERSION = dfcae10dec8c1c2c544ad0cd303cea113b0af51d +QT5XMLPATTERNS_VERSION = 5a1948ddc05bf44017ac12bd5c2b9bc79fbcb9a2 QT5XMLPATTERNS_SITE = $(QT5_SITE)/qtxmlpatterns/-/archive/$(QT5XMLPATTERNS_VERSION) QT5XMLPATTERNS_SOURCE = qtxmlpatterns-$(QT5XMLPATTERNS_VERSION).tar.bz2 QT5XMLPATTERNS_INSTALL_STAGING = YES diff --git a/package/qt6/Config.in b/package/qt6/Config.in index 4b2b9a11745..276a0217ab2 100644 --- a/package/qt6/Config.in +++ b/package/qt6/Config.in @@ -12,6 +12,11 @@ config BR2_PACKAGE_QT6_ARCH_SUPPORTS default y if BR2_sparc64 depends on BR2_USE_MMU +config BR2_PACKAGE_QT6_GL_SUPPORTS + bool + default y + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES + comment "qt6 needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 8, host gcc >= 8" depends on !BR2_PACKAGE_QT5 depends on BR2_PACKAGE_QT6_ARCH_SUPPORTS @@ -39,6 +44,9 @@ menuconfig BR2_PACKAGE_QT6 if BR2_PACKAGE_QT6 source "package/qt6/qt6base/Config.in" +source "package/qt6/qt6core5compat/Config.in" +source "package/qt6/qt6serialbus/Config.in" source "package/qt6/qt6serialport/Config.in" +source "package/qt6/qt6svg/Config.in" endif diff --git a/package/qt6/qt6.mk b/package/qt6/qt6.mk index 575b2f826cd..1edb252c967 100644 --- a/package/qt6/qt6.mk +++ b/package/qt6/qt6.mk @@ -5,7 +5,7 @@ ################################################################################ QT6_VERSION_MAJOR = 6.4 -QT6_VERSION = $(QT6_VERSION_MAJOR).0 +QT6_VERSION = $(QT6_VERSION_MAJOR).3 QT6_SOURCE_TARBALL_PREFIX = everywhere-src QT6_SITE = https://download.qt.io/archive/qt/$(QT6_VERSION_MAJOR)/$(QT6_VERSION)/submodules diff --git a/package/qt6/qt6base/Config.in b/package/qt6/qt6base/Config.in index e8357a675c5..3b15d40c832 100644 --- a/package/qt6/qt6base/Config.in +++ b/package/qt6/qt6base/Config.in @@ -30,8 +30,152 @@ config BR2_PACKAGE_QT6BASE_DBUS help This option enables the D-Bus module. +config BR2_PACKAGE_QT6BASE_GUI + bool "gui module" + select BR2_PACKAGE_FREETYPE + # At least one graphic backend must be enabled, so enable + # linuxfb if nothing is enabled. + select BR2_PACKAGE_QT6BASE_LINUXFB if \ + !BR2_PACKAGE_QT6BASE_XCB && \ + !BR2_PACKAGE_QT6BASE_EGLFS + help + This option enables the Qt6Gui library. + +if BR2_PACKAGE_QT6BASE_GUI + +config BR2_PACKAGE_QT6BASE_VULKAN + bool "Vulkan support" + depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader + depends on !BR2_STATIC_LIBS # vulkan-loader + depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader + select BR2_PACKAGE_VULKAN_HEADERS + select BR2_PACKAGE_VULKAN_LOADER + help + This option enables Vulkan support. + +config BR2_PACKAGE_QT6BASE_LINUXFB + bool "linuxfb support" + +config BR2_PACKAGE_QT6BASE_XCB + bool "X.org XCB support" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_IMAGE + select BR2_PACKAGE_XCB_UTIL_KEYSYMS + select BR2_PACKAGE_XCB_UTIL_RENDERUTIL + select BR2_PACKAGE_XCB_UTIL_WM + select BR2_PACKAGE_LIBXKBCOMMON + +comment "X.org XCB backend available if X.org is enabled" + depends on !BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_QT6BASE_EGLFS + bool "eglfs support" + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGBM + depends on BR2_PACKAGE_QT6_GL_SUPPORTS + select BR2_PACKAGE_QT6BASE_OPENGL + +config BR2_PACKAGE_QT6BASE_DEFAULT_QPA + string "Default graphical platform" + help + Choose the default platform abstraction to use for graphical + applications (e.g xcb, linuxfb, eglfs, ...). If this is + empty, the default for your architecture will be used + (usually this is eglfs). + + You can get a list of supported platforms by running a Qt + application with the option "-platform help" on your + target. You can choose a different platform at runtime with + the -platform option. + +config BR2_PACKAGE_QT6BASE_OPENGL + bool "OpenGL support" + depends on BR2_PACKAGE_QT6_GL_SUPPORTS + help + This option enables OpenGL support. + +comment "OpenGL support needs an OpenGL-capable backend" + depends on !BR2_PACKAGE_QT6_GL_SUPPORTS + +if BR2_PACKAGE_QT6BASE_OPENGL + +choice + prompt "OpenGL API" + help + Select OpenGL API. + +config BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP + bool "Desktop OpenGL" + depends on BR2_PACKAGE_HAS_LIBGL + help + Use desktop OpenGL. + +config BR2_PACKAGE_QT6BASE_OPENGL_ES2 + bool "OpenGL ES 2.0+" + depends on BR2_PACKAGE_HAS_LIBGLES + help + Use OpenGL ES 2.0 and later versions. + +endchoice + +endif + +config BR2_PACKAGE_QT6BASE_FONTCONFIG + bool "fontconfig support" + select BR2_PACKAGE_FONTCONFIG + help + This option enables Fontconfig support using the system + fontconfig library. + +config BR2_PACKAGE_QT6BASE_HARFBUZZ + bool "harfbuzz support" + select BR2_PACKAGE_HARFBUZZ if \ + BR2_TOOLCHAIN_HAS_SYNC_4 && \ + BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + help + This option enables HarfBuzz support (either system harfbuzz + if the toolchain supports __sync for 4 bytes, or the qt + provided one which avoids this dependency by using QAtomic). + +config BR2_PACKAGE_QT6BASE_GIF + bool "GIF support" + help + This compiles and installs the plugin for GIF reading support. + +config BR2_PACKAGE_QT6BASE_JPEG + bool "JPEG support" + select BR2_PACKAGE_JPEG + help + This option enables JPEG support using the system libjpeg + library. + +config BR2_PACKAGE_QT6BASE_PNG + bool "PNG support" + select BR2_PACKAGE_LIBPNG + help + This option enables PNG support using the system libpng + library. + +config BR2_PACKAGE_QT6BASE_WIDGETS + bool "widgets module" + help + This option enables the Qt6Widgets library. + +config BR2_PACKAGE_QT6BASE_PRINTSUPPORT + bool "printing support" + # yes, print support needs widgets + depends on BR2_PACKAGE_QT6BASE_WIDGETS + help + This option enables printing support, optionally using CUPS + if available. + +endif + config BR2_PACKAGE_QT6BASE_NETWORK bool "network module" + select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL help This options enables the Qt6Network library. @@ -46,7 +190,7 @@ config BR2_PACKAGE_QT6BASE_MYSQL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB help Build MySQL plugin @@ -91,6 +235,12 @@ config BR2_PACKAGE_QT6BASE_TEST help This options enables the Qt6Test library. +config BR2_PACKAGE_QT6BASE_TSLIB + bool "Enable Tslib support" + select BR2_PACKAGE_TSLIB + help + This options enables the Tslib plugin + config BR2_PACKAGE_QT6BASE_XML bool "XML module" help diff --git a/package/qt6/qt6base/qt6base.hash b/package/qt6/qt6base/qt6base.hash index 6544a371c60..cb111bd405f 100644 --- a/package/qt6/qt6base/qt6base.hash +++ b/package/qt6/qt6base/qt6base.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.0/submodules/qtbase-everywhere-src-6.4.0.tar.xz.sha256 -sha256 cb6475a0bd8567c49f7ffbb072a05516ee6671171bed55db75b22b94ead9b37d qtbase-everywhere-src-6.4.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtbase-everywhere-src-6.4.3.tar.xz.sha256 +sha256 5087c9e5b0165e7bc3c1a4ab176b35d0cd8f52636aea903fa377bdba00891a60 qtbase-everywhere-src-6.4.3.tar.xz # Hashes for license files sha256 e3ba223bb1423f0aad8c3dfce0fe3148db48926d41e6fbc3afbbf5ff9e1c89cb LICENSES/Apache-2.0.txt @@ -11,3 +11,4 @@ sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENS sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt sha256 d040359701c01996a017d5c515678929cd1b0625e64cb86db44025fbb6cdf1fc LICENSES/MIT.txt sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt +sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING diff --git a/package/qt6/qt6base/qt6base.mk b/package/qt6/qt6base/qt6base.mk index 2f159f380b0..6857725ef5c 100644 --- a/package/qt6/qt6base/qt6base.mk +++ b/package/qt6/qt6base/qt6base.mk @@ -7,6 +7,10 @@ QT6BASE_VERSION = $(QT6_VERSION) QT6BASE_SITE = $(QT6_SITE) QT6BASE_SOURCE = qtbase-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6BASE_VERSION).tar.xz +QT6BASE_CPE_ID_VENDOR = qt +QT6BASE_CPE_ID_PRODUCT = qt + +QT6BASE_CMAKE_BACKEND = ninja QT6BASE_LICENSE = \ GPL-2.0+ or LGPL-3.0, \ @@ -29,7 +33,6 @@ QT6BASE_LICENSE_FILES = \ LICENSES/Qt-GPL-exception-1.0.txt QT6BASE_DEPENDENCIES = \ - host-ninja \ host-qt6base \ double-conversion \ libb2 \ @@ -38,9 +41,7 @@ QT6BASE_DEPENDENCIES = \ QT6BASE_INSTALL_STAGING = YES QT6BASE_CONF_OPTS = \ - -GNinja \ -DQT_HOST_PATH=$(HOST_DIR) \ - -DFEATURE_gui=OFF \ -DFEATURE_concurrent=OFF \ -DFEATURE_xml=OFF \ -DFEATURE_sql=OFF \ @@ -73,28 +74,16 @@ QT6BASE_CONF_OPTS += \ -DFEATURE_avx512ifma=OFF \ -DFEATURE_avx512pf=OFF \ -DFEATURE_avx512vbmi=OFF \ - -DFEATURE_avx512vl=OFF - -define QT6BASE_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6BASE_BUILDDIR) -endef - -define QT6BASE_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) --prefix $(STAGING_DIR)/usr -endef - -define QT6BASE_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT6BASE_BUILDDIR) --prefix $(TARGET_DIR)/usr -endef + -DFEATURE_avx512vbmi2=OFF \ + -DFEATURE_avx512vl=OFF \ + -DFEATURE_vaes=OFF HOST_QT6BASE_DEPENDENCIES = \ - host-ninja \ host-double-conversion \ host-libb2 \ host-pcre2 \ host-zlib HOST_QT6BASE_CONF_OPTS = \ - -GNinja \ -DFEATURE_gui=OFF \ -DFEATURE_concurrent=OFF \ -DFEATURE_xml=ON \ @@ -109,14 +98,6 @@ HOST_QT6BASE_CONF_OPTS = \ -DFEATURE_system_pcre2=ON \ -DFEATURE_system_zlib=ON -define HOST_QT6BASE_BUILD_CMDS - $(HOST_MAKE_ENV) $(BR2_CMAKE) --build $(HOST_QT6BASE_BUILDDIR) -endef - -define HOST_QT6BASE_INSTALL_CMDS - $(HOST_MAKE_ENV) $(BR2_CMAKE) --install $(HOST_QT6BASE_BUILDDIR) -endef - # Conditional blocks below are ordered by alphabetic ordering of the # BR2_PACKAGE_* option. @@ -141,6 +122,159 @@ else QT6BASE_CONF_OPTS += -DFEATURE_glib=OFF endif +ifeq ($(BR2_PACKAGE_QT6BASE_GUI),y) +QT6BASE_CONF_OPTS += \ + -DFEATURE_gui=ON \ + -DFEATURE_freetype=ON \ + -DFEATURE_vulkan=OFF +QT6BASE_DEPENDENCIES += freetype + +ifeq ($(BR2_PACKAGE_QT6BASE_VULKAN),y) +QT6BASE_DEPENDENCIES += vulkan-headers vulkan-loader +QT6BASE_CONFIGURE_OPTS += -DFEATURE_vulkan=ON +else +QT6BASE_CONFIGURE_OPTS += -DFEATURE_vulkan=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_LINUXFB),y) +QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=ON +else +QT6BASE_CONF_OPTS += -DFEATURE_linuxfb=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_XCB),y) +QT6BASE_CONF_OPTS += \ + -DFEATURE_xcb=ON \ + -DFEATURE_xcb_xlib=ON \ + -DFEATURE_xkbcommon=ON \ + -DFEATURE_xkbcommon_x11=ON +QT6BASE_DEPENDENCIES += \ + libxcb \ + libxkbcommon \ + xcb-util-wm \ + xcb-util-image \ + xcb-util-keysyms \ + xcb-util-renderutil \ + xlib_libX11 +else +QT6BASE_CONF_OPTS += -DFEATURE_xcb=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_HARFBUZZ),y) +QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=ON +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),y) +# system harfbuzz in case __sync for 4 bytes is supported +QT6BASE_CONF_OPTS += -DQT_USE_BUNDLED_BundledHarfbuzz=OFF +QT6BASE_DEPENDENCIES += harfbuzz +else #BR2_TOOLCHAIN_HAS_SYNC_4 +# qt harfbuzz otherwise (using QAtomic instead) +QT6BASE_CONF_OPTS += -DQT_USE_BUNDLED_BundledHarfbuzz=ON +QT6BASE_LICENSE += , MIT (harfbuzz) +QT6BASE_LICENSE_FILES += src/3rdparty/harfbuzz-ng/COPYING +endif +else +QT6BASE_CONF_OPTS += -DFEATURE_harfbuzz=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_PNG),y) +QT6BASE_CONF_OPTS += -DFEATURE_png=ON -DFEATURE_system_png=ON +QT6BASE_DEPENDENCIES += libpng +else +QT6BASE_CONF_OPTS += -DFEATURE_png=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_GIF),y) +QT6BASE_CONF_OPTS += -DFEATURE_gif=ON +else +QT6BASE_CONF_OPTS += -DFEATURE_gif=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_JPEG),y) +QT6BASE_CONF_OPTS += -DFEATURE_jpeg=ON +QT6BASE_DEPENDENCIES += jpeg +else +QT6BASE_CONF_OPTS += -DFEATURE_jpeg=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_PRINTSUPPORT),y) +QT6BASE_CONF_OPTS += -DFEATURE_printsupport=ON +ifeq ($(BR2_PACKAGE_CUPS),y) +QT6BASE_CONF_OPTS += -DFEATURE_cups=ON +QT6BASE_DEPENDENCIES += cups +else +QT6BASE_CONF_OPTS += -DFEATURE_cups=OFF +endif +else +QT6BASE_CONF_OPTS += -DFEATURE_printsupport=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBDRM),y) +QT6BASE_CONF_OPTS += -DFEATURE_kms=ON +QT6BASE_DEPENDENCIES += libdrm +else +QT6BASE_CONF_OPTS += -DFEATURE_kms=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_FONTCONFIG),y) +QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=ON +QT6BASE_DEPENDENCIES += fontconfig +else +QT6BASE_CONF_OPTS += -DFEATURE_fontconfig=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_WIDGETS),y) +QT6BASE_CONF_OPTS += -DFEATURE_widgets=ON + +# only enable gtk support if libgtk3 X11 backend is enabled +ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy) +QT6BASE_CONF_OPTS += -DFEATURE_gtk3=ON +QT6BASE_DEPENDENCIES += libgtk3 +else +QT6BASE_CONF_OPTS += -DFEATURE_gtk3=OFF +endif + +else +QT6BASE_CONF_OPTS += -DFEATURE_widgets=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBINPUT),y) +QT6BASE_CONF_OPTS += -DFEATURE_libinput=ON +QT6BASE_DEPENDENCIES += libinput +else +QT6BASE_CONF_OPTS += -DFEATURE_libinput=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_TSLIB),y) +QT6BASE_CONF_OPTS += -DFEATURE_tslib=ON +QT6BASE_DEPENDENCIES += tslib +else +QT6BASE_CONF_OPTS += -DFEATURE_tslib=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_EGLFS),y) +QT6BASE_CONF_OPTS += -DFEATURE_egl=ON -DFEATURE_eglfs=ON +QT6BASE_DEPENDENCIES += libegl libgbm +else +QT6BASE_CONF_OPTS += -DFEATURE_eglfs=OFF +endif + +ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_DESKTOP),y) +QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengl_desktop=ON +QT6BASE_DEPENDENCIES += libgl +else ifeq ($(BR2_PACKAGE_QT6BASE_OPENGL_ES2),y) +QT6BASE_CONF_OPTS += -DFEATURE_opengl=ON -DFEATURE_opengles2=ON +QT6BASE_DEPENDENCIES += libgles +else +QT6BASE_CONF_OPTS += -DFEATURE_opengl=OFF -DINPUT_opengl=no +endif + +else +QT6BASE_CONF_OPTS += -DFEATURE_gui=OFF +endif + +QT6BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT6BASE_DEFAULT_QPA)) +QT6BASE_CONF_OPTS += $(if $(QT6BASE_DEFAULT_QPA),-DQT_QPA_DEFAULT_PLATFORM=$(QT6BASE_DEFAULT_QPA)) + ifeq ($(BR2_PACKAGE_OPENSSL),y) QT6BASE_CONF_OPTS += -DINPUT_openssl=yes QT6BASE_DEPENDENCIES += openssl @@ -179,7 +313,7 @@ QT6BASE_CONF_OPTS += -DFEATURE_sql_db2=OFF -DFEATURE_sql_ibase=OFF -DFEATURE_sql ifeq ($(BR2_PACKAGE_QT6BASE_MYSQL),y) QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=ON -QT6BASE_DEPENDENCIES += mysql +QT6BASE_DEPENDENCIES += mariadb else QT6BASE_CONF_OPTS += -DFEATURE_sql_mysql=OFF endif @@ -234,5 +368,10 @@ else QT6BASE_CONF_OPTS += -DFEATURE_zstd=OFF endif +define QT6BASE_RM_USR_MKSPECS + $(Q)rm -rf $(TARGET_DIR)/usr/mkspecs +endef +QT6BASE_TARGET_FINALIZE_HOOKS += QT6BASE_RM_USR_MKSPECS + $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/package/qt6/qt6core5compat/Config.in b/package/qt6/qt6core5compat/Config.in new file mode 100644 index 00000000000..9d9e0876012 --- /dev/null +++ b/package/qt6/qt6core5compat/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_QT6CORE5COMPAT + bool "qt6core5compat" + select BR2_PACKAGE_QT6BASE_XML + help + Qt is a cross-platform application and UI framework for + developers using C++. + + The Qt 5 Core Compat module contains the Qt 5 Core APIs that + were removed in Qt 6. The module facilitates the transition + to Qt 6. + + https://doc.qt.io/qt-6/qtcore5-index.html diff --git a/package/qt6/qt6core5compat/qt6core5compat.hash b/package/qt6/qt6core5compat/qt6core5compat.hash new file mode 100644 index 00000000000..0735df3af28 --- /dev/null +++ b/package/qt6/qt6core5compat/qt6core5compat.hash @@ -0,0 +1,10 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtserialport-everywhere-src-6.4.3.tar.xz.sha256 +sha256 d4b249abb823d575eee9045c24d924ba8d1276e6be7735b287689991d998aa7a qt5compat-everywhere-src-6.4.3.tar.xz + +# Hashes for license files: +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt diff --git a/package/qt6/qt6core5compat/qt6core5compat.mk b/package/qt6/qt6core5compat/qt6core5compat.mk new file mode 100644 index 00000000000..0b6d9369cb1 --- /dev/null +++ b/package/qt6/qt6core5compat/qt6core5compat.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# qt6core5compat +# +################################################################################ + +QT6CORE5COMPAT_VERSION = $(QT6_VERSION) +QT6CORE5COMPAT_SITE = $(QT6_SITE) +QT6CORE5COMPAT_SOURCE = qt5compat-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6CORE5COMPAT_VERSION).tar.xz +QT6CORE5COMPAT_INSTALL_STAGING = YES +QT6CORE5COMPAT_SUPPORTS_IN_SOURCE_BUILD = NO + +QT6CORE5COMPAT_CMAKE_BACKEND = ninja + +QT6CORE5COMPAT_LICENSE = \ + GPL-2.0+ or LGPL-3.0, \ + GPL-3.0 with exception (tools), \ + GFDL-1.3 (docs), \ + BSD-3-Clause + +QT6CORE5COMPAT_LICENSE_FILES = \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/GFDL-1.3-no-invariants-only.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/Qt-GPL-exception-1.0.txt + +QT6CORE5COMPAT_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6CORE5COMPAT_DEPENDENCIES = \ + host-pkgconf \ + qt6base + +$(eval $(cmake-package)) diff --git a/package/qt6/qt6serialbus/Config.in b/package/qt6/qt6serialbus/Config.in new file mode 100644 index 00000000000..1f24310e611 --- /dev/null +++ b/package/qt6/qt6serialbus/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_QT6SERIALBUS + bool "qt6serialbus" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 # CAN FD + select BR2_PACKAGE_QT6SERIALPORT + select BR2_PACKAGE_QT6BASE_NETWORK + help + Qt is a cross-platform application and UI framework for + developers using C++. + + This package corresponds to the qt6serialbus module. + + https://doc.qt.io/qt-6/qtserialbus-index.html + +comment "qt6serialbus needs headers >= 3.6" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 diff --git a/package/qt6/qt6serialbus/qt6serialbus.hash b/package/qt6/qt6serialbus/qt6serialbus.hash new file mode 100644 index 00000000000..98c89319626 --- /dev/null +++ b/package/qt6/qt6serialbus/qt6serialbus.hash @@ -0,0 +1,11 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtserialbus-everywhere-src-6.4.3.tar.xz.sha256 +sha256 b6446a7516d1f04e561c00f9c50ce4d39dad72150f067722ba759f00b4b34366 qtserialbus-everywhere-src-6.4.3.tar.xz + +# Hashes for license files: +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt +sha256 9b1f50aae6267f9d5e0ceb6775ee86450262c25ec7c0573e151fe5d3f18a4700 LICENSES/LicenseRef-Qt-Commercial.txt +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt diff --git a/package/qt6/qt6serialbus/qt6serialbus.mk b/package/qt6/qt6serialbus/qt6serialbus.mk new file mode 100644 index 00000000000..631531e14ff --- /dev/null +++ b/package/qt6/qt6serialbus/qt6serialbus.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# qt6serialbus +# +################################################################################ + +QT6SERIALBUS_VERSION = $(QT6_VERSION) +QT6SERIALBUS_SITE = $(QT6_SITE) +QT6SERIALBUS_SOURCE = qtserialbus-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SERIALBUS_VERSION).tar.xz +QT6SERIALBUS_INSTALL_STAGING = YES +QT6SERIALBUS_SUPPORTS_IN_SOURCE_BUILD = NO + +QT6SERIALBUS_CMAKE_BACKEND = ninja + +QT6SERIALBUS_LICENSE = \ + GPL-2.0+ or LGPL-3.0, \ + GPL-3.0, GFDL-1.3 no invariants (docs) + +QT6SERIALBUS_LICENSE_FILES = \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/GFDL-1.3-no-invariants-only.txt + +QT6SERIALBUS_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6SERIALBUS_DEPENDENCIES = \ + qt6serialport + +$(eval $(cmake-package)) diff --git a/package/qt6/qt6serialport/qt6serialport.hash b/package/qt6/qt6serialport/qt6serialport.hash index 54a45681faf..9341978d862 100644 --- a/package/qt6/qt6serialport/qt6serialport.hash +++ b/package/qt6/qt6serialport/qt6serialport.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.0/submodules/qtserialport-everywhere-src-6.4.0.tar.xz.sha256 -sha256 f148cc9e87ce2228e82bff7a64d9521339ece66c4c66aa43b91bac614f4a4483 qtserialport-everywhere-src-6.4.0.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtserialport-everywhere-src-6.4.3.tar.xz.sha256 +sha256 5f97ad9067efa39a8a2a39fbbc1e03d2191f305733d9c2f3060f8017ecfc95de qtserialport-everywhere-src-6.4.3.tar.xz # Hashes for license files: sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt diff --git a/package/qt6/qt6serialport/qt6serialport.mk b/package/qt6/qt6serialport/qt6serialport.mk index 9656e97c961..bdb16dd892e 100644 --- a/package/qt6/qt6serialport/qt6serialport.mk +++ b/package/qt6/qt6serialport/qt6serialport.mk @@ -10,6 +10,8 @@ QT6SERIALPORT_SOURCE = qtserialport-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SERIALPORT QT6SERIALPORT_INSTALL_STAGING = YES QT6SERIALPORT_SUPPORTS_IN_SOURCE_BUILD = NO +QT6SERIALPORT_CMAKE_BACKEND = ninja + QT6SERIALPORT_LICENSE = \ GPL-2.0+ or LGPL-3.0, \ GPL-3.0 with exception (tools), \ @@ -25,7 +27,6 @@ QT6SERIALPORT_LICENSE_FILES = \ LICENSES/Qt-GPL-exception-1.0.txt QT6SERIALPORT_CONF_OPTS = \ - -GNinja \ -DQT_HOST_PATH=$(HOST_DIR) \ -DBUILD_WITH_PCH=OFF \ -DQT_BUILD_EXAMPLES=OFF \ @@ -33,19 +34,6 @@ QT6SERIALPORT_CONF_OPTS = \ QT6SERIALPORT_DEPENDENCIES = \ host-pkgconf \ - host-ninja \ qt6base -define QT6SERIALPORT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(QT6SERIALPORT_BUILDDIR) -endef - -define QT6SERIALPORT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT6SERIALPORT_BUILDDIR) --prefix $(STAGING_DIR)/usr -endef - -define QT6SERIALPORT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT6SERIALPORT_BUILDDIR) --prefix $(TARGET_DIR)/usr -endef - $(eval $(cmake-package)) diff --git a/package/qt6/qt6svg/Config.in b/package/qt6/qt6svg/Config.in new file mode 100644 index 00000000000..179101c97f6 --- /dev/null +++ b/package/qt6/qt6svg/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_QT6SVG + bool "qt6svg" + select BR2_PACKAGE_QT6BASE_GUI + help + Qt is a cross-platform application and UI framework for + developers using C++. + + Qt SVG provides classes for rendering and displaying SVG + drawings in widgets and on other paint devices. + + https://doc.qt.io/qt-6/qtsvg-index.html diff --git a/package/qt6/qt6svg/qt6svg.hash b/package/qt6/qt6svg/qt6svg.hash new file mode 100644 index 00000000000..bb239cb012a --- /dev/null +++ b/package/qt6/qt6svg/qt6svg.hash @@ -0,0 +1,10 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtsvg-everywhere-src-6.4.3.tar.xz.sha256 +sha256 88315f886cf81898705e487cedba6e6160724359d23c518c92c333c098879a4a qtsvg-everywhere-src-6.4.3.tar.xz + +# Hashes for license files: +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt diff --git a/package/qt6/qt6svg/qt6svg.mk b/package/qt6/qt6svg/qt6svg.mk new file mode 100644 index 00000000000..25e87dd2087 --- /dev/null +++ b/package/qt6/qt6svg/qt6svg.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# qt6svg +# +################################################################################ + +QT6SVG_VERSION = $(QT6_VERSION) +QT6SVG_SITE = $(QT6_SITE) +QT6SVG_SOURCE = qtsvg-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SVG_VERSION).tar.xz +QT6SVG_INSTALL_STAGING = YES +QT6SVG_SUPPORTS_IN_SOURCE_BUILD = NO + +QT6SVG_CMAKE_BACKEND = ninja + +QT6SVG_LICENSE = \ + GPL-2.0+ or LGPL-3.0, \ + GPL-3.0 with exception (tools), \ + GFDL-1.3 (docs), \ + BSD-3-Clause + +QT6SVG_LICENSE_FILES = \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/GFDL-1.3-no-invariants-only.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/Qt-GPL-exception-1.0.txt + +QT6SVG_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6SVG_DEPENDENCIES = \ + host-pkgconf \ + qt6base + +$(eval $(cmake-package)) diff --git a/package/quazip/Config.in b/package/quazip/Config.in index bba5eddf3d4..4c7a187571c 100644 --- a/package/quazip/Config.in +++ b/package/quazip/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_QUAZIP bool "quazip" - depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 || BR2_PACKAGE_QT6 select BR2_PACKAGE_ZLIB select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB + select BR2_PACKAGE_QT6CORE5COMPAT if BR2_PACKAGE_QT6 help QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP diff --git a/package/quazip/quazip.hash b/package/quazip/quazip.hash index 16d299fdf4d..1c5c614caf2 100644 --- a/package/quazip/quazip.hash +++ b/package/quazip/quazip.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c1239559cd6860cab80a0fd81f4204e606f9324f702dab6166b0960676ee1754 quazip-1.3.tar.gz +sha256 79633fd3a18e2d11a7d5c40c4c79c1786ba0c74b59ad752e8429746fe1781dd6 quazip-1.4.tar.gz sha256 b455b21b0d31d6e51993f1fb7e0694c75fa0eb0519a9ea62e4815fcf48b140b0 COPYING diff --git a/package/quazip/quazip.mk b/package/quazip/quazip.mk index f4de2a11a40..ac28792f204 100644 --- a/package/quazip/quazip.mk +++ b/package/quazip/quazip.mk @@ -4,13 +4,20 @@ # ################################################################################ -QUAZIP_VERSION = 1.3 +QUAZIP_VERSION = 1.4 QUAZIP_SITE = $(call github,stachenov,quazip,v$(QUAZIP_VERSION)) QUAZIP_INSTALL_STAGING = YES -QUAZIP_DEPENDENCIES = \ - zlib \ - qt5base +QUAZIP_DEPENDENCIES = zlib + +ifeq ($(BR2_PACKAGE_QT5BASE),y) +QUAZIP_DEPENDENCIES += qt5base +endif +ifeq ($(BR2_PACKAGE_QT6BASE),y) +QUAZIP_DEPENDENCIES += qt6base qt6core5compat +endif + QUAZIP_LICENSE = LGPL-2.1 QUAZIP_LICENSE_FILES = COPYING +QUAZIP_CPE_ID_VALID = YES $(eval $(cmake-package)) diff --git a/package/quickjs/Config.in b/package/quickjs/Config.in index dc466241bac..fd174bc6573 100644 --- a/package/quickjs/Config.in +++ b/package/quickjs/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_QUICKJS bool "quickjs" + depends on !BR2_microblaze # fenv.h lacks FE_{DOWN,UP}WARD depends on !BR2_nios2 # fenv.h lacks FE_{DOWN,UP}WARD on nios2 + depends on !BR2_sh # fenv.h lacks FE_{DOWN,UP}WARD depends on !BR2_STATIC_LIBS # No way to check for fenv support. depends on !BR2_TOOLCHAIN_USES_UCLIBC @@ -15,7 +17,9 @@ config BR2_PACKAGE_QUICKJS https://bellard.org/quickjs/ comment "quickjs needs a glibc or musl toolchain w/ gcc >= 4.9, host gcc >= 4.9, dynamic library" + depends on !BR2_microblaze depends on !BR2_nios2 + depends on !BR2_sh depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_HOST_GCC_AT_LEAST_4_9 diff --git a/package/quickjs/quickjs.hash b/package/quickjs/quickjs.hash index b6f160800b9..916fb6e3a27 100644 --- a/package/quickjs/quickjs.hash +++ b/package/quickjs/quickjs.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a45bface4c3379538dea8533878d694e289330488ea7028b105f72572fe7fe1a quickjs-2021-03-27.tar.xz +sha256 e8afe386f875d0e52310ea91aa48e2b0e04182e821f19147794e3e272f4c8d8c quickjs-2023-12-09.tar.xz sha256 f41baf09eef895d468d18c23055d74f711e4b8b2641cef279b5d71285c07bfe8 LICENSE diff --git a/package/quickjs/quickjs.mk b/package/quickjs/quickjs.mk index a026eec4f00..186397f9aa3 100644 --- a/package/quickjs/quickjs.mk +++ b/package/quickjs/quickjs.mk @@ -4,11 +4,12 @@ # ################################################################################ -QUICKJS_VERSION = 2021-03-27 +QUICKJS_VERSION = 2023-12-09 QUICKJS_SOURCE = quickjs-$(QUICKJS_VERSION).tar.xz QUICKJS_SITE = https://bellard.org/quickjs QUICKJS_LICENSE = MIT QUICKJS_LICENSE_FILES = LICENSE +QUICKJS_CPE_ID_VALID = YES QUICKJS_INSTALL_STAGING = YES ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) diff --git a/package/rabbitmq-c/0001-Add-option-to-read-username-password-from-file.patch b/package/rabbitmq-c/0001-Add-option-to-read-username-password-from-file.patch new file mode 100644 index 00000000000..347063cfb3b --- /dev/null +++ b/package/rabbitmq-c/0001-Add-option-to-read-username-password-from-file.patch @@ -0,0 +1,130 @@ +From 463054383fbeef889b409a7f843df5365288e2a0 Mon Sep 17 00:00:00 2001 +From: Christian Kastner +Date: Tue, 13 Jun 2023 14:21:52 +0200 +Subject: [PATCH] Add option to read username/password from file (#781) + +* Add option to read username/password from file + +Upstream: https://github.com/alanxz/rabbitmq-c/commit/463054383fbeef889b409a7f843df5365288e2a0 +Signed-off-by: Fabrice Fontaine +--- + tools/common.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 66 insertions(+) + +diff --git a/tools/common.c b/tools/common.c +index 73b47e25..7efe557b 100644 +--- a/tools/common.c ++++ b/tools/common.c +@@ -18,6 +18,11 @@ + #include "compat.h" + #endif + ++/* For when reading auth data from a file */ ++#define MAXAUTHTOKENLEN 128 ++#define USERNAMEPREFIX "username:" ++#define PASSWORDPREFIX "password:" ++ + void die(const char *fmt, ...) { + va_list ap; + va_start(ap, fmt); +@@ -125,6 +130,7 @@ static char *amqp_vhost; + static char *amqp_username; + static char *amqp_password; + static int amqp_heartbeat = 0; ++static char *amqp_authfile; + #ifdef WITH_SSL + static int amqp_ssl = 0; + static char *amqp_cacert = "/etc/ssl/certs/cacert.pem"; +@@ -147,6 +153,8 @@ struct poptOption connect_options[] = { + "the password to login with", "password"}, + {"heartbeat", 0, POPT_ARG_INT, &amqp_heartbeat, 0, + "heartbeat interval, set to 0 to disable", "heartbeat"}, ++ {"authfile", 0, POPT_ARG_STRING, &amqp_authfile, 0, ++ "path to file containing username/password for authentication", "file"}, + #ifdef WITH_SSL + {"ssl", 0, POPT_ARG_NONE, &amqp_ssl, 0, "connect over SSL/TLS", NULL}, + {"cacert", 0, POPT_ARG_STRING, &amqp_cacert, 0, +@@ -158,6 +166,50 @@ struct poptOption connect_options[] = { + #endif /* WITH_SSL */ + {NULL, '\0', 0, NULL, 0, NULL, NULL}}; + ++void read_authfile(const char *path) { ++ size_t n; ++ FILE *fp = NULL; ++ char token[MAXAUTHTOKENLEN]; ++ ++ if ((amqp_username = malloc(MAXAUTHTOKENLEN)) == NULL || ++ (amqp_password = malloc(MAXAUTHTOKENLEN)) == NULL) { ++ die("Out of memory"); ++ } else if ((fp = fopen(path, "r")) == NULL) { ++ die("Could not read auth data file %s", path); ++ } ++ ++ if (fgets(token, MAXAUTHTOKENLEN, fp) == NULL || ++ strncmp(token, USERNAMEPREFIX, strlen(USERNAMEPREFIX))) { ++ die("Malformed auth file (missing username)"); ++ } ++ strncpy(amqp_username, &token[strlen(USERNAMEPREFIX)], MAXAUTHTOKENLEN); ++ /* Missing newline means token was cut off */ ++ n = strlen(amqp_username); ++ if (amqp_username[n - 1] != '\n') { ++ die("Username too long"); ++ } else { ++ amqp_username[n - 1] = '\0'; ++ } ++ ++ if (fgets(token, MAXAUTHTOKENLEN, fp) == NULL || ++ strncmp(token, PASSWORDPREFIX, strlen(PASSWORDPREFIX))) { ++ die("Malformed auth file (missing password)"); ++ } ++ strncpy(amqp_password, &token[strlen(PASSWORDPREFIX)], MAXAUTHTOKENLEN); ++ /* Missing newline means token was cut off */ ++ n = strlen(amqp_password); ++ if (amqp_password[n - 1] != '\n') { ++ die("Password too long"); ++ } else { ++ amqp_password[n - 1] = '\0'; ++ } ++ ++ (void)fgetc(fp); ++ if (!feof(fp)) { ++ die("Malformed auth file (trailing data)"); ++ } ++} ++ + static void init_connection_info(struct amqp_connection_info *ci) { + ci->user = NULL; + ci->password = NULL; +@@ -237,6 +289,8 @@ static void init_connection_info(struct amqp_connection_info *ci) { + if (amqp_username) { + if (amqp_url) { + die("--username and --url options cannot be used at the same time"); ++ } else if (amqp_authfile) { ++ die("--username and --authfile options cannot be used at the same time"); + } + + ci->user = amqp_username; +@@ -245,11 +299,23 @@ static void init_connection_info(struct amqp_connection_info *ci) { + if (amqp_password) { + if (amqp_url) { + die("--password and --url options cannot be used at the same time"); ++ } else if (amqp_authfile) { ++ die("--password and --authfile options cannot be used at the same time"); + } + + ci->password = amqp_password; + } + ++ if (amqp_authfile) { ++ if (amqp_url) { ++ die("--authfile and --url options cannot be used at the same time"); ++ } ++ ++ read_authfile(amqp_authfile); ++ ci->user = amqp_username; ++ ci->password = amqp_password; ++ } ++ + if (amqp_vhost) { + if (amqp_url) { + die("--vhost and --url options cannot be used at the same time"); diff --git a/package/rabbitmq-c/rabbitmq-c.hash b/package/rabbitmq-c/rabbitmq-c.hash index dc1406d3d52..66768ef34f5 100644 --- a/package/rabbitmq-c/rabbitmq-c.hash +++ b/package/rabbitmq-c/rabbitmq-c.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 437d45e0e35c18cf3e59bcfe5dfe37566547eb121e69fca64b98f5d2c1c2d424 rabbitmq-c-0.11.0.tar.gz -sha256 94a12c906acb31a66c2c8a6c1b6e46cab52bc5694c5ada2a06d86b05d3d3f422 LICENSE-MIT +sha256 8b224e41bba504fc52b02f918d8df7e4bf5359d493cbbff36c06078655c676e6 rabbitmq-c-0.13.0.tar.gz +sha256 3111fdaa26e86dd844d7c6cbb2723d0ed31702a840978ef116c86963c2429b0f LICENSE +sha256 defee723621ff1c556539af42780f449f258e47e3dcc8254bcbc095863f02b7c README.md diff --git a/package/rabbitmq-c/rabbitmq-c.mk b/package/rabbitmq-c/rabbitmq-c.mk index 18ecaa30987..5a0775f3535 100644 --- a/package/rabbitmq-c/rabbitmq-c.mk +++ b/package/rabbitmq-c/rabbitmq-c.mk @@ -4,16 +4,19 @@ # ################################################################################ -RABBITMQ_C_VERSION = 0.11.0 +RABBITMQ_C_VERSION = 0.13.0 RABBITMQ_C_SITE = $(call github,alanxz,rabbitmq-c,v$(RABBITMQ_C_VERSION)) RABBITMQ_C_LICENSE = MIT -RABBITMQ_C_LICENSE_FILES = LICENSE-MIT -RABBITMQ_C_CPE_ID_VENDOR = rabbitmq-c_project +RABBITMQ_C_LICENSE_FILES = LICENSE README.md +RABBITMQ_C_CPE_ID_VALID = YES RABBITMQ_C_INSTALL_STAGING = YES RABBITMQ_C_CONF_OPTS = \ -DBUILD_API_DOCS=OFF \ -DBUILD_TOOLS_DOCS=OFF +# 0001-Add-option-to-read-username-password-from-file.patch +RABBITMQ_C_IGNORE_CVES += CVE-2023-35789 + # BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable ifeq ($(BR2_SHARED_STATIC_LIBS),y) RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON diff --git a/package/racehound/Config.in b/package/racehound/Config.in index d13f90adb48..5b8bdc77bc0 100644 --- a/package/racehound/Config.in +++ b/package/racehound/Config.in @@ -5,7 +5,6 @@ config BR2_PACKAGE_RACEHOUND depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils depends on BR2_TOOLCHAIN_HAS_THREADS # elfutils - depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils # only x86/x86_64 supported depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_ELFUTILS @@ -30,8 +29,7 @@ comment "racehound needs an Linux kernel >= 3.14 to be built" depends on !BR2_LINUX_KERNEL depends on BR2_i386 || BR2_x86_64 -comment "racehound needs a uClibc or glibc toolchain w/ C++, wchar, dynamic library, threads" +comment "racehound needs a toolchain w/ C++, wchar, dynamic library, threads" depends on BR2_i386 || BR2_x86_64 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_HAS_THREADS \ - || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ramspeed/Config.in b/package/ramspeed/Config.in index b236329a84d..bd0438ffe1e 100644 --- a/package/ramspeed/Config.in +++ b/package/ramspeed/Config.in @@ -1,5 +1,9 @@ +comment "ramspeed needs a toolchain not affected by GCC bug 43744" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_43744 + config BR2_PACKAGE_RAMSPEED bool "ramspeed" + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744 help RAMspeed is a free open source command line utility to measure cache and memory performance. diff --git a/package/ranger/0001-colorscheme-check-for-compiled-python-files.patch b/package/ranger/0001-colorscheme-check-for-compiled-python-files.patch deleted file mode 100644 index bde3fee035f..00000000000 --- a/package/ranger/0001-colorscheme-check-for-compiled-python-files.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 654e3116825c4d12340613196279fb13a5662113 Mon Sep 17 00:00:00 2001 -From: Thijs Vermeir -Date: Tue, 20 Oct 2015 18:13:36 +0200 -Subject: [PATCH] colorscheme: check for compiled python files - -Some systems only provide *.pyc files - -Patch accepted upstream: -https://github.com/hut/ranger/commit/d69f1ed3207c785d1a39ddd2992f6abb021b7540 - -Signed-off-by: Thijs Vermeir ---- - ranger/gui/colorscheme.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ranger/gui/colorscheme.py b/ranger/gui/colorscheme.py -index d6afcac..d2b3b2d 100644 ---- a/ranger/gui/colorscheme.py -+++ b/ranger/gui/colorscheme.py -@@ -86,7 +86,7 @@ def _colorscheme_name_to_class(signal): - usecustom = not ranger.arg.clean - - def exists(colorscheme): -- return os.path.exists(colorscheme + '.py') -+ return os.path.exists(colorscheme + '.py') or os.path.exists(colorscheme + '.pyc') - - def is_scheme(x): - try: --- -2.6.1 - diff --git a/package/ranger/Config.in b/package/ranger/Config.in index a379002f950..056f806c33c 100644 --- a/package/ranger/Config.in +++ b/package/ranger/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_RANGER file launcher that is good at automatically finding out which program to use for what file type. - http://ranger.nongnu.org + https://ranger.github.io comment "ranger needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU diff --git a/package/ranger/ranger.hash b/package/ranger/ranger.hash index dee088f229a..b1ae8a8b8f1 100644 --- a/package/ranger/ranger.hash +++ b/package/ranger/ranger.hash @@ -1,4 +1,5 @@ # Locally calculated after checking pgp signature -sha256 94f6e342daee4445f15db5a7440a11138487c49cc25da0c473bbf1b8978f5b79 ranger-1.7.2.tar.gz +sha256 ce088a04c91c25263a9675dc5c43514b7ec1b38c8ea43d9a9d00923ff6cdd251 ranger-1.9.3.tar.gz # Locally computed -sha256 fa3b40d44066b033ac8a134b792a4a4a1915aa7bc7757098e0f67080648a3271 AUTHORS +sha256 ef973501404bd0556fd47324411fc69679f30daf7128e042eafa64e2c4f9ecb9 AUTHORS +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/ranger/ranger.mk b/package/ranger/ranger.mk index 91b30f216e0..d8a55b1fc20 100644 --- a/package/ranger/ranger.mk +++ b/package/ranger/ranger.mk @@ -4,11 +4,11 @@ # ################################################################################ -RANGER_VERSION = 1.7.2 -RANGER_SITE = http://ranger.nongnu.org -RANGER_SETUP_TYPE = distutils +RANGER_VERSION = 1.9.3 +RANGER_SITE = https://ranger.github.io +RANGER_SETUP_TYPE = setuptools RANGER_LICENSE = GPL-3.0 -RANGER_LICENSE_FILES = AUTHORS +RANGER_LICENSE_FILES = AUTHORS LICENSE # The ranger script request python to be called with -O (optimize generated # bytecode slightly; also PYTHONOPTIMIZE=x). This implicitly requires the python @@ -16,7 +16,7 @@ RANGER_LICENSE_FILES = AUTHORS # files are installed. define RANGER_DO_NOT_GENERATE_BYTECODE_AT_RUNTIME - $(SED) 's%/usr/bin/python -O%/usr/bin/python%g' $(@D)/scripts/ranger + $(SED) 's%/usr/bin/python -O%/usr/bin/python%g' $(@D)/ranger.py endef ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y) diff --git a/package/raptor/0002-Calcualte-max-nspace-declarations-correctly-for-XML-.patch b/package/raptor/0002-Calcualte-max-nspace-declarations-correctly-for-XML-.patch deleted file mode 100644 index 406e265cf33..00000000000 --- a/package/raptor/0002-Calcualte-max-nspace-declarations-correctly-for-XML-.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 590681e546cd9aa18d57dc2ea1858cb734a3863f Mon Sep 17 00:00:00 2001 -From: Dave Beckett -Date: Sun, 16 Apr 2017 23:15:12 +0100 -Subject: [PATCH] Calcualte max nspace declarations correctly for XML writer - -(raptor_xml_writer_start_element_common): Calculate max including for -each attribute a potential name and value. - -Fixes Issues #0000617 http://bugs.librdf.org/mantis/view.php?id=617 -and #0000618 http://bugs.librdf.org/mantis/view.php?id=618 - -[Peter: fixes CVE-2017-18926, upstream: - https://github.com/dajobe/raptor/commit/590681e546cd9aa18d57dc2ea1858cb734a3863f] -Signed-off-by: Peter Korsgaard ---- - src/raptor_xml_writer.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/raptor_xml_writer.c b/src/raptor_xml_writer.c -index 693b9468..0d3a36a5 100644 ---- a/src/raptor_xml_writer.c -+++ b/src/raptor_xml_writer.c -@@ -181,9 +181,10 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, - size_t nspace_declarations_count = 0; - unsigned int i; - -- /* max is 1 per element and 1 for each attribute + size of declared */ - if(nstack) { -- int nspace_max_count = element->attribute_count+1; -+ int nspace_max_count = element->attribute_count * 2; /* attr and value */ -+ if(element->name->nspace) -+ nspace_max_count++; - if(element->declared_nspaces) - nspace_max_count += raptor_sequence_size(element->declared_nspaces); - if(element->xml_language) -@@ -237,7 +238,7 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, - } - } - -- /* Add the attribute + value */ -+ /* Add the attribute's value */ - nspace_declarations[nspace_declarations_count].declaration= - raptor_qname_format_as_xml(element->attributes[i], - &nspace_declarations[nspace_declarations_count].length); --- -2.20.1 - diff --git a/package/raptor/0002-Remove-the-access-to-entities-checked-private-symbol.patch b/package/raptor/0002-Remove-the-access-to-entities-checked-private-symbol.patch new file mode 100644 index 00000000000..cd9542a9a90 --- /dev/null +++ b/package/raptor/0002-Remove-the-access-to-entities-checked-private-symbol.patch @@ -0,0 +1,35 @@ +From 4dbc4c1da2a033c497d84a1291c46f416a9cac51 Mon Sep 17 00:00:00 2001 +From: David Anes +Date: Thu, 4 May 2023 11:54:02 +0200 +Subject: [PATCH] Remove the access to entities 'checked' private symbol for + libxml2 2.11.0 + +Since version 2.11.0, some private symbols that were never intended +as public API/ABI have been removed from libxml2, therefore the field +'checked' is no longer present and raptor fails to build in this +scenario. + +Upstream: https://github.com/dajobe/raptor/commit/4dbc4c1da2a033c497d84a1291c46f416a9cac51 + +Signed-off-by: Bernd Kuhls +--- + src/raptor_libxml.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/raptor_libxml.c b/src/raptor_libxml.c +index 538c2c8e..8bcee139 100644 +--- a/src/raptor_libxml.c ++++ b/src/raptor_libxml.c +@@ -246,10 +246,11 @@ raptor_libxml_getEntity(void* user_data, const xmlChar *name) + + ret->owner = 1; + +-#if LIBXML_VERSION >= 20627 ++#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100 + /* Checked field was released in 2.6.27 on 2006-10-25 + * http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6 + * ++ * and was later removed in version 2.11.0 + */ + + /* Mark this entity as having been checked - never do this again */ diff --git a/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch b/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch deleted file mode 100644 index a48a583cb1e..00000000000 --- a/package/raptor/0003-XML-Writer-compare-namespace-declarations-correctly.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4f5dbbffcc1c6cf0398bd03450453289a0979dea Mon Sep 17 00:00:00 2001 -From: Dave Beckett -Date: Sat, 18 Sep 2021 17:40:00 -0700 -Subject: [PATCH] XML Writer : compare namespace declarations correctly - -Apply patch from -0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch.1 -that fixes Issue#0000650 https://bugs.librdf.org/mantis/view.php?id=650 -which overwrote heap during XML writing in parse type literal -content. This was detected with clang asan. - -Thanks to Michael Stahl / mst2 for the fix. - -[Retrieved from: -https://github.com/dajobe/raptor/commit/4f5dbbffcc1c6cf0398bd03450453289a0979dea] -Signed-off-by: Fabrice Fontaine ---- - src/raptor_xml_writer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/raptor_xml_writer.c b/src/raptor_xml_writer.c -index 56993dc3..4426d38c 100644 ---- a/src/raptor_xml_writer.c -+++ b/src/raptor_xml_writer.c -@@ -227,7 +227,7 @@ raptor_xml_writer_start_element_common(raptor_xml_writer* xml_writer, - - /* check it wasn't an earlier declaration too */ - for(j = 0; j < nspace_declarations_count; j++) -- if(nspace_declarations[j].nspace == element->attributes[j]->nspace) { -+ if(nspace_declarations[j].nspace == element->attributes[i]->nspace) { - declare_me = 0; - break; - } diff --git a/package/raptor/raptor.hash b/package/raptor/raptor.hash index 2a54bf270de..05e9c53902d 100644 --- a/package/raptor/raptor.hash +++ b/package/raptor/raptor.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed raptor2-2.0.15.tar.gz -sha256 6b926a47abfb87451c436fbd4a868defec963d0232c70b806ac02d4a2a6e1968 LICENSE.txt +sha256 089db78d7ac982354bdbf39d973baf09581e6904ac4c92a98c5caadb3de44680 raptor2-2.0.16.tar.gz +sha256 0f0c719a05c9f7a0be2051ab83c1470837f595ed23e34989f46fd8eb45cfc251 LICENSE.txt diff --git a/package/raptor/raptor.mk b/package/raptor/raptor.mk index 69ac121300e..ec7643ce3dd 100644 --- a/package/raptor/raptor.mk +++ b/package/raptor/raptor.mk @@ -4,7 +4,7 @@ # ################################################################################ -RAPTOR_VERSION = 2.0.15 +RAPTOR_VERSION = 2.0.16 RAPTOR_SOURCE = raptor2-$(RAPTOR_VERSION).tar.gz RAPTOR_SITE = http://download.librdf.org/source RAPTOR_DEPENDENCIES = libxml2 libxslt @@ -17,12 +17,6 @@ RAPTOR_INSTALL_STAGING = YES # Flag is added to make sure the patch is applied for the configure.ac of raptor. RAPTOR_AUTORECONF = YES -# 0002-Calcualte-max-nspace-declarations-correctly-for-XML-.patch -RAPTOR_IGNORE_CVES += CVE-2017-18926 - -# 0003-XML-Writer-compare-namespace-declarations-correctly.patch -RAPTOR_IGNORE_CVES += CVE-2020-25713 - RAPTOR_CONF_OPTS =\ --with-xml2-config=$(STAGING_DIR)/usr/bin/xml2-config \ --with-xslt-config=$(STAGING_DIR)/usr/bin/xslt-config diff --git a/package/rauc-hawkbit-updater/Config.in b/package/rauc-hawkbit-updater/Config.in new file mode 100644 index 00000000000..dafc2f883c4 --- /dev/null +++ b/package/rauc-hawkbit-updater/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_RAUC_HAWKBIT_UPDATER + bool "rauc-hawkbit-updater" + depends on BR2_TOOLCHAIN_HAS_THREADS # rauc, json-glib + depends on BR2_USE_MMU # rauc, json-glib + depends on BR2_USE_WCHAR # rauc, json-glib + select BR2_PACKAGE_JSON_GLIB + select BR2_PACKAGE_LIBCURL + # runtime + select BR2_PACKAGE_RAUC + help + rauc-hawkbit-updater is a link between Pengutronix RAUC and + the Eclipse Hawkbit API. Hawkbit can communicate to remote + update servers, and use the d-bus interface to trigger + updates from RAUC. + + http://rauc.io/ + +comment "rauc-hawkbit-updater needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rauc-hawkbit-updater/rauc-hawkbit-updater.hash b/package/rauc-hawkbit-updater/rauc-hawkbit-updater.hash new file mode 100644 index 00000000000..c65ead3784a --- /dev/null +++ b/package/rauc-hawkbit-updater/rauc-hawkbit-updater.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 42318e96a464e6c716edb45c48bd3ec3b874462973db902fbe099a395e4acb4b rauc-hawkbit-updater-1.3.tar.xz +sha256 041234c81fd6fe6c531ea1a886b9e740b9ee06759d1a910a14edbd06f4aa62c7 LICENSE diff --git a/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk b/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk new file mode 100644 index 00000000000..3836d3c84e3 --- /dev/null +++ b/package/rauc-hawkbit-updater/rauc-hawkbit-updater.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# rauc-hawkbit-updater +# +################################################################################ + +RAUC_HAWKBIT_UPDATER_VERSION = 1.3 +RAUC_HAWKBIT_UPDATER_SITE = https://github.com/rauc/rauc-hawkbit-updater/releases/download/v$(RAUC_HAWKBIT_UPDATER_VERSION) +RAUC_HAWKBIT_UPDATER_SOURCE = rauc-hawkbit-updater-$(RAUC_HAWKBIT_UPDATER_VERSION).tar.xz +RAUC_HAWKBIT_UPDATER_LICENSE = LGPL-2.1 +RAUC_HAWKBIT_UPDATER_LICENSE_FILES = LICENSE +RAUC_HAWKBIT_UPDATER_DEPENDENCIES = json-glib libcurl +RAUC_HAWKBIT_UPDATER_CFLAGS = $(TARGET_CFLAGS) -std=c99 + +$(eval $(meson-package)) diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash index 8351d0266e8..391d89a8f65 100644 --- a/package/rauc/rauc.hash +++ b/package/rauc/rauc.hash @@ -1,3 +1,3 @@ -# Locally calculated -sha256 d233247c1763b1c56c851d0adef2094b7aa2fcd72decf524a8ac0419188e0978 rauc-1.8.tar.xz +# Locally calculated after checking pgp signature +sha256 ef82ee452939c03a24fd40649afa96497f3cec965994e6c9c0d94239b640bc10 rauc-1.11.3.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk index 0c81a6cc35c..7239d84cc74 100644 --- a/package/rauc/rauc.mk +++ b/package/rauc/rauc.mk @@ -4,16 +4,17 @@ # ################################################################################ -RAUC_VERSION = 1.8 +RAUC_VERSION = 1.11.3 RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 RAUC_LICENSE_FILES = COPYING RAUC_CPE_ID_VENDOR = pengutronix RAUC_DEPENDENCIES = host-pkgconf openssl libglib2 +RAUC_CONF_OPTS += -Dtests=false ifeq ($(BR2_PACKAGE_RAUC_DBUS),y) -RAUC_CONF_OPTS += --enable-service +RAUC_CONF_OPTS += -Dservice=true RAUC_DEPENDENCIES += dbus # systemd service uses dbus interface @@ -28,35 +29,35 @@ endef endif else -RAUC_CONF_OPTS += --disable-service +RAUC_CONF_OPTS += -Dservice=false endif ifeq ($(BR2_PACKAGE_RAUC_GPT),y) -RAUC_CONF_OPTS += --enable-gpt +RAUC_CONF_OPTS += -Dgpt=enabled RAUC_DEPENDENCIES += util-linux-libs else -RAUC_CONF_OPTS += --disable-gpt +RAUC_CONF_OPTS += -Dgpt=disabled endif ifeq ($(BR2_PACKAGE_RAUC_NETWORK),y) -RAUC_CONF_OPTS += --enable-network +RAUC_CONF_OPTS += -Dnetwork=true RAUC_DEPENDENCIES += libcurl else -RAUC_CONF_OPTS += --disable-network +RAUC_CONF_OPTS += -Dnetwork=false endif ifeq ($(BR2_PACKAGE_RAUC_JSON),y) -RAUC_CONF_OPTS += --enable-json +RAUC_CONF_OPTS += -Djson=enabled RAUC_DEPENDENCIES += json-glib else -RAUC_CONF_OPTS += --disable-json +RAUC_CONF_OPTS += -Djson=disabled endif ifeq ($(BR2_PACKAGE_RAUC_STREAMING),y) -RAUC_CONF_OPTS += --enable-streaming +RAUC_CONF_OPTS += -Dstreaming=true RAUC_DEPENDENCIES += libnl else -RAUC_CONF_OPTS += --disable-streaming +RAUC_CONF_OPTS += -Dstreaming=false endif HOST_RAUC_DEPENDENCIES = \ @@ -65,12 +66,13 @@ HOST_RAUC_DEPENDENCIES = \ host-libglib2 \ host-squashfs \ $(if $(BR2_PACKAGE_HOST_LIBP11),host-libp11) + HOST_RAUC_CONF_OPTS += \ - --disable-network \ - --disable-json \ - --disable-service \ - --without-dbuspolicydir \ - --with-systemdunitdir=no + -Dnetwork=false \ + -Dstreaming=false \ + -Djson=disabled \ + -Dservice=false \ + -Dtests=false -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(meson-package)) +$(eval $(host-meson-package)) diff --git a/package/rdma-core/0001-util-udma_barrier.h-fix-mips4-build.patch b/package/rdma-core/0001-util-udma_barrier.h-fix-mips4-build.patch new file mode 100644 index 00000000000..6dfb476faaa --- /dev/null +++ b/package/rdma-core/0001-util-udma_barrier.h-fix-mips4-build.patch @@ -0,0 +1,56 @@ +From 1b1ca539f6e1f0b774e989f1022477686e4fc77f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 21 Jan 2024 18:55:34 +0100 +Subject: [PATCH] util/udma_barrier.h: fix mips4 build + +The 'sync' instruction for MIPS was defined in MIPS-II as taking no +operands. MIPS32 extended the define of 'sync' as taking an optional +unsigned 5 bit immediate. + +As a result, replace "sync 0" by "sync" to fix the following build +failure on mips4 raised since version 43.0 and +https://github.com/linux-rdma/rdma-core/commit/b7c428344ea96d446f6ffe31c620a238a7f25c9e: + +/tmp/ccrBy9fV.s: Assembler messages: +/tmp/ccrBy9fV.s:994: Error: invalid operands `sync 0' + +Fixes: + - http://autobuild.buildroot.org/results/2ab22a3ec4287fc15ff6a90d8715b4897b32a933 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/linux-rdma/rdma-core/commit/f3f0c06014c6de845032e6fe9f152674919b3ec6 +--- + util/udma_barrier.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/util/udma_barrier.h b/util/udma_barrier.h +index 0a1f8a45b..3793d2f18 100644 +--- a/util/udma_barrier.h ++++ b/util/udma_barrier.h +@@ -101,7 +101,7 @@ + #elif defined(__riscv) + #define udma_to_device_barrier() asm volatile("fence ow,ow" ::: "memory") + #elif defined(__mips__) +-#define udma_to_device_barrier() asm volatile("sync 0" ::: "memory") ++#define udma_to_device_barrier() asm volatile("sync" ::: "memory") + #else + #error No architecture specific memory barrier defines found! + #endif +@@ -139,7 +139,7 @@ + #elif defined(__riscv) + #define udma_from_device_barrier() asm volatile("fence ir,ir" ::: "memory") + #elif defined(__mips__) +-#define udma_from_device_barrier() asm volatile("sync 0" ::: "memory") ++#define udma_from_device_barrier() asm volatile("sync" ::: "memory") + #else + #error No architecture specific memory barrier defines found! + #endif +@@ -212,7 +212,7 @@ + #include "s390_mmio_insn.h" + #define mmio_flush_writes() s390_pciwb() + #elif defined(__mips__) +-#define mmio_flush_writes() asm volatile("sync 0" ::: "memory") ++#define mmio_flush_writes() asm volatile("sync" ::: "memory") + #else + #error No architecture specific memory barrier defines found! + #endif diff --git a/package/rdma-core/Config.in b/package/rdma-core/Config.in new file mode 100644 index 00000000000..3360e6873d0 --- /dev/null +++ b/package/rdma-core/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_RDMA_CORE + bool "rdma-core" + depends on BR2_USE_MMU # fork() used in rstream example + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # iproute2 + depends on !BR2_STATIC_LIBS # dlopen() + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_IPROUTE2 # runtime + select BR2_PACKAGE_LIBNL + help + This is the userspace components for the Linux Kernel's + drivers/infiniband subsystem. + + https://github.com/linux-rdma/rdma-core + +comment "rdma-core needs a toolchain w/ headers >= 3.4, NPTL, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 \ + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/rdma-core/rdma-core.hash b/package/rdma-core/rdma-core.hash new file mode 100644 index 00000000000..fc1d319123d --- /dev/null +++ b/package/rdma-core/rdma-core.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 1ea2c2678d48be0b179871e9ae8c58ceab11a0c5b69315a332ff51dd607180b7 rdma-core-49.0.tar.gz +sha256 99e0df1d009a21d0dfb031600c550fd8f4efc0c6b2a4ef8b34a995aa6f79c9f4 COPYING.BSD_MIT +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL2 +sha256 c46a557f25b8ef9bec76526c4e593fc13e6cba27e7ba30d73b6497a689cf06f6 COPYING.md diff --git a/package/rdma-core/rdma-core.mk b/package/rdma-core/rdma-core.mk new file mode 100644 index 00000000000..5f8989b3bd4 --- /dev/null +++ b/package/rdma-core/rdma-core.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# rdma-core +# +################################################################################ + +RDMA_CORE_VERSION = 49.0 +RDMA_CORE_SITE = $(call github,linux-rdma,rdma-core,v$(RDMA_CORE_VERSION)) +RDMA_CORE_LICENSE = GPL-2.0 or BSD-2-Clause +RDMA_CORE_LICENSE_FILES = COPYING.GPL2 COPYING.BSD_MIT COPYING.md +RDMA_CORE_DEPENDENCIES = libnl +RDMA_CORE_INSTALL_STAGING = YES + +RDMA_CORE_CONF_OPTS = \ + -DNO_MAN_PAGES=1 \ + -DNO_PYVERBS=1 + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +RDMA_CORE_CONF_OPTS += \ + -DCMAKE_EXE_LINKER_FLAGS=-latomic \ + -DCMAKE_SHARED_LINKER_FLAGS=-latomic +endif + +$(eval $(cmake-package)) diff --git a/package/rdma-core/readme.txt b/package/rdma-core/readme.txt new file mode 100644 index 00000000000..9a95226ef48 --- /dev/null +++ b/package/rdma-core/readme.txt @@ -0,0 +1,75 @@ +Testing rdma-core userspace tools +================================= + +Testing rdma-core using Linux software RoCE implementation: +https://en.wikipedia.org/wiki/RDMA_over_Converged_Ethernet + +Using two systems with working TCP/IP configuration, for example: +- Server IP: 192.168.123.10 +- Client IP: 192.168.123.20 + +Make sure firewall configurations are appropriate. Routable RoCE v2 +uses udp/4791. ibv_rc_pingpong uses tcp/18515 for initial +synchronization. + +Note: this test can be executed in two qemu virtual machines with +bridged networking. + + +Kernel configuration +-------------------- + +The Linux Kernel needs some InfiniBand configuration. In this example +the kernel "rdma_rxe" driver is needed (CONFIG_RDMA_RXE=y). The Kernel +config fragment file used for package test can be used as a starting +point. See: + + support/testing/tests/package/test_rdma_core/linux-rdma.fragment + + +Buildroot package configuration +------------------------------- + +For setting up a software RoCE link, the "rdma" program is needed. It +is provided by the "iproute2" package, when "libmnl" is also +selected. Make sure to have in your Buildroot configuration: + + BR2_PACKAGE_IPROUTE2=y + BR2_PACKAGE_LIBMNL=y + BR2_PACKAGE_RDMA_CORE=y + + +Setting up the rdma link +------------------------ + +On both server and client: + + modprobe rdma_rxe + rdma link add rxe0 type rxe netdev eth0 + + +Testing with rping +------------------ + +On the server side, run the command: + + rping -s -v + +On the client side, run the command: + + rping -c -v -a 192.168.123.10 + + +Testing with ibv_rc_pingpong +---------------------------- + +To test with the pingpong example using the reliable connected (RC) +transport: + +On the server side, run the command: + + ibv_rc_pingpong -d rxe0 -g 1 + +On the client side, run the command: + + ibv_rc_pingpong -d rxe0 -g 1 192.168.123.10 diff --git a/package/re2/Config.in b/package/re2/Config.in index 64217e8aa23..b79e711ad3f 100644 --- a/package/re2/Config.in +++ b/package/re2/Config.in @@ -1,8 +1,11 @@ config BR2_PACKAGE_RE2 bool "re2" + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # needs C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS # libabseil-cpp + select BR2_PACKAGE_LIBABSEIL_CPP help RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like @@ -11,7 +14,8 @@ config BR2_PACKAGE_RE2 https://github.com/google/re2 -comment "re2 needs a toolchain w/ C++, threads, gcc >= 4.8" +comment "re2 needs a toolchain w/ C++, threads, dynamic library, gcc >= 8" + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/package/re2/re2.hash b/package/re2/re2.hash index 380b547658e..543c4160879 100644 --- a/package/re2/re2.hash +++ b/package/re2/re2.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 f89c61410a072e5cbcf8c27e3a778da7d6fd2f2b5b1445cd4f4508bee946ab0f re2-2022-06-01.tar.gz +sha256 cd191a311b84fcf37310e5cd876845b4bf5aee76fdd755008eef3b6478ce07bb re2-2024-02-01.tar.gz sha256 6040cda75d90b1738292a631d89934c411ef7ffd543c4d6a1b7edfc8edf29449 LICENSE diff --git a/package/re2/re2.mk b/package/re2/re2.mk index 39b2c8d990a..b962b53e3f3 100644 --- a/package/re2/re2.mk +++ b/package/re2/re2.mk @@ -4,29 +4,26 @@ # ################################################################################ -RE2_VERSION = 2022-06-01 +RE2_VERSION = 2024-02-01 RE2_SITE = $(call github,google,re2,$(RE2_VERSION)) RE2_LICENSE = BSD-3-Clause RE2_LICENSE_FILES = LICENSE RE2_INSTALL_STAGING = YES - -RE2_MAKE_OPTS = \ - $(TARGET_CONFIGURE_OPTS) \ - CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" +RE2_DEPENDENCIES = libabseil-cpp define RE2_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(RE2_MAKE_OPTS) \ + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ -C $(@D) $(if $(BR2_STATIC_LIBS),static) endef define RE2_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(RE2_MAKE_OPTS) \ + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) \ $(if $(BR2_STATIC_LIBS),static-install,install) endef define RE2_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(RE2_MAKE_OPTS) \ + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ DESTDIR="$(TARGET_DIR)" prefix=/usr -C $(@D) \ $(if $(BR2_STATIC_LIBS),static-install,install) endef diff --git a/package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch b/package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch new file mode 100644 index 00000000000..c2c2d812600 --- /dev/null +++ b/package/readline/0002-Readline-8.2-patch-1-fix-crash-when-readline-is-star.patch @@ -0,0 +1,41 @@ +From b8d91eab12603fa88e095248855f5f772d182d05 Mon Sep 17 00:00:00 2001 +From: Chet Ramey +Date: Wed, 5 Oct 2022 10:41:16 -0400 +Subject: [PATCH] Readline-8.2 patch 1: fix crash when readline is started with + an invalid locale specification + +Upstream: https://git.savannah.gnu.org/cgit/readline.git/patch/?id=7274faabe97ce53d6b464272d7e6ab6c1392837b +[peter: stripped unrelated ._.gitignore change] +Signed-off-by: Peter Seiderer +--- + nls.c | 4 ++++ + patchlevel | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/nls.c b/nls.c +index 5c6a13b..8c027d6 100644 +--- a/nls.c ++++ b/nls.c +@@ -141,6 +141,10 @@ _rl_init_locale (void) + if (lspec == 0) + lspec = ""; + ret = setlocale (LC_CTYPE, lspec); /* ok, since it does not change locale */ ++ if (ret == 0 || *ret == 0) ++ ret = setlocale (LC_CTYPE, (char *)NULL); ++ if (ret == 0 || *ret == 0) ++ ret = RL_DEFAULT_LOCALE; + #else + ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec; + #endif +diff --git a/patchlevel b/patchlevel +index d8c9df7..fdf4740 100644 +--- a/patchlevel ++++ b/patchlevel +@@ -1,3 +1,3 @@ + # Do not edit -- exists only for use by patch + +-0 ++1 +-- +2.39.2 + diff --git a/package/readline/readline.hash b/package/readline/readline.hash index b0530a2d729..627746d8214 100644 --- a/package/readline/readline.hash +++ b/package/readline/readline.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature from -# https://ftp.gnu.org/gnu/readline/readline-8.1.2.tar.gz.sig -sha256 7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6 readline-8.1.2.tar.gz +# https://ftp.gnu.org/gnu/readline/readline-8.2.tar.gz.sig +sha256 3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35 readline-8.2.tar.gz # Hash for license file sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/readline/readline.mk b/package/readline/readline.mk index b1fd181b784..66812dee77c 100644 --- a/package/readline/readline.mk +++ b/package/readline/readline.mk @@ -4,7 +4,7 @@ # ################################################################################ -READLINE_VERSION = 8.1.2 +READLINE_VERSION = 8.2 READLINE_SITE = $(BR2_GNU_MIRROR)/readline READLINE_INSTALL_STAGING = YES READLINE_DEPENDENCIES = ncurses host-autoconf diff --git a/package/redis-plus-plus/Config.in b/package/redis-plus-plus/Config.in new file mode 100644 index 00000000000..64a84102d4a --- /dev/null +++ b/package/redis-plus-plus/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_REDIS_PLUS_PLUS + bool "redis-plus-plus" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_HIREDIS + help + Redis client written in C++ + + This is a C++ client library for Redis. + It's based on hiredis, and is compatible + with C++ 17, C++ 14, and C++ 11. + + https://github.com/sewenew/redis-plus-plus + +comment "redis-plus-plus needs a toolchain w/ C++, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/redis-plus-plus/redis-plus-plus.hash b/package/redis-plus-plus/redis-plus-plus.hash new file mode 100644 index 00000000000..4cdc176025e --- /dev/null +++ b/package/redis-plus-plus/redis-plus-plus.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 26c1e45cdbafe1af4d2cf756957b2268baab6f802b53bcdd435864620e2c03c7 redis-plus-plus-1.3.12.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/redis-plus-plus/redis-plus-plus.mk b/package/redis-plus-plus/redis-plus-plus.mk new file mode 100644 index 00000000000..167d8bfa015 --- /dev/null +++ b/package/redis-plus-plus/redis-plus-plus.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# redis-plus-plus +# +################################################################################ + +REDIS_PLUS_PLUS_VERSION = 1.3.12 +REDIS_PLUS_PLUS_SITE = $(call github,sewenew,redis-plus-plus,$(REDIS_PLUS_PLUS_VERSION)) +REDIS_PLUS_PLUS_LICENSE = Apache-2.0 +REDIS_PLUS_PLUS_LICENSE_FILES = LICENSE +REDIS_PLUS_PLUS_INSTALL_STAGING = YES +REDIS_PLUS_PLUS_DEPENDENCIES = hiredis + +REDIS_PLUS_PLUS_CONF_OPTS = \ + -DREDIS_PLUS_PLUS_BUILD_SHARED=$(if $(BR2_STATIC_LIBS),OFF,ON) \ + -DREDIS_PLUS_PLUS_BUILD_TEST=OFF + +# since version 1.3.0, by default, redis-plus-plus is built with the +# -std=c++17 standard +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),) +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y) +REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=14 +else +REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=11 +endif +endif + +$(eval $(cmake-package)) diff --git a/package/redis/0001-uclibc.patch b/package/redis/0001-uclibc.patch index 197f43e7a72..6761f9f3fe0 100644 --- a/package/redis/0001-uclibc.patch +++ b/package/redis/0001-uclibc.patch @@ -12,17 +12,19 @@ Signed-off-by: Martin Bark Signed-off-by: Titouan Christophe [Fabrice: update for 6.0.9] Signed-off-by: Fabrice Fontaine +[Titouan: adapt to 7.2.1] +Signed-off-by: Titouan Christophe ========================================================================= diff -ur old/src/config.h new/src/config.h --- old/src/config.h 2012-10-26 07:20:24.000000000 -0700 +++ new/src/config.h 2012-10-31 13:41:51.206309564 -0700 -@@ -62,7 +62,7 @@ +@@ -71,7 +71,7 @@ #endif /* Test for backtrace() */ -#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__)) || \ +#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__) && !defined(__UCLIBC__)) || \ - defined(__FreeBSD__) || ((defined(__OpenBSD__) || defined(__NetBSD__)) && defined(USE_BACKTRACE))\ - || defined(__DragonFly__) + defined(__FreeBSD__) || ((defined(__OpenBSD__) || defined(__NetBSD__) || defined(__sun)) && defined(USE_BACKTRACE))\ + || defined(__DragonFly__) || (defined(__UCLIBC__) && defined(__UCLIBC_HAS_BACKTRACE__)) #define HAVE_BACKTRACE 1 diff --git a/package/redis/redis.hash b/package/redis/redis.hash index a10df460316..378b9303744 100644 --- a/package/redis/redis.hash +++ b/package/redis/redis.hash @@ -1,5 +1,5 @@ # From https://github.com/redis/redis-hashes/blob/master/README -sha256 67054cc37b58c125df93bd78000261ec0ef4436a26b40f38262c780e56315cc3 redis-7.0.5.tar.gz +sha256 8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59 redis-7.2.4.tar.gz # Locally calculated sha256 97f0a15b7bbae580d2609dad2e11f1956ae167be296ab60f4691ab9c30ee9828 COPYING diff --git a/package/redis/redis.mk b/package/redis/redis.mk index 7a637c106c4..2680b11b74b 100644 --- a/package/redis/redis.mk +++ b/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 7.0.5 +REDIS_VERSION = 7.2.4 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING @@ -30,7 +30,7 @@ endif # https://github.com/antirez/redis/pull/609). We set PREFIX # instead. REDIS_BUILDOPTS = $(TARGET_CONFIGURE_OPTS) \ - PREFIX=$(TARGET_DIR)/usr MALLOC=libc + PREFIX=$(TARGET_DIR)/usr MALLOC=libc WARNINGS= ifeq ($(BR2_PACKAGE_SYSTEMD),y) REDIS_DEPENDENCIES += systemd diff --git a/package/refpolicy/2.20231002/0001-policy-modules-services-smartmon.te-make-fstools-opt.patch b/package/refpolicy/2.20231002/0001-policy-modules-services-smartmon.te-make-fstools-opt.patch new file mode 100644 index 00000000000..ddf2943bfa7 --- /dev/null +++ b/package/refpolicy/2.20231002/0001-policy-modules-services-smartmon.te-make-fstools-opt.patch @@ -0,0 +1,44 @@ +From c6d1345732c463cb45d8ba490081ad92936bfd69 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 28 Nov 2023 22:30:01 +0100 +Subject: [PATCH] policy/modules/services/smartmon.te: make fstools optional + +Make fstools optional to avoid the following build failure raised since +version 2.20231002 and +https://github.com/SELinuxProject/refpolicy/commit/cb068f09d224f90a97fa63a574fb423bbe1ceeda: + + Compiling targeted policy.33 + env LD_LIBRARY_PATH="/home/thomas/autobuild/instance-2/output-1/host/lib:/home/thomas/autobuild/instance-2/output-1/host/usr/lib" /home/thomas/autobuild/instance-2/output-1/host/usr/bin/checkpolicy -c 33 -U deny -S -O -E policy.conf -o policy.33 + policy/modules/services/smartmon.te:146:ERROR 'type fsadm_exec_t is not within scope' at token ';' on line 237472: + allow smartmon_update_drivedb_t fsadm_exec_t:file { { getattr open map read execute ioctl } ioctl lock execute_no_trans }; + #line 146 + checkpolicy: error(s) encountered while parsing configuration + make[1]: *** [Rules.monolithic:80: policy.33] Error 1 + +Fixes: + - http://autobuild.buildroot.org/results/a01123de9a8c1927060e7e4748666bebfc82ea44 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/SELinuxProject/refpolicy/pull/738 +--- + policy/modules/services/smartmon.te | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/policy/modules/services/smartmon.te b/policy/modules/services/smartmon.te +index 32c80f712..761280c11 100644 +--- a/policy/modules/services/smartmon.te ++++ b/policy/modules/services/smartmon.te +@@ -143,7 +143,9 @@ corenet_tcp_connect_http_port(smartmon_update_drivedb_t) + + files_read_etc_files(smartmon_update_drivedb_t) + +-fstools_exec(smartmon_update_drivedb_t) ++optional_policy(` ++ fstools_exec(smartmon_update_drivedb_t) ++') + + kernel_dontaudit_read_system_state(smartmon_update_drivedb_t) + +-- +2.42.0 + diff --git a/package/refpolicy/Config.in b/package/refpolicy/Config.in index 0e72b895df4..8ae8f0448de 100644 --- a/package/refpolicy/Config.in +++ b/package/refpolicy/Config.in @@ -36,6 +36,14 @@ choice config BR2_PACKAGE_REFPOLICY_UPSTREAM_VERSION bool "Upstream version" + # Consider reworking the following when adding new entries: + # Upstream refpolicy for openssh expects linux-pam to be used + select BR2_PACKAGE_LINUX_PAM if BR2_PACKAGE_OPENSSH \ + && BR2_USE_MMU \ + && BR2_ENABLE_LOCALE \ + && BR2_USE_WCHAR \ + && !BR2_STATIC_LIBS \ + && BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 help Use the refpolicy as provided by Buildroot. diff --git a/package/refpolicy/refpolicy.hash b/package/refpolicy/refpolicy.hash index b08c22ed4e5..70d1acc9afd 100644 --- a/package/refpolicy/refpolicy.hash +++ b/package/refpolicy/refpolicy.hash @@ -1,5 +1,5 @@ # From https://github.com/SELinuxProject/refpolicy/releases -sha256 965f98f0b68a24fd0b8e8d973d319332aea88973e1d6c455ef9c2a31aefaeaa6 refpolicy-2.20220106.tar.bz2 +sha256 c89cd3b2e5d99765cc24536fd8e76de83951ad23e05472350328b5a4f8bee410 refpolicy-2.20231002.tar.bz2 # Locally computed sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/refpolicy/refpolicy.mk b/package/refpolicy/refpolicy.mk index f11b72755ae..fb1c213b840 100644 --- a/package/refpolicy/refpolicy.mk +++ b/package/refpolicy/refpolicy.mk @@ -23,7 +23,7 @@ REFPOLICY_SITE = $(call qstrip,$(BR2_PACKAGE_REFPOLICY_CUSTOM_REPO_URL)) REFPOLICY_SITE_METHOD = git BR_NO_CHECK_HASH_FOR += $(REFPOLICY_SOURCE) else -REFPOLICY_VERSION = 2.20220106 +REFPOLICY_VERSION = 2.20231002 REFPOLICY_SOURCE = refpolicy-$(REFPOLICY_VERSION).tar.bz2 REFPOLICY_SITE = https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_$(subst .,_,$(REFPOLICY_VERSION)) endif diff --git a/package/reproc/0001-reproc-Try-to-fix-gcc-13-build.patch b/package/reproc/0001-reproc-Try-to-fix-gcc-13-build.patch new file mode 100644 index 00000000000..22b21bcbc7e --- /dev/null +++ b/package/reproc/0001-reproc-Try-to-fix-gcc-13-build.patch @@ -0,0 +1,37 @@ +From 0b23d88894ccedde04537fa23ea55cb2f8365342 Mon Sep 17 00:00:00 2001 +From: Daan De Meyer +Date: Sat, 18 Mar 2023 19:38:19 +0100 +Subject: [PATCH] reproc++: Try to fix gcc 13 build + +Upstream: https://github.com/DaanDeMeyer/reproc/commit/0b23d88894ccedde04537fa23ea55cb2f8365342 +Signed-off-by: Fabrice Fontaine +--- + reproc++/include/reproc++/reproc.hpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/reproc++/include/reproc++/reproc.hpp b/reproc++/include/reproc++/reproc.hpp +index ab6f1394..e883ecec 100644 +--- a/reproc++/include/reproc++/reproc.hpp ++++ b/reproc++/include/reproc++/reproc.hpp +@@ -88,7 +88,7 @@ struct redirect { + + struct options { + struct { +- env::type behavior; ++ enum env::type behavior; + /*! Implicitly converts from any STL container of string pairs to the + environment format expected by `reproc_start`. */ + class env extra; +@@ -97,9 +97,9 @@ struct options { + const char *working_directory = nullptr; + + struct { +- redirect in; +- redirect out; +- redirect err; ++ struct redirect in; ++ struct redirect out; ++ struct redirect err; + bool parent; + bool discard; + FILE *file; diff --git a/package/reproc/0002-Fix-gcc-13-build.patch b/package/reproc/0002-Fix-gcc-13-build.patch new file mode 100644 index 00000000000..3e06a2a3965 --- /dev/null +++ b/package/reproc/0002-Fix-gcc-13-build.patch @@ -0,0 +1,28 @@ +From 9f399675b821e175f85ac3ee6e3fd2e6056573eb Mon Sep 17 00:00:00 2001 +From: Daan De Meyer +Date: Fri, 21 Apr 2023 19:36:45 +0200 +Subject: [PATCH] Fix gcc 13 build + +Upstream: https://github.com/DaanDeMeyer/reproc/commit/9f399675b821e175f85ac3ee6e3fd2e6056573eb +Signed-off-by: Fabrice Fontaine +--- + reproc++/include/reproc++/reproc.hpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/reproc++/include/reproc++/reproc.hpp b/reproc++/include/reproc++/reproc.hpp +index b52f495e..7b614a94 100644 +--- a/reproc++/include/reproc++/reproc.hpp ++++ b/reproc++/include/reproc++/reproc.hpp +@@ -88,10 +88,10 @@ struct redirect { + + struct options { + struct { +- enum env::type behavior; ++ reproc::env::type behavior; + /*! Implicitly converts from any STL container of string pairs to the + environment format expected by `reproc_start`. */ +- class env extra; ++ reproc::env extra; + } env = {}; + + const char *working_directory = nullptr; diff --git a/package/reproc/Config.in b/package/reproc/Config.in new file mode 100644 index 00000000000..a4e9c893b11 --- /dev/null +++ b/package/reproc/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_REPROC + bool "reproc" + depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR # uses wchar_t + depends on BR2_TOOLCHAIN_HAS_THREADS # pthread + help + reproc is a cross-platform C/C++ library that simplifies + starting, stopping and communicating with external programs. + + https://github.com/DaanDeMeyer/reproc + +comment "reproc needs a toolchain w/ threads, wchar" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/reproc/reproc.hash b/package/reproc/reproc.hash new file mode 100644 index 00000000000..6da6d0a0bb1 --- /dev/null +++ b/package/reproc/reproc.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 55c780f7faa5c8cabd83ebbb84b68e5e0e09732de70a129f6b3c801e905415dd reproc-14.2.4.tar.gz +sha256 8f91afbe266bebac2cf1b220e0e67ace4cb9a97d2b21940abef20eb6691cfa91 LICENSE diff --git a/package/reproc/reproc.mk b/package/reproc/reproc.mk new file mode 100644 index 00000000000..3167911c4df --- /dev/null +++ b/package/reproc/reproc.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# reproc +# +################################################################################ + +REPROC_VERSION = 14.2.4 +REPROC_SITE = $(call github,DaanDeMeyer,reproc,v$(REPROC_VERSION)) +REPROC_LICENSE = MIT +REPROC_LICENSE_FILES = LICENSE +REPROC_INSTALL_STAGING = YES + +ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_TOOLCHAIN_GCC_AT_LEAST_4_8),yy) # C++11 +REPROC_CONF_OPTS += -DREPROC++=ON +endif + +$(eval $(cmake-package)) diff --git a/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch b/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch index 0efe0d9cfbc..2157ea04509 100644 --- a/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch +++ b/package/resiprocate/0001-Fix-some-issue-compiling-with-Visual-Studio.patch @@ -4,8 +4,8 @@ Date: Sat, 22 Aug 2020 23:14:11 +0100 Subject: [PATCH] Fix some issue compiling with Visual Studio 16.7.0 and tidy up Visual Studio 16 project files -[Retrieved (and updated to keep only RendKa.cxx update) from: -https://github.com/resiprocate/resiprocate/commit/be76b10a50749e2e11dce8dcc38b414a7f9d8747] +Upstream: https://github.com/resiprocate/resiprocate/commit/be76b10a50749e2e11dce8dcc38b414a7f9d8747 +[Retrieved (and updated to keep only RendKa.cxx update)] Signed-off-by: Fabrice Fontaine --- VisualStudioReadme.htm | 65 + diff --git a/package/resiprocate/0002-rutil-OpenSSLInit-disable-use-of-legacy-OpenSSL-memo.patch b/package/resiprocate/0002-rutil-OpenSSLInit-disable-use-of-legacy-OpenSSL-memo.patch new file mode 100644 index 00000000000..c333df849df --- /dev/null +++ b/package/resiprocate/0002-rutil-OpenSSLInit-disable-use-of-legacy-OpenSSL-memo.patch @@ -0,0 +1,38 @@ +From e7c33f4e078e6e5dfa7dea796fa4ffb88f48a37a Mon Sep 17 00:00:00 2001 +From: Daniel Pocock +Date: Thu, 4 Aug 2022 10:55:30 +0200 +Subject: [PATCH] rutil: OpenSSLInit: disable use of legacy OpenSSL memory leak + checking with OpenSSL 3.0 and later + +Upstream: https://github.com/resiprocate/resiprocate/commit/e7c33f4e078e6e5dfa7dea796fa4ffb88f48a37a + +Signed-off-by: Bernd Kuhls +--- + rutil/ssl/OpenSSLInit.cxx | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/rutil/ssl/OpenSSLInit.cxx b/rutil/ssl/OpenSSLInit.cxx +index d42486f96b..65afed09fe 100644 +--- a/rutil/ssl/OpenSSLInit.cxx ++++ b/rutil/ssl/OpenSSLInit.cxx +@@ -69,14 +69,19 @@ OpenSSLInit::OpenSSLInit() + CRYPTO_set_dynlock_lock_callback(::resip_OpenSSLInit_dynLockFunction); + #endif + ++/* The OpenSSL memory leak checking has been deprecated since ++ OpenSSL v3.0. OpenSSL developers recommend that we rely ++ on modern compilers to provide the same functionality. */ + #if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + CRYPTO_malloc_debug_init(); + CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); +-#else ++#elsif (OPENSSL_VERSION_NUMBER < 0x30000000L) + CRYPTO_set_mem_debug(1); + #endif + ++#if (OPENSSL_VERSION_NUMBER < 0x30000000L) || defined(LIBRESSL_VERSION_NUMBER) + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); ++#endif + + SSL_library_init(); + SSL_load_error_strings(); diff --git a/package/resiprocate/0003-rutil-fix-typo-in-preprocessor-condition.patch b/package/resiprocate/0003-rutil-fix-typo-in-preprocessor-condition.patch new file mode 100644 index 00000000000..5cbe5871d01 --- /dev/null +++ b/package/resiprocate/0003-rutil-fix-typo-in-preprocessor-condition.patch @@ -0,0 +1,25 @@ +From 53302195c339dfaa104788a50aa900a48dbff777 Mon Sep 17 00:00:00 2001 +From: Andrey Semashev +Date: Sat, 10 Sep 2022 12:15:06 +0200 +Subject: [PATCH] rutil: fix typo in preprocessor condition + +Upstream: https://github.com/resiprocate/resiprocate/commit/53302195c339dfaa104788a50aa900a48dbff777 + +Signed-off-by: Bernd Kuhls +--- + rutil/ssl/OpenSSLInit.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rutil/ssl/OpenSSLInit.cxx b/rutil/ssl/OpenSSLInit.cxx +index 65afed09fe..0d87a9f9d8 100644 +--- a/rutil/ssl/OpenSSLInit.cxx ++++ b/rutil/ssl/OpenSSLInit.cxx +@@ -75,7 +75,7 @@ OpenSSLInit::OpenSSLInit() + #if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + CRYPTO_malloc_debug_init(); + CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); +-#elsif (OPENSSL_VERSION_NUMBER < 0x30000000L) ++#elif (OPENSSL_VERSION_NUMBER < 0x30000000L) + CRYPTO_set_mem_debug(1); + #endif + diff --git a/package/resiprocate/0004-resip-stack-ssl-Security-cxx-remove-deprecated-OpenS.patch b/package/resiprocate/0004-resip-stack-ssl-Security-cxx-remove-deprecated-OpenS.patch new file mode 100644 index 00000000000..2b595d64c11 --- /dev/null +++ b/package/resiprocate/0004-resip-stack-ssl-Security-cxx-remove-deprecated-OpenS.patch @@ -0,0 +1,26 @@ +From 88f98702d908549d888aa7f0ee1b0763e09662b1 Mon Sep 17 00:00:00 2001 +From: Daniel Pocock +Date: Thu, 4 Aug 2022 11:09:43 +0200 +Subject: [PATCH] resip/stack: ssl/Security.cxx: remove deprecated OpenSSL + ERR_GET_FUNC, not required + +Upstream: https://github.com/resiprocate/resiprocate/commit/88f98702d908549d888aa7f0ee1b0763e09662b1 + +Signed-off-by: Bernd Kuhls +--- + resip/stack/ssl/Security.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/resip/stack/ssl/Security.cxx b/resip/stack/ssl/Security.cxx +index 75dc6d838a..23c2ebbf09 100644 +--- a/resip/stack/ssl/Security.cxx ++++ b/resip/stack/ssl/Security.cxx +@@ -967,7 +967,7 @@ BaseSecurity::addPrivateKeyPEM( PEMType type, + char buffer[120]; + unsigned long err = ERR_get_error(); + ERR_error_string(err, buffer); +- if(ERR_GET_LIB(err) == ERR_LIB_EVP && ERR_GET_FUNC(err) == EVP_F_EVP_DECRYPTFINAL_EX && ERR_GET_REASON(err) == EVP_R_BAD_DECRYPT) ++ if(ERR_GET_LIB(err) == ERR_LIB_EVP && ERR_GET_REASON(err) == EVP_R_BAD_DECRYPT) + { + ErrLog(<< "Could not read private key (error=" << buffer << ") - likely incorrect password provided, may load correctly when transports are added with appropriate password"); + } diff --git a/package/restorecond/restorecond.hash b/package/restorecond/restorecond.hash index b38c6dcf143..215c9192f47 100644 --- a/package/restorecond/restorecond.hash +++ b/package/restorecond/restorecond.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 218c3d8873f31764e3c82d53ac713c0c9faaa07caf42ed7184e93ca2b27d8f27 restorecond-3.3.tar.gz +sha256 f00d8caddb6aba2793c65e69154d04671b52f3d37e081b0e96c1b443fe23c2fe restorecond-3.5.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/restorecond/restorecond.mk b/package/restorecond/restorecond.mk index 7d6ed86f08e..96ef8d2a507 100644 --- a/package/restorecond/restorecond.mk +++ b/package/restorecond/restorecond.mk @@ -4,20 +4,15 @@ # ################################################################################ -RESTORECOND_VERSION = 3.3 +RESTORECOND_VERSION = 3.5 RESTORECOND_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(RESTORECOND_VERSION) RESTORECOND_LICENSE = GPL-2.0 -RESTORECOND_LICENSE_FILES = COPYING +RESTORECOND_LICENSE_FILES = LICENSE RESTORECOND_DEPENDENCIES = libglib2 libsepol libselinux dbus-glib -# Undefining _FILE_OFFSET_BITS here because of a "bug" with glibc fts.h -# large file support. -# See https://bugzilla.redhat.com/show_bug.cgi?id=574992 for more information RESTORECOND_MAKE_OPTS += \ $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -U_FILE_OFFSET_BITS" \ - CPPFLAGS="$(TARGET_CPPFLAGS) -U_FILE_OFFSET_BITS" \ ARCH="$(BR2_ARCH)" # We need to pass DESTDIR at build time because it's used by diff --git a/package/rhash/0001-Fix-243-Incorrect-assigment-in-the-configure-script.patch b/package/rhash/0001-Fix-243-Incorrect-assigment-in-the-configure-script.patch new file mode 100644 index 00000000000..4a9a81dbf5e --- /dev/null +++ b/package/rhash/0001-Fix-243-Incorrect-assigment-in-the-configure-script.patch @@ -0,0 +1,24 @@ +From c804982d1b24c6533118b3068d2cfdca685076f3 Mon Sep 17 00:00:00 2001 +From: Aleksey Kravchenko +Date: Mon, 7 Aug 2023 01:00:37 +0300 +Subject: [PATCH] Fix #243: Incorrect assigment in the configure script + +Upstream: https://github.com/rhash/RHash/commit/c804982d1b24c6533118b3068d2cfdca685076f3 +Signed-off-by: Fabrice Fontaine +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 39ef8c1..63cbd8d 100755 +--- a/configure ++++ b/configure +@@ -877,7 +877,7 @@ if test "$OPT_STATIC" = "no"; then + RHASH_TEST_OPTIONS=--shared + test "$INSTALL_LIB_SHARED" = "auto" && INSTALL_LIB_SHARED=yes + test "$INSTALL_LIB_STATIC" = "yes" && RHASH_BUILD_TARGETS="$RHASH_BUILD_TARGETS \$(LIBRHASH_STATIC)" +- RHASH_LDFLAGS=$RHASH_LDFLAGS $GETTEXT_LDFLAGS ++ RHASH_LDFLAGS=$(join_params $RHASH_LDFLAGS $GETTEXT_LDFLAGS) + else + LIBRHASH_TYPE=static + LIBRHASH_PATH="\$(LIBRHASH_STATIC)" diff --git a/package/rhash/rhash.hash b/package/rhash/rhash.hash index 355b5c275bf..4e03de87221 100644 --- a/package/rhash/rhash.hash +++ b/package/rhash/rhash.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/rhash/files/rhash/1.4.3/ -sha1 6e698e6d5b13aeac55076d6a53dc4dab55f2114e rhash-1.4.3-src.tar.gz +# From https://sourceforge.net/projects/rhash/files/rhash/1.4.4/ +sha1 feaee551aec9cc9a303a45aa8c864f97ece9ed2d rhash-1.4.4-src.tar.gz # Locally calculated -sha256 1e40fa66966306920f043866cbe8612f4b939b033ba5e2708c3f41be257c8a3e rhash-1.4.3-src.tar.gz +sha256 8e7d1a8ccac0143c8fe9b68ebac67d485df119ea17a613f4038cda52f84ef52a rhash-1.4.4-src.tar.gz sha256 953e55838353335148c90b5a38a4894292680b1d4c37228ffddddbf18ce54bf5 COPYING diff --git a/package/rhash/rhash.mk b/package/rhash/rhash.mk index 8c33de18626..3cc9d427a76 100644 --- a/package/rhash/rhash.mk +++ b/package/rhash/rhash.mk @@ -4,15 +4,14 @@ # ################################################################################ -RHASH_VERSION = 1.4.3 +RHASH_VERSION = 1.4.4 RHASH_SOURCE = rhash-$(RHASH_VERSION)-src.tar.gz RHASH_SITE = https://sourceforge.net/projects/rhash/files/rhash/$(RHASH_VERSION) RHASH_LICENSE = 0BSD RHASH_LICENSE_FILES = COPYING -RHASH_CPE_ID_VENDOR = rhash_project +RHASH_CPE_ID_VALID = YES RHASH_INSTALL_STAGING = YES RHASH_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) -RHASH_ADDLDFLAGS = $(TARGET_NLS_LIBS) ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) RHASH_CONF_OPTS += --enable-gettext @@ -37,13 +36,13 @@ define RHASH_CONFIGURE_CMDS endef ifeq ($(BR2_SHARED_LIBS),y) -RHASH_BUILD_TARGETS = lib-shared build-shared +RHASH_BUILD_TARGETS = lib-shared build RHASH_INSTALL_TARGETS = install-lib-shared install-so-link else ifeq ($(BR2_STATIC_LIBS),y) RHASH_BUILD_TARGETS = lib-static RHASH_INSTALL_TARGETS = install-lib-static else -RHASH_BUILD_TARGETS = lib-static lib-shared build-shared +RHASH_BUILD_TARGETS = lib-static lib-shared build RHASH_INSTALL_TARGETS = install-lib-static install-lib-shared install-so-link endif diff --git a/package/riemann-c-client/Config.in b/package/riemann-c-client/Config.in index 6c3c35caf80..0985972a8b3 100644 --- a/package/riemann-c-client/Config.in +++ b/package/riemann-c-client/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c select BR2_PACKAGE_PROTOBUF_C help Riemann-c-client is a C client library for the Riemann @@ -12,6 +13,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT https://github.com/algernon/riemann-c-client -comment "riemann-c-client needs a toolchain w/ C++, threads" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_HOST_GCC_AT_LEAST_7 depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS diff --git a/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch b/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch index e2ba68f3891..e665a6570ec 100644 --- a/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch +++ b/package/ripgrep/0001-puts-jemalloc-allocator-behind-a-cargo-feature-flag.patch @@ -1,4 +1,4 @@ -From 68c2a4d7a5d9b46f65121958fdb12d5270bfd1b6 Mon Sep 17 00:00:00 2001 +From 77f850969433b14769ade4281899373f3ebabf86 Mon Sep 17 00:00:00 2001 From: Jonathan Stites Date: Wed, 6 May 2020 12:55:35 +0000 Subject: [PATCH] puts jemalloc allocator behind a cargo feature flag @@ -9,6 +9,8 @@ Moves jemalloc behind a feature for musl builds, where it is not supported by the upstream project, so ripgrep will fail to build. Signed-off-by: Sam Voss +[Antoine: update for 14.1.0] +Signed-off-by: Antoine Coutant --- .github/workflows/ci.yml | 6 ++++++ .github/workflows/release.yml | 8 +++++++- @@ -18,10 +20,10 @@ Signed-off-by: Sam Voss 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml -index ab154ec..aa567d9 100644 +index d21b85a..0c9ecb9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml -@@ -149,6 +149,12 @@ jobs: +@@ -172,6 +172,12 @@ jobs: if: matrix.target != '' run: ${{ env.CARGO }} test --verbose --workspace ${{ env.TARGET_FLAGS }} @@ -31,14 +33,14 @@ index ab154ec..aa567d9 100644 + if: matrix.os == 'nightly-musl' + run: ${{ env.CARGO }} test --verbose --all --features jemalloc ${{ env.TARGET_FLAGS }} + - - name: Test for existence of build artifacts (Windows) - if: matrix.os == 'windows-2019' - shell: bash + - name: Test zsh shell completions (Unix, sans cross) + # We could test this when using Cross, but we'd have to execute the + # 'rg' binary (done in test-complete) with qemu, which is a pain and diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml -index 7cfb6a4..ad6b82d 100644 +index f6ea3d9..ac18129 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml -@@ -133,7 +133,13 @@ jobs: +@@ -171,7 +171,13 @@ jobs: echo "target flag is: ${{ env.TARGET_FLAGS }}" echo "target dir is: ${{ env.TARGET_DIR }}" @@ -50,25 +52,25 @@ index 7cfb6a4..ad6b82d 100644 + + - name: Build release binary (non-linux) + if: matrix.build != 'linux' - run: ${{ env.CARGO }} build --verbose --release --features pcre2 ${{ env.TARGET_FLAGS }} - - - name: Strip release binary (linux and macos) + shell: bash + run: | + ${{ env.CARGO }} build --verbose --release --features pcre2 ${{ env.TARGET_FLAGS }} diff --git a/Cargo.toml b/Cargo.toml -index fb78fcb..0d34b1e 100644 +index da350bc..1a0a48f 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -56,8 +56,9 @@ version = "2.33.0" - default-features = false - features = ["suggestions"] +@@ -59,8 +59,9 @@ serde_json = "1.0.23" + termcolor = "1.1.0" + textwrap = { version = "0.16.0", default-features = false } -[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies.jemallocator] +[dependencies.jemallocator] - version = "0.3.0" + version = "0.5.0" +optional = true - [build-dependencies] - lazy_static = "1.1.0" -@@ -75,6 +76,11 @@ walkdir = "2" + [dev-dependencies] + serde = "1.0.77" +@@ -70,6 +71,11 @@ walkdir = "2" [features] simd-accel = ["grep/simd-accel"] pcre2 = ["grep/pcre2"] @@ -81,10 +83,10 @@ index fb78fcb..0d34b1e 100644 [profile.release] debug = 1 diff --git a/README.md b/README.md -index 46938bc..9917b29 100644 +index 0821fab..fdb9fb5 100644 --- a/README.md +++ b/README.md -@@ -406,6 +406,15 @@ build a static executable with MUSL and with PCRE2, then you will need to have +@@ -478,6 +478,15 @@ build a static executable with MUSL and with PCRE2, then you will need to have `musl-gcc` installed, which might be in a separate package from the actual MUSL library, depending on your Linux distribution. @@ -101,10 +103,10 @@ index 46938bc..9917b29 100644 ### Running tests diff --git a/crates/core/main.rs b/crates/core/main.rs -index 47385de..c9dae5a 100644 +index 64f35ce..9aa6663 100644 --- a/crates/core/main.rs +++ b/crates/core/main.rs -@@ -31,7 +31,7 @@ mod subject; +@@ -27,7 +27,7 @@ mod search; // have the fastest version of everything. Its goal is to be small and amenable // to static compilation.) Even though ripgrep isn't particularly allocation // heavy, musl's allocator appears to slow down ripgrep quite a bit. Therefore, @@ -113,7 +115,7 @@ index 47385de..c9dae5a 100644 // // We don't unconditionally use jemalloc because it can be nice to use the // system's default allocator by default. Moreover, jemalloc seems to increase -@@ -39,7 +39,11 @@ mod subject; +@@ -35,7 +35,11 @@ mod search; // // Moreover, we only do this on 64-bit systems since jemalloc doesn't support // i686. @@ -127,5 +129,5 @@ index 47385de..c9dae5a 100644 static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc; -- -2.32.0 +2.25.1 diff --git a/package/ripgrep/ripgrep.hash b/package/ripgrep/ripgrep.hash index 71e74e1bcf5..9d5b869a9c9 100644 --- a/package/ripgrep/ripgrep.hash +++ b/package/ripgrep/ripgrep.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6f1d4a8b653ce48d59ad777288b1257cbda607db29db19d031b7e622c60526f8 ripgrep-af6b6c543b224d348a8876f0c06245d9ea7929c5.tar.gz +sha256 6dfa5e8346b041749b9d7467efb794fcd15cf5b7d3ccec530940dcb1aa4ab590 ripgrep-14.1.0.tar.gz sha256 0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f LICENSE-MIT diff --git a/package/ripgrep/ripgrep.mk b/package/ripgrep/ripgrep.mk index d587441cfa4..288c20ee95f 100644 --- a/package/ripgrep/ripgrep.mk +++ b/package/ripgrep/ripgrep.mk @@ -4,15 +4,11 @@ # ################################################################################ -# Same as 13.0.0, we use a Git commit hash because the hash of this -# tarball changed when moving to the cargo-package infrastructure, and -# we can't change the hash of existing tarball. Please switch back to -# a Git tag at the next version bump. -RIPGREP_VERSION = af6b6c543b224d348a8876f0c06245d9ea7929c5 +RIPGREP_VERSION = 14.1.0 RIPGREP_SITE = $(call github,burntsushi,ripgrep,$(RIPGREP_VERSION)) RIPGREP_LICENSE = MIT RIPGREP_LICENSE_FILES = LICENSE-MIT -RIPGREP_CPE_ID_VENDOR = ripgrep_project +RIPGREP_CPE_ID_VALID = YES # CVE only impacts ripgrep on Windows RIPGREP_IGNORE_CVES += CVE-2021-3013 diff --git a/package/riscv64-elf-toolchain/riscv64-elf-toolchain.hash b/package/riscv64-elf-toolchain/riscv64-elf-toolchain.hash new file mode 100644 index 00000000000..9f40da09413 --- /dev/null +++ b/package/riscv64-elf-toolchain/riscv64-elf-toolchain.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 de2bb188300dc38d74103516ce5cfd1060dfd105e8a408e9e3991512cf27285e riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-centos6.tar.gz diff --git a/package/rlwrap/Config.in b/package/rlwrap/Config.in new file mode 100644 index 00000000000..4e18dfde526 --- /dev/null +++ b/package/rlwrap/Config.in @@ -0,0 +1,43 @@ +config BR2_PACKAGE_RLWRAP + bool "rlwrap" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_READLINE + help + rlwrap is a 'readline wrapper', a small utility that uses the + GNU Readline library to allow the editing of keyboard input + for any command. + + https://github.com/hanslub42/rlwrap + +if BR2_PACKAGE_RLWRAP + +config BR2_PACKAGE_RLWRAP_SPY_ON_READLINE + bool "spy on readline" + default y + help + If we want to keep the display tidy when re-sizing the + terminal window or printing multi-line prompts, we have to + know whether or not readline is in horizontal-scroll-mode + (i.e. wheter long lines are scrolled or wrapped). At present, + this involves a look at a private readline variable - if you + feel guilty about that, disable this option + +config BR2_PACKAGE_RLWRAP_HOMEGROWN_REDISPLAY + bool "homegrown redisplay" + help + Some people report double echoing of user input. Enabling this + option will cure the problem - though the display will then + flicker over slow connections (cf. BUGS) + +config BR2_PACKAGE_RLWRAP_MULTIBYTE_AWARE + bool "multibyte awareness" + default y + depends on BR2_USE_WCHAR + help + Prevent rlwrap from seeing multibyte characters as multiple + characters + +comment "rlwrap multibyte awareness needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR + +endif diff --git a/package/rlwrap/rlwrap.hash b/package/rlwrap/rlwrap.hash new file mode 100644 index 00000000000..b7005e860e2 --- /dev/null +++ b/package/rlwrap/rlwrap.hash @@ -0,0 +1,6 @@ +# from https://github.com/hanslub42/rlwrap/releases/tag/0.46.1 +sha256 2711986a1248f6ac59e2aecf5586205835970040d300a42b4bf8014397e73e37 rlwrap-0.46.1.tar.gz + +# license files, locally calculated +sha256 656d25fab58016ac6ac11bb126709e4f860ea063d11795232eb55987172f78ff AUTHORS +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/rlwrap/rlwrap.mk b/package/rlwrap/rlwrap.mk new file mode 100644 index 00000000000..e3973e841b1 --- /dev/null +++ b/package/rlwrap/rlwrap.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# rlwrap +# +################################################################################ + +RLWRAP_VERSION = 0.46.1 +RLWRAP_SITE = https://github.com/hanslub42/rlwrap/releases/download/$(RLWRAP_VERSION) +RLWRAP_LICENSE = GPL-2.0+ +RLWRAP_LICENSE_FILES = AUTHORS COPYING + +RLWRAP_DEPENDENCIES = readline + +ifeq ($(BR2_PACKAGE_RLWRAP_SPY_ON_READLINE),y) +RLWRAP_CONF_OPTS += --enable-spy-on-readline +else +RLWRAP_CONF_OPTS += --disable-spy-on-readline +endif + +ifeq ($(BR2_PACKAGE_RLWRAP_HOMEGROWN_REDISPLAY),y) +RLWRAP_CONF_OPTS += --enable-homegrown-redisplay +else +RLWRAP_CONF_OPTS += --disable-homegrown-redisplay +endif + +ifeq ($(BR2_PACKAGE_RLWRAP_MULTIBYTE_AWARE),y) +RLWRAP_CONF_OPTS += --enable-multibyte-aware +else +RLWRAP_CONF_OPTS += --disable-multibyte-aware +endif + +define RLWRAP_REMOVE_FILTERS + $(RM) -rf $(TARGET_DIR)/usr/share/rlwrap/filters +endef +RLWRAP_POST_INSTALL_TARGET_HOOKS += RLWRAP_REMOVE_FILTERS + +$(eval $(autotools-package)) diff --git a/package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch b/package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch deleted file mode 100644 index 0c15ab6b7d8..00000000000 --- a/package/rng-tools/0001-configure.ac-fix-build-without-sys-auxv.h.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6ea89861c300a732d1bbcffd085d92f5c4c9228e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 15 Aug 2022 11:57:21 +0200 -Subject: [PATCH] configure.ac: fix build without sys/auxv.h - -Fix the following build failure on aarch64 without sys/auxv.h (e.g. on -uclibc) raised since version 6.13 and -https://github.com/nhorman/rng-tools/commit/9070a04adfcd21ec3839ee8ff190e7130ccd5c9b: - -rngd_rndr.c:34:10: fatal error: sys/auxv.h: No such file or directory - 34 | #include - | ^~~~~~~~~~~~ - -The same issue could be raised on powerpc64le since version 6.11 and -https://github.com/nhorman/rng-tools/commit/ade348cdb90c25b44b203fd4e9c33ec4bccff323 - -Fixes: - - http://autobuild.buildroot.org/results/41d5ab9e67eb0d8af8d789fc94d4366f130a7fb2 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/nhorman/rng-tools/commit/6ea89861c300a732d1bbcffd085d92f5c4c9228e] ---- - configure.ac | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0af64e7..411c7b8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -76,14 +76,17 @@ AC_PROG_GCC_TRADITIONAL - - AX_PTHREAD - -+dnl Checks for header files. -+AC_CHECK_HEADERS(sys/auxv.h) -+ - AM_CONDITIONAL([RDRAND], [test $host_cpu = x86_64 || test $host_cpu = i686]) - AS_IF([test $host_cpu = x86_64 || test $host_cpu = i686], [AC_DEFINE([HAVE_RDRAND],1,[Enable RDRAND])],[]) - --AM_CONDITIONAL([DARN], [test $host_cpu = powerpc64le]) --AS_IF([test $host_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])],[]) -+AM_CONDITIONAL([DARN], [test $host_cpu = powerpc64le -a "$ac_cv_header_sys_auxv_h" = "yes"]) -+AS_IF([test $host_cpu = powerpc64le -a "$ac_cv_header_sys_auxv_h" = "yes"], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])],[]) - --AM_CONDITIONAL([RNDR], [test $host_cpu = aarch64]) --AS_IF([test $host_cpu = aarch64], [AC_DEFINE([HAVE_RNDR],1,[Enable RNDR])],[]) -+AM_CONDITIONAL([RNDR], [test $host_cpu = aarch64 -a "$ac_cv_header_sys_auxv_h" = "yes"]) -+AS_IF([test $host_cpu = aarch64 -a "$ac_cv_header_sys_auxv_h" = "yes"], [AC_DEFINE([HAVE_RNDR],1,[Enable RNDR])],[]) - AM_CONDITIONAL([JITTER], [false]) - - AC_ARG_ENABLE(jitterentropy, diff --git a/package/rng-tools/Config.in b/package/rng-tools/Config.in index 0dd269c818d..7f08fa25fbf 100644 --- a/package/rng-tools/Config.in +++ b/package/rng-tools/Config.in @@ -2,12 +2,14 @@ config BR2_PACKAGE_RNG_TOOLS bool "rng-tools" # pthread_setaffinity_np depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_USE_MMU # libcap select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL + select BR2_PACKAGE_LIBCAP select BR2_PACKAGE_OPENSSL help Daemon to use hardware random number generators. - http://sourceforge.net/projects/gkernel/ + https://github.com/nhorman/rng-tools if BR2_PACKAGE_RNG_TOOLS @@ -35,7 +37,21 @@ config BR2_PACKAGE_RNG_TOOLS_NISTBEACON never be used for cryptographic purposes, or any use case in which random data should be known only by a single entity. +config BR2_PACKAGE_RNG_TOOLS_QRYPT + bool "Qrypt Entropy Beacon support" + select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_LIBCURL + help + Enable Qrypt NIST-Beacon like entropy support. + + Entropy gathered from Qrypt server based entropy beacons. Like + NIST, it should likely not be used directly in cryptographic + operation, as the entropy may be intercepted over a network, + but can provide copius amounts of entropy for non-crypto + purposes. + endif comment "rng-tools needs a toolchain w/ NPTL" + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/rng-tools/rng-tools.hash b/package/rng-tools/rng-tools.hash index be2ee139693..4c867912672 100644 --- a/package/rng-tools/rng-tools.hash +++ b/package/rng-tools/rng-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bff0c58dff90ec10bd61f672e48618e045155eabd60b32d63a9c4ffbdad05f3a rng-tools-6.15.tar.gz +sha256 17666c4745fb635d91df293be188daf94b9e465d51d8503c0195fa3beb390894 rng-tools-6.16.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk index f736193a231..f50005343bd 100644 --- a/package/rng-tools/rng-tools.mk +++ b/package/rng-tools/rng-tools.mk @@ -4,14 +4,14 @@ # ################################################################################ -RNG_TOOLS_VERSION = 6.15 -RNG_TOOLS_SITE = $(call github,nhorman,$(RNG_TOOLS_NAME),v$(RNG_TOOLS_VERSION)) +RNG_TOOLS_VERSION = 6.16 +RNG_TOOLS_SITE = $(call github,nhorman,rng-tools,v$(RNG_TOOLS_VERSION)) RNG_TOOLS_LICENSE = GPL-2.0 RNG_TOOLS_LICENSE_FILES = COPYING -RNG_TOOLS_CPE_ID_VENDOR = rng-tools_project +RNG_TOOLS_CPE_ID_VALID = YES RNG_TOOLS_SELINUX_MODULES = rngd -RNG_TOOLS_DEPENDENCIES = host-pkgconf openssl +RNG_TOOLS_DEPENDENCIES = host-pkgconf libcap openssl # From git RNG_TOOLS_AUTORECONF = YES @@ -45,6 +45,13 @@ else RNG_TOOLS_CONF_OPTS += --without-nistbeacon endif +ifeq ($(BR2_PACKAGE_RNG_TOOLS_QRYPT),y) +RNG_TOOLS_DEPENDENCIES += jansson libcurl +RNG_TOOLS_CONF_OPTS += --with-qrypt +else +RNG_TOOLS_CONF_OPTS += --without-qrypt +endif + define RNG_TOOLS_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/rng-tools/S21rngd \ $(TARGET_DIR)/etc/init.d/S21rngd diff --git a/package/rockchip-mali/Config.in b/package/rockchip-mali/Config.in index d616284911d..5a23954af32 100644 --- a/package/rockchip-mali/Config.in +++ b/package/rockchip-mali/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_ROCKCHIP_MALI bool "rockchip-mali" + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_ARM_EABIHF || BR2_aarch64 # lidbrm. This would normally need a Config.in comment, but @@ -30,3 +31,8 @@ config BR2_PACKAGE_PROVIDES_LIBGBM default "rockchip-mali" endif + +comment "rockchip-mali needs a glibc toolchain w/ C++, threads" + depends on BR2_ARM_EABIHF || BR2_aarch64 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rockchip-mali/rockchip-mali.hash b/package/rockchip-mali/rockchip-mali.hash index 446bf9ac65e..b19937fa072 100644 --- a/package/rockchip-mali/rockchip-mali.hash +++ b/package/rockchip-mali/rockchip-mali.hash @@ -1,2 +1,2 @@ -sha256 ee440d859e9d7dfdf29b9a00c7a633337913c407be567d3651c29c12eb75fd9c rockchip-mali-721653b5b3b525a4f80d15aa7e2f9df7b7e60427.tar.gz +sha256 1a291bbd75f317ee9205eb356aed617ac269db166ad6528a1734361cc08f8f7c rockchip-mali-721653b5b3b525a4f80d15aa7e2f9df7b7e6042.tar.gz sha256 a78acc73de9909efb879800d4daa4640c4aaa55cd751238a133954aba15e4285 END_USER_LICENCE_AGREEMENT.txt diff --git a/package/rockchip-mali/rockchip-mali.mk b/package/rockchip-mali/rockchip-mali.mk index 5c8e5543468..125b1c61fd6 100644 --- a/package/rockchip-mali/rockchip-mali.mk +++ b/package/rockchip-mali/rockchip-mali.mk @@ -4,7 +4,15 @@ # ################################################################################ -ROCKCHIP_MALI_VERSION = 721653b5b3b525a4f80d15aa7e2f9df7b7e60427 +# Full sha1 is 721653b5b3b525a4f80d15aa7e2f9df7b7e60427, but we use the +# "mirrors" repository, which names the top-level directory "mirrors-VERSION" +# while the original was the "libmali" repository which named the top-level +# directory "libmali-VERSION". Hence the content changes, and thus the hash +# changes. +# To avoid conflict with the old tarball on s.b.o. used by older versions of +# Buildroot, we can't use the same filename for the generated archive, so we +# drop the last char in the commit hash. +ROCKCHIP_MALI_VERSION = 721653b5b3b525a4f80d15aa7e2f9df7b7e6042 ROCKCHIP_MALI_SITE = $(call github,JeffyCN,mirrors,$(ROCKCHIP_MALI_VERSION)) ROCKCHIP_MALI_LICENSE = Proprietary ROCKCHIP_MALI_LICENSE_FILES = END_USER_LICENCE_AGREEMENT.txt diff --git a/package/rockchip-rkbin/Config.in b/package/rockchip-rkbin/Config.in new file mode 100644 index 00000000000..6c66acb7e6a --- /dev/null +++ b/package/rockchip-rkbin/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_ROCKCHIP_RKBIN + bool "rockchip-rkbin" + depends on BR2_arm || BR2_aarch64 + help + This package provides Rockchip SoC binary blobs for U-Boot. + +if BR2_PACKAGE_ROCKCHIP_RKBIN + +config BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME + string "Rockchip rkbin tpl file path" + help + Path to the tpl file inside the rkbin repository. The + specified file will be copied and used by U-Boot as tpl. + +config BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME + string "Rockchip rkbin bl31 file path" + help + Path to the bl31 file inside the rkbin repository. The + specified file will be copied and used by U-Boot as bl31. + +config BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME + string "Rockchip rkbin tee file path" + help + Path to the TEE file inside the rkbin repository. The + specified file will be copied and used by U-Boot as TEE. + +endif # BR2_PACKAGE_ROCKCHIP_RKBIN diff --git a/package/rockchip-rkbin/rockchip-rkbin.hash b/package/rockchip-rkbin/rockchip-rkbin.hash new file mode 100644 index 00000000000..a4b6cbeaa7d --- /dev/null +++ b/package/rockchip-rkbin/rockchip-rkbin.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 bd8d19ace202ff26d1c0b4d7744cd467cd0093801dc674dde57290159eedee2b rockchip-rkbin-b4558da0860ca48bf1a571dd33ccba580b9abe23-br1.tar.gz +sha256 1f2e25ae65f3af774e6f141f84253d6a05d489fb0b88b311220d70471c023c9c LICENSE diff --git a/package/rockchip-rkbin/rockchip-rkbin.mk b/package/rockchip-rkbin/rockchip-rkbin.mk new file mode 100644 index 00000000000..49271084eb9 --- /dev/null +++ b/package/rockchip-rkbin/rockchip-rkbin.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# rockchip-rkbin +# +################################################################################ + +ROCKCHIP_RKBIN_VERSION = b4558da0860ca48bf1a571dd33ccba580b9abe23 +ROCKCHIP_RKBIN_SITE = https://github.com/rockchip-linux/rkbin.git +ROCKCHIP_RKBIN_SITE_METHOD = git +ROCKCHIP_RKBIN_LICENSE = PROPRIETARY +ROCKCHIP_RKBIN_LICENSE_FILES = LICENSE + +ROCKCHIP_RKBIN_INSTALL_IMAGES = YES +ROCKCHIP_RKBIN_INSTALL_TARGET = NO + +ROCKCHIP_RKBIN_BL31_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME)) +ROCKCHIP_RKBIN_TPL_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME)) +ROCKCHIP_RKBIN_TEE_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME)) + +define ROCKCHIP_RKBIN_INSTALL_IMAGES_CMDS + $(foreach f, \ + $(ROCKCHIP_RKBIN_BL31_FILENAME) \ + $(ROCKCHIP_RKBIN_TPL_FILENAME) \ + $(ROCKCHIP_RKBIN_TEE_FILENAME) \ + , \ + $(INSTALL) -D -m 0644 -t $(BINARIES_DIR) $(@D)/$(f) + ) +endef + +$(eval $(generic-package)) diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in index 2ac81cbb2d1..6ff005a1e13 100644 --- a/package/rp-pppoe/Config.in +++ b/package/rp-pppoe/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_RP_PPPOE select BR2_PACKAGE_PPPD help An implementation of the Point-to-point protocol over - Ethernet. Has userspace client and server deamons. You + Ethernet. Has userspace client and server daemons. You likely only need this package if you are implementing the pppoe server that will service other pppoe client devices. Otherwise the normal client functionality already diff --git a/package/rp-pppoe/rp-pppoe.mk b/package/rp-pppoe/rp-pppoe.mk index 698894fda90..f50f1e5a1fd 100644 --- a/package/rp-pppoe/rp-pppoe.mk +++ b/package/rp-pppoe/rp-pppoe.mk @@ -8,7 +8,7 @@ RP_PPPOE_VERSION = 3.15 RP_PPPOE_SITE = https://dianne.skoll.ca/projects/rp-pppoe/download RP_PPPOE_LICENSE = GPL-2.0 RP_PPPOE_LICENSE_FILES = doc/LICENSE -RP_PPPOE_CPE_ID_VENDOR = rp-pppoe_project +RP_PPPOE_CPE_ID_VALID = YES RP_PPPOE_DEPENDENCIES = pppd RP_PPPOE_SUBDIR = src diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk index 2eee1167550..2c158213ad3 100644 --- a/package/rpcbind/rpcbind.mk +++ b/package/rpcbind/rpcbind.mk @@ -9,7 +9,7 @@ RPCBIND_SITE = http://downloads.sourceforge.net/project/rpcbind/rpcbind/$(RPCBIN RPCBIND_SOURCE = rpcbind-$(RPCBIND_VERSION).tar.bz2 RPCBIND_LICENSE = BSD-3-Clause RPCBIND_LICENSE_FILES = COPYING -RPCBIND_CPE_ID_VENDOR = rpcbind_project +RPCBIND_CPE_ID_VALID = YES RPCBIND_SELINUX_MODULES = rpcbind RPCBIND_CONF_ENV += \ diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash index ec13115f3b0..33e05a2f4a9 100644 --- a/package/rpi-firmware/rpi-firmware.hash +++ b/package/rpi-firmware/rpi-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 33aea2cb9c3be94c3dd6a96fbb3443eee5af1dc5fc9140e1fadc50832983064e rpi-firmware-3f20b832b27cd730deb6419b570f31a98167eef6.tar.gz +sha256 dd43e77ca1a8969cdb7f05dd72a57f90862071d5a93bdd6aea8246aba85689cf rpi-firmware-83dafbc92c0e63f76ca2ecdd42462d56489d1c77.tar.gz sha256 c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b boot/LICENCE.broadcom diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 53d6d8ca069..11177aee02c 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 3f20b832b27cd730deb6419b570f31a98167eef6 +RPI_FIRMWARE_VERSION = 83dafbc92c0e63f76ca2ecdd42462d56489d1c77 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom @@ -59,12 +59,6 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS $(INSTALL) -D -m 0644 $(@D)/boot/overlays/overlay_map.dtb $(BINARIES_DIR)/rpi-firmware/overlays/ touch $(BINARIES_DIR)/rpi-firmware/overlays/README endef -else -# Still create the directory, so a genimage.cfg can include it independently of -# whether _INSTALL_DTB_OVERLAYS is selected or not. -define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS - $(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays -endef endif # Install prebuilt libraries if RPI_USERLAND not enabled diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in index cfb472808bf..4219bdb9c41 100644 --- a/package/rpi-userland/Config.in +++ b/package/rpi-userland/Config.in @@ -40,6 +40,6 @@ config BR2_PACKAGE_RPI_USERLAND_HELLO endif comment "rpi-userland needs a toolchain w/ C++, threads, dynamic library" - depends on BR2_arm || BR2_arch64 + depends on BR2_arm || BR2_aarch64 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS diff --git a/package/rpm/0001-fix-var-declare-in-label-error.patch b/package/rpm/0001-fix-var-declare-in-label-error.patch new file mode 100644 index 00000000000..648040c6630 --- /dev/null +++ b/package/rpm/0001-fix-var-declare-in-label-error.patch @@ -0,0 +1,40 @@ +From b960c0b43a080287a7c13533eeb2d9f288db1414 Mon Sep 17 00:00:00 2001 +From: Florian Festi +Date: Thu, 16 Mar 2023 19:05:04 +0100 +Subject: [PATCH] Fix compiler error on clang + +Turns out variable declarations are not allowed after a label, even in +C99. And while some compilers don't seem to care others do. + +Moving the declaration of mayopen to the start of the function to avoid +this problem. + +Resolves: #2435 + +Upstream: b960c0b43a080287a7c13533eeb2d9f288db1414 +Signed-off-by: James Knight +--- + lib/fsm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/lib/fsm.c b/lib/fsm.c +index 5671ac642d..183293edb0 100644 +--- a/lib/fsm.c ++++ b/lib/fsm.c +@@ -879,6 +879,7 @@ int rpmPackageFilesInstall(rpmts ts, rpmte te, rpmfiles files, + int nodigest = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOFILEDIGEST) ? 1 : 0; + int nofcaps = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOCAPS) ? 1 : 0; + int firstlinkfile = -1; ++ int mayopen = 0; + char *tid = NULL; + struct filedata_s *fdata = xcalloc(fc, sizeof(*fdata)); + struct filedata_s *firstlink = NULL; +@@ -1016,7 +1017,7 @@ int rpmPackageFilesInstall(rpmts ts, rpmte te, rpmfiles files, + + setmeta: + /* Special files require path-based ops */ +- int mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode); ++ mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode); + if (!rc && fd == -1 && mayopen) { + int flags = O_RDONLY; + /* Only follow safe symlinks, and never on temporary files */ diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash index dfe50303f7d..fd03f062bc7 100644 --- a/package/rpm/rpm.hash +++ b/package/rpm/rpm.hash @@ -1,5 +1,5 @@ -# From https://rpm.org/wiki/Releases/4.18.0.html -sha256 2a17152d7187ab30edf2c2fb586463bdf6388de7b5837480955659e5e9054554 rpm-4.18.0.tar.bz2 +# From https://rpm.org/wiki/Releases/4.18.1.html +sha256 37f3b42c0966941e2ad3f10fde3639824a6591d07197ba8fd0869ca0779e1f56 rpm-4.18.1.tar.bz2 # Hash for license file sha256 171d94d9f1641316bff7f157a903237dc69cdb5fca405fed8c832c76ed8370f9 COPYING diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk index fc57a14fd65..c66ce6992d9 100644 --- a/package/rpm/rpm.mk +++ b/package/rpm/rpm.mk @@ -5,7 +5,7 @@ ################################################################################ RPM_VERSION_MAJOR = 4.18 -RPM_VERSION = $(RPM_VERSION_MAJOR).0 +RPM_VERSION = $(RPM_VERSION_MAJOR).1 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2 RPM_SITE = http://ftp.rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x RPM_DEPENDENCIES = \ @@ -27,9 +27,11 @@ RPM_SELINUX_MODULES = rpm # --enable-openmp is provided and OpenMP is < 4.5: # https://github.com/rpm-software-management/rpm/pull/1433 RPM_CONF_OPTS = \ - --disable-python \ --disable-rpath \ - --with-gnu-ld + --with-gnu-ld \ + --without-fapolicyd \ + --without-fsverity \ + --without-imaevm ifeq ($(BR2_PACKAGE_ACL),y) RPM_DEPENDENCIES += acl @@ -80,6 +82,20 @@ else RPM_CONF_OPTS += --without-selinux endif +ifeq ($(BR2_PACKAGE_PYTHON3),y) +RPM_DEPENDENCIES += python3 +RPM_CONF_OPTS += --enable-python +else +RPM_CONF_OPTS += --disable-python +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +RPM_DEPENDENCIES += readline +RPM_CONF_OPTS += --with-readline +else +RPM_CONF_OPTS += --without-readline +endif + ifeq ($(BR2_PACKAGE_SQLITE),y) RPM_DEPENDENCIES += sqlite RPM_CONF_OPTS += --enable-sqlite @@ -104,7 +120,6 @@ endif # ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`). RPM_CONF_ENV = \ ac_cv_prog_cc_c99='-std=gnu99' \ - CFLAGS="$(TARGET_CFLAGS) $(RPM_CFLAGS)" \ LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/package/rrdtool/rrdtool.hash b/package/rrdtool/rrdtool.hash index 5266e5b7a1a..1a6d18aea9a 100644 --- a/package/rrdtool/rrdtool.hash +++ b/package/rrdtool/rrdtool.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 a199faeb7eff7cafc46fac253e682d833d08932f3db93a550a4a5af180ca58db rrdtool-1.7.2.tar.gz +sha256 bd37614137d7a8dc523359648eb2a81631a34fd91a82ed5581916a52c08433f4 rrdtool-1.8.0.tar.gz sha256 ab6b4646e9e01f1ec287c29c351c886c4cb7f945c11efc0a1be9f6e5e6cc5320 COPYRIGHT sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE diff --git a/package/rrdtool/rrdtool.mk b/package/rrdtool/rrdtool.mk index 2731b7b39d9..24d84c79c3d 100644 --- a/package/rrdtool/rrdtool.mk +++ b/package/rrdtool/rrdtool.mk @@ -4,15 +4,15 @@ # ################################################################################ -RRDTOOL_VERSION = 1.7.2 -RRDTOOL_SITE = http://oss.oetiker.ch/rrdtool/pub +RRDTOOL_VERSION = 1.8.0 +RRDTOOL_SITE = https://github.com/oetiker/rrdtool-1.x/releases/download/v$(RRDTOOL_VERSION) RRDTOOL_LICENSE = GPL-2.0+ with FLOSS license exceptions as explained in COPYRIGHT RRDTOOL_LICENSE_FILES = COPYRIGHT LICENSE RRDTOOL_DEPENDENCIES = host-pkgconf libglib2 $(TARGET_NLS_DEPENDENCIES) # autoreconf needed to avoid link failure due to missing -lintl, -# gettextize needed as a consequence of autoreconf +# autopoint needed as a consequence of autoreconf RRDTOOL_AUTORECONF = YES -RRDTOOL_GETTEXTIZE = YES +RRDTOOL_AUTOPOINT = YES RRDTOOL_INSTALL_STAGING = YES RRDTOOL_CONF_OPTS = \ --disable-examples \ diff --git a/package/rsh-redone/Config.in b/package/rsh-redone/Config.in index 53ff2bea7f5..fed643def42 100644 --- a/package/rsh-redone/Config.in +++ b/package/rsh-redone/Config.in @@ -19,11 +19,13 @@ config BR2_PACKAGE_RSH_REDONE_RLOGIND depends on BR2_ENABLE_LOCALE && BR2_USE_WCHAR depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU # linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM -comment "rlogind needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" +comment "rlogind needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_RSH_REDONE_RSH bool "rsh" @@ -33,10 +35,11 @@ config BR2_PACKAGE_RSH_REDONE_RSHD depends on BR2_ENABLE_LOCALE && BR2_USE_WCHAR depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM -comment "rshd needs a toolchain w/ wchar, locale, dynamic library" +comment "rshd needs a toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 endif diff --git a/package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch b/package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch new file mode 100644 index 00000000000..53811599689 --- /dev/null +++ b/package/rsync/0001-Check-for-EVP_MD_CTX_copy-in-crypto-lib-instead-of-MD5_Init.patch @@ -0,0 +1,28 @@ +From 556a2c5bc2f6244f140a96302d4df92cfc25af8b Mon Sep 17 00:00:00 2001 +From: Wayne Davison +Date: Tue, 25 Oct 2022 21:55:53 -0700 +Subject: [PATCH] Check for EVP_MD_CTX_copy in crypto lib instead of MD5_Init. + +Upstream: https://github.com/WayneD/rsync/commit/556a2c5bc2f6244f140a96302d4df92cfc25af8b +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a2c99558..ccad7f13 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -432,10 +432,10 @@ AH_TEMPLATE([USE_OPENSSL], + if test x"$enable_openssl" != x"no"; then + if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then + AC_MSG_RESULT(yes) +- AC_SEARCH_LIBS(MD5_Init, crypto, ++ AC_SEARCH_LIBS(EVP_MD_CTX_copy, crypto, + [AC_DEFINE(USE_OPENSSL) + enable_openssl=yes], +- [err_msg="$err_msg$nl- Failed to find MD5_Init function in openssl crypto lib."; ++ [err_msg="$err_msg$nl- Failed to find EVP_MD_CTX_copy function in openssl crypto lib."; + no_lib="$no_lib openssl"]) + else + AC_MSG_RESULT(no) diff --git a/package/rsync/0002-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch b/package/rsync/0002-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch new file mode 100644 index 00000000000..61fe4b02691 --- /dev/null +++ b/package/rsync/0002-configure.ac-use-pkg-config-to-retrieve-openssl-depe.patch @@ -0,0 +1,48 @@ +From 93865bad4c00e7d3c867965663fdb9a1a0448db8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 1 Jan 2023 16:53:23 +0100 +Subject: [PATCH] configure.ac: use pkg-config to retrieve openssl dependencies + +Use pkg-config to retrieve openssl dependencies such as -latomic and +avoids the following build failure when building statically on +architectures such as sparc: + +/home/autobuild/autobuild/instance-1/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-1/output-1/host/sparc-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(threads_pthread.o): in function `CRYPTO_atomic_add': +threads_pthread.c:(.text+0x208): undefined reference to `__atomic_is_lock_free' + +Fixes: + - http://autobuild.buildroot.org/results/49abbaa1eab94b248bff434b40728065d687e278 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/WayneD/rsync/pull/426 +--- + configure.ac | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ccad7f13..b9591866 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -432,11 +432,15 @@ AH_TEMPLATE([USE_OPENSSL], + if test x"$enable_openssl" != x"no"; then + if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then + AC_MSG_RESULT(yes) +- AC_SEARCH_LIBS(EVP_MD_CTX_copy, crypto, ++ PKG_CHECK_MODULES(LIBCRYPTO, libcrypto, + [AC_DEFINE(USE_OPENSSL) +- enable_openssl=yes], +- [err_msg="$err_msg$nl- Failed to find EVP_MD_CTX_copy function in openssl crypto lib."; +- no_lib="$no_lib openssl"]) ++ enable_openssl=yes ++ LIBS="$LIBS $LIBCRYPTO_LIBS"], ++ [AC_SEARCH_LIBS(EVP_MD_CTX_copy, crypto, ++ [AC_DEFINE(USE_OPENSSL) ++ enable_openssl=yes], ++ [err_msg="$err_msg$nl- Failed to find EVP_MD_CTX_copy function in openssl crypto lib."; ++ no_lib="$no_lib openssl"])]) + else + AC_MSG_RESULT(no) + err_msg="$err_msg$nl- Failed to find openssl/md4.h and openssl/md5.h for openssl crypto lib support." +-- +2.35.1 + diff --git a/package/rsync/rsync.mk b/package/rsync/rsync.mk index 8c7ad462ac1..b9d392c8cb5 100644 --- a/package/rsync/rsync.mk +++ b/package/rsync/rsync.mk @@ -10,7 +10,9 @@ RSYNC_LICENSE = GPL-3.0+ with exceptions RSYNC_LICENSE_FILES = COPYING RSYNC_CPE_ID_VENDOR = samba RSYNC_SELINUX_MODULES = rsync -RSYNC_DEPENDENCIES = zlib popt +# We're patching configure.ac +RSYNC_AUTORECONF = YES +RSYNC_DEPENDENCIES = host-pkgconf zlib popt # We know that our C library is modern enough for C99 vsnprintf(). Since # configure can't detect this, we tell configure that vsnprintf() is safe. RSYNC_CONF_ENV = rsync_cv_HAVE_C99_VSNPRINTF=yes @@ -18,16 +20,46 @@ RSYNC_CONF_OPTS = \ --with-included-zlib=no \ --with-included-popt=no \ --disable-roll-simd \ - --disable-openssl \ - --disable-xxhash \ - --disable-zstd \ - --disable-lz4 \ --disable-md5-asm +# reconfigure must be run after autoreconf +define RSYNC_RUN_RECONFIGURE + cd $(@D) && PATH=$(BR_PATH) make reconfigure +endef +RSYNC_POST_CONFIGURE_HOOKS += RSYNC_RUN_RECONFIGURE + ifeq ($(BR2_PACKAGE_ACL),y) RSYNC_DEPENDENCIES += acl else RSYNC_CONF_OPTS += --disable-acl-support endif +ifeq ($(BR2_PACKAGE_LZ4),y) +RSYNC_DEPENDENCIES += lz4 +RSYNC_CONF_OPTS += --enable-lz4 +else +RSYNC_CONF_OPTS += --disable-lz4 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +RSYNC_DEPENDENCIES += openssl +RSYNC_CONF_OPTS += --enable-openssl +else +RSYNC_CONF_OPTS += --disable-openssl +endif + +ifeq ($(BR2_PACKAGE_XXHASH),y) +RSYNC_DEPENDENCIES += xxhash +RSYNC_CONF_OPTS += --enable-xxhash +else +RSYNC_CONF_OPTS += --disable-xxhash +endif + +ifeq ($(BR2_PACKAGE_ZSTD),y) +RSYNC_DEPENDENCIES += zstd +RSYNC_CONF_OPTS += --enable-zstd +else +RSYNC_CONF_OPTS += --disable-zstd +endif + $(eval $(autotools-package)) diff --git a/package/rsyslog/rsyslog.hash b/package/rsyslog/rsyslog.hash index 4049590bb85..9c003653559 100644 --- a/package/rsyslog/rsyslog.hash +++ b/package/rsyslog/rsyslog.hash @@ -1,5 +1,5 @@ # From http://www.rsyslog.com/downloads/download-v8-stable/ -sha256 a6d731e46ad3d64f6ad4b19bbf1bf56ca4760a44a24bb96823189dc2e71f7028 rsyslog-8.2204.1.tar.gz +sha256 774032006128a896437f5913e132aa27dbfb937cd8847e449522d5a12d63d03e rsyslog-8.2312.0.tar.gz # Locally calculated sha256 054b3a047d9232376a46b87356b19b0c0c2924cb5e6911ab96a01fc4b515f083 COPYING diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index 84fd2d2e5e5..dc30a2edcd3 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -4,7 +4,7 @@ # ################################################################################ -RSYSLOG_VERSION = 8.2204.1 +RSYSLOG_VERSION = 8.2312.0 RSYSLOG_SITE = http://rsyslog.com/files/download/rsyslog RSYSLOG_LICENSE = GPL-3.0, LGPL-3.0, Apache-2.0 RSYSLOG_LICENSE_FILES = COPYING COPYING.LESSER COPYING.ASL20 @@ -102,8 +102,8 @@ else RSYSLOG_CONF_OPTS += --disable-impcap endif -ifeq ($(BR2_PACKAGE_MYSQL),y) -RSYSLOG_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_MARIADB),y) +RSYSLOG_DEPENDENCIES += mariadb RSYSLOG_CONF_OPTS += --enable-mysql RSYSLOG_CONF_ENV += ac_cv_prog_MYSQL_CONFIG=$(STAGING_DIR)/usr/bin/mysql_config else @@ -151,6 +151,13 @@ RSYSLOG_CONF_OPTS += \ --disable-omjournal endif +ifeq ($(BR2_PACKAGE_LIBDBI_DRIVERS),y) +RSYSLOG_CONF_OPTS += --enable-libdbi +RSYSLOG_DEPENDENCIES += libdbi-drivers +else +RSYSLOG_CONF_OPTS += --disable-libdbi +endif + define RSYSLOG_INSTALL_INIT_SYSTEMD $(INSTALL) -m 0644 -D package/rsyslog/rsyslog.service \ $(TARGET_DIR)/usr/lib/systemd/system/rsyslog.service diff --git a/package/rt-tests/rt-tests.hash b/package/rt-tests/rt-tests.hash index 49df8313f9f..eb28f4d441a 100644 --- a/package/rt-tests/rt-tests.hash +++ b/package/rt-tests/rt-tests.hash @@ -1,4 +1,4 @@ # From https://mirrors.edge.kernel.org/pub/linux/utils/rt-tests/sha256sums.asc -sha256 393457f0c91cce57e82b876ecb9b672871f898e6cecafc751548079512bcc808 rt-tests-2.4.tar.xz +sha256 2ed2e4c965c7f336a15d3354dec090e27a0b1e9ada91ae0b9ef18bbcb993874e rt-tests-2.5.tar.xz # locally computed hash sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/rt-tests/rt-tests.mk b/package/rt-tests/rt-tests.mk index 74290211ce3..8ad4215ee19 100644 --- a/package/rt-tests/rt-tests.mk +++ b/package/rt-tests/rt-tests.mk @@ -6,7 +6,7 @@ RT_TESTS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/rt-tests RT_TESTS_SOURCE = rt-tests-$(RT_TESTS_VERSION).tar.xz -RT_TESTS_VERSION = 2.4 +RT_TESTS_VERSION = 2.5 RT_TESTS_LICENSE = GPL-2.0+ RT_TESTS_LICENSE_FILES = COPYING diff --git a/package/rtl8188eu/rtl8188eu.hash b/package/rtl8188eu/rtl8188eu.hash index 29ce0e32c28..eb28e6cf0a9 100644 --- a/package/rtl8188eu/rtl8188eu.hash +++ b/package/rtl8188eu/rtl8188eu.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c573529862861a7a75534a4f2bc34ba7e3b116125298b5bc0d432b3065bd7df6 rtl8188eu-f4af53305cb1e9a0d8d9957a042f7c01b7121bfc.tar.gz +sha256 8cb10a047d39f13c776b0097ef1290f6b3c63590fd57bc0827e8638c878819f0 rtl8188eu-306f3e62cf7cddf8cee74f70f88a7a7b3af46f56.tar.gz sha256 af8067302947c01fd9eee72befa54c7e3ef8a48fecde7fd71277f2290b2bf0f7 COPYING diff --git a/package/rtl8188eu/rtl8188eu.mk b/package/rtl8188eu/rtl8188eu.mk index 3698115d3c7..36a84d34de7 100644 --- a/package/rtl8188eu/rtl8188eu.mk +++ b/package/rtl8188eu/rtl8188eu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8188EU_VERSION = f4af53305cb1e9a0d8d9957a042f7c01b7121bfc +RTL8188EU_VERSION = 306f3e62cf7cddf8cee74f70f88a7a7b3af46f56 RTL8188EU_SITE = $(call github,lwfinger,rtl8188eu,$(RTL8188EU_VERSION)) RTL8188EU_LICENSE = GPL-2.0, proprietary (rtl8188eufw.bin firmware blob) RTL8188EU_LICENSE_FILES = COPYING diff --git a/package/rtl8189es/rtl8189es.hash b/package/rtl8189es/rtl8189es.hash index 44d73e60f09..1ef46436fb1 100644 --- a/package/rtl8189es/rtl8189es.hash +++ b/package/rtl8189es/rtl8189es.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 96347dbfedd95a217fb89b7b295fe417b711dbad3db896ef0c2fa733c6d150fd rtl8189es-e58bd86c9d9408c648b1246a0dd76b16856ec172.tar.gz +sha256 b28c15f4631f4151ea6fca96d59aec931766af49ccb7a0d5e1080fc41a323713 rtl8189es-eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715.tar.gz diff --git a/package/rtl8189es/rtl8189es.mk b/package/rtl8189es/rtl8189es.mk index c2ee77f9229..8bac0a125fb 100644 --- a/package/rtl8189es/rtl8189es.mk +++ b/package/rtl8189es/rtl8189es.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8189ES_VERSION = e58bd86c9d9408c648b1246a0dd76b16856ec172 +RTL8189ES_VERSION = eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715 RTL8189ES_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189ES_VERSION)) RTL8189ES_LICENSE = GPL-2.0 @@ -14,6 +14,10 @@ RTL8189ES_MODULE_MAKE_OPTS = \ KSRC=$(LINUX_DIR) \ USER_EXTRA_CFLAGS="-Wno-error" +ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),) +RTL8189ES_MODULE_MAKE_OPTS += CONFIG_RTW_DEBUG=n +endif + define RTL8189ES_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NET) $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) diff --git a/package/rtl8189fs/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch b/package/rtl8189fs/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch deleted file mode 100644 index dc4deff9f17..00000000000 --- a/package/rtl8189fs/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4a555ffb77a5947814b6c7f330968318e265c496 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 28 Sep 2022 21:17:17 +0200 -Subject: [PATCH] Makefile: move 'EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)' at the - end of EXTRA_FLAGS assignment - -At the moment USER_EXTRA_CFLAGS can't override local Makfile EXTRA_CFLAGS -since it's assigned at the beginning of the Makefile. For example it's not -possible to undefine the hardcoded CONFIG_LITTLE_ENDIAN and this doesn't -allow to build these modules for big endian architectures. So let's move -the assignment of USER_EXTRA_CFLAGS to EXTRA_CFLAGS after the last -EXTRA_CFLAGS assignment. - -Signed-off-by: Giulio Benetti -[Upstream status: https://github.com/jwrdegoede/rtl8189ES_linux/pull/83] ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 8fcb7bd..e4664e9 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,4 +1,3 @@ --EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) - EXTRA_CFLAGS += -O1 - #EXTRA_CFLAGS += -O3 - #EXTRA_CFLAGS += -Wall -@@ -2239,6 +2238,8 @@ ifneq ($(USER_MODULE_NAME),) - MODULE_NAME := $(USER_MODULE_NAME) - endif - -+EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) -+ - ifneq ($(KERNELRELEASE),) - - ########### this part for *.mk ############################ --- -2.34.1 - diff --git a/package/rtl8189fs/rtl8189fs.hash b/package/rtl8189fs/rtl8189fs.hash index 1ab41db553e..2746194f434 100644 --- a/package/rtl8189fs/rtl8189fs.hash +++ b/package/rtl8189fs/rtl8189fs.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7cc80cb85ed6e7f7d5480e6094c377d3dbcd18a57b58cfba43a7e42ea59fc8d3 rtl8189fs-c93cfd712a3acd2ecdeda19a66d269c20f8803f1.tar.gz +sha256 b28c15f4631f4151ea6fca96d59aec931766af49ccb7a0d5e1080fc41a323713 rtl8189fs-eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715.tar.gz diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk index 8b7618fcc87..174bb346ca6 100644 --- a/package/rtl8189fs/rtl8189fs.mk +++ b/package/rtl8189fs/rtl8189fs.mk @@ -4,20 +4,23 @@ # ################################################################################ -RTL8189FS_VERSION = c93cfd712a3acd2ecdeda19a66d269c20f8803f1 +RTL8189FS_VERSION = eb51e021b0e1b6f94a4b49da3f4ee5c5fb20b715 RTL8189FS_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189FS_VERSION)) RTL8189FS_LICENSE = GPL-2.0 -# Undefine the hardcoded CONFIG_LITTLE_ENDIAN -RTL8189FS_USER_EXTRA_CLAGS = -UCONFIG_LITTLE_ENDIAN -# Set endianness -RTL8189FS_USER_EXTRA_CLAGS += -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN +RTL8189FS_USER_EXTRA_CFLAGS = \ + -UCONFIG_LITTLE_ENDIAN \ + -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN RTL8189FS_MODULE_MAKE_OPTS = \ CONFIG_RTL8189FS=m \ KVER=$(LINUX_VERSION_PROBED) \ KSRC=$(LINUX_DIR) \ - USER_EXTRA_CFLAGS="$(RTL8189FS_USER_EXTRA_CLAGS)" + USER_EXTRA_CFLAGS="$(RTL8189FS_USER_EXTRA_CFLAGS)" + +ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),) +RTL8189FS_MODULE_MAKE_OPTS += CONFIG_RTW_DEBUG=n +endif define RTL8189FS_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) diff --git a/package/rtl8192eu/Config.in b/package/rtl8192eu/Config.in index 4d71b711c36..969ba090cee 100644 --- a/package/rtl8192eu/Config.in +++ b/package/rtl8192eu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RTL8192EU bool "rtl8192eu" + depends on !BR2_s390x depends on BR2_LINUX_KERNEL help A standalone driver for the RTL8192EU USB Wi-Fi adapter. @@ -10,4 +11,5 @@ config BR2_PACKAGE_RTL8192EU https://github.com/clnhub/rtl8192eu-linux comment "rtl8192eu needs a Linux kernel to be built" + depends on !BR2_s390x depends on !BR2_LINUX_KERNEL diff --git a/package/rtl8192eu/rtl8192eu.hash b/package/rtl8192eu/rtl8192eu.hash index 0cb9961345e..a08ed040103 100644 --- a/package/rtl8192eu/rtl8192eu.hash +++ b/package/rtl8192eu/rtl8192eu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 827e9592336744cbcfca5de988d8f4e14a62690302d3cabf72aa4bedebded2b7 rtl8192eu-94bce7798bbb18de6d8b1646dedb2511f24867d3.tar.gz +sha256 b5d3b8de0b4f05aa2b452dd01f4386e9b671e03c2bbf8e032f1c593befc5a153 rtl8192eu-e90a6043be141bde8847e84223e106eff38ecdfd.tar.gz diff --git a/package/rtl8192eu/rtl8192eu.mk b/package/rtl8192eu/rtl8192eu.mk index e1688eef1bc..3d24b0caf86 100644 --- a/package/rtl8192eu/rtl8192eu.mk +++ b/package/rtl8192eu/rtl8192eu.mk @@ -4,12 +4,19 @@ # ################################################################################ -RTL8192EU_VERSION = 94bce7798bbb18de6d8b1646dedb2511f24867d3 +RTL8192EU_VERSION = e90a6043be141bde8847e84223e106eff38ecdfd RTL8192EU_SITE = $(call github,clnhub,rtl8192eu-linux,$(RTL8192EU_VERSION)) RTL8192EU_LICENSE = GPL-2.0 + +RTL8192EU_USER_EXTRA_CFLAGS = -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN \ + -DCONFIG_IOCTL_CFG80211 \ + -DRTW_USE_CFG80211_STA_EVENT \ + -Wno-error + RTL8192EU_MODULE_MAKE_OPTS = \ + CONFIG_PLATFORM_I386_PC=n \ CONFIG_RTL8192EU=m \ - USER_EXTRA_CFLAGS="-Wno-error" + USER_EXTRA_CFLAGS="$(RTL8192EU_USER_EXTRA_CFLAGS)" define RTL8192EU_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NET) diff --git a/package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch b/package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch deleted file mode 100644 index 06cf2d64c18..00000000000 --- a/package/rtl8723bu/0001-Fix-build-failure-on-PowerPc-architecture.patch +++ /dev/null @@ -1,47 +0,0 @@ -From dde7bddfddddb7212f2d9671391e2096d770c449 Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Sun, 23 Oct 2022 22:57:41 +0200 -Subject: [PATCH] Fix build failure on PowerPc architecture - -In PowerPc Linux only get_ra() exists[0] and conflicts with local get_ra() -that has a completely different purpose. So let's rename local get_ra() -to wifi_get_ra() to make it different from Linux's get_ra(). - -[0]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/asm/disassemble.h#n49 - -Upstream: https://github.com/lwfinger/rtl8723bu/pull/192 -Signed-off-by: Giulio Benetti ---- - hal/rtl8723bu_recv.c | 2 +- - include/wifi.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/hal/rtl8723bu_recv.c b/hal/rtl8723bu_recv.c -index a2fc82b..39e5044 100644 ---- a/hal/rtl8723bu_recv.c -+++ b/hal/rtl8723bu_recv.c -@@ -288,7 +288,7 @@ void update_recvframe_phyinfo( - !pattrib->icv_err && !pattrib->crc_err && - _rtw_memcmp(get_hdr_bssid(wlanhdr), get_bssid(&padapter->mlmepriv), ETH_ALEN)); - -- pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID && (_rtw_memcmp(get_ra(wlanhdr), myid(&padapter->eeprompriv), ETH_ALEN)); -+ pkt_info.bPacketToSelf = pkt_info.bPacketMatchBSSID && (_rtw_memcmp(wifi_get_ra(wlanhdr), myid(&padapter->eeprompriv), ETH_ALEN)); - - pkt_info.bPacketBeacon = pkt_info.bPacketMatchBSSID && (GetFrameSubType(wlanhdr) == WIFI_BEACON); - sa = get_ta(wlanhdr); -diff --git a/include/wifi.h b/include/wifi.h -index 5dc32eb..23578cc 100644 ---- a/include/wifi.h -+++ b/include/wifi.h -@@ -373,7 +373,7 @@ __inline static int IS_MCAST(unsigned char *da) - return _FALSE; - } - --__inline static unsigned char * get_ra(unsigned char *pframe) -+__inline static unsigned char * wifi_get_ra(unsigned char *pframe) - { - unsigned char *ra; - ra = GetAddr1Ptr(pframe); --- -2.34.1 - diff --git a/package/rtl8723bu/rtl8723bu.hash b/package/rtl8723bu/rtl8723bu.hash index 9119abad769..66efdaf771c 100644 --- a/package/rtl8723bu/rtl8723bu.hash +++ b/package/rtl8723bu/rtl8723bu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 07fece152704f4b5dbd0fd3af842816f95824317f3158fea774f15a6eddac009 rtl8723bu-d79a676a8d3f0bb6ac8af126689c6ac6869cb6f2.tar.gz +sha256 a36511894a612a9a05254e5938dafcc32b5ca46b8912582ccca84708e0f82cf9 rtl8723bu-49cb04d796d44debe965c1597f397f34ae277dbc.tar.gz diff --git a/package/rtl8723bu/rtl8723bu.mk b/package/rtl8723bu/rtl8723bu.mk index 82c487b4e13..7796def113d 100644 --- a/package/rtl8723bu/rtl8723bu.mk +++ b/package/rtl8723bu/rtl8723bu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8723BU_VERSION = d79a676a8d3f0bb6ac8af126689c6ac6869cb6f2 +RTL8723BU_VERSION = 49cb04d796d44debe965c1597f397f34ae277dbc RTL8723BU_SITE = $(call github,lwfinger,rtl8723bu,$(RTL8723BU_VERSION)) RTL8723BU_LICENSE = GPL-2.0, proprietary (*.bin firmware blobs) diff --git a/package/rtl8723ds-bt/Config.in b/package/rtl8723ds-bt/Config.in new file mode 100644 index 00000000000..0a604310c0a --- /dev/null +++ b/package/rtl8723ds-bt/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_RTL8723DS_BT + bool "rtl8723ds-bt" + help + rtl8723ds UART attached Bluetooth module firmware. + + https://github.com/wsyco/RTL8723DS_BT_Linux diff --git a/package/rtl8723ds-bt/rtl8723ds-bt.hash b/package/rtl8723ds-bt/rtl8723ds-bt.hash new file mode 100644 index 00000000000..1ec4e350f9b --- /dev/null +++ b/package/rtl8723ds-bt/rtl8723ds-bt.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 9e70a981946abeeb6437d9a27d8437cea15aa4df72f8d56ded0ae28af484d2f4 rtl8723ds-bt-14cedf3a9fec1aa8c500fa52f3e3acc433cbcf08.tar.gz diff --git a/package/rtl8723ds-bt/rtl8723ds-bt.mk b/package/rtl8723ds-bt/rtl8723ds-bt.mk new file mode 100644 index 00000000000..423ad74df5f --- /dev/null +++ b/package/rtl8723ds-bt/rtl8723ds-bt.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# rtl8723ds-bt +# +################################################################################ + +RTL8723DS_BT_VERSION = 14cedf3a9fec1aa8c500fa52f3e3acc433cbcf08 +RTL8723DS_BT_SITE = $(call github,wsyco,RTL8723DS_BT_Linux,$(RTL8723DS_BT_VERSION)) +RTL8723DS_BT_LICENSE = PROPRIETARY + +define RTL8723DS_BT_INSTALL_TARGET_CMDS + $(INSTALL) -m 644 -D $(@D)/8723D/rtl8723d_fw \ + $(TARGET_DIR)/lib/firmware/rtl_bt/rtl8723ds_fw.bin + $(INSTALL) -m 644 -D $(@D)/8723D/rtl8723d_config \ + $(TARGET_DIR)/lib/firmware/rtl_bt/rtl8723ds_config.bin +endef + +$(eval $(generic-package)) diff --git a/package/rtl8723ds/rtl8723ds.hash b/package/rtl8723ds/rtl8723ds.hash index d5abf9913c6..f2829d3f04a 100644 --- a/package/rtl8723ds/rtl8723ds.hash +++ b/package/rtl8723ds/rtl8723ds.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 97f3ebc5d977ba35d10c9c06e6817e4a00458727b651b56fc00c207c05a61995 rtl8723ds-a638cc8639015b8b9390af3350fab0366b6c87e7.tar.gz +sha256 4f3006ffc1604854edbd6d25ad468ca57f6bcfd7814e4dab57725f144f00aa94 rtl8723ds-52e593e8c889b68ba58bd51cbdbcad7fe71362e4.tar.gz +sha256 cd5c66af63b509ccd75ec85fee41b6e5cbb77cd6bf9392a54900acc0f02be4a6 COPYING diff --git a/package/rtl8723ds/rtl8723ds.mk b/package/rtl8723ds/rtl8723ds.mk index 7e27fa75eab..2536450d803 100644 --- a/package/rtl8723ds/rtl8723ds.mk +++ b/package/rtl8723ds/rtl8723ds.mk @@ -4,20 +4,23 @@ # ################################################################################ -RTL8723DS_VERSION = a638cc8639015b8b9390af3350fab0366b6c87e7 +RTL8723DS_VERSION = 52e593e8c889b68ba58bd51cbdbcad7fe71362e4 RTL8723DS_SITE = $(call github,lwfinger,rtl8723ds,$(RTL8723DS_VERSION)) RTL8723DS_LICENSE = GPL-2.0 +RTL8723DS_LICENSE_FILES = COPYING -# Undefine the hardcoded CONFIG_LITTLE_ENDIAN -RTL8723DS_USER_EXTRA_CLAGS = -UCONFIG_LITTLE_ENDIAN -# Set endianness -RTL8723DS_USER_EXTRA_CLAGS += -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN +RTL8723DS_USER_EXTRA_CFLAGS = \ + -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN \ + -DCONFIG_IOCTL_CFG80211 \ + -DRTW_USE_CFG80211_STA_EVENT \ + -Wno-error RTL8723DS_MODULE_MAKE_OPTS = \ + CONFIG_PLATFORM_I386_PC=n \ CONFIG_RTL8723DS=m \ KVER=$(LINUX_VERSION_PROBED) \ KSRC=$(LINUX_DIR) \ - USER_EXTRA_CFLAGS="$(RTL8723DS_USER_EXTRA_CLAGS)" + USER_EXTRA_CFLAGS="$(RTL8723DS_USER_EXTRA_CFLAGS)" define RTL8723DS_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NET) diff --git a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash index bc3a926314c..414ea98b08b 100644 --- a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash +++ b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 eed4888da9cfdc0f83ad3335beaf73af33ce0796b0a2637aeec102d47e1eb8f0 rtl8812au-aircrack-ng-e7a4a390ccbdd768411e1b2a8922c47837f76b47.tar.gz +sha256 969fa96c90e16fcaf8f6b30d4576a8446c7041932bea34bbfea7e9c91038bfe5 rtl8812au-aircrack-ng-4a983e47dafc048019412350d36270864f6b5f2d.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk index 45a6ce57294..df3b03998e4 100644 --- a/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk +++ b/package/rtl8812au-aircrack-ng/rtl8812au-aircrack-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8812AU_AIRCRACK_NG_VERSION = e7a4a390ccbdd768411e1b2a8922c47837f76b47 +RTL8812AU_AIRCRACK_NG_VERSION = 4a983e47dafc048019412350d36270864f6b5f2d RTL8812AU_AIRCRACK_NG_SITE = $(call github,aircrack-ng,rtl8812au,$(RTL8812AU_AIRCRACK_NG_VERSION)) RTL8812AU_AIRCRACK_NG_LICENSE = GPL-2.0 RTL8812AU_AIRCRACK_NG_LICENSE_FILES = LICENSE diff --git a/package/rtl8821cu/Config.in b/package/rtl8821cu/Config.in new file mode 100644 index 00000000000..00a41b5196b --- /dev/null +++ b/package/rtl8821cu/Config.in @@ -0,0 +1,12 @@ +comment "rtl8821cu needs a Linux kernel to be built" + depends on !BR2_s390x + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_RTL8821CU + bool "rtl8821cu" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + help + rtl8821cu wifi driver + + https://github.com/brektrou/rtl8821CU diff --git a/package/rtl8821cu/rtl8821cu.hash b/package/rtl8821cu/rtl8821cu.hash new file mode 100644 index 00000000000..b3d6d2c569d --- /dev/null +++ b/package/rtl8821cu/rtl8821cu.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 3ccec54462a8668142a9c2b2ddfffe4e0434feebe6caf6a7de6812dc8713c37f rtl8821cu-5b39398e2de146edeb76716420f3288f508bea61.tar.gz +sha256 22cdb0a9cf492dbf05c5b27381a5c0e73ae0d4622427b522b0ba92b7495e5fb0 LICENSE diff --git a/package/rtl8821cu/rtl8821cu.mk b/package/rtl8821cu/rtl8821cu.mk new file mode 100644 index 00000000000..8cb8ea710b4 --- /dev/null +++ b/package/rtl8821cu/rtl8821cu.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# rtl8821cu +# +################################################################################ + +RTL8821CU_VERSION = 5b39398e2de146edeb76716420f3288f508bea61 +RTL8821CU_SITE = $(call github,morrownr,8821cu-20210916,$(RTL8821CU_VERSION)) +RTL8821CU_LICENSE = GPL-2.0 +RTL8821CU_LICENSE_FILES = LICENSE + +define RTL8821CU_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB_SUPPORT) + $(call KCONFIG_ENABLE_OPT,CONFIG_USB) +endef + +RTL8821CU_USER_EXTRA_CFLAGS = \ + -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN \ + -DCONFIG_IOCTL_CFG80211 \ + -DRTW_USE_CFG80211_STA_EVENT \ + -Wno-error + +RTL8821CU_MODULE_MAKE_OPTS = \ + CONFIG_PLATFORM_AUTODETECT=n \ + CONFIG_RTL8821CU=m \ + KVER=$(LINUX_VERSION_PROBED) \ + USER_EXTRA_CFLAGS="$(RTL8821CU_USER_EXTRA_CFLAGS)" + +define RTL8821CU_INSTALL_MODPROBE_CONF + $(INSTALL) -m 0644 -D $(@D)/8821cu.conf \ + $(TARGET_DIR)/etc/modprobe.d/8821cu.conf +endef +RTL8821CU_POST_INSTALL_TARGET_HOOKS += RTL8821CU_INSTALL_MODPROBE_CONF + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/rtl8822cs/Config.in b/package/rtl8822cs/Config.in new file mode 100644 index 00000000000..c827291ae4f --- /dev/null +++ b/package/rtl8822cs/Config.in @@ -0,0 +1,13 @@ +comment "rl8822cs needs a Linux kernel to be built" + depends on !BR2_s390x + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_RTL8822CS + bool "rtl8822cs" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + help + Realtek RTL8822CS Wi-Fi driver as a kernel module (JetHome + repository) + + https://github.com/jethome-ru/rtl88x2cs/ diff --git a/package/rtl8822cs/rtl8822cs.hash b/package/rtl8822cs/rtl8822cs.hash new file mode 100644 index 00000000000..34bcc412ce3 --- /dev/null +++ b/package/rtl8822cs/rtl8822cs.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 d61fff0ee8b4219a6441791ff26be1b8c49ef8b2ca78345bf12b7a0541f498e9 rtl8822cs-fda6cd263e89567272060e6182a39aee20b894c4.tar.gz diff --git a/package/rtl8822cs/rtl8822cs.mk b/package/rtl8822cs/rtl8822cs.mk new file mode 100644 index 00000000000..dbdc7d84bf4 --- /dev/null +++ b/package/rtl8822cs/rtl8822cs.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# rtl8822cs +# +################################################################################ + +RTL8822CS_VERSION = fda6cd263e89567272060e6182a39aee20b894c4 +RTL8822CS_SITE = $(call github,jethome-ru,rtl88x2cs,$(RTL8822CS_VERSION)) +RTL8822CS_LICENSE = GPL-2.0 + +RTL8822CS_MODULE_MAKE_OPTS = \ + CONFIG_RTL8822CS=m \ + KVER=$(LINUX_VERSION_PROBED) \ + KSRC=$(LINUX_DIR) + +define RTL8822CS_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_NET) + $(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS) + $(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MAC80211) + $(call KCONFIG_ENABLE_OPT,CONFIG_MMC) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) diff --git a/package/rtl_433/0001-minor-Fix-a-compiler-flag-needs-GCC-7.patch b/package/rtl_433/0001-minor-Fix-a-compiler-flag-needs-GCC-7.patch deleted file mode 100644 index dd3debf7ee2..00000000000 --- a/package/rtl_433/0001-minor-Fix-a-compiler-flag-needs-GCC-7.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 2010e8f949ab7b4555b99dbf184e149a3f33df46 Mon Sep 17 00:00:00 2001 -From: "Christian W. Zuckschwerdt" -Date: Fri, 24 Dec 2021 11:03:06 +0100 -Subject: [PATCH] minor: Fix a compiler flag needs GCC 7 - -[Retrieved from: -https://github.com/merbanan/rtl_433/commit/2010e8f949ab7b4555b99dbf184e149a3f33df46] -Signed-off-by: Fabrice Fontaine ---- - CMakeLists.txt | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3f11ac99..bfa6595ca 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -74,7 +74,9 @@ if(("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" MATCHES - ADD_DEFINITIONS(-pedantic) - ADD_DEFINITIONS(-Wshadow) - ADD_DEFINITIONS(-Wmissing-prototypes) -- ADD_DEFINITIONS(-Wimplicit-fallthrough) -+ if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang" OR NOT "7.0.0" VERSION_GREATER CMAKE_C_COMPILER_VERSION) -+ ADD_DEFINITIONS(-Wimplicit-fallthrough) -+ endif() - #ADD_DEFINITIONS(-Wfloat-equal) - #ADD_DEFINITIONS(-Wbad-function-cast) - #ADD_DEFINITIONS(-Wdocumentation) diff --git a/package/rtl_433/0002-src-optparse.c-fix-build-without-__has_attribute.patch b/package/rtl_433/0002-src-optparse.c-fix-build-without-__has_attribute.patch deleted file mode 100644 index 683754845f3..00000000000 --- a/package/rtl_433/0002-src-optparse.c-fix-build-without-__has_attribute.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1b74826f155406f86846d5c97b3534aab87cf6da Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 26 Dec 2021 15:21:39 +0100 -Subject: [PATCH] src/optparse.c: fix build without __has_attribute - -Fix build failure without __has_attribute (e.g. gcc 4.8) which is raised -since -https://github.com/merbanan/rtl_433/commit/6c8af75c757712bd58b169317795484a72e9a16c - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/merbanan/rtl_433/pull/1918] ---- - src/optparse.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/optparse.c b/src/optparse.c -index aa3d0b53..b5e2d37e 100644 ---- a/src/optparse.c -+++ b/src/optparse.c -@@ -232,9 +232,11 @@ int atoi_time(char const *str, char const *error_hint) - } - // intentional fallthrough - #if defined(__GNUC__) || defined(__clang__) -+#if defined __has_attribute - #if __has_attribute(fallthrough) - __attribute__((fallthrough)); - #endif -+#endif - #endif - case ':': - ++colons; --- -2.33.0 - diff --git a/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch b/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch deleted file mode 100644 index e2088b29e70..00000000000 --- a/package/rtl_433/0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8 Mon Sep 17 00:00:00 2001 -From: "Christian W. Zuckschwerdt" -Date: Mon, 24 Jan 2022 15:53:20 +0100 -Subject: [PATCH] minor: Fix overflow in Clipsal-CMR113 and Somfy-IOHC reported - by aug5t7 - -[Retrieved from: -https://github.com/merbanan/rtl_433/commit/2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8] -Signed-off-by: Fabrice Fontaine ---- - src/devices/cmr113.c | 4 ++-- - src/devices/somfy_iohc.c | 9 +++++---- - 2 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/src/devices/cmr113.c b/src/devices/cmr113.c -index c85dfac56..19ec5d421 100644 ---- a/src/devices/cmr113.c -+++ b/src/devices/cmr113.c -@@ -42,8 +42,8 @@ Kudos to Jon Oxer for decoding this stream and putting it here: - - */ - --#define COMPARE_BITS 83 --#define COMPARE_BYTES (COMPARE_BITS/8) -+#define COMPARE_BITS 83 -+#define COMPARE_BYTES ((COMPARE_BITS + 7) / 8) - - static int cmr113_decode(r_device *decoder, bitbuffer_t *bitbuffer) - { -diff --git a/src/devices/somfy_iohc.c b/src/devices/somfy_iohc.c -index 906cae53e..2c88067b5 100644 ---- a/src/devices/somfy_iohc.c -+++ b/src/devices/somfy_iohc.c -@@ -100,11 +100,12 @@ static int somfy_iohc_decode(r_device *decoder, bitbuffer_t *bitbuffer) - if (bitbuffer->num_rows != 1) - return DECODE_ABORT_EARLY; - -- int offset = bitbuffer_search(bitbuffer, 0, 0, preamble_pattern, 24) + 24; -- if (offset >= bitbuffer->bits_per_row[0] - 19 * 10) -+ unsigned offset = bitbuffer_search(bitbuffer, 0, 0, preamble_pattern, 24) + 24; -+ if (offset + 19 * 10 >= bitbuffer->bits_per_row[0]) - return DECODE_ABORT_EARLY; - -- int num_bits = bitbuffer->bits_per_row[0] - offset; -+ unsigned num_bits = bitbuffer->bits_per_row[0] - offset; -+ num_bits = MIN(num_bits, sizeof (b) * 8); - - int len = extract_bytes_uart(bitbuffer->bb[0], offset, num_bits, b); - if (len < 19) -@@ -120,7 +121,7 @@ static int somfy_iohc_decode(r_device *decoder, bitbuffer_t *bitbuffer) - // calculate and verify checksum - if (crc16lsb(b, len, 0x8408, 0x0000) != 0) // unreflected poly 0x1021 - return DECODE_FAIL_MIC; -- bitrow_printf(b, len * 8, "%s: offset %d, num_bits %d, len %d, msg_len %d\n", __func__, offset, num_bits, len, msg_len); -+ bitrow_printf(b, len * 8, "%s: offset %u, num_bits %u, len %d, msg_len %d\n", __func__, offset, num_bits, len, msg_len); - - int msg_type = (b[0]); - int dst_id = ((unsigned)b[4] << 24) | (b[3] << 16) | (b[2] << 8) | (b[1]); // assume Little-Endian diff --git a/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch b/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch deleted file mode 100644 index 057bf9cf645..00000000000 --- a/package/rtl_433/0004-Fix-overflow-in-Acurite-00275rm.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 37455483889bd1c641bdaafc493d1cc236b74904 Mon Sep 17 00:00:00 2001 -From: "Christian W. Zuckschwerdt" -Date: Fri, 18 Mar 2022 08:09:15 +0100 -Subject: [PATCH] Fix overflow in Acurite-00275rm (closes #2012) - -[Retrieved from: -https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904] -Signed-off-by: Fabrice Fontaine ---- - src/devices/acurite.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/devices/acurite.c b/src/devices/acurite.c -index 6879e52da..4f3e83eb3 100644 ---- a/src/devices/acurite.c -+++ b/src/devices/acurite.c -@@ -1318,15 +1318,15 @@ static int acurite_00275rm_decode(r_device *decoder, bitbuffer_t *bitbuffer) - - // Combine signal if exactly three repeats were found - if (n_rows == 3) { -- uint8_t *b = bitbuffer->bb[bitbuffer->num_rows]; -+ bitbuffer_add_row(bitbuffer); -+ uint8_t *b = bitbuffer->bb[bitbuffer->num_rows - 1]; - for (int i = 0; i < 11; ++i) { - // The majority bit count wins - b[i] = (b_rows[0][i] & b_rows[1][i]) | - (b_rows[1][i] & b_rows[2][i]) | - (b_rows[2][i] & b_rows[0][i]); - } -- bitbuffer->bits_per_row[bitbuffer->num_rows] = 88; -- bitbuffer->num_rows += 1; -+ bitbuffer->bits_per_row[bitbuffer->num_rows - 1] = 88; - } - - // Output the first valid row diff --git a/package/rtl_433/Config.in b/package/rtl_433/Config.in index 5664227c824..01c1e2f5cdd 100644 --- a/package/rtl_433/Config.in +++ b/package/rtl_433/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_RTL_433 bool "rtl_433" depends on BR2_USE_MMU # fork() - depends on !BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL help rtl_433 (despite the name) is a generic data receiver, mainly @@ -10,7 +8,3 @@ config BR2_PACKAGE_RTL_433 MHz ISM bands. https://github.com/merbanan/rtl_433 - -comment "rtl_433 needs a toolchain w/ dynamic library, threads" - depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rtl_433/rtl_433.hash b/package/rtl_433/rtl_433.hash index fd479dfd21e..3a00e0cae7d 100644 --- a/package/rtl_433/rtl_433.hash +++ b/package/rtl_433/rtl_433.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 b362ef3410adec64aee7ad8e6d4d74875f1b3d59ef6fb4856e96adc03876dc65 rtl_433-21.12.tar.gz +sha256 1260c58400bf35832ac1b76cb3cccf3dc1335ffa2416909c63c7d7060c74663b rtl_433-23.11.tar.gz # License file, locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/rtl_433/rtl_433.mk b/package/rtl_433/rtl_433.mk index 74a0b54a3dd..0af25c79362 100644 --- a/package/rtl_433/rtl_433.mk +++ b/package/rtl_433/rtl_433.mk @@ -4,11 +4,11 @@ # ################################################################################ -RTL_433_VERSION = 21.12 +RTL_433_VERSION = 23.11 RTL_433_SITE = $(call github,merbanan,rtl_433,$(RTL_433_VERSION)) RTL_433_LICENSE = GPL-2.0+ RTL_433_LICENSE_FILES = COPYING -RTL_433_CPE_ID_VENDOR = rtl_433_project +RTL_433_CPE_ID_VALID = YES # Force Release build to remove ASAN. RTL_433_CONF_OPTS = \ @@ -18,12 +18,6 @@ RTL_433_CONF_OPTS = \ -DBUILD_TESTING_ANALYZER=OFF \ -DENABLE_SOAPYSDR=OFF -# 0003-minor-Fix-overflow-in-Clipsal-CMR113-and-Somfy-IOHC.patch -RTL_433_IGNORE_CVES += CVE-2022-25051 - -# 0004-Fix-overflow-in-Acurite-00275rm.patch -RTL_433_IGNORE_CVES += CVE-2022-27419 - ifeq ($(BR2_PACKAGE_LIBRTLSDR),y) RTL_433_DEPENDENCIES += librtlsdr RTL_433_CONF_OPTS += -DENABLE_RTLSDR=ON @@ -38,4 +32,10 @@ else RTL_433_CONF_OPTS += -DENABLE_OPENSSL=OFF endif +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +RTL_433_CONF_OPTS += -DENABLE_THREADS=ON +else +RTL_433_CONF_OPTS += -DENABLE_THREADS=OFF +endif + $(eval $(cmake-package)) diff --git a/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk index fb381d0e104..4c8ecfe1276 100644 --- a/package/rtmpdump/rtmpdump.mk +++ b/package/rtmpdump/rtmpdump.mk @@ -12,7 +12,7 @@ RTMPDUMP_INSTALL_STAGING = YES # care about librtmp, it's LGPL-2.1+ RTMPDUMP_LICENSE = LGPL-2.1+ RTMPDUMP_LICENSE_FILES = librtmp/COPYING -RTMPDUMP_CPE_ID_VENDOR = rtmpdump_project +RTMPDUMP_CPE_ID_VALID = YES RTMPDUMP_DEPENDENCIES = zlib ifeq ($(BR2_PACKAGE_GNUTLS),y) diff --git a/package/rtty/0001-CMakeLists.txt-prefer-pkg_check_modules.patch b/package/rtty/0001-CMakeLists.txt-prefer-pkg_check_modules.patch new file mode 100644 index 00000000000..37140504456 --- /dev/null +++ b/package/rtty/0001-CMakeLists.txt-prefer-pkg_check_modules.patch @@ -0,0 +1,40 @@ +From 565c003ac412c9b0fa39d208d4a911f4300477c3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 26 Feb 2023 20:39:11 +0100 +Subject: [PATCH] CMakeLists.txt: prefer pkg_check_modules + +Prefer pkg_check_modules over find_package to avoid the following static +build failure with openssl and -latomic: + +/home/autobuild/autobuild/instance-8/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /home/autobuild/autobuild/instance-8/output-1/host/sparc-buildroot-linux-uclibc/sysroot/usr/lib/libssl.a(ssl_cert.o): in function `ssl_cert_free': +ssl_cert.c:(.text+0x53c): undefined reference to `__atomic_fetch_sub_4' + +Fixes: + - http://autobuild.buildroot.org/results/f606bb15bf4f88ba29ef0795413e13acc9cd0976 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zhaojh329/ssl/pull/4] +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/ssl/CMakeLists.txt b/src/ssl/CMakeLists.txt +index 4868bf7..36488c7 100644 +--- a/src/ssl/CMakeLists.txt ++++ b/src/ssl/CMakeLists.txt +@@ -14,10 +14,10 @@ endif() + + find_package(PkgConfig QUIET) + +-find_package(OpenSSL) ++pkg_check_modules(OPENSSL openssl) + + if (NOT OPENSSL_FOUND) +- pkg_check_modules(OPENSSL openssl) ++ find_package(OpenSSL) + endif() + + find_package(WolfSSL) +-- +2.39.1 + diff --git a/package/rtty/rtty.hash b/package/rtty/rtty.hash index b2e9db24361..a6ccb5c2e67 100644 --- a/package/rtty/rtty.hash +++ b/package/rtty/rtty.hash @@ -1,2 +1,2 @@ -sha256 9bc5d30dfa9bd664a62711b6229f47505b83adb364907f24e3a404aad52a4802 rtty-7.4.0.tar.gz +sha256 e634939bae62bf3d52ceebae5df00179629d214634b93464eeb2294406512b30 rtty-8.1.0.tar.gz sha256 99efed4bbc0b62f96f999ef23399e38234fb91651af734fd389a52b033a85b55 LICENSE diff --git a/package/rtty/rtty.mk b/package/rtty/rtty.mk index 4ec220394cc..8a40f584def 100644 --- a/package/rtty/rtty.mk +++ b/package/rtty/rtty.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTTY_VERSION = 7.4.0 +RTTY_VERSION = 8.1.0 RTTY_SITE = https://github.com/zhaojh329/rtty/releases/download/v$(RTTY_VERSION) RTTY_LICENSE = MIT RTTY_LICENSE_FILES = LICENSE @@ -13,26 +13,26 @@ RTTY_DEPENDENCIES = libev ifeq ($(BR2_PACKAGE_MBEDTLS),y) RTTY_DEPENDENCIES += mbedtls RTTY_CONF_OPTS += \ - -DRTTY_SSL_SUPPORT=ON \ - -DRTTY_USE_MBEDTLS=ON \ - -DRTTY_USE_OPENSSL=OFF \ - -DRTTY_USE_WOLFSSL=OFF + -DSSL_SUPPORT=ON \ + -DUSE_MBEDTLS=ON \ + -DUSE_OPENSSL=OFF \ + -DUSE_WOLFSSL=OFF else ifeq ($(BR2_PACKAGE_OPENSSL),y) RTTY_DEPENDENCIES += host-pkgconf openssl RTTY_CONF_OPTS += \ - -DRTTY_SSL_SUPPORT=ON \ - -DRTTY_USE_MBEDTLS=OFF \ - -DRTTY_USE_OPENSSL=ON \ - -DRTTY_USE_WOLFSSL=OFF -else ifeq ($(BR2_PACKAGE_WOLFSSL),y) + -DSSL_SUPPORT=ON \ + -DUSE_MBEDTLS=OFF \ + -DUSE_OPENSSL=ON \ + -DUSE_WOLFSSL=OFF +else ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y) RTTY_DEPENDENCIES += wolfssl RTTY_CONF_OPTS += \ - -DRTTY_SSL_SUPPORT=ON \ - -DRTTY_USE_MBEDTLS=OFF \ - -DRTTY_USE_OPENSSL=OFF \ - -DRTTY_USE_WOLFSSL=ON + -DSSL_SUPPORT=ON \ + -DUSE_MBEDTLS=OFF \ + -DUSE_OPENSSL=OFF \ + -DUSE_WOLFSSL=ON else -RTTY_CONF_OPTS += -DRTTY_SSL_SUPPORT=OFF +RTTY_CONF_OPTS += -DSSL_SUPPORT=OFF endif $(eval $(cmake-package)) diff --git a/package/ruby/0001-Fix-build-with-LibreSSL-3-5.patch b/package/ruby/0001-Fix-build-with-LibreSSL-3-5.patch deleted file mode 100644 index 805dfd2f898..00000000000 --- a/package/ruby/0001-Fix-build-with-LibreSSL-3-5.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e25fb0d0d86da5a9398ebdc9216b2ea89f80fa3d Mon Sep 17 00:00:00 2001 -From: Jeremy Evans -Date: Fri, 25 Mar 2022 13:11:31 -0700 -Subject: [PATCH] Fix build with LibreSSL 3.5 - -[Retrieved from: -https://github.com/ruby/openssl/commit/e25fb0d0d86da5a9398ebdc9216b2ea89f80fa3d] -Signed-off-by: Fabrice Fontaine ---- - ext/openssl/ossl_pkey.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/openssl/ossl_pkey.c b/ext/openssl/ossl_pkey.c -index 2a4835a2..24d0da46 100644 ---- a/ext/openssl/ossl_pkey.c -+++ b/ext/openssl/ossl_pkey.c -@@ -710,7 +710,7 @@ ossl_pkey_export_traditional(int argc, VALUE *argv, VALUE self, int to_der) - } - } - else { --#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) -+#if OSSL_OPENSSL_PREREQ(1, 1, 0) || OSSL_LIBRESSL_PREREQ(3, 5, 0) - if (!PEM_write_bio_PrivateKey_traditional(bio, pkey, enc, NULL, 0, - ossl_pem_passwd_cb, - (void *)pass)) { diff --git a/package/ruby/ruby.hash b/package/ruby/ruby.hash index 42d8a2497fa..4ac6200bca9 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,7 +1,7 @@ -# https://www.ruby-lang.org/en/news/2022/11/24/ruby-3-1-3-released/ -sha512 4b0fd334ae56132ba98b8a69adad54bdcf7f7aeabd5eba5b0f0399a3868e2054f9026ca1b1cb2dbb197a9e9b0610b263481949c0623a62071546bc5adff8ca69 ruby-3.1.3.tar.xz +# https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-3-1-released/ +sha512 c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347 ruby-3.3.1.tar.xz # License files, Locally calculated -sha256 794c384f94396ab07e3e6f53a9f8be093facb7eb4193266024302b93b29e12dc LEGAL +sha256 e849b28d324423e636a3e6bc5d583cdaf4bd046c2b20872c53886b612d01a4a1 LEGAL sha256 967586d538a28955ec2541910cf63c5ac345fcdea94bfb1f1705a1f6eb36bcbb COPYING sha256 36a9a6e7347214bbba599a412617204e65bff065dcbe5c46f5cb454c80de9eb0 BSDL diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index 28b1ec13efc..fcc637c5ea0 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -4,9 +4,9 @@ # ################################################################################ -RUBY_VERSION_MAJOR = 3.1 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).3 -RUBY_VERSION_EXT = 3.1.0 +RUBY_VERSION_MAJOR = 3.3 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).1 +RUBY_VERSION_EXT = 3.3.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz @@ -20,11 +20,16 @@ RUBY_LICENSE_FILES = LEGAL COPYING BSDL RUBY_CPE_ID_VENDOR = ruby-lang RUBY_DEPENDENCIES = host-pkgconf host-ruby -HOST_RUBY_DEPENDENCIES = host-pkgconf host-openssl +HOST_RUBY_DEPENDENCIES = host-libyaml host-pkgconf host-openssl RUBY_MAKE_ENV = $(TARGET_MAKE_ENV) -RUBY_CONF_OPTS = --disable-install-doc --disable-rpath --disable-rubygems +RUBY_CONF_OPTS = \ + --disable-install-doc \ + --disable-rpath \ + --disable-rubygems \ + --disable-yjit HOST_RUBY_CONF_OPTS = \ --disable-install-doc \ + --disable-yjit \ --with-out-ext=curses,readline \ --without-gmp diff --git a/package/runc/runc.hash b/package/runc/runc.hash index 6c8fddd3978..d6eb27d352c 100644 --- a/package/runc/runc.hash +++ b/package/runc/runc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 4f02077432642eebd768fc857318ae7929290b3a3511eb1be338005e360cfa34 runc-1.1.4.tar.gz +sha256 be31b07d6a54a8f234016501c300ad04b6c428c56588e7eca8c3b663308db208 runc-1.1.12.tar.gz sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/runc/runc.mk b/package/runc/runc.mk index b60f1da2e71..273509b860d 100644 --- a/package/runc/runc.mk +++ b/package/runc/runc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUNC_VERSION = 1.1.4 +RUNC_VERSION = 1.1.12 RUNC_SITE = $(call github,opencontainers,runc,v$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0, LGPL-2.1 (libseccomp) RUNC_LICENSE_FILES = LICENSE diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash index af9927a028e..d44cb2cb678 100644 --- a/package/rust-bin/rust-bin.hash +++ b/package/rust-bin/rust-bin.hash @@ -1,129 +1,111 @@ -# From https://static.rust-lang.org/dist/rust-1.65.0-aarch64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-aarch64-unknown-linux-gnu.tar.xz.asc -sha256 b3a83a9585b8c4ede4eab2a11b3f96895f676d8b46c9642140c4fefd5c309ed1 rust-1.65.0-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-i686-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-i686-unknown-linux-gnu.tar.xz.asc -sha256 50595b96f98e0940bbfe00209d6c233e9158e140ecd6088ad3bd53f89b123e9d rust-1.65.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-mips-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-mips-unknown-linux-gnu.tar.xz.asc -sha256 afa3af620b3a0bf8a1da33413eace1db681db5f99b2572ac016027b3d71a50b7 rust-1.65.0-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-mipsel-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-mipsel-unknown-linux-gnu.tar.xz.asc -sha256 c6b48026fb131a404bcdc7a691246c3de716e32805d58d1571e253b9a5b047b5 rust-1.65.0-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-powerpc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-powerpc-unknown-linux-gnu.tar.xz.asc -sha256 5601b31290790a7077c342c8731bb1d5de1a89639476e14bc7840aeaa3ab6010 rust-1.65.0-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-powerpc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-powerpc64-unknown-linux-gnu.tar.xz.asc -sha256 8cf900ac125d6bebc97ebb777761923b2062e4fc36692c1f2d68faa0e70949b2 rust-1.65.0-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-powerpc64le-unknown-linux-gnu.tar.xz.asc -sha256 e0654c20446aa5c66def122617f3ca4be9e9b86e75040327e3d35973b6b88980 rust-1.65.0-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-riscv64gc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-riscv64gc-unknown-linux-gnu.tar.xz.asc -sha256 f02e1bac01415e101fac58608b070b0f37c7df1a142c8001ddbc489cfb85c232 rust-1.65.0-riscv64gc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-s390x-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-s390x-unknown-linux-gnu.tar.xz.asc -sha256 e7dc9bb42c0e738f68f8ad4b05cf4b7bef8fa490c379e5730c7e282507b305ee rust-1.65.0-s390x-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-1.65.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-1.65.0-x86_64-unknown-linux-gnu.tar.xz.asc -sha256 9455cab767f7b9f46259aac8d953f15f11b3d65513384e2b0a5e77d0432ae82f rust-1.65.0-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-aarch64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-aarch64-unknown-linux-gnu.tar.xz.asc -sha256 735b681c8a6e60925c76d6cc899e78b4cb4562ada24a1f265b2021c1faad78ad rust-std-1.65.0-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-aarch64-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-aarch64-unknown-linux-musl.tar.xz.asc -sha256 9ea488da40c347826cce7e238847c745ee566254bb1d077412673f8243fb1cd2 rust-std-1.65.0-aarch64-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-gnueabi.tar.xz.asc -sha256 c8793e77ef43336bc372a7a5b4720d5449e92577c7875471c2bc40ddbfde4811 rust-std-1.65.0-arm-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-gnueabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-gnueabihf.tar.xz.asc -sha256 f7d5eb17dbe46ee9d3c4f9fcffc07b8e3311c747545402c8d3b5c43043f27288 rust-std-1.65.0-arm-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-musleabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-musleabihf.tar.xz.asc -sha256 32d7f301196d73027fb9a5ae595dbadacdc234307c36b4a175a132e75318e38c rust-std-1.65.0-arm-unknown-linux-musleabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-musleabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-arm-unknown-linux-musleabi.tar.xz.asc -sha256 453a1443e4753611dc4e6969e50ad8d7984a31d1a457729a860599ed19b1de7a rust-std-1.65.0-arm-unknown-linux-musleabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-armv5te-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-armv5te-unknown-linux-gnueabi.tar.xz.asc -sha256 d079e841be640b4ce26aa821f29bc813243a7c0af7b8aca8ca4acf5c2e5b722f rust-std-1.65.0-armv5te-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-armv5te-unknown-linux-musleabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-armv5te-unknown-linux-musleabi.tar.xz.asc -sha256 1d11ab1d60070ae30ff87b55dca077f4d532d814a9ab7bc77055b5b429a78c6e rust-std-1.65.0-armv5te-unknown-linux-musleabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-gnueabihf.tar.xz.asc -sha256 fec73401941bffce3b6913d31955f1291119dea119c0051d94f271ae7c959d4c rust-std-1.65.0-armv7-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-gnueabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-gnueabi.tar.xz.asc -sha256 c14268337c69650a2618909d8e691489385d748374d73ab8d6a2f9d6b030d70d rust-std-1.65.0-armv7-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-musleabihf.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-musleabihf.tar.xz.asc -sha256 9368527053c4bab0fd320209b45f0278d0a1e54a37006a56a6e565404ab73fef rust-std-1.65.0-armv7-unknown-linux-musleabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-musleabi.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-armv7-unknown-linux-musleabi.tar.xz.asc -sha256 0b5bc219333e3e983fb1e7e86a0c268c4a52ccbd6326a16785be9d9017d97e9f rust-std-1.65.0-armv7-unknown-linux-musleabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-i586-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-i586-unknown-linux-gnu.tar.xz.asc -sha256 533eda439eb5ffec258b8219445742d6d60570040b3ff167291e3d0d985b9d70 rust-std-1.65.0-i586-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-i586-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-i586-unknown-linux-musl.tar.xz.asc -sha256 7f5d9ae65827aef1a51676927a4c9533f942021d2fd45fd93b23dfaa738ee205 rust-std-1.65.0-i586-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-i686-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-i686-unknown-linux-gnu.tar.xz.asc -sha256 99bd62d593a6ab3205cab7f06b5793a075b9d05d868e927a6948e46269d61e82 rust-std-1.65.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-i686-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-i686-unknown-linux-musl.tar.xz.asc -sha256 644a4c57c1392f776c5ebb13f9832778b69464391b3766e6bbd18c3aa11787a6 rust-std-1.65.0-i686-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mips-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mips-unknown-linux-gnu.tar.xz.asc -sha256 50c65a8effc85aa89242ba0a2a2c89bfcc4d0a39dcb42396d10b0036b9a4e90c rust-std-1.65.0-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mips-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mips-unknown-linux-musl.tar.xz.asc -sha256 3bc5043f4eb7bb6418708792ee8e777197e562d03843a9adf62ce245ba07289a rust-std-1.65.0-mips-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mips64-unknown-linux-gnuabi64.tar.xz.asc -sha256 338c702b79dac33e32dde097084dd38852487d2976c5eb66b44ba8fc8319342b rust-std-1.65.0-mips64-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mips64-unknown-linux-muslabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mips64-unknown-linux-muslabi64.tar.xz.asc -sha256 9450745a5e678c9b7e65ecc7d6a016f92d8d22d8091c4a77431b1e58b99a435f rust-std-1.65.0-mips64-unknown-linux-muslabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc -sha256 a0a0e60a0e850140194250fbbfb962c322d4f474f4ec22d03b7f537034257c09 rust-std-1.65.0-mips64el-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mips64el-unknown-linux-muslabi64.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mips64el-unknown-linux-muslabi64.tar.xz.asc -sha256 0862706d22dcfee39b0d2df874dd6065d8c3020c0b8974f6e7b694edd42413ae rust-std-1.65.0-mips64el-unknown-linux-muslabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mipsel-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mipsel-unknown-linux-gnu.tar.xz.asc -sha256 79e078420f7c45fd1cf38b70620ced50d35ddb1621736b65be987c20481fe5bc rust-std-1.65.0-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-mipsel-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-mipsel-unknown-linux-musl.tar.xz.asc -sha256 482e9245873338a08f47ea2c29683134b8813deb3e3eafb78b786d34bbecce51 rust-std-1.65.0-mipsel-unknown-linux-musl.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-powerpc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-powerpc-unknown-linux-gnu.tar.xz.asc -sha256 672b9ea8018dcdf7d5f79f5298bacc34e7600a082727b4f1a20c14251752aaa2 rust-std-1.65.0-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-powerpc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-powerpc64-unknown-linux-gnu.tar.xz.asc -sha256 8a26e08908156ae5a05c64c2732435ef4efb994a2ac6d0b2e9c93c0dae19d089 rust-std-1.65.0-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-powerpc64le-unknown-linux-gnu.tar.xz.asc -sha256 ce18b44300f7d5d94856cef5b270ba010061fafa411beb9782207e26cbab88a6 rust-std-1.65.0-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-riscv64gc-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-riscv64gc-unknown-linux-gnu.tar.xz.asc -sha256 fa99f123ce14f1cda245857b50fd4709adee960e7d36ce663b87c13aee18b64b rust-std-1.65.0-riscv64gc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-s390x-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-s390x-unknown-linux-gnu.tar.xz.asc -sha256 a3f6740be345364f4599ae837d2401e0f31e5d33a4f958852d12a384ee581a83 rust-std-1.65.0-s390x-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-sparc64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-sparc64-unknown-linux-gnu.tar.xz.asc -sha256 fc2a8816665f464d3085dcd379c44b9de0ee1f1084fae0a4c32c57754b27992b rust-std-1.65.0-sparc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.xz.asc -sha256 2b588cd2d49688c0c33b7466614123e8fe4c910f4d802fc0ff0662b1772816a9 rust-std-1.65.0-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.65.0-x86_64-unknown-linux-musl.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rust-std-1.65.0-x86_64-unknown-linux-musl.tar.xz.asc -sha256 55abeb1b55aeebc46a4af2f304271361397df58d12f7eb23fb262bc3132c6056 rust-std-1.65.0-x86_64-unknown-linux-musl.tar.xz -# Locally generated +# From https://static.rust-lang.org/dist/rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz.asc +sha256 88d0cd0407ca5bb73b5d72956d85e31e057657c7ec09a58ca634cf36bd5cf626 rust-1.74.1-aarch64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-i686-unknown-linux-gnu.tar.xz.asc +sha256 f58cdf15717e7f6506088e753ffef3ec655a4ccd932eae280d6cb68b0ee3feca rust-1.74.1-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz.asc +sha256 d272cec30f3461647861d120af53946142fa2f969f43040c2685425cb67c7d79 rust-1.74.1-powerpc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz.asc +sha256 17df1fa64083fa508576062a651577e0741d02f4ae5771518a72fd4ea483b00f rust-1.74.1-powerpc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz.asc +sha256 054a98e8e85e94c187ff8bc16bac8011747839c9ad73584fdd87b904f137eb23 rust-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz.asc +sha256 4abc1499e91cfadf7610a08271d1f5ff9284a54ba4a0ba60f105bb9b2413169e rust-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-s390x-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-s390x-unknown-linux-gnu.tar.xz.asc +sha256 3196fd6e4453cd2191e5f8c4f63eaffd045cc1884cf4b64d94990aa81232f85f rust-1.74.1-s390x-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 5483e32fe962e9123cf49c9cf169e60640d4c9d0aad1a054dd4bf232f0f012be rust-1.74.1-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-aarch64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-aarch64-unknown-linux-gnu.tar.xz.asc +sha256 a776e7b41991ef7a50706d1f9b7752a8d963e67297bfc22471d6e68d544349cc rust-std-1.74.1-aarch64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-aarch64-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-aarch64-unknown-linux-musl.tar.xz.asc +sha256 d712e44d57f3732c294affb26c07d8fb79f25c716b16a4bde910390f34cc9959 rust-std-1.74.1-aarch64-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-gnueabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-gnueabi.tar.xz.asc +sha256 38ccd7eeb30e481a27533ec1450c1eb4f3c3fee284f702ee64676b3831bde425 rust-std-1.74.1-arm-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-gnueabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-gnueabihf.tar.xz.asc +sha256 5f1b890faa083afd97ed53c67d859f4de89abe9a059b48c98217d8ee015bedeb rust-std-1.74.1-arm-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-musleabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-musleabi.tar.xz.asc +sha256 9b57973a9d23e713799169c3b39282655b742c9182e21270f53a3bb46af516f3 rust-std-1.74.1-arm-unknown-linux-musleabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-musleabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-arm-unknown-linux-musleabihf.tar.xz.asc +sha256 26bad270c96de6ca0abbad4a2be63f994fede26b19cfab3362479668f3d1d5c5 rust-std-1.74.1-arm-unknown-linux-musleabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-armv5te-unknown-linux-gnueabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-armv5te-unknown-linux-gnueabi.tar.xz.asc +sha256 c567bf8e062daead8a256ee3097e724e1f70a4be5f69a74c3722719fb338af27 rust-std-1.74.1-armv5te-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-armv5te-unknown-linux-musleabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-armv5te-unknown-linux-musleabi.tar.xz.asc +sha256 96c81d327c4cd5cd35541dae3db4ed6eef6a943c78b0595396e88264a692b5e2 rust-std-1.74.1-armv5te-unknown-linux-musleabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-gnueabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-gnueabi.tar.xz.asc +sha256 339b4bf274ba569245a3e7bc1c9e238ce64c1942c5510fb19a4cacae37aa8aa9 rust-std-1.74.1-armv7-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz.asc +sha256 915c3648772d1b00b491a204239362aac33b213e95ac7e818b2001a40aae800a rust-std-1.74.1-armv7-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-musleabi.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-musleabi.tar.xz.asc +sha256 e0a61bd2f33e5929a47654dccc5387c56aa847ab028ff2f1992b4dc82da677f0 rust-std-1.74.1-armv7-unknown-linux-musleabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-musleabihf.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-armv7-unknown-linux-musleabihf.tar.xz.asc +sha256 7402c633f1a765053ca9bd4c03d65ece67651af9ce3698781a8d2a271e76cbaa rust-std-1.74.1-armv7-unknown-linux-musleabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-i586-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-i586-unknown-linux-gnu.tar.xz.asc +sha256 7c01117e7db5b77880d2ed5f3874ae10cdf9a3d2d042fc06011a8f5f8346b66c rust-std-1.74.1-i586-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-i586-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-i586-unknown-linux-musl.tar.xz.asc +sha256 b2781008ab93083970d5bf18782f6611f80d5b2a0aa1eaf6e6a44e8b0c146d9b rust-std-1.74.1-i586-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-i686-unknown-linux-gnu.tar.xz.asc +sha256 de7bfa755339d81d0f375c04a6b5432fba8452fdc72154fbe5cd5e1147902b90 rust-std-1.74.1-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-i686-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-i686-unknown-linux-musl.tar.xz.asc +sha256 1d0a2aa7fc04896bb73d08ec6b7247d9f8e2db46532c31adff3d7944d66dfb4b rust-std-1.74.1-i686-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-mips-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-mips-unknown-linux-musl.tar.xz.asc +sha256 c1721bb1f47941b1e6acc2f91b326d9172bf401dd88e92abacbb8084ecbc568f rust-std-1.74.1-mips-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-mips64-unknown-linux-muslabi64.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-mips64-unknown-linux-muslabi64.tar.xz.asc +sha256 d2680c31aabfa896301689a0a03206aad31a59111a3c041c357ba5508f56dcfc rust-std-1.74.1-mips64-unknown-linux-muslabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-mips64el-unknown-linux-muslabi64.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-mips64el-unknown-linux-muslabi64.tar.xz.asc +sha256 7a8b6f7cc454efb57f575ba50956f2530e192ab50c622acf38b29a42a5bb31e0 rust-std-1.74.1-mips64el-unknown-linux-muslabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-mipsel-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-mipsel-unknown-linux-musl.tar.xz.asc +sha256 733995dec75a90d4039bc3a6e11c44e256bfc4cb074e46a67e2aebfe1ec69a26 rust-std-1.74.1-mipsel-unknown-linux-musl.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-powerpc-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-powerpc-unknown-linux-gnu.tar.xz.asc +sha256 7fb458560bccae13f6558df43d5e17f177a084fdcb605d500eda63bc1ac3eb58 rust-std-1.74.1-powerpc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-powerpc64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-powerpc64-unknown-linux-gnu.tar.xz.asc +sha256 931f975a4a4c8dc17552d965b276c7211e25f8c5deec1f41f5db5c181fa15320 rust-std-1.74.1-powerpc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz.asc +sha256 40781d07bb9a23d57c2440d70fee6385d8d40553b739d835c38fd0abe96d7ec5 rust-std-1.74.1-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz.asc +sha256 2c4de6689f5008289b791ad15b8cdc2d69947985b81b77d4dbe5d31632532e1d rust-std-1.74.1-riscv64gc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-s390x-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-s390x-unknown-linux-gnu.tar.xz.asc +sha256 781403a12fef605250869aeb843be6b7f98ed6c0a62f0349fda53ee4d9d8e296 rust-std-1.74.1-s390x-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-sparc64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-sparc64-unknown-linux-gnu.tar.xz.asc +sha256 e19c0d79b385454a8e8c9f27c3ca9779ffac778d8b7cd8de701ce413f492d9f1 rust-std-1.74.1-sparc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 df435e3254c03ccbfc9e733ae33b399f5f99bd488974bc07d8b1db91a12ee95b rust-std-1.74.1-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.74.1-x86_64-unknown-linux-musl.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rust-std-1.74.1-x86_64-unknown-linux-musl.tar.xz.asc +sha256 98f190039c7e7922838f9716443b7ddfec2aa3dc229f5b1813a26591c557997e rust-std-1.74.1-x86_64-unknown-linux-musl.tar.xz +# Locally generated sha256 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk index 91ee5a53728..ca35d27d1cb 100644 --- a/package/rust-bin/rust-bin.mk +++ b/package/rust-bin/rust-bin.mk @@ -6,7 +6,7 @@ # When updating this version, check whether support/download/cargo-post-process # still generates the same archives. -RUST_BIN_VERSION = 1.65.0 +RUST_BIN_VERSION = 1.74.1 RUST_BIN_SITE = https://static.rust-lang.org/dist RUST_BIN_LICENSE = Apache-2.0 or MIT RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT diff --git a/package/rust-bindgen/rust-bindgen.hash b/package/rust-bindgen/rust-bindgen.hash new file mode 100644 index 00000000000..fe94bbc0967 --- /dev/null +++ b/package/rust-bindgen/rust-bindgen.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e1cdbaa8e0ed96f647e49807aecfc44d9239d438c2b1c084edb9a3cca0b1f68f rust-bindgen-0.65.1.tar.gz +sha256 c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db LICENSE diff --git a/package/rust-bindgen/rust-bindgen.mk b/package/rust-bindgen/rust-bindgen.mk new file mode 100644 index 00000000000..aa0d7d44a48 --- /dev/null +++ b/package/rust-bindgen/rust-bindgen.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# rust-bindgen +# +################################################################################ + +RUST_BINDGEN_VERSION = 0.65.1 +RUST_BINDGEN_SITE = $(call github,rust-lang,rust-bindgen,v$(RUST_BINDGEN_VERSION)) +RUST_BINDGEN_LICENSE = BSD-3-clause +RUST_BINDGEN_LICENSE_FILES = LICENSE + +# The Cargo.toml at the root directory is a "virtual manifest". +# Since we only want to build and install bindgen use the Cargo.toml +# from the bindgen-cli subdirectory. +RUST_BINDGEN_SUBDIR = bindgen-cli + +$(eval $(host-cargo-package)) diff --git a/package/rust/rust.hash b/package/rust/rust.hash index 9776f3f84ca..175fa71bafb 100644 --- a/package/rust/rust.hash +++ b/package/rust/rust.hash @@ -1,6 +1,6 @@ -# From https://static.rust-lang.org/dist/rustc-1.65.0-src.tar.xz.sha256 -# Verified using https://static.rust-lang.org/dist/rustc-1.65.0-src.tar.xz.asc -sha256 2d6aa2ea3fedd55acbbd65f78349385f9daa9c14e25db7a8df5d015588eee1cf rustc-1.65.0-src.tar.xz +# From https://static.rust-lang.org/dist/rustc-1.74.1-src.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/rustc-1.74.1-src.tar.xz.asc +sha256 b98c09d968529212fb29eec7d6d3e9bdaa869810679b7fb86a1ca69469d75f5e rustc-1.74.1-src.tar.xz # Locally generated sha256 62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/rust/rust.mk b/package/rust/rust.mk index d501391d777..c544582c998 100644 --- a/package/rust/rust.mk +++ b/package/rust/rust.mk @@ -6,7 +6,7 @@ # When updating this version, check whether support/download/cargo-post-process # still generates the same archives. -RUST_VERSION = 1.65.0 +RUST_VERSION = 1.74.1 RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz RUST_SITE = https://static.rust-lang.org/dist RUST_LICENSE = Apache-2.0 or MIT @@ -20,6 +20,7 @@ HOST_RUST_DEPENDENCIES = \ host-python3 \ host-rust-bin \ host-openssl \ + host-zlib \ $(BR2_CMAKE_HOST_DEPENDENCY) HOST_RUST_VERBOSITY = $(if $(VERBOSE),2,0) @@ -64,11 +65,13 @@ define HOST_RUST_CONFIGURE_CMDS echo 'cc = "$(TARGET_CROSS)gcc"'; \ echo '[llvm]'; \ echo 'ninja = false'; \ + echo 'ldflags = "$(HOST_LDFLAGS)"'; \ ) > $(@D)/config.toml endef define HOST_RUST_BUILD_CMDS - cd $(@D); $(HOST_MAKE_ENV) $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py build + cd $(@D); $(HOST_MAKE_ENV) $(HOST_PKG_CARGO_ENV) \ + $(HOST_DIR)/bin/python$(PYTHON3_VERSION_MAJOR) x.py build endef HOST_RUST_INSTALL_OPTS = \ diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host index 822de68dbb6..baa68994e62 100644 --- a/package/rustc/Config.in.host +++ b/package/rustc/Config.in.host @@ -2,8 +2,6 @@ config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS bool default y if BR2_HOSTARCH = "aarch64" - default y if BR2_HOSTARCH = "mips" - default y if BR2_HOSTARCH = "mipsel" default y if BR2_HOSTARCH = "powerpc" default y if BR2_HOSTARCH = "powerpc64" default y if BR2_HOSTARCH = "powerpc64le" @@ -45,14 +43,6 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS # armv7-unknown-linux-gnueabihf for armv8 hardware with 32-bit # userspace default y if BR2_arm && BR2_ARM_CPU_ARMV8A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC - # mips-unknown-linux-gnu - default y if BR2_mips && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6 - # mips64-unknown-linux-gnuabi64 - default y if BR2_mips64 && BR2_TOOLCHAIN_USES_GLIBC && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6 - # mipsel-unknown-linux-gnu - default y if BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6 - # mips64el-unknown-linux-gnuabi64 - default y if BR2_mips64el && BR2_TOOLCHAIN_USES_GLIBC && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6 # powerpc-unknown-linux-gnu default y if BR2_powerpc && BR2_TOOLCHAIN_USES_GLIBC # powerpc64-unknown-linux-gnu @@ -159,6 +149,8 @@ config BR2_PACKAGE_HOST_RUST depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # triggers ICE on trunc_int_for_mode, at explow.c:56 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_aarch64 + # rust uses llvm >= 17 since 1.73.0 + select BR2_HOST_CMAKE_AT_LEAST_3_20 help This package will build the compiler for the host as well as two flavors of the standard library: one for the host, another diff --git a/package/rwmem/Config.in b/package/rwmem/Config.in index cd9a7f78f13..690b0340707 100644 --- a/package/rwmem/Config.in +++ b/package/rwmem/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_RWMEM bool "rwmem" - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # fmt select BR2_PACKAGE_FMT @@ -10,6 +10,6 @@ config BR2_PACKAGE_RWMEM https://github.com/tomba/rwmem -comment "rwmem needs a toolchain w/ C++, wchar, gcc >= 5" +comment "rwmem needs a toolchain w/ C++, wchar, gcc >= 10" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + !BR2_TOOLCHAIN_GCC_AT_LEAST_10 diff --git a/package/rwmem/rwmem.hash b/package/rwmem/rwmem.hash index 9becbc5b216..da74002cb44 100644 --- a/package/rwmem/rwmem.hash +++ b/package/rwmem/rwmem.hash @@ -1,2 +1,2 @@ -sha256 55d28f029c0cd5c21d3e1c89371e2905d5217f571ef5389ed0fce163804d1c4a rwmem-c8291705c82bb0686be9adf6a427a2b72114719a.tar.gz +sha256 e6cb76b77869aef9ec4a2c31d0d80af0182a5f9c9c3ae06225c8fb2f8266379f rwmem-c89bc9ad9a8f2359f358c510db57b7678eb156d1.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/rwmem/rwmem.mk b/package/rwmem/rwmem.mk index 24c4e92efc8..d6ef05193bd 100644 --- a/package/rwmem/rwmem.mk +++ b/package/rwmem/rwmem.mk @@ -4,7 +4,7 @@ # ################################################################################ -RWMEM_VERSION = c8291705c82bb0686be9adf6a427a2b72114719a +RWMEM_VERSION = c89bc9ad9a8f2359f358c510db57b7678eb156d1 RWMEM_SITE = $(call github,tomba,rwmem,$(RWMEM_VERSION)) RWMEM_LICENSE = GPL-2.0 RWMEM_LICENSE_FILES = LICENSE diff --git a/package/rygel/0001-build-Add-man_pages-build-options.patch b/package/rygel/0001-build-Add-man_pages-build-options.patch deleted file mode 100644 index cdd7cc77214..00000000000 --- a/package/rygel/0001-build-Add-man_pages-build-options.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 5a54c5bb1c9609b7bffe6b3e05f934030e4e990e Mon Sep 17 00:00:00 2001 -From: Jens Georg -Date: Sat, 26 Dec 2020 18:40:51 +0100 -Subject: [PATCH] build: Add man_pages build options - -Check if xsltproc runs succesfully and fail otherwise - -Fixes #192 - -[Retrieved from: -https://gitlab.gnome.org/GNOME/rygel/-/commit/5a54c5bb1c9609b7bffe6b3e05f934030e4e990e] -Signed-off-by: Fabrice Fontaine ---- - doc/man/meson.build | 98 +++++++++++++++++++++++++++------------------ - doc/meson.build | 5 ++- - meson_options.txt | 1 + - 3 files changed, 64 insertions(+), 40 deletions(-) - -diff --git a/doc/man/meson.build b/doc/man/meson.build -index ef3fcfbf5..4c92eab2b 100644 ---- a/doc/man/meson.build -+++ b/doc/man/meson.build -@@ -1,43 +1,63 @@ - xsltproc = find_program('xsltproc', required: false) - - if xsltproc.found() -- xlstproc_flags = [ -- '--nonet', -- '--stringparam', 'man.output.quietly', '1', -- '--stringparam', 'funcsynopsis.style', 'ansi', -- '--stringparam', 'man.authors.section.enabled', '1', -- '--stringparam', 'man.copyright.section.enabled', '1', -- ] -- -- xsltproc_args = [ -- xsltproc, -- xlstproc_flags, -- '-o', '@OUTPUT@', -- 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', -- '@INPUT@', -- ] -- -- man_input_files = [ -- 'rygel.xml', -- 'rygel.conf.xml' -- ] -- -- man_output_files = [ -- 'rygel.1', -- 'rygel.conf.5' -- ] -- -- custom_target('man 1 pages', -- input: 'rygel.xml', -- output: 'rygel.1', -- command: xsltproc_args, -- install: true, -- install_dir: join_paths(get_option('mandir'), 'man1')) -- -- custom_target('man 5 pages', -- input: 'rygel.conf.xml', -- output: 'rygel.conf.5', -- command: xsltproc_args, -- install: true, -- install_dir: join_paths(get_option('mandir'), 'man5')) -+ stylesheet = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl' -+ -+ xlstproc_flags = [ -+ '--nonet', -+ '--stringparam', 'man.output.quietly', '1', -+ '--stringparam', 'funcsynopsis.style', 'ansi', -+ '--stringparam', 'man.authors.section.enabled', '1', -+ '--stringparam', 'man.copyright.section.enabled', '1', -+ ] -+ -+ xsltproc_args = [ -+ xsltproc, -+ xlstproc_flags, -+ '-o', '@OUTPUT@', -+ stylesheet, -+ '@INPUT@', -+ ] -+ -+ man_input_files = [ -+ 'rygel.xml', -+ 'rygel.conf.xml' -+ ] -+ -+ man_output_files = [ -+ 'rygel.1', -+ 'rygel.conf.5' -+ ] -+ -+ r = run_command( -+ [ -+ xsltproc, -+ xlstproc_flags, -+ '-o', '/dev/null', -+ stylesheet, -+ 'rygel.xml' -+ ] -+ ) -+ -+ if (r.returncode() == 0) -+ custom_target( -+ 'man 1 pages', -+ input: 'rygel.xml', -+ output: 'rygel.1', -+ command: xsltproc_args, -+ install: true, -+ install_dir: join_paths(get_option('mandir'), 'man1') -+ ) -+ -+ custom_target( -+ 'man 5 pages', -+ input: 'rygel.conf.xml', -+ output: 'rygel.conf.5', -+ command: xsltproc_args, -+ install: true, -+ install_dir: join_paths(get_option('mandir'), 'man5') -+ ) -+ else -+ error('Cannot bulid man pages, failed to run xsltproc') -+ endif - endif -diff --git a/doc/meson.build b/doc/meson.build -index 41c733e50..91c08fae5 100644 ---- a/doc/meson.build -+++ b/doc/meson.build -@@ -1,2 +1,5 @@ --subdir('man') -+if get_option('man_pages') -+ subdir('man') -+endif -+ - subdir('reference') -diff --git a/meson_options.txt b/meson_options.txt -index cb604c4e9..c60ff1a9a 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,5 +1,6 @@ - option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only') - option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation') -+option('man_pages', type: 'boolean', value: 'true', description: 'Build the man pages') - option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path') - option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker', 'tracker3']) - option('engines', type : 'array', choices : ['simple', 'gstreamer']) --- -GitLab - diff --git a/package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch b/package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch new file mode 100644 index 00000000000..1d8f4599f4a --- /dev/null +++ b/package/rygel/0001-meson.build-fix-g_ir_compiler-calls.patch @@ -0,0 +1,84 @@ +From bed9e2effae60f7d736731e93d9e699cb173f04e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 15 Mar 2022 19:20:33 +0100 +Subject: [PATCH] meson.build: fix g_ir_compiler calls + +Fix the following build failure when cross-compiling which is raised +because rygel is using a custom_target target instead of the standard +gnome.generate_gir: + +[108/298] Generating src/librygel-core/RygelCore-2.6.typelib with a custom command +FAILED: src/librygel-core/RygelCore-2.6.typelib +/home/giuliobenetti/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler --output src/librygel-core/RygelCore-2.6.typelib /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir +Could not find GIR file 'GUPnP-1.2.gir'; check XDG_DATA_DIRS or use --includedir +error parsing file /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir: Failed to parse included gir GUPnP-1.2 + +Indeed, the custom_target command is unable to retrieve the correct +--includedir from glib-2.0.pc so add an ugly hack to custom_target calls + +Fixes: + - http://autobuild.buildroot.org/results/2b8956818f03f66a53480f7ed5fc0abb4f05288d + +Signed-off-by: Fabrice Fontaine +[Upstream status: probably not upstreamable] +--- + src/librygel-core/meson.build | 4 +++- + src/librygel-renderer-gst/meson.build | 1 + + src/librygel-renderer/meson.build | 1 + + src/librygel-server/meson.build | 1 + + 4 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/librygel-core/meson.build b/src/librygel-core/meson.build +index fd43bebe..e6be2b5e 100644 +--- a/src/librygel-core/meson.build ++++ b/src/librygel-core/meson.build +@@ -70,7 +70,9 @@ core_gir = custom_target('RygelCore-2.6.gir', + # so we depend on the custom_target from that step and pass the input through + # commandline. + custom_target('RygelCore-2.8.typelib', +- command: [g_ir_compiler, '--output', '@OUTPUT@', join_paths(meson.current_build_dir(), 'RygelCore-2.8.gir')], ++ command: [g_ir_compiler, '--output', '@OUTPUT@', ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, ++ join_paths(meson.current_build_dir(), 'RygelCore-2.8.gir')], + output: 'RygelCore-2.8.typelib', + depends: [ core_lib, core_gir ], + install: true, +diff --git a/src/librygel-renderer-gst/meson.build b/src/librygel-renderer-gst/meson.build +index ad98a3a7..e8baefe1 100644 +--- a/src/librygel-renderer-gst/meson.build ++++ b/src/librygel-renderer-gst/meson.build +@@ -36,6 +36,7 @@ custom_target('RygelRendererGst-2.6.typelib', + '--output', '@OUTPUT@', + '--includedir', core_girdir, + '--includedir', renderer_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelRendererGst-2.8.gir')], + output: 'RygelRendererGst-2.8.typelib', + depends: [renderer_gst_lib, renderer_lib, renderer_gst_gir, renderer_gir], +diff --git a/src/librygel-renderer/meson.build b/src/librygel-renderer/meson.build +index 5f401527..821273ff 100644 +--- a/src/librygel-renderer/meson.build ++++ b/src/librygel-renderer/meson.build +@@ -43,6 +43,7 @@ custom_target('RygelRenderer-2.6.typelib', + command: [g_ir_compiler, + '--output', '@OUTPUT@', + '--includedir', core_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelRenderer-2.8.gir')], + output: 'RygelRenderer-2.6.typelib', + depends: [ renderer_lib, renderer_gir, core_gir ], +diff --git a/src/librygel-server/meson.build b/src/librygel-server/meson.build +index a3bd77d9..6b084eb6 100644 +--- a/src/librygel-server/meson.build ++++ b/src/librygel-server/meson.build +@@ -122,6 +122,7 @@ custom_target('RygelServer-2.6.typelib', + command: [g_ir_compiler, + '--output', '@OUTPUT@', + '--includedir', core_girdir, ++ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, + join_paths(meson.current_build_dir(), 'RygelServer-2.8.gir')], + output: 'RygelServer-2.6.typelib', + depends: [ server_lib, server_gir, core_gir ], +-- +2.35.1 + diff --git a/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch b/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch deleted file mode 100644 index 3961ad05644..00000000000 --- a/package/rygel/0002-meson.build-fix-g_ir_compiler-calls.patch +++ /dev/null @@ -1,84 +0,0 @@ -From bed9e2effae60f7d736731e93d9e699cb173f04e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 15 Mar 2022 19:20:33 +0100 -Subject: [PATCH] meson.build: fix g_ir_compiler calls - -Fix the following build failure when cross-compiling which is raised -because rygel is using a custom_target target instead of the standard -gnome.generate_gir: - -[108/298] Generating src/librygel-core/RygelCore-2.6.typelib with a custom command -FAILED: src/librygel-core/RygelCore-2.6.typelib -/home/giuliobenetti/autobuild/run/instance-3/output-1/host/nios2-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler --output src/librygel-core/RygelCore-2.6.typelib /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir -Could not find GIR file 'GUPnP-1.2.gir'; check XDG_DATA_DIRS or use --includedir -error parsing file /home/giuliobenetti/autobuild/run/instance-3/output-1/build/rygel-0.40.2/build/src/librygel-core/RygelCore-2.6.gir: Failed to parse included gir GUPnP-1.2 - -Indeed, the custom_target command is unable to retrieve the correct ---includedir from glib-2.0.pc so add an ugly hack to custom_target calls - -Fixes: - - http://autobuild.buildroot.org/results/2b8956818f03f66a53480f7ed5fc0abb4f05288d - -Signed-off-by: Fabrice Fontaine -[Upstream status: probably not upstreamable] ---- - src/librygel-core/meson.build | 4 +++- - src/librygel-renderer-gst/meson.build | 1 + - src/librygel-renderer/meson.build | 1 + - src/librygel-server/meson.build | 1 + - 4 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/librygel-core/meson.build b/src/librygel-core/meson.build -index fd43bebe..e6be2b5e 100644 ---- a/src/librygel-core/meson.build -+++ b/src/librygel-core/meson.build -@@ -70,7 +70,9 @@ core_gir = custom_target('RygelCore-2.6.gir', - # so we depend on the custom_target from that step and pass the input through - # commandline. - custom_target('RygelCore-2.6.typelib', -- command: [g_ir_compiler, '--output', '@OUTPUT@', join_paths(meson.current_build_dir(), 'RygelCore-2.6.gir')], -+ command: [g_ir_compiler, '--output', '@OUTPUT@', -+ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, -+ join_paths(meson.current_build_dir(), 'RygelCore-2.6.gir')], - output: 'RygelCore-2.6.typelib', - depends: [ core_lib, core_gir ], - install: true, -diff --git a/src/librygel-renderer-gst/meson.build b/src/librygel-renderer-gst/meson.build -index ad98a3a7..e8baefe1 100644 ---- a/src/librygel-renderer-gst/meson.build -+++ b/src/librygel-renderer-gst/meson.build -@@ -36,6 +36,7 @@ custom_target('RygelRendererGst-2.6.typelib', - '--output', '@OUTPUT@', - '--includedir', core_girdir, - '--includedir', renderer_girdir, -+ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, - join_paths(meson.current_build_dir(), 'RygelRendererGst-2.6.gir')], - output: 'RygelRendererGst-2.6.typelib', - depends: [renderer_gst_lib, renderer_lib, renderer_gst_gir, renderer_gir], -diff --git a/src/librygel-renderer/meson.build b/src/librygel-renderer/meson.build -index 5f401527..821273ff 100644 ---- a/src/librygel-renderer/meson.build -+++ b/src/librygel-renderer/meson.build -@@ -43,6 +43,7 @@ custom_target('RygelRenderer-2.6.typelib', - command: [g_ir_compiler, - '--output', '@OUTPUT@', - '--includedir', core_girdir, -+ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, - join_paths(meson.current_build_dir(), 'RygelRenderer-2.6.gir')], - output: 'RygelRenderer-2.6.typelib', - depends: [ renderer_lib, renderer_gir, core_gir ], -diff --git a/src/librygel-server/meson.build b/src/librygel-server/meson.build -index a3bd77d9..6b084eb6 100644 ---- a/src/librygel-server/meson.build -+++ b/src/librygel-server/meson.build -@@ -122,6 +122,7 @@ custom_target('RygelServer-2.6.typelib', - command: [g_ir_compiler, - '--output', '@OUTPUT@', - '--includedir', core_girdir, -+ '--includedir', meson.get_external_property('sys_root') + get_option('prefix') + '/' + gir_dir, - join_paths(meson.current_build_dir(), 'RygelServer-2.6.gir')], - output: 'RygelServer-2.6.typelib', - depends: [ server_lib, server_gir, core_gir ], --- -2.35.1 - diff --git a/package/rygel/Config.in b/package/rygel/Config.in index 30e84305370..a3c2bd29dae 100644 --- a/package/rygel/Config.in +++ b/package/rygel/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RYGEL bool "rygel" + depends on BR2_PACKAGE_XORG7 depends on BR2_USE_WCHAR # gupnp-av depends on BR2_TOOLCHAIN_HAS_THREADS # gupnp-av depends on BR2_USE_MMU # gupnp-av, gobject-introspection @@ -15,6 +16,7 @@ config BR2_PACKAGE_RYGEL select BR2_PACKAGE_LIBGEE select BR2_PACKAGE_LIBMEDIAART select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_XLIB_LIBX11 help Rygel is a home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other @@ -52,12 +54,13 @@ comment "gstreamer1 needs gst1-editing-services" endchoice -comment "rygel needs a glibc toolchain w/ wchar, threads, gcc >= 4.9, host gcc >= 8" +endif # BR2_PACKAGE_RYGEL + +comment "rygel needs python3 and a glibc toolchain w/ wchar, threads, gcc >= 4.9, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on BR2_PACKAGE_XORG7 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_USES_GLIBC || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ - !BR2_HOST_GCC_AT_LEAST_8 - -endif # BR2_PACKAGE_RYGEL + !BR2_HOST_GCC_AT_LEAST_8 || !BR2_PACKAGE_PYTHON3 diff --git a/package/rygel/rygel.hash b/package/rygel/rygel.hash index 04b11ff54a0..77db59cf409 100644 --- a/package/rygel/rygel.hash +++ b/package/rygel/rygel.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.40/rygel-0.40.2.sha256sum: -sha256 c9e8c736296d22c4defe959727a29d31437bbd2b7aa0c6470d6be24011050697 rygel-0.40.2.tar.xz +# Hash from: https://ftp.gnome.org/pub/gnome/sources/rygel/0.42/rygel-0.42.5.sha256sum: +sha256 1133602d2e6710aade6b22aa98d93384c8d56396f344763413e96e0110b7d89f rygel-0.42.5.tar.xz # Locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/rygel/rygel.mk b/package/rygel/rygel.mk index e05297456d0..5c155f8e134 100644 --- a/package/rygel/rygel.mk +++ b/package/rygel/rygel.mk @@ -4,10 +4,10 @@ # ################################################################################ -RYGEL_VERSION_MAJOR = 0.40 -RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).2 +RYGEL_VERSION_MAJOR = 0.42 +RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).5 RYGEL_SOURCE = rygel-$(RYGEL_VERSION).tar.xz -RYGEL_SITE = http://ftp.gnome.org/pub/gnome/sources/rygel/$(RYGEL_VERSION_MAJOR) +RYGEL_SITE = https://download.gnome.org/sources/rygel/$(RYGEL_VERSION_MAJOR) RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo) RYGEL_LICENSE_FILES = COPYING COPYING.logo RYGEL_DEPENDENCIES = \ @@ -18,6 +18,7 @@ RYGEL_DEPENDENCIES = \ libgee \ libmediaart \ sqlite \ + xlib_libX11 \ $(TARGET_NLS_DEPENDENCIES) RYGEL_INSTALL_STAGING = YES diff --git a/package/s390-tools/s390-tools.hash b/package/s390-tools/s390-tools.hash index f74695b81df..c70bf69f008 100644 --- a/package/s390-tools/s390-tools.hash +++ b/package/s390-tools/s390-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c04d1f7d7f4c941f19a293188eb6302194cc298171f88a4dc17a08a8001c6c01 s390-tools-2.23.0.tar.gz +sha256 9e565701cc6df4808243027706ee0a76c5fc0c7f9aae0afce1479fd4ff68bcdf s390-tools-2.30.0.tar.gz sha256 cca17a9a944ebec769adee4aebd805c912c357785ff2705a99ffe68563021f75 LICENSE diff --git a/package/s390-tools/s390-tools.mk b/package/s390-tools/s390-tools.mk index 99fc669ce72..04d193a4677 100644 --- a/package/s390-tools/s390-tools.mk +++ b/package/s390-tools/s390-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -S390_TOOLS_VERSION = 2.23.0 +S390_TOOLS_VERSION = 2.30.0 S390_TOOLS_SITE = $(call github,ibm-s390-linux,s390-tools,v$(S390_TOOLS_VERSION)) S390_TOOLS_LICENSE = MIT S390_TOOLS_LICENSE_FILES = LICENSE @@ -12,9 +12,10 @@ S390_TOOLS_DEPENDENCIES = zlib S390_TOOLS_MAKE_OPTS = \ ARCH=$(BR2_ARCH) \ - CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \ + HAVE_CARGO=0 -ifeq ($(BR2_PACKAGE_LIBCURL),y) +ifeq ($(BR2_PACKAGE_LIBCURL_OPENSSL),y) S390_TOOLS_DEPENDENCIES += libcurl S390_TOOLS_MAKE_OPTS += \ CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config \ diff --git a/package/s6-linux-utils/0001-src-s6-linux-utils-rngseed.c-fix-build-with-glibc.patch b/package/s6-linux-utils/0001-src-s6-linux-utils-rngseed.c-fix-build-with-glibc.patch new file mode 100644 index 00000000000..2df8a997001 --- /dev/null +++ b/package/s6-linux-utils/0001-src-s6-linux-utils-rngseed.c-fix-build-with-glibc.patch @@ -0,0 +1,39 @@ +From 3ab8bdc1c657f91a2a96f4e6db308d17098de0c4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 23 Feb 2023 12:09:11 +0100 +Subject: [PATCH] src/s6-linux-utils/rngseed.c: fix build with glibc < + +getrandom and sys/random.h are only available since glibc 2.25 resulting +in the following build failure since version 2.6.0.0 and +https://github.com/skarnet/s6-linux-utils/commit/ad5973028c42d947440cdae5e4f106152c3dda28: + +src/minutils/rngseed.c:15:24: fatal error: sys/random.h: No such file or directory + #include + ^ + +Fixes: + - http://autobuild.buildroot.org/results/214bcecfc389cb412b68627c831300478d614a3a + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/skarnet/s6-linux-utils/pull/2] +--- + src/s6-linux-utils/rngseed.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/minutils/rngseed.c b/src/minutils/rngseed.c +index 2b1772c..223f50a 100644 +--- a/src/minutils/rngseed.c ++++ b/src/minutils/rngseed.c +@@ -12,7 +12,9 @@ + #include + #include + #include ++#ifdef SKALIBS_HASGETRANDOM + #include ++#endif + #include + + #include +-- +2.39.1 + diff --git a/package/sam-ba/Config.in.host b/package/sam-ba/Config.in.host index 1967f33ab31..cd11e8633e5 100644 --- a/package/sam-ba/Config.in.host +++ b/package/sam-ba/Config.in.host @@ -1,7 +1,6 @@ config BR2_PACKAGE_HOST_SAM_BA bool "host sam-ba" depends on BR2_HOSTARCH = "x86_64" - select BR2_HOSTARCH_NEEDS_IA32_LIBS help Atmel SAM-BA software provides an open set of tools for programming the Atmel SAM3, SAM7 and SAM9 ARM-based diff --git a/package/samba4/0001-libreplace-disable-libbsd-support.patch b/package/samba4/0001-libreplace-disable-libbsd-support.patch index 79216860dd8..8259e91fc65 100644 --- a/package/samba4/0001-libreplace-disable-libbsd-support.patch +++ b/package/samba4/0001-libreplace-disable-libbsd-support.patch @@ -19,7 +19,7 @@ diff --git a/lib/replace/wscript b/lib/replace/wscript index 240d730cbee..c6d8df43c74 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -406,21 +406,6 @@ def configure(conf): +@@ -436,21 +436,6 @@ def configure(conf): strlcpy_in_bsd = False diff --git a/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch b/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch index 484e6722ea2..1c4de6a02ef 100644 --- a/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch +++ b/package/samba4/0002-build-find-pre-built-heimdal-build-tools-in-case-of-.patch @@ -1,4 +1,4 @@ -From e002d2ef2688d5433d2bd03aa4d77a0ec5ac4e63 Mon Sep 17 00:00:00 2001 +From 2e53f331104b29db7caf1641a30d3e9316b57184 Mon Sep 17 00:00:00 2001 From: Uri Simchoni Date: Sun, 20 Oct 2019 00:03:14 +0300 Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded @@ -33,18 +33,20 @@ BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164 Signed-off-by: Uri Simchoni Signed-off-by: Bernd Kuhls -[Bernd: rebased for version 4.11.13] +[Bernd: rebased for version 4.11.13 & 4.17.7] --- wscript_configure_embedded_heimdal | 11 +++++++++++ wscript_configure_system_heimdal | 11 ----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal -index 8c55ae2a938..4fdae8062c5 100644 +index 8c55ae2..4fdae80 100644 --- a/wscript_configure_embedded_heimdal +++ b/wscript_configure_embedded_heimdal -@@ -1 +1,12 @@ - conf.RECURSE('source4/heimdal_build') +@@ -6,3 +6,14 @@ + + conf.define('USING_EMBEDDED_HEIMDAL', 1) + conf.RECURSE('third_party/heimdal_build') + +def check_system_heimdal_binary(name): + if conf.LIB_MAY_BE_BUNDLED(name): @@ -56,34 +58,6 @@ index 8c55ae2a938..4fdae8062c5 100644 + +check_system_heimdal_binary("compile_et") +check_system_heimdal_binary("asn1_compile") -diff --git a/wscript_configure_system_heimdal b/wscript_configure_system_heimdal -index 0ff6dad2f55..f77c177442f 100644 ---- a/wscript_configure_system_heimdal -+++ b/wscript_configure_system_heimdal -@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, functions='', headers='', onlyif=None): - conf.define('USING_SYSTEM_%s' % name.upper(), 1) - return True - --def check_system_heimdal_binary(name): -- if conf.LIB_MAY_BE_BUNDLED(name): -- return False -- if not conf.find_program(name, var=name.upper()): -- return False -- conf.define('USING_SYSTEM_%s' % name.upper(), 1) -- return True -- - check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h") - - if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"): -@@ -96,9 +88,6 @@ - #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'): - # conf.define('USING_SYSTEM_TOMMATH', 1) - --check_system_heimdal_binary("compile_et") --check_system_heimdal_binary("asn1_compile") -- - conf.env.KRB5_VENDOR = 'heimdal' - conf.define('USING_SYSTEM_KRB5', 1) - conf.define('USING_SYSTEM_HEIMDAL', 1) -- 2.20.1 + diff --git a/package/samba4/0004-lib-util-Add-signal.h-include.patch b/package/samba4/0004-lib-util-Add-signal.h-include.patch deleted file mode 100644 index 838a8fa6d75..00000000000 --- a/package/samba4/0004-lib-util-Add-signal.h-include.patch +++ /dev/null @@ -1,37 +0,0 @@ -From d1732a79dbf30c41802245909d0250ebe2b9d92e Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 12 Dec 2021 10:27:42 +0100 -Subject: [PATCH] lib/util: Add signal.h include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes build error with samba-4.15.3 and uClibc: - -../../source3/printing/samba-bgqd.c: In function ‘main’: -../../source3/printing/samba-bgqd.c:340:21: error: ‘SIGPIPE’ undeclared (first use in this function); did you mean ‘EPIPE’? -../../source3/printing/samba-bgqd.c:384:14: error: ‘SIGTERM’ undeclared (first use in this function) - -Patch sent upstream: -https://gitlab.com/samba-team/samba/-/merge_requests/2296 - -Signed-off-by: Bernd Kuhls ---- - lib/util/signal.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/util/signal.h b/lib/util/signal.h -index 0663af6ab94..f662ee110d6 100644 ---- a/lib/util/signal.h -+++ b/lib/util/signal.h -@@ -21,6 +21,7 @@ - #ifndef _SAMBA_UTIL_SIGNAL_H_ - #define _SAMBA_UTIL_SIGNAL_H_ - -+#include - #include - - /** --- -2.30.2 - diff --git a/package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch b/package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch deleted file mode 100644 index b338596d7aa..00000000000 --- a/package/samba4/0005-samba-4.16.2-fix-build-without-innetgr.patch +++ /dev/null @@ -1,34 +0,0 @@ -# Gentoo bug 855047 - -Fixes uClibc build when uClibc was build without netgroup support. -Upstream enables netgroup support based on getdomainname() being -present: -https://github.com/samba-team/samba/commit/f179184a2be2ddd38f463fcc12252f8d24e529f8#diff-b8d1bc25b89846e70ecb61cb296a8f5c50c9a0a1b62e46790fae81aa9d5bfaaeR632 - -Downloaded from -https://gitweb.gentoo.org/repo/gentoo.git/tree/net-fs/samba/files/samba-4.16.2-fix-musl-without-innetgr.patch - -Signed-off-by: Bernd Kuhls - ---- a/lib/util/access.c -+++ b/lib/util/access.c -@@ -115,7 +115,7 @@ static bool string_match(const char *tok,const char *s) - return true; - } - } else if (tok[0] == '@') { /* netgroup: look it up */ --#ifdef HAVE_NETGROUP -+#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) - DATA_BLOB tmp; - char *mydomain = NULL; - char *hostname = NULL; ---- a/source3/auth/user_util.c -+++ b/source3/auth/user_util.c -@@ -135,7 +135,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char - - bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname) - { --#ifdef HAVE_NETGROUP -+#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) - char nis_domain_buf[256]; - const char *nis_domain = NULL; - char *lowercase_user = NULL; diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash index 81cbab45527..49ce47705db 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/samba/stable/samba-4.15.12.tar.asc -sha256 5889493d69dc7723be6c3154387fbed38c1cddf93a16da8670d99b7cca33b15e samba-4.15.12.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.19.6.tar.asc +sha256 653b52095554dbc223c63b96af5cdf9e98c3e048549c5f56143d3b33dce1cef1 samba-4.19.6.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 31f692e03d7..994037c84b9 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.15.12 +SAMBA4_VERSION = 4.19.6 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -93,6 +93,13 @@ else SAMBA4_CONF_OPTS += --without-libarchive endif +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +SAMBA4_CONF_OPTS += --with-libunwind +SAMBA4_DEPENDENCIES += libunwind +else +SAMBA4_CONF_OPTS += --without-libunwind +endif + ifeq ($(BR2_PACKAGE_NCURSES),y) SAMBA4_CONF_ENV += NCURSES_CONFIG="$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)" SAMBA4_DEPENDENCIES += ncurses @@ -111,7 +118,7 @@ SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_REMOVE_CTDB_TESTS define SAMBA4_CONFIGURE_CMDS $(INSTALL) -m 0644 package/samba4/samba4-cache.txt $(@D)/cache.txt; - echo 'Checking whether fcntl supports setting/geting hints: $(if $(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13),OK,NO)' >>$(@D)/cache.txt; + echo 'Checking whether fcntl supports setting/getting hints: $(if $(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13),OK,NO)' >>$(@D)/cache.txt; echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt; (cd $(@D); \ $(SAMBA4_PYTHON) \ @@ -120,7 +127,7 @@ define SAMBA4_CONFIGURE_CMDS PERL="$(HOST_DIR)/bin/perl" \ $(TARGET_CONFIGURE_OPTS) \ $(SAMBA4_CONF_ENV) \ - ./buildtools/bin/waf configure \ + ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk index 83c40e684f7..fe89e7747df 100644 --- a/package/sane-backends/sane-backends.mk +++ b/package/sane-backends/sane-backends.mk @@ -10,7 +10,7 @@ SANE_BACKENDS_SITE = \ SANE_BACKENDS_CONFIG_SCRIPTS = sane-config SANE_BACKENDS_LICENSE = GPL-2.0+ SANE_BACKENDS_LICENSE_FILES = COPYING -SANE_BACKENDS_CPE_ID_VENDOR = sane-backends_project +SANE_BACKENDS_CPE_ID_VALID = YES SANE_BACKENDS_INSTALL_STAGING = YES SANE_BACKENDS_CONF_OPTS = \ diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index 3040dddbbbe..cce21fc860e 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -3,6 +3,7 @@ menuconfig BR2_PACKAGE_SCONESERVER depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() + select BR2_PACKAGE_PCRE select BR2_PACKAGE_ZLIB help Sconeserver is a modular, object-orientated and extremely @@ -66,7 +67,7 @@ config BR2_PACKAGE_SCONESERVER_MATHS config BR2_PACKAGE_SCONESERVER_MYSQL bool "mysql" depends on BR2_USE_MMU # mysql - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB help MySQL module for Sconeserver diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk index bfbd5dc6ede..10a0a22597f 100644 --- a/package/sconeserver/sconeserver.mk +++ b/package/sconeserver/sconeserver.mk @@ -10,7 +10,7 @@ SCONESERVER_LICENSE = GPL-2.0+ SCONESERVER_LICENSE_FILES = COPYING SCONESERVER_DEPENDENCIES = \ host-pkgconf \ - $(if $(BR2_PACKAGE_PCRE),pcre) \ + pcre \ zlib # disable image as it fails to build with ImageMagick # disable markdown module because its git submodule cmark @@ -63,7 +63,7 @@ SCONESERVER_CONF_OPTS += -DWITH_MATHS=OFF endif ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y) -SCONESERVER_DEPENDENCIES += mysql +SCONESERVER_DEPENDENCIES += mariadb SCONESERVER_CONF_OPTS += -DWITH_MYSQL=ON else SCONESERVER_CONF_OPTS += -DWITH_MYSQL=OFF diff --git a/package/scons/scons.hash b/package/scons/scons.hash index a72fbaee5a1..48b5077b2e1 100644 --- a/package/scons/scons.hash +++ b/package/scons/scons.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 7801f3f62f654528e272df780be10c0e9337e897650b62ddcee9f39fde13f8fb scons-3.1.2.tar.gz -sha256 72ed889165fb28378cadac14552be4a959f1ebab6b148abb5dd2b49712c3c6f6 LICENSE.txt +sha256 ce26aac95d350a79a4192196b0beac3cb24f4ccabce0123eb28d3370f576f072 SCons-4.5.2.tar.gz +sha256 2f6ac9a1fc98394d18b80dba9bedb9d5626006d44db3fecf7cf3e21cff7e8b1c LICENSE diff --git a/package/scons/scons.mk b/package/scons/scons.mk index 6b75d3ddcac..ffd6abf6093 100644 --- a/package/scons/scons.mk +++ b/package/scons/scons.mk @@ -4,14 +4,15 @@ # ################################################################################ -SCONS_VERSION = 3.1.2 +SCONS_VERSION = 4.5.2 +SCONS_SOURCE = SCons-$(SCONS_VERSION).tar.gz SCONS_SITE = http://downloads.sourceforge.net/project/scons/scons/$(SCONS_VERSION) SCONS_LICENSE = MIT -SCONS_LICENSE_FILES = LICENSE.txt -SCONS_SETUP_TYPE = distutils +SCONS_LICENSE_FILES = LICENSE +SCONS_SETUP_TYPE = setuptools HOST_SCONS_INSTALL_OPTS = \ - --install-lib=$(HOST_DIR)/lib/scons-$(SCONS_VERSION) + --install-lib=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages $(eval $(host-python-package)) diff --git a/package/screen/0001-Do-not-use-memcpy-as-an-alternative-for-bcopy-memmov.patch b/package/screen/0001-Do-not-use-memcpy-as-an-alternative-for-bcopy-memmov.patch new file mode 100644 index 00000000000..ab002701d7e --- /dev/null +++ b/package/screen/0001-Do-not-use-memcpy-as-an-alternative-for-bcopy-memmov.patch @@ -0,0 +1,133 @@ +From 545875ad0b6c9697fae41ae8770e95d117fe3cca Mon Sep 17 00:00:00 2001 +From: Maarten ter Huurne +Date: Sat, 13 Sep 2014 11:37:59 +0200 +Subject: [PATCH] Do not use memcpy as an alternative for bcopy/memmove + +The configure script runs a small test program to check whether +memcpy can handle overlapping memory areas. However, it is not valid +to conclude that if a single case of overlapping memory is handled +correctly, all cases will be handled correctly. + +Since screen already has its own bcopy implementation as a fallback +for the case that bcopy and memmove are unusable, removing the memcpy +option should not break any systems. + +Signed-off-by: Maarten ter Huurne +[Ricardo: rebase on top of 4.3.1] +Signed-off-by: Ricardo Martincoski +[Bernd: rebase on top of 4.7.0] +Signed-off-by: Bernd Kuhls +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain +--- + acconfig.h | 3 +-- + configure.ac | 22 +--------------------- + os.h | 8 ++------ + osdef.h.in | 10 +--------- + 4 files changed, 5 insertions(+), 38 deletions(-) + +diff --git a/acconfig.h b/acconfig.h +index 46d62b0..f83572c 100644 +--- a/acconfig.h ++++ b/acconfig.h +@@ -476,7 +476,7 @@ + #undef GETTTYENT + + /* +- * Define USEBCOPY if the bcopy/memcpy from your system's C library ++ * Define USEBCOPY if the bcopy from your system's C library + * supports the overlapping of source and destination blocks. When + * undefined, screen uses its own (probably slower) version of bcopy(). + * +@@ -487,7 +487,6 @@ + * Their memove fails the test in the configure script. Sigh. (Juergen) + */ + #undef USEBCOPY +-#undef USEMEMCPY + #undef USEMEMMOVE + + /* +diff --git a/configure.ac b/configure.ac +index 1a12c04..6f6c2da 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1278,7 +1278,7 @@ AC_TRY_LINK([ + fdwalk(NULL, NULL); + ],AC_DEFINE(HAVE_FDWALK)) + +-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments) ++AC_CHECKING(whether memmove/bcopy handles overlapping arguments) + AC_TRY_RUN([ + #include + #include +@@ -1319,26 +1319,6 @@ main() { + }], AC_DEFINE(USEMEMMOVE),, + AC_NOTE(- skipping check because we are cross compiling; use memmove) AC_DEFINE(USEMEMMOVE)) + +-AC_TRY_RUN([ +-#include +-#include +- +-#define bcopy(s,d,l) memcpy(d,s,l) +- +-int +-main() { +- char buf[10]; +- strcpy(buf, "abcdefghi"); +- bcopy(buf, buf + 2, 3); +- if (strncmp(buf, "ababcf", 6)) +- return 1; +- strcpy(buf, "abcdefghi"); +- bcopy(buf + 2, buf, 3); +- if (strncmp(buf, "cdedef", 6)) +- return 1; +- return 0; /* libc version works properly. */ +-}], AC_DEFINE(USEMEMCPY),,:) +- + AC_SYS_LONG_FILE_NAMES + + AC_MSG_CHECKING(for vsprintf) +diff --git a/os.h b/os.h +index 2a1c2ca..d1ac87e 100644 +--- a/os.h ++++ b/os.h +@@ -142,12 +142,8 @@ extern int errno; + # ifdef USEMEMMOVE + # define bcopy(s,d,len) memmove(d,s,len) + # else +-# ifdef USEMEMCPY +-# define bcopy(s,d,len) memcpy(d,s,len) +-# else +-# define NEED_OWN_BCOPY +-# define bcopy xbcopy +-# endif ++# define NEED_OWN_BCOPY ++# define bcopy xbcopy + # endif + #endif + +diff --git a/osdef.h.in b/osdef.h.in +index 6ddbd66..abdacf7 100644 +--- a/osdef.h.in ++++ b/osdef.h.in +@@ -58,16 +58,8 @@ extern int bcmp __P((char *, char *, int)); + extern int killpg __P((int, int)); + #endif + +-#ifndef USEBCOPY +-# ifdef USEMEMCPY +-extern void memcpy __P((char *, char *, int)); +-# else +-# ifdef USEMEMMOVE ++#if defined(USEMEMMOVE) && !defined(USEBCOPY) + extern void memmove __P((char *, char *, int)); +-# else +-extern void bcopy __P((char *, char *, int)); +-# endif +-# endif + #else + extern void bcopy __P((char *, char *, int)); + #endif +-- +2.41.0 + diff --git a/package/screen/0001-no-memcpy-fallback.patch b/package/screen/0001-no-memcpy-fallback.patch deleted file mode 100644 index 2137907199c..00000000000 --- a/package/screen/0001-no-memcpy-fallback.patch +++ /dev/null @@ -1,126 +0,0 @@ -From: Maarten ter Huurne -Date: Sat, 13 Sep 2014 11:37:59 +0200 -Subject: Do not use memcpy as an alternative for bcopy/memmove - -The configure script runs a small test program to check whether -memcpy can handle overlapping memory areas. However, it is not valid -to conclude that if a single case of overlapping memory is handled -correctly, all cases will be handled correctly. - -Since screen already has its own bcopy implementation as a fallback -for the case that bcopy and memmove are unusable, removing the memcpy -option should not break any systems. - -Signed-off-by: Maarten ter Huurne -[Ricardo: rebase on top of 4.3.1] -Signed-off-by: Ricardo Martincoski -[Bernd: rebase on top of 4.7.0] -Signed-off-by: Bernd Kuhls ---- - acconfig.h | 3 +-- - configure.ac | 18 +----------------- - os.h | 8 ++------ - osdef.h.in | 10 +--------- - 4 files changed, 5 insertions(+), 34 deletions(-) - -diff --git a/acconfig.h b/acconfig.h -index 2e46985..9b0b9d4 100644 ---- a/acconfig.h -+++ b/acconfig.h -@@ -476,7 +476,7 @@ - #undef GETTTYENT - - /* -- * Define USEBCOPY if the bcopy/memcpy from your system's C library -+ * Define USEBCOPY if the bcopy from your system's C library - * supports the overlapping of source and destination blocks. When - * undefined, screen uses its own (probably slower) version of bcopy(). - * -@@ -487,7 +487,6 @@ - * Their memove fails the test in the configure script. Sigh. (Juergen) - */ - #undef USEBCOPY --#undef USEMEMCPY - #undef USEMEMMOVE - - /* -diff --git a/configure.ac b/configure.ac -index 27690a6..b8e3bec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1145,7 +1145,7 @@ AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) - AC_CHECKING(fdwalk) - AC_TRY_LINK([#include ], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK)) - --AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments) -+AC_CHECKING(whether memmove/bcopy handles overlapping arguments) - AC_TRY_RUN([ - main() { - char buf[10]; -@@ -1175,22 +1175,6 @@ main() { - exit(0); /* libc version works properly. */ - }], AC_DEFINE(USEMEMMOVE)) - -- --AC_TRY_RUN([ --#define bcopy(s,d,l) memcpy(d,s,l) --main() { -- char buf[10]; -- strcpy(buf, "abcdefghi"); -- bcopy(buf, buf + 2, 3); -- if (strncmp(buf, "ababcf", 6)) -- exit(1); -- strcpy(buf, "abcdefghi"); -- bcopy(buf + 2, buf, 3); -- if (strncmp(buf, "cdedef", 6)) -- exit(1); -- exit(0); /* libc version works properly. */ --}], AC_DEFINE(USEMEMCPY),,:) -- - AC_SYS_LONG_FILE_NAMES - - AC_MSG_CHECKING(for vsprintf) -diff --git a/os.h b/os.h -index e827ac9..0b41fb9 100644 ---- a/os.h -+++ b/os.h -@@ -142,12 +142,8 @@ extern int errno; - # ifdef USEMEMMOVE - # define bcopy(s,d,len) memmove(d,s,len) - # else --# ifdef USEMEMCPY --# define bcopy(s,d,len) memcpy(d,s,len) --# else --# define NEED_OWN_BCOPY --# define bcopy xbcopy --# endif -+# define NEED_OWN_BCOPY -+# define bcopy xbcopy - # endif - #endif - -diff --git a/osdef.h.in b/osdef.h.in -index 8687b60..e4057a0 100644 ---- a/osdef.h.in -+++ b/osdef.h.in -@@ -58,16 +58,8 @@ extern int bcmp __P((char *, char *, int)); - extern int killpg __P((int, int)); - #endif - --#ifndef USEBCOPY --# ifdef USEMEMCPY --extern void memcpy __P((char *, char *, int)); --# else --# ifdef USEMEMMOVE -+#if defined(USEMEMMOVE) && !defined(USEBCOPY) - extern void memmove __P((char *, char *, int)); --# else --extern void bcopy __P((char *, char *, int)); --# endif --# endif - #else - extern void bcopy __P((char *, char *, int)); - #endif --- -1.8.4.5 - diff --git a/package/screen/0002-Do-not-create-backup-of-old-installed-binary.patch b/package/screen/0002-Do-not-create-backup-of-old-installed-binary.patch new file mode 100644 index 00000000000..ef82cd3e76d --- /dev/null +++ b/package/screen/0002-Do-not-create-backup-of-old-installed-binary.patch @@ -0,0 +1,44 @@ +From 86b5c7677c5bef780bd4c28cbbdaa97eda938230 Mon Sep 17 00:00:00 2001 +From: Maarten ter Huurne +Date: Sun, 14 Sep 2014 23:58:34 +0200 +Subject: [PATCH] Do not create backup of old installed binary + +This is a rather unusual feature that packagers will not expect. + +Signed-off-by: Maarten ter Huurne +[baruch: update for 4.6.2] +Signed-off-by: Baruch Siach +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain +--- + Makefile.in | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 26ec404..3efbbfd 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -83,12 +83,9 @@ screen: $(OFILES) + $(OPTIONS) $(CFLAGS) $< + + install_bin: .version screen installdirs +- -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \ +- then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) + -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) + # This doesn't work if $(bindir)/screen is a symlink +- -if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f $(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen $(DESTDIR)$(bindir)/screen.old; fi + rm -f $(DESTDIR)$(bindir)/screen + (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) + cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) +@@ -113,7 +110,6 @@ installdirs: + uninstall: .version + rm -f $(DESTDIR)$(bindir)/$(SCREEN) + rm -f $(DESTDIR)$(bindir)/screen +- -mv $(DESTDIR)$(bindir)/screen.old $(DESTDIR)$(bindir)/screen + rm -f $(DESTDIR)$(ETCSCREENRC) + cd doc; $(MAKE) uninstall + +-- +2.41.0 + diff --git a/package/screen/0002-install-no-backup-binary.patch b/package/screen/0002-install-no-backup-binary.patch deleted file mode 100644 index 7842662b576..00000000000 --- a/package/screen/0002-install-no-backup-binary.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Maarten ter Huurne -Date: Sun, 14 Sep 2014 23:58:34 +0200 -Subject: Do not create backup of old installed binary - -This is a rather unusual feature that packagers will not expect. - -Signed-off-by: Maarten ter Huurne -[baruch: update for 4.6.2] -Signed-off-by: Baruch Siach ---- - Makefile.in | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 187a69b..65549e9 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -83,12 +83,9 @@ screen: $(OFILES) - $(OPTIONS) $(CFLAGS) $< - - install_bin: .version screen installdirs -- -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \ -- then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) - -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) - # This doesn't work if $(bindir)/screen is a symlink -- -if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f $(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen $(DESTDIR)$(bindir)/screen.old; fi - rm -f $(DESTDIR)$(bindir)/screen - (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) - cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) -@@ -113,7 +110,6 @@ installdirs: - uninstall: .version - rm -f $(DESTDIR)$(bindir)/$(SCREEN) - rm -f $(DESTDIR)$(bindir)/screen -- -mv $(DESTDIR)$(bindir)/screen.old $(DESTDIR)$(bindir)/screen - rm -f $(DESTDIR)$(ETCSCREENRC) - cd doc; $(MAKE) uninstall - --- -1.8.4.5 - diff --git a/package/screen/0003-Change-binary-permission-flags-even-if-chown-fails.patch b/package/screen/0003-Change-binary-permission-flags-even-if-chown-fails.patch new file mode 100644 index 00000000000..bc3f676af3c --- /dev/null +++ b/package/screen/0003-Change-binary-permission-flags-even-if-chown-fails.patch @@ -0,0 +1,32 @@ +From 4231969c47a8379f9113e0c9c9586bcfdd545c37 Mon Sep 17 00:00:00 2001 +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 00:03:05 +0200 +Subject: [PATCH] Change binary permission flags even if chown fails + +Typically when creating a package, the build is not run as root, so +the chown will fail. But the chmod can still be done. + +Signed-off-by: Maarten ter Huurne +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain +--- + Makefile.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 3efbbfd..0315fde 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -84,7 +84,8 @@ screen: $(OFILES) + + install_bin: .version screen installdirs + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) +- -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) ++ -chown root $(DESTDIR)$(bindir)/$(SCREEN) ++ -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) + # This doesn't work if $(bindir)/screen is a symlink + rm -f $(DESTDIR)$(bindir)/screen + (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) +-- +2.41.0 + diff --git a/package/screen/0003-install-always-chmod.patch b/package/screen/0003-install-always-chmod.patch deleted file mode 100644 index 0aa7690b086..00000000000 --- a/package/screen/0003-install-always-chmod.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 00:03:05 +0200 -Subject: Change binary permission flags even if chown fails - -Typically when creating a package, the build is not run as root, so -the chown will fail. But the chmod can still be done. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 65549e9..3c12fdb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -84,7 +84,8 @@ screen: $(OFILES) - - install_bin: .version screen - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) -- -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) -+ -chown root $(DESTDIR)$(bindir)/$(SCREEN) -+ -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) - # This doesn't work if $(bindir)/screen is a symlink - rm -f $(DESTDIR)$(bindir)/screen - (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) --- -1.8.4.5 - diff --git a/package/screen/0004-Support-overriding-SCREEN-to-get-a-non-versioned-bin.patch b/package/screen/0004-Support-overriding-SCREEN-to-get-a-non-versioned-bin.patch new file mode 100644 index 00000000000..15795874ae2 --- /dev/null +++ b/package/screen/0004-Support-overriding-SCREEN-to-get-a-non-versioned-bin.patch @@ -0,0 +1,34 @@ +From 07d6e4d9da8bc7c6ed31aa9b643410ea093d164f Mon Sep 17 00:00:00 2001 +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 00:06:20 +0200 +Subject: [PATCH] Support overriding SCREEN to get a non-versioned binary + +If a packager runs "make install SCREEN=screen", do not create +"screen" as a symlink to itself. + +Signed-off-by: Maarten ter Huurne +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain +--- + Makefile.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile.in b/Makefile.in +index 0315fde..4718f08 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -86,9 +86,11 @@ install_bin: .version screen installdirs + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) + -chown root $(DESTDIR)$(bindir)/$(SCREEN) + -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) ++ifneq (${SCREEN},screen) + # This doesn't work if $(bindir)/screen is a symlink + rm -f $(DESTDIR)$(bindir)/screen + (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) ++endif + cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) + + ############################################################################### +-- +2.41.0 + diff --git a/package/screen/0004-install-nonversioned-binary.patch b/package/screen/0004-install-nonversioned-binary.patch deleted file mode 100644 index ecbbd651975..00000000000 --- a/package/screen/0004-install-nonversioned-binary.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 00:06:20 +0200 -Subject: Support overriding SCREEN to get a non-versioned binary - -If a packager runs "make install SCREEN=screen", do not create -"screen" as a symlink to itself. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile.in b/Makefile.in -index 3c12fdb..860f351 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -86,9 +86,11 @@ install_bin: .version screen - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) - -chown root $(DESTDIR)$(bindir)/$(SCREEN) - -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) -+ifneq (${SCREEN},screen) - # This doesn't work if $(bindir)/screen is a symlink - rm -f $(DESTDIR)$(bindir)/screen - (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) -+endif - cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) - - ############################################################################### --- -1.8.4.5 - diff --git a/package/screen/0005-Renamed-sched.h-to-eventqueue.h.patch b/package/screen/0005-Renamed-sched.h-to-eventqueue.h.patch new file mode 100644 index 00000000000..24df05de8c4 --- /dev/null +++ b/package/screen/0005-Renamed-sched.h-to-eventqueue.h.patch @@ -0,0 +1,39 @@ +From 8b066a777b61600ff2c60cad0725f2089299ff56 Mon Sep 17 00:00:00 2001 +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 00:24:41 +0200 +Subject: [PATCH] Renamed sched.h to eventqueue.h + +There is a system header that got shadowed by "sched.h". +While Screen itself doesn't include , other system headers +might include it indirectly. This broke the build when using uClibc +with pthread support. + +Signed-off-by: Maarten ter Huurne +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain +--- + sched.h => eventqueue.h | 0 + screen.h | 2 +- + 2 files changed, 1 insertion(+), 1 deletion(-) + rename sched.h => eventqueue.h (100%) + +diff --git a/sched.h b/eventqueue.h +similarity index 100% +rename from sched.h +rename to eventqueue.h +diff --git a/screen.h b/screen.h +index 4823efb..2d51788 100644 +--- a/screen.h ++++ b/screen.h +@@ -43,7 +43,7 @@ + #include "osdef.h" + + #include "ansi.h" +-#include "sched.h" ++#include "eventqueue.h" + #include "acls.h" + #include "comm.h" + #include "layer.h" +-- +2.41.0 + diff --git a/package/screen/0005-rename-sched_h.patch b/package/screen/0005-rename-sched_h.patch deleted file mode 100644 index 9b29b76e071..00000000000 --- a/package/screen/0005-rename-sched_h.patch +++ /dev/null @@ -1,142 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 00:24:41 +0200 -Subject: Renamed sched.h to eventqueue.h - -There is a system header that got shadowed by "sched.h". -While Screen itself doesn't include , other system headers -might include it indirectly. This broke the build when using uClibc -with pthread support. - -Signed-off-by: Maarten ter Huurne ---- - eventqueue.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ - sched.h | 48 ------------------------------------------------ - screen.h | 2 +- - 3 files changed, 49 insertions(+), 49 deletions(-) - create mode 100644 eventqueue.h - delete mode 100644 sched.h - -diff --git a/eventqueue.h b/eventqueue.h -new file mode 100644 -index 0000000..fdc3fc4 ---- /dev/null -+++ b/eventqueue.h -@@ -0,0 +1,48 @@ -+/* Copyright (c) 2008, 2009 -+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -+ * Micah Cowan (micah@cowan.name) -+ * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) -+ * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 -+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -+ * Copyright (c) 1987 Oliver Laumann -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 3, or (at your option) -+ * any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program (see the file COPYING); if not, see -+ * https://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA -+ * -+ **************************************************************** -+ * $Id$ GNU -+ */ -+ -+struct event -+{ -+ struct event *next; -+ void (*handler) __P((struct event *, char *)); -+ char *data; -+ int fd; -+ int type; -+ int pri; -+ struct timeval timeout; -+ int queued; /* in evs queue */ -+ int active; /* in fdset */ -+ int *condpos; /* only active if condpos - condneg > 0 */ -+ int *condneg; -+}; -+ -+#define EV_TIMEOUT 0 -+#define EV_READ 1 -+#define EV_WRITE 2 -+#define EV_ALWAYS 3 -diff --git a/sched.h b/sched.h -deleted file mode 100644 -index fdc3fc4..0000000 ---- a/sched.h -+++ /dev/null -@@ -1,48 +0,0 @@ --/* Copyright (c) 2008, 2009 -- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -- * Micah Cowan (micah@cowan.name) -- * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) -- * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 -- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -- * Copyright (c) 1987 Oliver Laumann -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 3, or (at your option) -- * any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program (see the file COPYING); if not, see -- * https://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., -- * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA -- * -- **************************************************************** -- * $Id$ GNU -- */ -- --struct event --{ -- struct event *next; -- void (*handler) __P((struct event *, char *)); -- char *data; -- int fd; -- int type; -- int pri; -- struct timeval timeout; -- int queued; /* in evs queue */ -- int active; /* in fdset */ -- int *condpos; /* only active if condpos - condneg > 0 */ -- int *condneg; --}; -- --#define EV_TIMEOUT 0 --#define EV_READ 1 --#define EV_WRITE 2 --#define EV_ALWAYS 3 -diff --git a/screen.h b/screen.h -index 603ca3f..34238c8 100644 ---- a/screen.h -+++ b/screen.h -@@ -43,7 +43,7 @@ - #include "osdef.h" - - #include "ansi.h" --#include "sched.h" -+#include "eventqueue.h" - #include "acls.h" - #include "comm.h" - #include "layer.h" --- -1.8.4.5 - diff --git a/package/screen/0006-comm-h-now-depends-on-term-h.patch b/package/screen/0006-comm-h-now-depends-on-term-h.patch deleted file mode 100644 index 6ff6f3da0be..00000000000 --- a/package/screen/0006-comm-h-now-depends-on-term-h.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 39c5f1c76f1fcef4b5958bf828a63f53426b6984 Mon Sep 17 00:00:00 2001 -From: Mike Gerwitz -Date: Tue, 24 Dec 2013 22:16:31 -0500 -Subject: comm.h now depends on term.h - -Signed-off-by: Fabrice Fontaine -[Patch retrieved and updated from: -http://git.savannah.gnu.org/cgit/screen.git/commit/?id=39c5f1c] ---- - src/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index e791e79..d4f7c0b 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -113,7 +113,7 @@ term.h: term.c term.sh - - kmapdef.c: term.h - --comm.h: comm.c comm.sh config.h -+comm.h: comm.c comm.sh config.h term.h - AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh - - docs: --- -cgit v1.0-41-gc330 - diff --git a/package/screen/0006-comm.h-now-depends-on-term.h.patch b/package/screen/0006-comm.h-now-depends-on-term.h.patch new file mode 100644 index 00000000000..088dfb340c9 --- /dev/null +++ b/package/screen/0006-comm.h-now-depends-on-term.h.patch @@ -0,0 +1,30 @@ +From 23a8ca6be87ad374d66854cee66ab758880cc651 Mon Sep 17 00:00:00 2001 +From: Mike Gerwitz +Date: Tue, 24 Dec 2013 22:16:31 -0500 +Subject: [PATCH] comm.h now depends on term.h + +Signed-off-by: Fabrice Fontaine +[Patch retrieved and updated from: +http://git.savannah.gnu.org/cgit/screen.git/commit/?id=39c5f1c] +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 4718f08..7082a3e 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -132,7 +132,7 @@ kmapdef.c: term.h + tty.c: tty.sh + sh $(srcdir)/tty.sh tty.c + +-comm.h: comm.c comm.sh config.h ++comm.h: comm.c comm.sh config.h term.h + AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh + + osdef.h: osdef.sh config.h osdef.h.in +-- +2.41.0 + diff --git a/package/screen/0007-comm.h-needed-for-list_-display-generic-.o.patch b/package/screen/0007-comm.h-needed-for-list_-display-generic-.o.patch index f406a1afac6..d46bf723b80 100644 --- a/package/screen/0007-comm.h-needed-for-list_-display-generic-.o.patch +++ b/package/screen/0007-comm.h-needed-for-list_-display-generic-.o.patch @@ -1,4 +1,4 @@ -From b719314d201a3e9e1e57c65746a468c47bfc847f Mon Sep 17 00:00:00 2001 +From 8d8899b3ffd26d5049f8a9ccf12ff9ac65c352b4 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Wed, 3 Oct 2018 22:29:32 +0200 Subject: [PATCH] comm.h needed for list_{display,generic}.o @@ -12,15 +12,17 @@ Fixes: Signed-off-by: Fabrice Fontaine [Upstream status: https://savannah.gnu.org/bugs/index.php?54776] +[Julien: rebase on top of 4.9.1] +Signed-off-by: Julien Olivain --- Makefile.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.in b/Makefile.in -index af5938b..e6d5247 100644 +index 7082a3e..cd363b7 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -265,7 +265,7 @@ braille.h +@@ -349,7 +349,7 @@ layout.o: layout.h viewport.h canvas.h layout.c config.h screen.h os.h osdef.h a viewport.o: layout.h viewport.h canvas.h viewport.c config.h screen.h os.h osdef.h ansi.h acls.h \ comm.h layer.h term.h image.h display.h window.h extern.h \ braille.h @@ -31,5 +33,5 @@ index af5938b..e6d5247 100644 list_window.o: list_generic.h list_window.c window.h layer.h screen.h osdef.h comm.h -- -2.17.1 +2.41.0 diff --git a/package/screen/screen.hash b/package/screen/screen.hash index a261d3100de..ef32eb0696b 100644 --- a/package/screen/screen.hash +++ b/package/screen/screen.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/screen/screen-4.9.0.tar.gz.sig -sha256 f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4 screen-4.9.0.tar.gz +# https://ftp.gnu.org/gnu/screen/screen-4.9.1.tar.gz.sig +sha256 26cef3e3c42571c0d484ad6faf110c5c15091fbf872b06fa7aa4766c7405ac69 screen-4.9.1.tar.gz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/screen/screen.mk b/package/screen/screen.mk index 3239a1c1f39..d4052b11915 100644 --- a/package/screen/screen.mk +++ b/package/screen/screen.mk @@ -4,7 +4,7 @@ # ################################################################################ -SCREEN_VERSION = 4.9.0 +SCREEN_VERSION = 4.9.1 SCREEN_SITE = $(BR2_GNU_MIRROR)/screen SCREEN_LICENSE = GPL-3.0+ SCREEN_LICENSE_FILES = COPYING diff --git a/package/screenfetch/0001-Detect-which-awk-to-use.patch b/package/screenfetch/0001-Detect-which-awk-to-use.patch new file mode 100644 index 00000000000..86e51e55115 --- /dev/null +++ b/package/screenfetch/0001-Detect-which-awk-to-use.patch @@ -0,0 +1,783 @@ +From 39b6eec51f0c2fa5f2b0e876b14dcfc9c1febf97 Mon Sep 17 00:00:00 2001 +From: Nicolas Boichat +Date: Fri, 4 Aug 2023 12:55:36 +0000 +Subject: [PATCH] Detect which awk to use + +Some embedded distributions (e.g. buildroot) may only provide mawk, +without a symlink to awk. + +At first glance, awk scripts to appear to work fine with either +gawk or mawk. + +Signed-off-by: Nicolas Boichat +Upstream: https://github.com/KittyKatt/screenFetch/commit/b49a2334b8ba806dbc532219e86363886a85d9c8 +[rebased on 3.9.1] +--- + screenfetch-dev | 245 +++++++++++++++++++++++++----------------------- + 1 file changed, 130 insertions(+), 115 deletions(-) + +diff --git a/screenfetch-dev b/screenfetch-dev +index 1e53b2c..765930f 100755 +--- a/screenfetch-dev ++++ b/screenfetch-dev +@@ -352,9 +352,9 @@ colorNumberToCode () { + + detectColors () { + my_colors=$(sed 's/^,/na,/;s/,$/,na/;s/,/ /' <<< "${OPTARG}") +- my_lcolor=$(awk -F' ' '{print $1}' <<< "${my_colors}") ++ my_lcolor=$("${AWK}" -F' ' '{print $1}' <<< "${my_colors}") + my_lcolor=$(colorNumberToCode "${my_lcolor}") +- my_hcolor=$(awk -F' ' '{print $2}' <<< "${my_colors}") ++ my_hcolor=$("${AWK}" -F' ' '{print $2}' <<< "${my_colors}") + my_hcolor=$(colorNumberToCode "${my_hcolor}") + } + +@@ -462,7 +462,22 @@ case $1 in + --version) displayVersion; exit 0;; + esac + ++# Detect which awk to use (unless already specified in environment) ++if [[ -z "${AWK}" ]]; then ++ for awk in awk gawk mawk; do ++ if command -v "${awk}" > /dev/null; then ++ AWK="${awk}" ++ break ++ fi ++ done ++fi ++ ++if ! command -v "${AWK}" > /dev/null; then ++ errorOut "No awk interpreter available (AWK=\"${AWK}\")." ++ exit 1 ++fi + ++# Parse the rest of the flags (some of these functions require awk) + while getopts ":hsu:evVEnLNtlS:A:D:o:c:d:pa:w" flags; do + case $flags in + h) displayHelp; exit 0 ;; +@@ -608,8 +623,8 @@ detectdistro () { + "Debian") + if [[ -f /etc/crunchbang-lsb-release || -f /etc/lsb-release-crunchbang ]]; then + distro="CrunchBang" +- distro_release=$(awk -F'=' '/^DISTRIB_RELEASE=/ {print $2}' /etc/lsb-release-crunchbang) +- distro_codename=$(awk -F'=' '/^DISTRIB_DESCRIPTION=/ {print $2}' /etc/lsb-release-crunchbang) ++ distro_release=$("${AWK}" -F'=' '/^DISTRIB_RELEASE=/ {print $2}' /etc/lsb-release-crunchbang) ++ distro_codename=$("${AWK}" -F'=' '/^DISTRIB_DESCRIPTION=/ {print $2}' /etc/lsb-release-crunchbang) + elif [[ -f /etc/siduction-version ]]; then + distro="Siduction" + distro_release="(Debian Sid)" +@@ -620,10 +635,10 @@ detectdistro () { + elif [[ -f /etc/os-release ]]; then + if grep -q -i 'Raspbian' /etc/os-release ; then + distro="Raspbian" +- distro_release=$(awk -F'=' '/^PRETTY_NAME=/ {print $2}' /etc/os-release) ++ distro_release=$("${AWK}" -F'=' '/^PRETTY_NAME=/ {print $2}' /etc/os-release) + elif grep -q -i 'BlankOn' /etc/os-release ; then + distro='BlankOn' +- distro_release=$(awk -F'=' '/^PRETTY_NAME=/ {print $2}' /etc/os-release) ++ distro_release=$("${AWK}" -F'=' '/^PRETTY_NAME=/ {print $2}' /etc/os-release) + else + distro="Debian" + fi +@@ -639,7 +654,7 @@ detectdistro () { + ;; + "Sulin") + distro="Sulin" +- distro_release=$(awk -F'=' '/^ID_LIKE=/ {print $2}' /etc/os-release) ++ distro_release=$("${AWK}" -F'=' '/^ID_LIKE=/ {print $2}' /etc/os-release) + distro_codename="Roolling donkey" # this is not wrong :D + ;; + "KaOS"|"kaos") +@@ -718,7 +733,7 @@ detectdistro () { + if grep -q 'SailfishOS' /etc/os-release; then + distro="SailfishOS" + distro_codename="$(grep 'VERSION=' /etc/os-release | cut -d '(' -f2 | cut -d ')' -f1)" +- distro_release="$(awk -F'=' '/^VERSION=/ {print $2}' /etc/os-release)" ++ distro_release="$("${AWK}" -F'=' '/^VERSION=/ {print $2}' /etc/os-release)" + fi + fi + ;; +@@ -753,7 +768,7 @@ detectdistro () { + if grep -q -i 'SUSE Linux Enterprise' /etc/os-release ; then + distro="SUSE Linux Enterprise" + distro_codename="n/a" +- distro_release=$(awk -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"') ++ distro_release=$("${AWK}" -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"') + fi + fi + if [[ "${distro_codename}" == "Tumbleweed" ]]; then +@@ -789,7 +804,7 @@ detectdistro () { + distro="SailfishOS" + if [[ -f /etc/os-release ]]; then + distro_codename="$(grep 'VERSION=' /etc/os-release | cut -d '(' -f2 | cut -d ')' -f1)" +- distro_release="$(awk -F'=' '/^VERSION=/ {print $2}' /etc/os-release)" ++ distro_release="$("${AWK}" -F'=' '/^VERSION=/ {print $2}' /etc/os-release)" + fi + ;; + "Sparky"|"SparkyLinux") +@@ -863,12 +878,12 @@ detectdistro () { + ;; + "Haiku") + distro="Haiku" +- distro_more="$(uname -v | awk '/^hrev/ {print $1}')" ++ distro_more="$(uname -v | "${AWK}" '/^hrev/ {print $1}')" + ;; + "GNU/Linux") + if type -p crux >/dev/null 2>&1; then + distro="CRUX" +- distro_more="$(crux | awk '{print $3}')" ++ distro_more="$(crux | "${AWK}" '{print $3}')" + fi + if type -p nixos-version >/dev/null 2>&1; then + distro="NixOS" +@@ -944,7 +959,7 @@ detectdistro () { + [[ "${distro}" == "Neon" ]] && distro="KDE neon" + [[ "${distro}" == "SLED" || "${distro}" == "sled" || "${distro}" == "SLES" || "${distro}" == "sles" ]] && distro="SUSE Linux Enterprise" + if [[ "${distro}" == "SUSE Linux Enterprise" && -f /etc/os-release ]]; then +- distro_more="$(awk -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"')" ++ distro_more="$("${AWK}" -F'=' '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"')" + fi + if [[ "${distro}" == "Debian" && -f /usr/bin/pveversion ]]; then + distro="Proxmox VE" +@@ -955,7 +970,7 @@ detectdistro () { + + if [[ "${distro}" == "Unknown" && "${OSTYPE}" =~ "linux" && -f /etc/lsb-release ]]; then + LSB_RELEASE=$(/dev/null; then + distro="Mac OS X" + elif [[ -f /var/run/dmesg.boot ]]; then +- distro=$(awk 'BEGIN { ++ distro=$("${AWK}" 'BEGIN { + distro = "Unknown" + } + { +@@ -1080,7 +1095,7 @@ detectdistro () { + + if [[ "${distro}" == "Unknown" ]] && [[ "${OSTYPE}" =~ "linux" || "${OSTYPE}" == "gnu" ]]; then + if [[ -f /etc/issue ]]; then +- distro=$(awk 'BEGIN { ++ distro=$("${AWK}" 'BEGIN { + distro = "Unknown" + } + { +@@ -1123,8 +1138,8 @@ detectdistro () { + fi + elif [[ -f /etc/lsb-release ]]; then + if grep -q -i 'CHROMEOS_RELEASE_NAME' /etc/lsb-release; then +- distro="$(awk -F'=' '/^CHROMEOS_RELEASE_NAME=/ {print $2}' /etc/lsb-release)" +- distro_more="$(awk -F'=' '/^CHROMEOS_RELEASE_VERSION=/ {print $2}' /etc/lsb-release)" ++ distro="$("${AWK}" -F'=' '/^CHROMEOS_RELEASE_NAME=/ {print $2}' /etc/lsb-release)" ++ distro_more="$("${AWK}" -F'=' '/^CHROMEOS_RELEASE_VERSION=/ {print $2}' /etc/lsb-release)" + fi + fi + fi +@@ -1301,7 +1316,7 @@ detectuptime () { + now=$(date +%s) + uptime=$((now - boot)) + elif [[ "${distro}" == "Haiku" ]]; then +- uptime=$(uptime | awk -F', up ' '{gsub(/ *hours?,/, "h"); gsub(/ *minutes?/, "m"); print $2;}') ++ uptime=$(uptime | "${AWK}" -F', up ' '{gsub(/ *hours?,/, "h"); gsub(/ *minutes?/, "m"); print $2;}') + else + if [[ -f /proc/uptime ]]; then + uptime=$( /dev/null | awk '/OpenGL renderer string/ { sub(/OpenGL renderer string: /,""); print }') ++ gpu=$(glxinfo 2> /dev/null | "${AWK}" '/OpenGL renderer string/ { sub(/OpenGL renderer string: /,""); print }') + elif [[ "${distro}" == "Mac OS X" ]]; then +- gpu=$(system_profiler SPDisplaysDataType | awk -F': ' '/^ *Chipset Model:/ {print $2}' | awk '{ printf "%s / ", $0 }' | sed -e 's/\/ $//g') ++ gpu=$(system_profiler SPDisplaysDataType | "${AWK}" -F': ' '/^ *Chipset Model:/ {print $2}' | "${AWK}" '{ printf "%s / ", $0 }' | sed -e 's/\/ $//g') + elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then + gpu=$(wmic path Win32_VideoController get caption | sed -n '2p') + elif [[ "${distro}" == "Haiku" ]]; then +- gpu="$(listdev | grep -A2 -e 'device Display controller' | awk -F': ' '/^ +device/ {print $2}')" ++ gpu="$(listdev | grep -A2 -e 'device Display controller' | "${AWK}" -F': ' '/^ +device/ {print $2}')" + else + if [[ -n "$(PATH="/opt/bin:$PATH" type -p nvidia-smi)" ]]; then +- gpu=$($(PATH="/opt/bin:$PATH" type -p nvidia-smi | cut -f1) -q | awk -F':' '/Product Name/ {gsub(/: /,":"); print $2}' | sed ':a;N;$!ba;s/\n/, /g') ++ gpu=$($(PATH="/opt/bin:$PATH" type -p nvidia-smi | cut -f1) -q | "${AWK}" -F':' '/Product Name/ {gsub(/: /,":"); print $2}' | sed ':a;N;$!ba;s/\n/, /g') + elif [[ -n "$(PATH="/usr/sbin:$PATH" type -p glxinfo)" && -z "${gpu}" ]]; then + gpu_info=$($(PATH="/usr/sbin:$PATH" type -p glxinfo | cut -f1) 2>/dev/null) + gpu=$(grep "OpenGL renderer string" <<< "${gpu_info}" | cut -d ':' -f2 | sed -n -e '1h;2,$H;${g;s/\n/, /g' -e 'p' -e '}') +@@ -1650,12 +1665,12 @@ detectgpu () { + # Run it only on Intel Processors if GPU is unknown + DetectIntelGPU() { + if [ -r /proc/fb ]; then +- gpu=$(awk 'BEGIN {ORS = " &"} {$1="";print}' /proc/fb | sed -r s/'^\s+|\s*&$'//g) ++ gpu=$("${AWK}" 'BEGIN {ORS = " &"} {$1="";print}' /proc/fb | sed -r s/'^\s+|\s*&$'//g) + fi + + case $gpu in + *mfb) +- gpu=$(lspci | grep -i vga | awk -F ": " '{print $2}') ++ gpu=$(lspci | grep -i vga | "${AWK}" -F ": " '{print $2}') + ;; + *intel*) + gpu="intel" +@@ -1667,7 +1682,7 @@ DetectIntelGPU() { + + if [[ "$gpu" = "intel" ]]; then + #Detect CPU +- local CPU=$(uname -p | awk '{print $3}') ++ local CPU=$(uname -p | "${AWK}" '{print $3}') + CPU=${CPU#*'-'}; #Detect CPU number + + #Detect Intel GPU +@@ -1710,7 +1725,7 @@ detectdisk () { + if [[ "${distro}" =~ (Free|Net|DragonFly)BSD ]]; then + totaldisk=$(df -h -c 2>/dev/null | tail -1) + elif [[ "${distro}" == "OpenBSD" ]]; then +- totaldisk=$(df -Pk 2> /dev/null | awk ' ++ totaldisk=$(df -Pk 2> /dev/null | "${AWK}" ' + /^\// {total+=$2; used+=$3; avail+=$4} + END{printf("total %.1fG %.1fG %.1fG %d%%\n", total/1048576, used/1048576, avail/1048576, used*100/total)}') + elif [[ "${distro}" == "Mac OS X" ]]; then +@@ -1718,9 +1733,9 @@ detectdisk () { + else + totaldisk=$(df -h -x aufs -x tmpfs -x overlay --total 2>/dev/null | tail -1) + fi +- disktotal=$(awk '{print $2}' <<< "${totaldisk}") +- diskused=$(awk '{print $3}' <<< "${totaldisk}") +- diskusedper=$(awk '{print $5}' <<< "${totaldisk}") ++ disktotal=$("${AWK}" '{print $2}' <<< "${totaldisk}") ++ diskused=$("${AWK}" '{print $3}' <<< "${totaldisk}") ++ diskusedper=$("${AWK}" '{print $5}' <<< "${totaldisk}") + diskusage="${diskused} / ${disktotal} (${diskusedper})" + diskusage_verbose=$(sed 's/%/%%/' <<< "$diskusage") + fi +@@ -1733,17 +1748,17 @@ detectdisk () { + detectmem () { + if [ "$distro" == "Mac OS X" ]; then + totalmem=$(echo "$(sysctl -n hw.memsize)" / 1024^2 | bc) +- wiredmem=$(vm_stat | grep wired | awk '{ print $4 }' | sed 's/\.//') +- activemem=$(vm_stat | grep ' active' | awk '{ print $3 }' | sed 's/\.//') +- compressedmem=$(vm_stat | grep occupied | awk '{ print $5 }' | sed 's/\.//') ++ wiredmem=$(vm_stat | grep wired | "${AWK}" '{ print $4 }' | sed 's/\.//') ++ activemem=$(vm_stat | grep ' active' | "${AWK}" '{ print $3 }' | sed 's/\.//') ++ compressedmem=$(vm_stat | grep occupied | "${AWK}" '{ print $5 }' | sed 's/\.//') + if [[ ! -z "$compressedmem | tr -d" ]]; then # FIXME: is this line correct? + compressedmem=0 + fi + usedmem=$(((wiredmem + activemem + compressedmem) * 4 / 1024)) + elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then +- total_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) ++ total_mem=$("${AWK}" '/MemTotal/ { print $2 }' /proc/meminfo) + totalmem=$((total_mem / 1024)) +- free_mem=$(awk '/MemFree/ { print $2 }' /proc/meminfo) ++ free_mem=$("${AWK}" '/MemFree/ { print $2 }' /proc/meminfo) + used_mem=$((total_mem - free_mem)) + usedmem=$((used_mem / 1024)) + elif [[ "$distro" == "FreeBSD" || "$distro" == "DragonFlyBSD" ]]; then +@@ -1769,21 +1784,21 @@ detectmem () { + usedmem=$((used_mem / 1024 / 1024)) + elif [ "$distro" == "OpenBSD" ]; then + totalmem=$(($(sysctl -n hw.physmem) / 1024 / 1024)) +- usedmem=$(vmstat | awk '!/[a-z]/{gsub("M",""); print $3}') ++ usedmem=$(vmstat | "${AWK}" '!/[a-z]/{gsub("M",""); print $3}') + elif [ "$distro" == "NetBSD" ]; then +- phys_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo) ++ phys_mem=$("${AWK}" '/MemTotal/ { print $2 }' /proc/meminfo) + totalmem=$((phys_mem / 1024)) + if grep -q 'Cached' /proc/meminfo; then +- cache=$(awk '/Cached/ {print $2}' /proc/meminfo) ++ cache=$("${AWK}" '/Cached/ {print $2}' /proc/meminfo) + usedmem=$((cache / 1024)) + else +- free_mem=$(awk '/MemFree/ { print $2 }' /proc/meminfo) ++ free_mem=$("${AWK}" '/MemFree/ { print $2 }' /proc/meminfo) + used_mem=$((phys_mem - free_mem)) + usedmem=$((used_mem / 1024)) + fi + elif [ "$distro" == "Haiku" ]; then +- totalmem=$(sysinfo -mem | awk 'NR == 1 {gsub(/[\(\)\/]/, ""); printf("%d", $6/1024**2)}') +- usedmem=$(sysinfo -mem | awk 'NR == 1 {gsub(/[\(\)\/]/, ""); printf("%d", $5/1024**2)}') ++ totalmem=$(sysinfo -mem | "${AWK}" 'NR == 1 {gsub(/[\(\)\/]/, ""); printf("%d", $6/1024**2)}') ++ usedmem=$(sysinfo -mem | "${AWK}" 'NR == 1 {gsub(/[\(\)\/]/, ""); printf("%d", $5/1024**2)}') + else + # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable + # Source: https://github.com/dylanaraps/neofetch/pull/391/files#diff-e863270127ca6116fd30e708cdc582fc +@@ -1798,7 +1813,7 @@ detectmem () { + #done + #usedmem=$((usedmem / 1024)) + #totalmem=$((totalmem / 1024)) +- mem=$(free -b | awk 'NR==2{print $2"-"$7}') ++ mem=$(free -b | "${AWK}" 'NR==2{print $2"-"$7}') + usedmem=$((mem / 1024 / 1024)) + totalmem=$((${mem//-*} / 1024 / 1024)) + fi +@@ -1823,7 +1838,7 @@ detectshell_ver () { + esac + + if [[ -n $version_data ]];then +- version=$(awk ' ++ version=$("${AWK}" ' + BEGIN { + IGNORECASE=1 + } +@@ -1842,7 +1857,7 @@ detectshell () { + if [[ ! "${shell_type}" ]]; then + if [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" || "${distro}" == "Haiku" || "${distro}" == "Alpine Linux" || + "${distro}" == "Mac OS X" || "${distro}" == "TinyCore" || "${distro}" == "Raspbian" || "${OSTYPE}" == "gnu" ]]; then +- shell_type=$(echo "$SHELL" | awk -F'/' '{print $NF}') ++ shell_type=$(echo "$SHELL" | "${AWK}" -F'/' '{print $NF}') + elif readlink -f "$SHELL" 2>&1 | grep -q -i 'busybox'; then + shell_type="BusyBox" + else +@@ -1851,7 +1866,7 @@ detectshell () { + elif [[ "${distro}" =~ "BSD" ]]; then + shell_type=$(ps -p $PPID -o command | tail -1) + else +- shell_type=$(ps -p "$(ps -p $PPID | awk '$1 !~ /PID/ {print $1}')" | awk 'FNR>1 {print $1}') ++ shell_type=$(ps -p "$(ps -p $PPID | "${AWK}" '$1 !~ /PID/ {print $1}')" | "${AWK}" 'FNR>1 {print $1}') + fi + shell_type=${shell_type/-} + shell_type=${shell_type//*\/} +@@ -1881,7 +1896,7 @@ detectshell () { + shell_version_data=$( detectshell_ver "$shell_type" "^zsh" "2" ) + ;; + fish) +- shell_version_data=$( fish --version | awk '{print $3}' ) ++ shell_version_data=$( fish --version | "${AWK}" '{print $3}' ) + ;; + esac + +@@ -1899,17 +1914,17 @@ detectshell () { + detectres () { + xResolution="No X Server" + if [[ ${distro} == "Mac OS X" ]]; then +- xResolution=$(system_profiler SPDisplaysDataType | awk '/Resolution:/ {print $2"x"$4" "}') ++ xResolution=$(system_profiler SPDisplaysDataType | "${AWK}" '/Resolution:/ {print $2"x"$4" "}') + if [[ "$(echo "$xResolution" | wc -l)" -ge 1 ]]; then + xResolution=$(echo "$xResolution" | tr "\\n" "," | sed 's/\(.*\),/\1/') + fi + elif [[ "${distro}" == "Cygwin" || "${distro}" == "Msys" ]]; then +- xResolution=$(wmic path Win32_VideoController get CurrentHorizontalResolution,CurrentVerticalResolution | awk 'NR==2 {print $1"x"$2}') ++ xResolution=$(wmic path Win32_VideoController get CurrentHorizontalResolution,CurrentVerticalResolution | "${AWK}" 'NR==2 {print $1"x"$2}') + elif [[ "${distro}" == "Haiku" ]]; then +- xResolution="$(screenmode | grep Resolution | awk '{gsub(/,/,""); print $2"x"$3}')" ++ xResolution="$(screenmode | grep Resolution | "${AWK}" '{gsub(/,/,""); print $2"x"$3}')" + elif [[ -n ${DISPLAY} ]]; then + if type -p xdpyinfo >/dev/null 2>&1; then +- xResolution=$(xdpyinfo | awk '/^ +dimensions/ {print $2}') ++ xResolution=$(xdpyinfo | "${AWK}" '/^ +dimensions/ {print $2}') + fi + fi + verboseOut "Finding current resolution(s)...found as '$xResolution'" +@@ -1937,7 +1952,7 @@ detectde () { + if type -p xprop >/dev/null 2>&1;then + xprop_root="$(xprop -root 2>/dev/null)" + if [[ -n ${xprop_root} ]]; then +- DE=$(echo "${xprop_root}" | awk 'BEGIN { ++ DE=$(echo "${xprop_root}" | "${AWK}" 'BEGIN { + de = "Not Present" + } + { +@@ -2099,7 +2114,7 @@ detectde () { + elif [[ ${KDE_FULL_SESSION} == 'true' ]]; then + DE="KDE" + DEver_data=$(kded --version 2>/dev/null) +- DEver=$(grep -si '^KDE:' <<< "$DEver_data" | awk '{print $2}') ++ DEver=$(grep -si '^KDE:' <<< "$DEver_data" | "${AWK}" '{print $2}') + fi + fi + fi +@@ -2154,7 +2169,7 @@ detectde () { + fi + elif [[ ${DE} == "LXQt" ]]; then + if type -p lxqt-about >/dev/null 2>&1; then +- DEver=$(lxqt-about --version | awk '/^liblxqt/ {print $2}') ++ DEver=$(lxqt-about --version | "${AWK}" '/^liblxqt/ {print $2}') + DE="${DE} ${DEver}" + fi + elif [[ ${DE} == "MATE" ]]; then +@@ -2169,12 +2184,12 @@ detectde () { + fi + elif [[ ${DE} == "Deepin" ]]; then + if [[ -f /etc/deepin-version ]]; then +- DEver="$(awk -F '=' '/Version/ {print $2}' /etc/deepin-version)" ++ DEver="$("${AWK}" -F '=' '/Version/ {print $2}' /etc/deepin-version)" + DE="${DE} ${DEver//* }" + fi + elif [[ ${DE} == "Trinity" ]]; then + if type -p tde-config >/dev/null 2>&1; then +- DEver="$(tde-config --version | awk -F ' ' '/TDE:/ {print $2}')" ++ DEver="$(tde-config --version | "${AWK}" -F ' ' '/TDE:/ {print $2}')" + DE="${DE} ${DEver//* }" + fi + fi +@@ -2418,7 +2433,7 @@ detectwmtheme () { + else + themeFile="$(reg query 'HKCU\Software\Microsoft\Windows\CurrentVersion\Themes' /v 'CurrentTheme')" + fi +- Win_theme=$(echo "$themeFile" | awk -F"\\" '{print $NF}' | sed 's|\.theme$||') ++ Win_theme=$(echo "$themeFile" | "${AWK}" -F"\\" '{print $NF}' | sed 's|\.theme$||') + fi + else + case $WM in +@@ -2433,7 +2448,7 @@ detectwmtheme () { + ;; + 'BlackBox') + if [ -f "$HOME/.blackboxrc" ]; then +- Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' "$HOME/.blackboxrc")" ++ Win_theme="$("${AWK}" -F"/" '/styleFile/ {print $NF}' "$HOME/.blackboxrc")" + fi + ;; + 'BudgieWM') +@@ -2465,11 +2480,11 @@ detectwmtheme () { + fi + ;; + 'E16') +- Win_theme="$(awk -F"= " '/theme.name/ {print $2}' "$HOME/.e16/e_config--0.0.cfg")" ++ Win_theme="$("${AWK}" -F"= " '/theme.name/ {print $2}' "$HOME/.e16/e_config--0.0.cfg")" + ;; + 'E17'|'Enlightenment') + if [ "$(which eet 2>/dev/null)" ]; then +- econfig="$(eet -d "$HOME/.e/e/config/standard/e.cfg" config | awk '/value \"file\" string.*.edj/{ print $4 }')" ++ econfig="$(eet -d "$HOME/.e/e/config/standard/e.cfg" config | "${AWK}" '/value \"file\" string.*.edj/{ print $4 }')" + econfigend="${econfig##*/}" + Win_theme=${econfigend%.*} + elif [ -n "${E_CONF_PROFILE}" ]; then +@@ -2485,12 +2500,12 @@ detectwmtheme () { + ;; + 'FluxBox'|'Fluxbox') + if [ -f "$HOME/.fluxbox/init" ]; then +- Win_theme="$(awk -F"/" '/styleFile/ {print $NF}' "$HOME/.fluxbox/init")" ++ Win_theme="$("${AWK}" -F"/" '/styleFile/ {print $NF}' "$HOME/.fluxbox/init")" + fi + ;; + 'IceWM') + if [ -f "$HOME/.icewm/theme" ]; then +- Win_theme="$(awk -F"[\",/]" '!/#/ {print $2}' "$HOME/.icewm/theme")" ++ Win_theme="$("${AWK}" -F"[\",/]" '!/#/ {print $2}' "$HOME/.icewm/theme")" + fi + ;; + 'KWin'*) +@@ -2507,14 +2522,14 @@ detectwmtheme () { + Win_theme="Not Applicable" + KDE_CONFIG_DIR=${KDE_CONFIG_DIR%/} + if [[ -f $KDE_CONFIG_DIR/share/config/kwinrc ]]; then +- Win_theme="$(awk '/PluginLib=kwin3_/{gsub(/PluginLib=kwin3_/,"",$0); print $0; exit}' "$KDE_CONFIG_DIR/share/config/kwinrc")" ++ Win_theme="$("${AWK}" '/PluginLib=kwin3_/{gsub(/PluginLib=kwin3_/,"",$0); print $0; exit}' "$KDE_CONFIG_DIR/share/config/kwinrc")" + if [[ -z "$Win_theme" ]]; then + Win_theme="Not Applicable" + fi + fi + if [[ "$Win_theme" == "Not Applicable" ]]; then + if [[ -f $KDE_CONFIG_DIR/share/config/kdebugrc ]]; then +- Win_theme="$(awk '/(decoration)/ {gsub(/\[/,"",$1); print $1; exit}' "$KDE_CONFIG_DIR/share/config/kdebugrc")" ++ Win_theme="$("${AWK}" '/(decoration)/ {gsub(/\[/,"",$1); print $1; exit}' "$KDE_CONFIG_DIR/share/config/kdebugrc")" + if [[ -z "$Win_theme" ]]; then + Win_theme="Not Applicable" + fi +@@ -2522,7 +2537,7 @@ detectwmtheme () { + fi + if [[ "$Win_theme" == "Not Applicable" ]]; then + if [[ -f $KDE_CONFIG_DIR/share/config/kdeglobals ]]; then +- Win_theme="$(awk '/\[General\]/ {flag=1;next} /^$/{flag=0} flag {print}' "$KDE_CONFIG_DIR/share/config/kdeglobals" | grep -oP 'Name=\K.*')" ++ Win_theme="$("${AWK}" '/\[General\]/ {flag=1;next} /^$/{flag=0} flag {print}' "$KDE_CONFIG_DIR/share/config/kdeglobals" | grep -oP 'Name=\K.*')" + if [[ -z "$Win_theme" ]]; then + Win_theme="Not Applicable" + fi +@@ -2552,20 +2567,20 @@ detectwmtheme () { + ;; + 'OpenBox'|'Openbox') + if [ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/openbox/rc.xml" ]; then +- Win_theme="$(awk -F"[<,>]" '/]" '/]" '/]" '//dev/null 2>&1; then + gtk2Theme=$(xfconf-query -c xsettings -p /Net/ThemeName 2>/dev/null) +@@ -2779,15 +2794,15 @@ detectgtk () { + fi + + if grep -q 'sNet\/ThemeName' "${config_home}${lxdeconf}" 2>/dev/null; then +- gtk2Theme=$(awk -F'=' '/sNet\/ThemeName/ {print $2}' "${config_home}${lxdeconf}") ++ gtk2Theme=$("${AWK}" -F'=' '/sNet\/ThemeName/ {print $2}' "${config_home}${lxdeconf}") + fi + + if grep -q 'IconThemeName' "${config_home}${lxdeconf}" 2>/dev/null; then +- gtkIcons=$(awk -F'=' '/sNet\/IconThemeName/ {print $2}' "${config_home}${lxdeconf}") ++ gtkIcons=$("${AWK}" -F'=' '/sNet\/IconThemeName/ {print $2}' "${config_home}${lxdeconf}") + fi + + if grep -q 'FontName' "${config_home}${lxdeconf}" 2>/dev/null; then +- gtkFont=$(awk -F'=' '/sGtk\/FontName/ {print $2}' "${config_home}${lxdeconf}") ++ gtkFont=$("${AWK}" -F'=' '/sGtk\/FontName/ {print $2}' "${config_home}${lxdeconf}") + fi + ;; + +@@ -2796,15 +2811,15 @@ detectgtk () { + *) # Lightweight or No DE Found + if [ -f "$HOME/.gtkrc-2.0" ]; then + if grep -q 'gtk-theme' "$HOME/.gtkrc-2.0"; then +- gtk2Theme=$(awk -F'"' '/^gtk-theme/ {print $2}' "$HOME/.gtkrc-2.0") ++ gtk2Theme=$("${AWK}" -F'"' '/^gtk-theme/ {print $2}' "$HOME/.gtkrc-2.0") + fi + + if grep -q 'icon-theme' "$HOME/.gtkrc-2.0"; then +- gtkIcons=$(awk -F'"' '/^gtk-icon-theme/ {print $2}' "$HOME/.gtkrc-2.0") ++ gtkIcons=$("${AWK}" -F'"' '/^gtk-icon-theme/ {print $2}' "$HOME/.gtkrc-2.0") + fi + + if grep -q 'font' "$HOME/.gtkrc-2.0"; then +- gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' "$HOME/.gtkrc-2.0") ++ gtkFont=$("${AWK}" -F'"' '/^gtk-font-name/ {print $2}' "$HOME/.gtkrc-2.0") + fi + fi + # $HOME/.gtkrc.mine theme detect only +@@ -2815,37 +2830,37 @@ detectgtk () { + fi + if [ -f "$minegtkrc" ]; then + if grep -q '^include' "$minegtkrc"; then +- gtk2Theme=$(grep '^include.*gtkrc' "$minegtkrc" | awk -F "/" '{ print $5 }') ++ gtk2Theme=$(grep '^include.*gtkrc' "$minegtkrc" | "${AWK}" -F "/" '{ print $5 }') + fi + if grep -q '^gtk-icon-theme-name' "$minegtkrc"; then +- gtkIcons=$(grep '^gtk-icon-theme-name' "$minegtkrc" | awk -F '"' '{print $2}') ++ gtkIcons=$(grep '^gtk-icon-theme-name' "$minegtkrc" | "${AWK}" -F '"' '{print $2}') + fi + fi + # /etc/gtk-2.0/gtkrc compatibility + if [[ -f /etc/gtk-2.0/gtkrc && ! -f "$HOME/.gtkrc-2.0" && ! -f "$HOME/.gtkrc.mine" && ! -f "$HOME/.gtkrc-2.0.mine" ]]; then + if grep -q 'gtk-theme-name' /etc/gtk-2.0/gtkrc; then +- gtk2Theme=$(awk -F'"' '/^gtk-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) ++ gtk2Theme=$("${AWK}" -F'"' '/^gtk-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + if grep -q 'gtk-fallback-theme-name' /etc/gtk-2.0/gtkrc && ! [ "x$gtk2Theme" = "x" ]; then +- gtk2Theme=$(awk -F'"' '/^gtk-fallback-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) ++ gtk2Theme=$("${AWK}" -F'"' '/^gtk-fallback-theme-name/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + + if grep -q 'icon-theme' /etc/gtk-2.0/gtkrc; then +- gtkIcons=$(awk -F'"' '/^icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) ++ gtkIcons=$("${AWK}" -F'"' '/^icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + if grep -q 'gtk-fallback-icon-theme' /etc/gtk-2.0/gtkrc && ! [ "x$gtkIcons" = "x" ]; then +- gtkIcons=$(awk -F'"' '/^gtk-fallback-icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) ++ gtkIcons=$("${AWK}" -F'"' '/^gtk-fallback-icon-theme/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + + if grep -q 'font' /etc/gtk-2.0/gtkrc; then +- gtkFont=$(awk -F'"' '/^gtk-font-name/ {print $2}' /etc/gtk-2.0/gtkrc) ++ gtkFont=$("${AWK}" -F'"' '/^gtk-font-name/ {print $2}' /etc/gtk-2.0/gtkrc) + fi + fi + + # EXPERIMENTAL gtk3 Theme detection + if [[ "$gtk3Theme" = "Not Found" && -f "$HOME/.config/gtk-3.0/settings.ini" ]]; then + if grep -q 'gtk-theme-name' "$HOME/.config/gtk-3.0/settings.ini"; then +- gtk3Theme=$(awk -F'=' '/^gtk-theme-name/ {print $2}' "$HOME/.config/gtk-3.0/settings.ini") ++ gtk3Theme=$("${AWK}" -F'=' '/^gtk-theme-name/ {print $2}' "$HOME/.config/gtk-3.0/settings.ini") + fi + fi + +@@ -2859,7 +2874,7 @@ detectgtk () { + + # ROX-Filer icon detect only + if [ -a "${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options" ]; then +- gtkIcons=$(awk -F'[>,<]' '/icon_theme/ {print $3}' "${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options") ++ gtkIcons=$("${AWK}" -F'[>,<]' '/icon_theme/ {print $3}' "${XDG_CONFIG_HOME:-${HOME}/.config}/rox.sourceforge.net/ROX-Filer/Options") + fi + + # E17 detection +@@ -2872,10 +2887,10 @@ detectgtk () { + # Background Detection (feh, nitrogen) + if [ "$background_detect" == "1" ]; then + if [ -a "$HOME/.fehbg" ]; then +- gtkBackgroundFull=$(awk -F"'" '/feh --bg/{print $2}' "$HOME/.fehbg" 2>/dev/null) +- gtkBackground=$(echo "$gtkBackgroundFull" | awk -F"/" '{print $NF}') ++ gtkBackgroundFull=$("${AWK}" -F"'" '/feh --bg/{print $2}' "$HOME/.fehbg" 2>/dev/null) ++ gtkBackground=$(echo "$gtkBackgroundFull" | "${AWK}" -F"/" '{print $NF}') + elif [ -a "${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg" ]; then +- gtkBackground=$(awk -F"/" '/file=/ {print $NF}' "${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg") ++ gtkBackground=$("${AWK}" -F"/" '/file=/ {print $NF}' "${XDG_CONFIG_HOME:-${HOME}/.config}/nitrogen/bg-saved.cfg") + fi + fi + +@@ -2910,7 +2925,7 @@ detectdroid () { + rom=$(getprop ro.build.display.id) + fi + baseband=$(getprop ro.baseband) +- cpu=$(awk -F': ' '/^Processor/ {P=$2} /^Hardware/ {H=$2} END {print H != "" ? H : P}' /proc/cpuinfo) ++ cpu=$("${AWK}" -F': ' '/^Processor/ {P=$2} /^Hardware/ {H=$2} END {print H != "" ? H : P}' /proc/cpuinfo) + } + + +@@ -6032,7 +6047,7 @@ asciiText () { + #n=${#fulloutput[*]} + for ((i=0; i<${#fulloutput[*]}; i++)); do + # echo "${out_array[@]}" +- case $(awk 'BEGIN{srand();print int(rand()*(1000-1))+1 }') in ++ case $("${AWK}" 'BEGIN{srand();print int(rand()*(1000-1))+1 }') in + 411|188|15|166|609) + f_size=${#fulloutput[*]} + o_size=${#out_array[*]} +-- +2.41.0.640.ga95def55d0-goog + diff --git a/package/scrypt/scrypt.hash b/package/scrypt/scrypt.hash index 4004b897370..fb78909b3f4 100644 --- a/package/scrypt/scrypt.hash +++ b/package/scrypt/scrypt.hash @@ -1,4 +1,4 @@ -# From http://www.tarsnap.com/scrypt/scrypt-sigs-1.3.1.asc -sha256 df2f23197c9589963267f85f9c5307ecf2b35a98b83a551bf1b1fb7a4d06d4c2 scrypt-1.3.1.tgz +# From http://www.tarsnap.com/scrypt/scrypt-sigs-1.3.2.asc +sha256 d632c1193420ac6faebf9482e65e33d3a5664eccd643b09a509d21d1c1f29be2 scrypt-1.3.2.tgz # Locally computed -sha256 1fb4da0e9000287414066a238f378528d5652f89b72b4a1d6b89fdd20031b22d COPYRIGHT +sha256 277ba0da6001b6c53c1da3f0d0d9107cf847eed49280e2cf4ca1421b8f707119 COPYRIGHT diff --git a/package/scrypt/scrypt.mk b/package/scrypt/scrypt.mk index fb305faf41e..977045b8e63 100644 --- a/package/scrypt/scrypt.mk +++ b/package/scrypt/scrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -SCRYPT_VERSION = 1.3.1 +SCRYPT_VERSION = 1.3.2 SCRYPT_SOURCE = scrypt-$(SCRYPT_VERSION).tgz SCRYPT_SITE = http://www.tarsnap.com/scrypt SCRYPT_LICENSE = BSD-2-Clause diff --git a/package/sdbus-cpp/Config.in.host b/package/sdbus-cpp/Config.in.host new file mode 100644 index 00000000000..d62a65ae843 --- /dev/null +++ b/package/sdbus-cpp/Config.in.host @@ -0,0 +1,11 @@ +config BR2_PACKAGE_HOST_SDBUS_CPP + bool "host sdbus-c++" + depends on BR2_HOST_GCC_AT_LEAST_7 + help + sdbus-c++ is a high-level C++ D-Bus library for Linux + designed to provide expressive, easy-to-use API in modern C++. + + This will build the stub code generator for the adaptor and + proxy interfaces from D-Bus IDL. + + https://github.com/Kistler-Group/sdbus-cpp diff --git a/package/sdbus-cpp/sdbus-cpp.hash b/package/sdbus-cpp/sdbus-cpp.hash index 169fad28076..f4336228af0 100644 --- a/package/sdbus-cpp/sdbus-cpp.hash +++ b/package/sdbus-cpp/sdbus-cpp.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 7f7231904abb6a996b8c18ddc5fb50078ef5dff5191649abf9f127aff41d24e9 v1.2.0.tar.gz +sha256 ca7405c7f0f9ae3023dcfa37bc68974c4b8a1c9ea2909b970e0aedc3e8657ee6 sdbus-cpp-1.4.0.tar.gz sha256 20c17d8b8c48a600800dfd14f95d5cb9ff47066a9641ddeab48dc54aec96e331 COPYING -sha256 be43debbf06a38325616054a39e44ed5afde4ed21b99de197488a4a306d47e39 COPYING-LGPL-Exception +sha256 a1c9e75e25d8f2ce18017c88978edab2f0dbc7814ad0697d4ff2e5e59959f657 COPYING-LGPL-Exception diff --git a/package/sdbus-cpp/sdbus-cpp.mk b/package/sdbus-cpp/sdbus-cpp.mk index 0e8d74cfcd4..9ffaeb26d2b 100644 --- a/package/sdbus-cpp/sdbus-cpp.mk +++ b/package/sdbus-cpp/sdbus-cpp.mk @@ -4,12 +4,20 @@ # ################################################################################ -SDBUS_CPP_VERSION = 1.2.0 -SDBUS_CPP_SOURCE = v$(SDBUS_CPP_VERSION).tar.gz +SDBUS_CPP_VERSION = 1.4.0 SDBUS_CPP_SITE = $(call github,Kistler-Group,sdbus-cpp,v$(SDBUS_CPP_VERSION)) SDBUS_CPP_INSTALL_STAGING = YES SDBUS_CPP_DEPENDENCIES = host-pkgconf systemd SDBUS_CPP_LICENSE = LGPL-2.1+ with exception (headers) SDBUS_CPP_LICENSE_FILES = COPYING COPYING-LGPL-Exception +# Host build for sdbus-c++-xml2cpp +HOST_SDBUS_CPP_DEPENDENCIES = host-pkgconf host-systemd +HOST_SDBUS_CPP_CONF_OPTS = \ + -DBUILD_CODE_GEN=ON \ + -DBUILD_DOC=OFF \ + -DBUILD_TESTS=OFF \ + -DBUILD_LIBSYSTEMD=OFF + $(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch b/package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch deleted file mode 100644 index c8be280c56b..00000000000 --- a/package/sdl2/0001-If-a-CRTC-doesn-t-have-a-mode-configured-use-the-pre.patch +++ /dev/null @@ -1,76 +0,0 @@ -From da9ba3a2a1536017e4ce1ee0f4276578d1ce6e29 Mon Sep 17 00:00:00 2001 -From: Sam Lantinga -Date: Fri, 18 Nov 2022 12:17:27 -0800 -Subject: [PATCH] If a CRTC doesn't have a mode configured, use the preferred - or largest mode as the default mode - -Fixes https://github.com/libsdl-org/SDL/issues/6421 - -[mf@go-sys.de: backport from upstream] -Signed-off-by: Michael Fischer -[yann.morin.1998@free.fr: do an actual backport] -Signed-off-by: Yann E. MORIN ---- - src/video/kmsdrm/SDL_kmsdrmvideo.c | 35 +++++++++++++++++++++++++----- - 1 file changed, 29 insertions(+), 6 deletions(-) - -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c -index eae721455..eeeefef2b 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.c -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c -@@ -666,8 +666,8 @@ KMSDRM_CrtcGetVrr(uint32_t drm_fd, uint32_t crtc_id) - /* Gets a DRM connector, builds an SDL_Display with it, and adds it to the - list of SDL Displays in _this->displays[] */ - static void --KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) { -- -+KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) -+{ - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); - SDL_DisplayData *dispdata = NULL; - SDL_VideoDisplay display = {0}; -@@ -770,14 +770,37 @@ KMSDRM_AddDisplay (_THIS, drmModeConnector *connector, drmModeRes *resources) { - drmModeModeInfo *mode = &connector->modes[i]; - - if (!SDL_memcmp(mode, &crtc->mode, sizeof(crtc->mode))) { -- mode_index = i; -- break; -+ mode_index = i; -+ break; - } - } - - if (mode_index == -1) { -- ret = SDL_SetError("Failed to find index of mode attached to the CRTC."); -- goto cleanup; -+ int current_area, largest_area = 0; -+ -+ /* Find the preferred mode or the highest resolution mode */ -+ for (i = 0; i < connector->count_modes; i++) { -+ drmModeModeInfo *mode = &connector->modes[i]; -+ -+ if (mode->type & DRM_MODE_TYPE_PREFERRED) { -+ mode_index = i; -+ break; -+ } -+ -+ current_area = mode->hdisplay * mode->vdisplay; -+ if (current_area > largest_area) { -+ mode_index = i; -+ largest_area = current_area; -+ } -+ } -+ if (mode_index != -1) { -+ crtc->mode = connector->modes[mode_index]; -+ } -+ } -+ -+ if (mode_index == -1) { -+ ret = SDL_SetError("Failed to find index of mode attached to the CRTC."); -+ goto cleanup; - } - - /*********************************************/ --- -2.25.1 - diff --git a/package/sdl2/sdl2.hash b/package/sdl2/sdl2.hash index 923a900dc0c..7a28d5efc87 100644 --- a/package/sdl2/sdl2.hash +++ b/package/sdl2/sdl2.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.24.2.tar.gz.sig -sha256 b35ef0a802b09d90ed3add0dcac0e95820804202914f5bb7b0feb710f1a1329f SDL2-2.24.2.tar.gz +# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.28.5.tar.gz.sig +sha256 332cb37d0be20cb9541739c61f79bae5a477427d79ae85e352089afdaf6666e4 SDL2-2.28.5.tar.gz # Locally calculated -sha256 fcb07e07ac6bc8b2fcf047b50431ef4ebe5b619d7ca7c82212018309a9067426 LICENSE.txt +sha256 9928507f684c1965d07f2b6ef4b4723d5efc2f6b4ab731f743a413c51c319927 LICENSE.txt diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index a1dc8b5b735..eb5042e3cdb 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_VERSION = 2.24.2 +SDL2_VERSION = 2.28.5 SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz SDL2_SITE = http://www.libsdl.org/release SDL2_LICENSE = Zlib @@ -54,6 +54,10 @@ SDL2_POST_INSTALL_STAGING_HOOKS += SDL2_FIX_SDL2_CONFIG_CMAKE # We must enable static build to get compilation successful. SDL2_CONF_OPTS += --enable-static +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +SDL2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + ifeq ($(BR2_PACKAGE_HAS_UDEV),y) SDL2_DEPENDENCIES += udev SDL2_CONF_OPTS += --enable-libudev @@ -76,7 +80,7 @@ endif ifeq ($(BR2_PACKAGE_SDL2_DIRECTFB),y) SDL2_DEPENDENCIES += directfb SDL2_CONF_OPTS += --enable-video-directfb -SDL2_CONF_ENV = ac_cv_path_DIRECTFBCONFIG=$(STAGING_DIR)/usr/bin/directfb-config +SDL2_CONF_ENV += ac_cv_path_DIRECTFBCONFIG=$(STAGING_DIR)/usr/bin/directfb-config else SDL2_CONF_OPTS += --disable-video-directfb endif @@ -108,13 +112,6 @@ else SDL2_CONF_OPTS += --disable-video-x11-xcursor endif -ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) -SDL2_DEPENDENCIES += xlib_libXinerama -SDL2_CONF_OPTS += --enable-video-x11-xinerama -else -SDL2_CONF_OPTS += --disable-video-x11-xinerama -endif - ifeq ($(BR2_PACKAGE_XLIB_LIBXI),y) SDL2_DEPENDENCIES += xlib_libXi SDL2_CONF_OPTS += --enable-video-x11-xinput @@ -136,13 +133,6 @@ else SDL2_CONF_OPTS += --disable-video-x11-scrnsaver endif -ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y) -SDL2_DEPENDENCIES += xlib_libXxf86vm -SDL2_CONF_OPTS += --enable-video-x11-vm -else -SDL2_CONF_OPTS += --disable-video-x11-vm -endif - else SDL2_CONF_OPTS += --disable-video-x11 --without-x endif diff --git a/package/sdl2_image/sdl2_image.hash b/package/sdl2_image/sdl2_image.hash index e1efa4debe6..53a887c6f9a 100644 --- a/package/sdl2_image/sdl2_image.hash +++ b/package/sdl2_image/sdl2_image.hash @@ -1,3 +1,3 @@ -# Locally calculated after checking https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.6.2.tar.gz.sig -sha256 48355fb4d8d00bac639cd1c4f4a7661c4afef2c212af60b340e06b7059814777 SDL2_image-2.6.2.tar.gz -sha256 28aabfed22b3cb0b7e23ef40385e4f66297c960082f029c96d073cc1d4e008d5 LICENSE.txt +# Locally calculated +sha256 8f486bbfbcf8464dd58c9e5d93394ab0255ce68b51c5a966a918244820a76ddc SDL2_image-2.8.2.tar.gz +sha256 a0e8ce06504966e45088ee1cc7583cc8af9aac615d4cf56d47d847da9cb15139 LICENSE.txt diff --git a/package/sdl2_image/sdl2_image.mk b/package/sdl2_image/sdl2_image.mk index 953742de28a..40b9e3c9151 100644 --- a/package/sdl2_image/sdl2_image.mk +++ b/package/sdl2_image/sdl2_image.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_IMAGE_VERSION = 2.6.2 +SDL2_IMAGE_VERSION = 2.8.2 SDL2_IMAGE_SOURCE = SDL2_image-$(SDL2_IMAGE_VERSION).tar.gz SDL2_IMAGE_SITE = http://www.libsdl.org/projects/SDL_image/release SDL2_IMAGE_INSTALL_STAGING = YES diff --git a/package/sdl2_mixer/sdl2_mixer.hash b/package/sdl2_mixer/sdl2_mixer.hash index f3bab151f22..4592014d7f3 100644 --- a/package/sdl2_mixer/sdl2_mixer.hash +++ b/package/sdl2_mixer/sdl2_mixer.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419 SDL2_mixer-2.0.4.tar.gz -sha256 113727180e7956cb9718b03b41da85b63ea54743a33047071a623bf672895a10 COPYING.txt +sha256 7a6ba86a478648ce617e3a5e9277181bc67f7ce9876605eea6affd4a0d6eea8f SDL2_mixer-2.6.3.tar.gz +sha256 1852c8549e3d154687197d46abababd3e8faae035f19991b2ca850fa3a43ad57 LICENSE.txt diff --git a/package/sdl2_mixer/sdl2_mixer.mk b/package/sdl2_mixer/sdl2_mixer.mk index f349b8ca80c..074e2822054 100644 --- a/package/sdl2_mixer/sdl2_mixer.mk +++ b/package/sdl2_mixer/sdl2_mixer.mk @@ -4,11 +4,11 @@ # ################################################################################ -SDL2_MIXER_VERSION = 2.0.4 +SDL2_MIXER_VERSION = 2.6.3 SDL2_MIXER_SOURCE = SDL2_mixer-$(SDL2_MIXER_VERSION).tar.gz SDL2_MIXER_SITE = http://www.libsdl.org/projects/SDL_mixer/release SDL2_MIXER_LICENSE = Zlib -SDL2_MIXER_LICENSE_FILES = COPYING.txt +SDL2_MIXER_LICENSE_FILES = LICENSE.txt SDL2_MIXER_INSTALL_STAGING = YES SDL2_MIXER_DEPENDENCIES = sdl2 host-pkgconf diff --git a/package/sdl2_net/sdl2_net.hash b/package/sdl2_net/sdl2_net.hash index a58e3c96cf3..eac0ac707f7 100644 --- a/package/sdl2_net/sdl2_net.hash +++ b/package/sdl2_net/sdl2_net.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 15ce8a7e5a23dafe8177c8df6e6c79b6749a03fff1e8196742d3571657609d21 SDL2_net-2.0.1.tar.gz -sha256 f09845a238245402a8b8388db6634d8a5b2c3e1dc098f16f9d8c74a276ef4594 COPYING.txt +sha256 4e4a891988316271974ff4e9585ed1ef729a123d22c08bd473129179dc857feb SDL2_net-2.2.0.tar.gz +sha256 fcb07e07ac6bc8b2fcf047b50431ef4ebe5b619d7ca7c82212018309a9067426 LICENSE.txt diff --git a/package/sdl2_net/sdl2_net.mk b/package/sdl2_net/sdl2_net.mk index 93bf3a2eb36..85676af0811 100644 --- a/package/sdl2_net/sdl2_net.mk +++ b/package/sdl2_net/sdl2_net.mk @@ -4,11 +4,11 @@ # ################################################################################ -SDL2_NET_VERSION = 2.0.1 +SDL2_NET_VERSION = 2.2.0 SDL2_NET_SOURCE = SDL2_net-$(SDL2_NET_VERSION).tar.gz SDL2_NET_SITE = http://www.libsdl.org/projects/SDL_net/release SDL2_NET_LICENSE = Zlib -SDL2_NET_LICENSE_FILES = COPYING.txt +SDL2_NET_LICENSE_FILES = LICENSE.txt SDL2_NET_INSTALL_STAGING = YES SDL2_NET_DEPENDENCIES = sdl2 host-pkgconf diff --git a/package/sdl2_ttf/sdl2_ttf.hash b/package/sdl2_ttf/sdl2_ttf.hash index 3313b341f9e..7693aeba6bf 100644 --- a/package/sdl2_ttf/sdl2_ttf.hash +++ b/package/sdl2_ttf/sdl2_ttf.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 78cdad51f3cc3ada6932b1bb6e914b33798ab970a1e817763f22ddbfd97d0c57 SDL2_ttf-2.20.1.tar.gz -sha256 28aabfed22b3cb0b7e23ef40385e4f66297c960082f029c96d073cc1d4e008d5 LICENSE.txt +sha256 d48cbd1ce475b9e178206bf3b72d56b66d84d44f64ac05803328396234d67723 SDL2_ttf-2.22.0.tar.gz +sha256 a0e8ce06504966e45088ee1cc7583cc8af9aac615d4cf56d47d847da9cb15139 LICENSE.txt diff --git a/package/sdl2_ttf/sdl2_ttf.mk b/package/sdl2_ttf/sdl2_ttf.mk index f859d097fff..f4f293cec1a 100644 --- a/package/sdl2_ttf/sdl2_ttf.mk +++ b/package/sdl2_ttf/sdl2_ttf.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_TTF_VERSION = 2.20.1 +SDL2_TTF_VERSION = 2.22.0 SDL2_TTF_SOURCE = SDL2_ttf-$(SDL2_TTF_VERSION).tar.gz SDL2_TTF_SITE = http://www.libsdl.org/projects/SDL_ttf/release SDL2_TTF_LICENSE = Zlib diff --git a/package/seatd/seatd.hash b/package/seatd/seatd.hash index 7500036e5b1..e1db897d44a 100644 --- a/package/seatd/seatd.hash +++ b/package/seatd/seatd.hash @@ -1,5 +1,5 @@ # Calculated locally -sha256 210ddf8efa1149cde4dd35908bef8e9e63c2edaa0cdb5435f2e6db277fafff3c 0.7.0.tar.gz +sha256 a562a44ee33ccb20954a1c1ec9a90ecb2db7a07ad6b18d0ac904328efbcf65a0 0.8.0.tar.gz # License files sha256 282a494803d666616bd726e0279636b5f6a31387ae19a707459074050f2600d3 LICENSE diff --git a/package/seatd/seatd.mk b/package/seatd/seatd.mk index 96caf63b303..27f3c8646fb 100644 --- a/package/seatd/seatd.mk +++ b/package/seatd/seatd.mk @@ -4,7 +4,7 @@ # ################################################################################ -SEATD_VERSION = 0.7.0 +SEATD_VERSION = 0.8.0 SEATD_SOURCE = $(SEATD_VERSION).tar.gz SEATD_SITE = https://git.sr.ht/~kennylevinsen/seatd/archive SEATD_LICENSE = MIT @@ -33,7 +33,7 @@ ifeq ($(BR2_PACKAGE_SEATD_DAEMON),y) SEATD_CONF_OPTS += -Dlibseat-seatd=enabled -Dserver=enabled define SEATD_USERS - - - video -1 - - - - - + - - seat -1 - - - - - endef define SEATD_INSTALL_INIT_SYSV diff --git a/package/sedutil/0002-include-missing-cstdint.patch b/package/sedutil/0002-include-missing-cstdint.patch new file mode 100644 index 00000000000..07a617c5e76 --- /dev/null +++ b/package/sedutil/0002-include-missing-cstdint.patch @@ -0,0 +1,31 @@ +From 927cd88cad7bea94c2eebecc18f7881f0defaccb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 26 Jan 2023 23:36:29 -0800 +Subject: [PATCH] include missing + +gcc 13 moved some includes around and as a result +is no longer transitively included [1]. Explicitly include +it for uint{32,64}_t. + +[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes + +Signed-off-by: Khem Raj + +Upstream: https://github.com/Drive-Trust-Alliance/sedutil/pull/425 +Signed-off-by: Fabrice Fontaine +--- + Common/DtaOptions.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Common/DtaOptions.h b/Common/DtaOptions.h +index c012af1d..7530a0b7 100644 +--- a/Common/DtaOptions.h ++++ b/Common/DtaOptions.h +@@ -21,6 +21,7 @@ along with sedutil. If not, see . + #ifndef _DTAOPTIONS_H + #define _DTAOPTIONS_H + ++#include + /** Output modes */ + typedef enum _sedutiloutput { + sedutilNormal, diff --git a/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch b/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch new file mode 100644 index 00000000000..31c5013d69c --- /dev/null +++ b/package/selinux-python/0001-python-sepolgen-fix-ausearch-path.patch @@ -0,0 +1,63 @@ +From 8610efc1610a4e9d4cbfa19ed4a519a6425aee70 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 9 May 2023 22:28:36 +0200 +Subject: [PATCH] python?sepolgen: fix ausearch path + +ausearch is not always isntalled in /sbin; some systems install it in +/usr/sbin, or it can also be locally installed in /usr/local/sbin. + +The python doc [0] suggests using shutil.which() to find the path where +a command is. which() returns None if the command is not found. If +ausearch is not found, that would result in an exception being raised by +Popen(): + TypeError: expected str, bytes or os.PathLike object, not NoneType + +This is not very informative of what actually failed... + +However, the doc suggests so for portability. In our case, the python +tools are only ever going to run on a Linux host (by their virtue of +dealing with SELinux), so the search will be reliably done by looking in +PATH, so we can let Popen() bubble the resolving of an unqualified +command, down to execvpe() (or the similar actual syscall of the exec*() +familly). If ausearch is then not found, Popen() raises an exception +that is wy more informative then: + FileNotFoundError: [Errno 2] No such file or directory: 'ausearch' + +[0] https://docs.python.org/3/library/subprocess.html#subprocess.Popen + +Signed-off-by: Adam Duskett +[yann.morin.1998@free.fr: + - let Popen() resolve from PATH + - rewrite commit log +] +Signed-off-by: Yann E. MORIN +Upstream: not submitted +--- + python/sepolgen/src/sepolgen/audit.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/python/sepolgen/src/sepolgen/audit.py b/python/sepolgen/src/sepolgen/audit.py +index 4adb851f..5eafa587 100644 +--- a/sepolgen/src/sepolgen/audit.py ++++ b/sepolgen/src/sepolgen/audit.py +@@ -41,7 +41,7 @@ def get_audit_boot_msgs(): + s = time.localtime(time.time() - off) + bootdate = time.strftime("%x", s) + boottime = time.strftime("%X", s) +- output = subprocess.Popen(["/sbin/ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR", "-ts", bootdate, boottime], ++ output = subprocess.Popen(["ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR", "-ts", bootdate, boottime], + stdout=subprocess.PIPE).communicate()[0] + if util.PY3: + output = util.decode_input(output) +@@ -56,7 +56,7 @@ def get_audit_msgs(): + string contain all of the audit messages returned by ausearch. + """ + import subprocess +- output = subprocess.Popen(["/sbin/ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR"], ++ output = subprocess.Popen(["ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR"], + stdout=subprocess.PIPE).communicate()[0] + if util.PY3: + output = util.decode_input(output) +-- +2.25.1 + diff --git a/package/selinux-python/selinux-python.hash b/package/selinux-python/selinux-python.hash index 6ada3fee363..3592540703b 100644 --- a/package/selinux-python/selinux-python.hash +++ b/package/selinux-python/selinux-python.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 8ad91061300387996ccb474962fb93dde263d924aa8f740618be16b22e2444ec selinux-python-3.3.tar.gz +sha256 8245bb4dae59333461f19ca0c79a829081f07972fa5e3ad4c2b2b917dd71d96b selinux-python-3.5.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/selinux-python/selinux-python.mk b/package/selinux-python/selinux-python.mk index 0cec602f3dd..7505474aa46 100644 --- a/package/selinux-python/selinux-python.mk +++ b/package/selinux-python/selinux-python.mk @@ -4,10 +4,10 @@ # ################################################################################ -SELINUX_PYTHON_VERSION = 3.3 +SELINUX_PYTHON_VERSION = 3.5 SELINUX_PYTHON_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(SELINUX_PYTHON_VERSION) SELINUX_PYTHON_LICENSE = GPL-2.0 -SELINUX_PYTHON_LICENSE_FILES = COPYING +SELINUX_PYTHON_LICENSE_FILES = LICENSE SELINUX_PYTHON_DEPENDENCIES = python3 SELINUX_PYTHON_MAKE_OPTS += \ diff --git a/package/semodule-utils/semodule-utils.hash b/package/semodule-utils/semodule-utils.hash index c252506df5a..ac3357d3fab 100644 --- a/package/semodule-utils/semodule-utils.hash +++ b/package/semodule-utils/semodule-utils.hash @@ -1,5 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 3098ec5e5f04a1dbbf4aa569b63a4570750a9fe0d4da14ce45954aa300a17063 semodule-utils-3.3.tar.gz +sha256 c9a550a737051ebaf2c102f665c7ec2f85e7232870980aa0067998459b414283 semodule-utils-3.5.tar.gz # Hash for license file -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/semodule-utils/semodule-utils.mk b/package/semodule-utils/semodule-utils.mk index a9388f7ee8e..9a0f0841288 100644 --- a/package/semodule-utils/semodule-utils.mk +++ b/package/semodule-utils/semodule-utils.mk @@ -4,10 +4,10 @@ # ################################################################################ -SEMODULE_UTILS_VERSION = 3.3 +SEMODULE_UTILS_VERSION = 3.5 SEMODULE_UTILS_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(SEMODULE_UTILS_VERSION) SEMODULE_UTILS_LICENSE = GPL-2.0 -SEMODULE_UTILS_LICENSE_FILES = COPYING +SEMODULE_UTILS_LICENSE_FILES = LICENSE SEMODULE_UTILS_DEPENDENCIES = libsepol SEMODULE_UTILS_MAKE_OPTS += \ diff --git a/package/sentry-cli/0001-Disable-SSL-support-for-the-curl-module.patch b/package/sentry-cli/0001-Disable-SSL-support-for-the-curl-module.patch new file mode 100644 index 00000000000..819d8016ae2 --- /dev/null +++ b/package/sentry-cli/0001-Disable-SSL-support-for-the-curl-module.patch @@ -0,0 +1,62 @@ +From 5b4179af15b435a476c006260718d4f6e22ea2ab Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 31 Jul 2023 22:34:04 +0200 +Subject: [PATCH] Disable SSL support for the curl module + +Fixes build with OpenSSL v3. + +Downloaded Cargo.toml patch from +https://cgit.freebsd.org/ports/tree/devel/sentry-cli/files/patch-Cargo.toml + +Upstream: https://github.com/getsentry/sentry-cli/issues/1706 + +Signed-off-by: Bernd Kuhls +--- + Cargo.lock | 10 ---------- + Cargo.toml | 2 +- + 2 files changed, 1 insertion(+), 11 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index e5031db..7357215 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1521,15 +1521,6 @@ version = "0.1.5" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +-[[package]] +-name = "openssl-src" +-version = "111.25.0+1.1.1t" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3173cd3626c43e3854b1b727422a276e568d9ec5fe8cec197822cf52cfb743d6" +-dependencies = [ +- "cc", +-] +- + [[package]] + name = "openssl-sys" + version = "0.9.80" +@@ -1539,7 +1530,6 @@ dependencies = [ + "autocfg", + "cc", + "libc", +- "openssl-src", + "pkg-config", + "vcpkg", + ] +diff --git a/Cargo.toml b/Cargo.toml +index c8c9ca9..117e77d 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -25,7 +25,7 @@ clap = { version = "4.1.6", default-features = false, features = [ + "error-context", + ] } + console = "0.15.5" +-curl = { version = "0.4.44", features = ["static-curl", "static-ssl"] } ++curl = { version = "0.4.44" } + dirs = "4.0.0" + dotenv = "0.15.0" + elementtree = "1.2.3" +-- +2.39.2 + diff --git a/package/sentry-cli/sentry-cli.hash b/package/sentry-cli/sentry-cli.hash index 3562199a829..78f137da3a0 100644 --- a/package/sentry-cli/sentry-cli.hash +++ b/package/sentry-cli/sentry-cli.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 fa06f9f47782713eef8a4f10b674e2375b9439360ab34b37558ec4b30ec84861 sentry-cli-2.8.0.tar.gz +sha256 2188b8eead4f2b6543725b23852427bea164e8dd76bf1ce33f41ca0c03cfeee7 sentry-cli-2.20.3.tar.gz sha256 9503def7b54ceb6e3cd182fd59bc05d3a30d7eae481e65aaba4b495133c83c14 LICENSE diff --git a/package/sentry-cli/sentry-cli.mk b/package/sentry-cli/sentry-cli.mk index 15094c2d01b..df419f81e19 100644 --- a/package/sentry-cli/sentry-cli.mk +++ b/package/sentry-cli/sentry-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -SENTRY_CLI_VERSION = 2.8.0 +SENTRY_CLI_VERSION = 2.20.3 SENTRY_CLI_SITE = $(call github,getsentry,sentry-cli,$(SENTRY_CLI_VERSION)) SENTRY_CLI_LICENSE = BSD-3-clause SENTRY_CLI_LICENSE_FILES = LICENSE diff --git a/package/sentry-native/Config.in b/package/sentry-native/Config.in index 7a3cbd36ad1..88db2779f1e 100644 --- a/package/sentry-native/Config.in +++ b/package/sentry-native/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_SENTRY_NATIVE bool "sentry-native" depends on BR2_INSTALL_LIBSTDCPP # google-breakpad - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # google-breakpad + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # google-breakpad depends on BR2_USE_WCHAR # google-breakpad depends on BR2_TOOLCHAIN_HAS_THREADS # google-breakpad # google-breakpad is restricted to glibc or uClibc, but @@ -19,10 +19,10 @@ config BR2_PACKAGE_SENTRY_NATIVE https://github.com/getsentry/sentry-native -comment "sentry-native needs a glibc toolchain with w/ wchar, thread, C++, gcc >= 4.8" +comment "sentry-native needs a glibc toolchain with w/ wchar, threads, C++, gcc >= 7" depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch b/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch index 3c3ae97dff8..36063a4e13e 100644 --- a/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch +++ b/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch @@ -15,22 +15,22 @@ sedta and seinfoflow to require python3-networkx Signed-off-by: Antoine Tenart [Refreshed for 4.3.0] Signed-off-by: Adam Duskett -[Refreshed for 4.4.0] +[Refreshed for 4.4.2] --- sedta | 3 ++- seinfoflow | 5 +++-- setools/__init__.py | 4 ++-- setoolsgui/apol/dta.py | 2 +- setoolsgui/apol/infoflow.py | 2 +- - tests/dta.py | 2 +- - tests/infoflow.py | 2 +- + tests/test_dta.py | 2 +- + tests/test_infoflow.py | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/sedta b/sedta -index 60861ca630a5..0056172a55e5 100755 +index ffd9ede..4c53825 100755 --- a/sedta +++ b/sedta -@@ -23,6 +23,7 @@ import logging +@@ -10,6 +10,7 @@ import logging import signal import setools @@ -38,7 +38,7 @@ index 60861ca630a5..0056172a55e5 100755 def print_transition(trans: setools.DomainTransition) -> None: -@@ -114,7 +115,7 @@ else: +@@ -104,7 +105,7 @@ else: try: p = setools.SELinuxPolicy(args.policy) @@ -48,10 +48,10 @@ index 60861ca630a5..0056172a55e5 100755 if args.shortest_path or args.all_paths: if args.shortest_path: diff --git a/seinfoflow b/seinfoflow -index f10c39de4d8e..fe733bbd0787 100755 +index 5f4e764..a27b781 100755 --- a/seinfoflow +++ b/seinfoflow -@@ -18,6 +18,7 @@ +@@ -5,6 +5,7 @@ # import setools @@ -59,7 +59,7 @@ index f10c39de4d8e..fe733bbd0787 100755 import argparse import sys import logging -@@ -102,8 +103,8 @@ elif args.booleans is not None: +@@ -91,8 +92,8 @@ elif args.booleans is not None: try: p = setools.SELinuxPolicy(args.policy) m = setools.PermissionMap(args.map) @@ -71,10 +71,10 @@ index f10c39de4d8e..fe733bbd0787 100755 if args.shortest_path or args.all_paths: if args.shortest_path: diff --git a/setools/__init__.py b/setools/__init__.py -index d72d343..4d5aaaa 100644 +index ad9b36a..2bde01b 100644 --- a/setools/__init__.py +++ b/setools/__init__.py -@@ -91,11 +91,11 @@ from .pcideviceconquery import PcideviceconQuery +@@ -77,11 +77,11 @@ from .pcideviceconquery import PcideviceconQuery from .devicetreeconquery import DevicetreeconQuery # Information Flow Analysis @@ -89,10 +89,10 @@ index d72d343..4d5aaaa 100644 # Policy difference from .diff import PolicyDifference diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py -index 4608b9dbf34e..2cde44c142e9 100644 +index a78d960..e71c70a 100644 --- a/setoolsgui/apol/dta.py +++ b/setoolsgui/apol/dta.py -@@ -24,7 +24,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread +@@ -11,7 +11,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread from PyQt5.QtGui import QPalette, QTextCursor from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ QTreeWidgetItem @@ -102,10 +102,10 @@ index 4608b9dbf34e..2cde44c142e9 100644 from ..logtosignal import LogHandlerToSignal from .analysistab import AnalysisSection, AnalysisTab diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py -index 7bca299d23fc..7fee2778f35f 100644 +index fb9b409..738f1b8 100644 --- a/setoolsgui/apol/infoflow.py +++ b/setoolsgui/apol/infoflow.py -@@ -26,7 +26,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread +@@ -13,7 +13,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread from PyQt5.QtGui import QPalette, QTextCursor from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ QTreeWidgetItem @@ -114,11 +114,11 @@ index 7bca299d23fc..7fee2778f35f 100644 from setools.exception import UnmappedClass, UnmappedPermission from ..logtosignal import LogHandlerToSignal -diff --git a/tests/dta.py b/tests/dta.py -index a0cc9381469c..177e6fb0b961 100644 ---- a/tests/dta.py -+++ b/tests/dta.py -@@ -18,7 +18,7 @@ +diff --git a/tests/test_dta.py b/tests/test_dta.py +index 7f9bbc9..48338c5 100644 +--- a/tests/test_dta.py ++++ b/tests/test_dta.py +@@ -5,7 +5,7 @@ import os import unittest @@ -127,11 +127,11 @@ index a0cc9381469c..177e6fb0b961 100644 from setools import TERuletype as TERT from setools.exception import InvalidType from setools.policyrep import Type -diff --git a/tests/infoflow.py b/tests/infoflow.py -index aa0e44a7e4f8..fca2848aeca5 100644 ---- a/tests/infoflow.py -+++ b/tests/infoflow.py -@@ -18,7 +18,7 @@ +diff --git a/tests/test_infoflow.py b/tests/test_infoflow.py +index 5a8f745..e25993b 100644 +--- a/tests/test_infoflow.py ++++ b/tests/test_infoflow.py +@@ -5,7 +5,7 @@ import os import unittest diff --git a/package/setools/setools.hash b/package/setools/setools.hash index fdb0919f117..6a61fc2809f 100644 --- a/package/setools/setools.hash +++ b/package/setools/setools.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 202eac5f857475937bee8136cff278aa2b4a4b94a0dec63fbbbe18c9eb644a4e setools-4.4.0.tar.gz -sha256 2f7547e10f76a382c24c053595f38a5cc6dda9347f508f254ca490e0046a9624 COPYING +sha256 29f5e7d98764a6942b2e32c8aa44da6a618882818c79599ade967ece0cf1dace setools-4.4.3.tar.gz +sha256 0e58d74751e394f39748c7b7b4039d6a883b5def9711160668ba962b52e69e01 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/setools/setools.mk b/package/setools/setools.mk index ea355f10c8d..efb3869e5b7 100644 --- a/package/setools/setools.mk +++ b/package/setools/setools.mk @@ -4,7 +4,7 @@ # ################################################################################ -SETOOLS_VERSION = 4.4.0 +SETOOLS_VERSION = 4.4.3 SETOOLS_SITE = $(call github,SELinuxProject,setools,$(SETOOLS_VERSION)) SETOOLS_DEPENDENCIES = libselinux libsepol python-setuptools host-bison host-flex host-python-cython host-swig SETOOLS_INSTALL_STAGING = YES diff --git a/package/sexpect/Config.in b/package/sexpect/Config.in new file mode 100644 index 00000000000..e558af26f0a --- /dev/null +++ b/package/sexpect/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_SEXPECT + bool "sexpect" + depends on BR2_USE_MMU # fork() + help + sexpect is another implementation of Expect which is + specifically designed for Shell scripts + (sh, bash, ksh, zsh, ...) + + https://github.com/clarkwang/sexpect diff --git a/package/sexpect/sexpect.hash b/package/sexpect/sexpect.hash new file mode 100644 index 00000000000..d5121176269 --- /dev/null +++ b/package/sexpect/sexpect.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f6801c8b979d56eec54aedd7ede06e2342f382cee291beea88b52869186c557c sexpect-2.3.14.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/sexpect/sexpect.mk b/package/sexpect/sexpect.mk new file mode 100644 index 00000000000..7b878600e41 --- /dev/null +++ b/package/sexpect/sexpect.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# sexpect +# +################################################################################ + +SEXPECT_VERSION = 2.3.14 +SEXPECT_SITE = $(call github,clarkwang,sexpect,v$(SEXPECT_VERSION)) +SEXPECT_LICENSE = GPL-3.0 +SEXPECT_LICENSE_FILES = LICENSE +SEXPECT_SUPPORTS_IN_SOURCE_BUILD = NO + +$(eval $(cmake-package)) diff --git a/package/sg3_utils/0001-src-sg_dd.c-fix-musl-build.patch b/package/sg3_utils/0001-src-sg_dd.c-fix-musl-build.patch deleted file mode 100644 index 50a81a78a46..00000000000 --- a/package/sg3_utils/0001-src-sg_dd.c-fix-musl-build.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c93ad13ecd8ddfbb8bb3e4d5d5ad7f3f2c633db6 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 14 Nov 2021 12:37:16 +0100 -Subject: [PATCH] src/sg_dd.c: fix musl build - -Fix the following build failure on musl raised since version 1.47 and -https://github.com/doug-gilbert/sg3_utils/commit/f0195003bb0c66ba55084b2f7e0fe982f08c5675: - -sg_dd.c: In function 'main': -sg_dd.c:2402:17: error: unknown type name 'uint'; did you mean 'int'? - 2402 | uint off; - | ^~~~ - | int - -Fixes: - - http://autobuild.buildroot.org/results/9ead59ffefefe2a4e3b94a153b3d23231736d882 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/doug-gilbert/sg3_utils/pull/7] ---- - src/sg_dd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/sg_dd.c b/src/sg_dd.c -index 9d05c93..35e2423 100644 ---- a/src/sg_dd.c -+++ b/src/sg_dd.c -@@ -2399,7 +2399,7 @@ main(int argc, char * argv[]) - res = blocks * blk_sz; - if (iflag.zero && iflag.ff && (blk_sz >= 4)) { - uint32_t pos = (uint32_t)skip; -- uint off; -+ uint32_t off; - - for (k = 0, off = 0; k < blocks; ++k, off += blk_sz, ++pos) { - for (j = 0; j < (blk_sz - 3); j += 4) --- -2.33.0 - diff --git a/package/sg3_utils/0002-configure.ac-fix-uclibc-ng-build.patch b/package/sg3_utils/0002-configure.ac-fix-uclibc-ng-build.patch deleted file mode 100644 index 4c475ee1ff4..00000000000 --- a/package/sg3_utils/0002-configure.ac-fix-uclibc-ng-build.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1e95d5b8c507a49f6d15d2795dc46d82b4d1ded0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 16 Nov 2021 08:41:48 +0100 -Subject: [PATCH] configure.ac: fix uclibc-ng build - -Fix the following build failure with uclibc-ng raised because SG_IO is -not defined: - -/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: sg_dd.o: in function `sg_read_low.constprop.0': -sg_dd.c:(.text+0xc6c): undefined reference to `sg_chk_n_print3' - -Fixes: - - http://autobuild.buildroot.org/results/38a0dfc70a21ce574368b7a485deb231f778b3e7 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/doug-gilbert/sg3_utils/pull/8] ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0a65d94..23378ad 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -107,7 +107,7 @@ case "${host}" in - AC_DEFINE_UNQUOTED(HAVE_NVME, 1, [Found NVMe]) - check_for_getrandom - CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO";; -- *-*-linux-gnu* | *-*-linux*) -+ *-*-linux-gnu* | *-*-linux* | *-*-uclinux-gnu* | *-*-uclinux*) - AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [sg3_utils on linux]) - check_for_linux_sg_v4_hdr - check_for_getrandom --- -2.33.0 - diff --git a/package/sg3_utils/sg3_utils.hash b/package/sg3_utils/sg3_utils.hash index ff2ef551801..0a06595a312 100644 --- a/package/sg3_utils/sg3_utils.hash +++ b/package/sg3_utils/sg3_utils.hash @@ -1,6 +1,6 @@ # Locally calculated from download (no sig, hash) -sha256 ddb0cab85fedd8b0db020f3e3f02f6967a055616bf16ea9d5c7408cde41472b2 sg3_utils-1.47.tar.xz +sha256 d6b9a41690d540e58d1e99c26ac8db37336c849ef6a03f96ea48ca2fe334dbfa sg3_utils-1.48.tar.xz # Hash for license files sha256 d212debdb0a5d7754c977f6dc53bb6c88b4ace7ab784ddbccd06bb970adb1a37 COPYING -sha256 8ddd1d82f2be2f5cbd5b5c3b5c2ee94a90d2ca7112958448da74dd78384fd96a BSD_LICENSE +sha256 6b1a1de0b3394002973daaa407b93a1d2c13efd8dd1a32095d6872c36f09ba66 BSD_LICENSE diff --git a/package/sg3_utils/sg3_utils.mk b/package/sg3_utils/sg3_utils.mk index b291bd69d9e..3d85a59a57c 100644 --- a/package/sg3_utils/sg3_utils.mk +++ b/package/sg3_utils/sg3_utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -SG3_UTILS_VERSION = 1.47 +SG3_UTILS_VERSION = 1.48 SG3_UTILS_SOURCE = sg3_utils-$(SG3_UTILS_VERSION).tar.xz SG3_UTILS_SITE = http://sg.danny.cz/sg/p SG3_UTILS_LICENSE = BSD-2-Clause (library) @@ -13,8 +13,6 @@ ifeq ($(BR2_PACKAGE_SG3_UTILS_PROGS),y) SG3_UTILS_LICENSE += , GPL-2.0+ (programs), BSD-2-Clause (programs) endif SG3_UTILS_LICENSE_FILES = COPYING BSD_LICENSE -# We're patching configure.ac -SG3_UTILS_AUTORECONF = YES # install the libsgutils2 library SG3_UTILS_INSTALL_STAGING = YES diff --git a/package/shadow/Config.in b/package/shadow/Config.in new file mode 100644 index 00000000000..b08b06457ba --- /dev/null +++ b/package/shadow/Config.in @@ -0,0 +1,61 @@ +menuconfig BR2_PACKAGE_SHADOW + bool "shadow" + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + depends on !BR2_TOOLCHAIN_USES_UCLIBC # reallocarray, explicit_bzero + help + Utilities to deal with user accounts. + + https://github.com/shadow-maint/shadow + +if BR2_PACKAGE_SHADOW + +config BR2_PACKAGE_SHADOW_SHADOWGRP + bool "shadowgrp" + help + Enable shadow group support. + +config BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID + bool "account-tools-setuid" + depends on BR2_USE_MMU # linux-pam + depends on BR2_ENABLE_LOCALE # linux-pam + depends on BR2_USE_WCHAR # linux-pam + depends on !BR2_STATIC_LIBS # linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam + select BR2_PACKAGE_LINUX_PAM + help + Install the user and group management tools (e.g. groupadd) + with setuid and authenticate the callers via PAM. + +comment "account-tools-setuid needs a toolchain w/ dynamic library, wchar, locale, gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \ + !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +config BR2_PACKAGE_SHADOW_SUBORDINATE_IDS + bool "subordinate-ids" + help + Support subordinate ids. Helpful to use container solution + like podman without root. + +config BR2_PACKAGE_SHADOW_SHA_CRYPT + bool "sha-crypt" + default y + help + Allow the SHA256 and SHA512 password encryption algorithms. + +config BR2_PACKAGE_SHADOW_BCRYPT + bool "bcrypt" + help + Allow the bcrypt password encryption algorithm. + +config BR2_PACKAGE_SHADOW_YESCRYPT + bool "yescrypt" + help + Allow the yescrypt password encryption algorithm. + +endif # BR2_PACKAGE_SHADOW + +comment "shadow needs a glibc or musl toolchain w/ headers >= 4.14, dynamic library" + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 || \ + BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/shadow/shadow.hash b/package/shadow/shadow.hash new file mode 100644 index 00000000000..4689a994de7 --- /dev/null +++ b/package/shadow/shadow.hash @@ -0,0 +1,4 @@ +# Verified from https://github.com/shadow-maint/shadow/releases/download/4.14.3/shadow-4.14.3.tar.xz.asc +# with key A9348594CE31283A826FBDD8D57633D441E25BB5 +sha256 6969279236fe3152768573a38c9f83cb9ca109851a5a990aec1fc672ac2cfcd2 shadow-4.14.3.tar.xz +sha256 3d25ab8f43fdc14624296a56ff8dc3e72e499ad35f32ae0c803f4959cfe17c0a COPYING diff --git a/package/shadow/shadow.mk b/package/shadow/shadow.mk new file mode 100644 index 00000000000..ce17ffc7a7a --- /dev/null +++ b/package/shadow/shadow.mk @@ -0,0 +1,138 @@ +################################################################################ +# +# shadow +# +################################################################################ + +SHADOW_VERSION = 4.14.3 +SHADOW_SITE = https://github.com/shadow-maint/shadow/releases/download/$(SHADOW_VERSION) +SHADOW_SOURCE = shadow-$(SHADOW_VERSION).tar.xz +SHADOW_LICENSE = BSD-3-Clause +SHADOW_LICENSE_FILES = COPYING +SHADOW_CPE_ID_VENDOR = debian +SHADOW_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +SHADOW_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) + +SHADOW_CONF_OPTS = \ + --disable-man \ + --without-btrfs \ + --without-nscd \ + --without-skey \ + --without-sssd \ + --without-su \ + --without-tcb + +ifeq ($(BR2_PACKAGE_SHADOW_SHADOWGRP),y) +SHADOW_CONF_OPTS += --enable-shadowgrp +else +SHADOW_CONF_OPTS += --disable-shadowgrp +endif + +ifeq ($(BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID),y) +SHADOW_CONF_OPTS += --enable-account-tools-setuid +define SHADOW_ACCOUNT_TOOLS_SETUID_PERMISSIONS + /usr/sbin/chgpasswd f 4755 0 0 - - - - - + /usr/sbin/chpasswd f 4755 0 0 - - - - - + /usr/sbin/groupadd f 4755 0 0 - - - - - + /usr/sbin/groupdel f 4755 0 0 - - - - - + /usr/sbin/groupmod f 4755 0 0 - - - - - + /usr/sbin/newusers f 4755 0 0 - - - - - + /usr/sbin/useradd f 4755 0 0 - - - - - + /usr/sbin/userdel f 4755 0 0 - - - - - + /usr/sbin/usermod f 4755 0 0 - - - - - +endef +else +SHADOW_CONF_OPTS += --disable-account-tools-setuid +endif + +ifeq ($(BR2_PACKAGE_SHADOW_SUBORDINATE_IDS),y) +SHADOW_CONF_OPTS += --enable-subordinate-ids +define SHADOW_SUBORDINATE_IDS_PERMISSIONS + /usr/bin/newuidmap f 4755 0 0 - - - - - + /usr/bin/newgidmap f 4755 0 0 - - - - - +endef +else +SHADOW_CONF_OPTS += --disable-subordinate-ids +endif + +ifeq ($(BR2_PACKAGE_ACL),y) +SHADOW_CONF_OPTS += --with-acl +SHADOW_DEPENDENCIES += acl +else +SHADOW_CONF_OPTS += --without-acl +endif + +ifeq ($(BR2_PACKAGE_ATTR),y) +SHADOW_CONF_OPTS += --with-attr +SHADOW_DEPENDENCIES += attr +else +SHADOW_CONF_OPTS += --without-attr +endif + +ifeq ($(BR2_PACKAGE_AUDIT),y) +SHADOW_CONF_OPTS += --with-audit +SHADOW_DEPENDENCIES += audit +else +SHADOW_CONF_OPTS += --without-audit +endif + +ifeq ($(BR2_PACKAGE_CRACKLIB),y) +SHADOW_CONF_OPTS += --with-libcrack +SHADOW_DEPENDENCIES += cracklib +else +SHADOW_CONF_OPTS += --without-libcrack +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX)$(BR2_PACKAGE_LIBSEMANAGE),yy) +SHADOW_CONF_OPTS += --with-selinux +SHADOW_DEPENDENCIES += libselinux libsemanage +else +SHADOW_CONF_OPTS += --without-selinux +endif + +# linux-pam is also used without account-tools-setuid enabled +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +SHADOW_CONF_OPTS += --with-libpam +SHADOW_DEPENDENCIES += linux-pam +else +SHADOW_CONF_OPTS += --without-libpam +endif + +ifeq ($(BR2_PACKAGE_SHADOW_SHA_CRYPT),y) +SHADOW_CONF_OPTS += --with-sha-crypt +else +SHADOW_CONF_OPTS += --without-sha-crypt +endif + +ifeq ($(BR2_PACKAGE_SHADOW_BCRYPT),y) +SHADOW_CONF_OPTS += --with-bcrypt +else +SHADOW_CONF_OPTS += --without-bcrypt +endif + +ifeq ($(BR2_PACKAGE_SHADOW_YESCRYPT),y) +SHADOW_CONF_OPTS += --with-yescrypt +else +SHADOW_CONF_OPTS += --without-yescrypt +endif + +ifeq ($(BR2_PACKAGE_LIBBSD),y) +SHADOW_CONF_OPTS += --with-libbsd +SHADOW_DEPENDENCIES += libbsd +else +SHADOW_CONF_OPTS += --without-libbsd +endif + +define SHADOW_PERMISSIONS + /usr/bin/chage f 4755 0 0 - - - - - + /usr/bin/chfn f 4755 0 0 - - - - - + /usr/bin/chsh f 4755 0 0 - - - - - + /usr/bin/expiry f 4755 0 0 - - - - - + /usr/bin/gpasswd f 4755 0 0 - - - - - + /usr/bin/newgrp f 4755 0 0 - - - - - + /usr/bin/passwd f 4755 0 0 - - - - - + $(SHADOW_ACCOUNT_TOOLS_SETUID_PERMISSIONS) + $(SHADOW_SUBORDINATE_IDS_PERMISSIONS) +endef + +$(eval $(autotools-package)) diff --git a/package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch b/package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch deleted file mode 100644 index a565874b8cd..00000000000 --- a/package/shapelib/0001-Remove-double-free-in-contrib-shpsrt.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c75b9281a5b9452d92e1682bdfe6019a13ed819f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Albin=20Eldst=C3=A5l-Ahrens?= -Date: Mon, 3 Jan 2022 12:34:41 +0100 -Subject: [PATCH] Remove double free() in contrib/shpsrt, issue #39 - -This fixes issue #39 - -[Retrieved from: -https://github.com/OSGeo/shapelib/commit/c75b9281a5b9452d92e1682bdfe6019a13ed819f] -Signed-off-by: Fabrice Fontaine ---- - contrib/shpsort.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/contrib/shpsort.c b/contrib/shpsort.c -index e21e9e0..920cd8c 100644 ---- a/contrib/shpsort.c -+++ b/contrib/shpsort.c -@@ -113,7 +113,6 @@ static char ** split(const char *arg, const char *delim) { - free(result[--i]); - } - free(result); -- free(copy); - return NULL; - } - result = tmp; diff --git a/package/shapelib/shapelib.hash b/package/shapelib/shapelib.hash index b016fef5cf1..f542ee79acb 100644 --- a/package/shapelib/shapelib.hash +++ b/package/shapelib/shapelib.hash @@ -1,4 +1,5 @@ # Locally computed -sha256 1fc0a480982caef9e7b9423070b47750ba34cd0ba82668f2e638fab1d07adae1 shapelib-1.5.0.tar.gz -sha256 7eb803a70990017a1c4e38a8342d7413c5dfeec3ed1ac407e15ae2c274e560ff COPYING -sha256 a638278f7f1cb7d0cdc73b47a6c87261b882e356a8e79922e90d44d7ef1dd2c7 web/license.html +sha256 19528b24377241705637320c367943031ad5088665d1fb0e1eaa52a71264a6c4 shapelib-1.6.0.tar.gz +sha256 681e386e44a19d7d0674b4320272c90e66b6610b741e7e6305f8219c42e85366 LICENSE-LGPL +sha256 67f1348ec73ef6343f0dbb3fa0612c321da4073e1ee68ffc99fcd3f2d2a65813 LICENSE-MIT +sha256 15e1205bb007d4d7821f7b1cc461ba8d051647e86dbc9baf1bb6f68b10588eeb web/license.html diff --git a/package/shapelib/shapelib.mk b/package/shapelib/shapelib.mk index 37d2d9ae644..a36a65f80e1 100644 --- a/package/shapelib/shapelib.mk +++ b/package/shapelib/shapelib.mk @@ -4,14 +4,11 @@ # ################################################################################ -SHAPELIB_VERSION = 1.5.0 +SHAPELIB_VERSION = 1.6.0 SHAPELIB_SITE = http://download.osgeo.org/shapelib SHAPELIB_LICENSE = MIT or LGPL-2.0 -SHAPELIB_LICENSE_FILES = web/license.html COPYING +SHAPELIB_LICENSE_FILES = LICENSE-LGPL LICENSE-MIT web/license.html SHAPELIB_CPE_ID_VENDOR = osgeo SHAPELIB_INSTALL_STAGING = YES -# 0001-Remove-double-free-in-contrib-shpsrt.patch -SHAPELIB_IGNORE_CVES += CVE-2022-0699 - $(eval $(autotools-package)) diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk index 58c16681122..725b8d9c52a 100644 --- a/package/shellinabox/shellinabox.mk +++ b/package/shellinabox/shellinabox.mk @@ -8,7 +8,7 @@ SHELLINABOX_VERSION = 2.20 SHELLINABOX_SITE = $(call github,shellinabox,shellinabox,v$(SHELLINABOX_VERSION)) SHELLINABOX_LICENSE = GPL-2.0 with OpenSSL exception SHELLINABOX_LICENSE_FILES = COPYING GPL-2 -SHELLINABOX_CPE_ID_VENDOR = shellinabox_project +SHELLINABOX_CPE_ID_VALID = YES # 0002-CVE-2018-16789-fix-for-broken-multipart-form-data.patch SHELLINABOX_IGNORE_CVES += CVE-2018-16789 diff --git a/package/sispmctl/sispmctl.hash b/package/sispmctl/sispmctl.hash index e22efcfbed6..f6cff1910b6 100644 --- a/package/sispmctl/sispmctl.hash +++ b/package/sispmctl/sispmctl.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6a9ec7125e8c01bb45d4a3b56f07fb41fc437020c8dcd8c0f29ebb98dc55a647 sispmctl-4.9.tar.gz +sha256 74b94a3710046b15070c7311f0cacb81554c86b4227719cc2733cb96c7052578 sispmctl-4.11.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sispmctl/sispmctl.mk b/package/sispmctl/sispmctl.mk index b6e156c66a7..df397938457 100644 --- a/package/sispmctl/sispmctl.mk +++ b/package/sispmctl/sispmctl.mk @@ -4,8 +4,8 @@ # ################################################################################ -SISPMCTL_VERSION = 4.9 -SISPMCTL_SITE = http://downloads.sourceforge.net/project/sispmctl/sispmctl/sispmctl-$(SISPMCTL_VERSION) +SISPMCTL_VERSION = 4.11 +SISPMCTL_SITE = https://downloads.sourceforge.net/project/sispmctl/sispmctl/sispmctl-$(SISPMCTL_VERSION) SISPMCTL_LICENSE = GPL-2.0+ SISPMCTL_LICENSE_FILES = COPYING SISPMCTL_DEPENDENCIES = libusb-compat diff --git a/package/skeleton-init-systemd/factory/var.mount b/package/skeleton-init-systemd/factory/var.mount new file mode 100644 index 00000000000..a681ab0c544 --- /dev/null +++ b/package/skeleton-init-systemd/factory/var.mount @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +# Modelled after systemd's tmp.mount + +[Unit] +Description=Buildroot /var tmpfs +DefaultDependencies=no +Conflicts=umount.target +Before=local-fs.target umount.target +After=swap.target + +[Mount] +What=tmpfs +Where=/var +Type=tmpfs +Options=nosuid,nodev,size=50%%,nr_inodes=1m diff --git a/package/systemd/fakeroot_tmpfiles.sh b/package/skeleton-init-systemd/fakeroot_tmpfiles.sh similarity index 100% rename from package/systemd/fakeroot_tmpfiles.sh rename to package/skeleton-init-systemd/fakeroot_tmpfiles.sh diff --git a/package/skeleton-init-systemd/overlayfs/prepare-var-overlay.service b/package/skeleton-init-systemd/overlayfs/prepare-var-overlay.service new file mode 100644 index 00000000000..281aa0efb5c --- /dev/null +++ b/package/skeleton-init-systemd/overlayfs/prepare-var-overlay.service @@ -0,0 +1,19 @@ +[Unit] +Description=Variable storage overlay setup +ConditionPathIsSymbolicLink=!/var +DefaultDependencies=no +RequiresMountsFor=/run/buildroot/mounts/var + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/mkdir -p /run/buildroot/mounts/var/lower /run/buildroot/mounts/var/upper /run/buildroot/mounts/var/work + +# Ideally, we would like to use a systemd mount unit to manage the bind +# mount. Unfortunately, that creates a circular dependency: such a unit +# would have What=/var while var.mount has Where=/var so that introduces +# an implicit dependency from that unit to var.mount, but var.mount +# would have an explicit dependency to be ordered after that unit. +# So we handle the bind mount manually. +ExecStart=/usr/bin/mount -n -o bind,private /var /run/buildroot/mounts/var/lower +ExecStop=/usr/bin/umount -l /run/buildroot/mounts/var/lower diff --git a/package/skeleton-init-systemd/overlayfs/var.mount b/package/skeleton-init-systemd/overlayfs/var.mount new file mode 100644 index 00000000000..812e6ce7bf9 --- /dev/null +++ b/package/skeleton-init-systemd/overlayfs/var.mount @@ -0,0 +1,14 @@ +[Unit] +Description=Variable storage overlay +Documentation=man:file-hierarchy(7) +ConditionPathIsSymbolicLink=!/var +DefaultDependencies=no +After=prepare-var-overlay.service +BindsTo=prepare-var-overlay.service + +[Mount] +What=overlay_var +Where=/var +Type=overlay +Options=lowerdir=/run/buildroot/mounts/var/lower,upperdir=/run/buildroot/mounts/var/upper,workdir=/run/buildroot/mounts/var/work,redirect_dir=on,index=on,xino=on +LazyUnmount=true diff --git a/package/skeleton-init-systemd/skeleton-init-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk index 795a1718098..b312fe33e4c 100644 --- a/package/skeleton-init-systemd/skeleton-init-systemd.mk +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -23,21 +23,21 @@ endef else +define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW + echo "/dev/root / auto ro 0 1" >$(TARGET_DIR)/etc/fstab +endef + # On a R/O rootfs, /var is a tmpfs filesystem. So, at build time, we # redirect /var to the "factory settings" location. Just before the # filesystem gets created, the /var symlink will be replaced with # a real (but empty) directory, and the "factory files" will be copied # back there by the tmpfiles.d mechanism. -define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW - mkdir -p $(TARGET_DIR)/etc/systemd/tmpfiles.d - echo "/dev/root / auto ro 0 1" >$(TARGET_DIR)/etc/fstab - echo "tmpfs /var tmpfs mode=1777 0 0" >>$(TARGET_DIR)/etc/fstab -endef - -define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR +ifeq ($(BR2_INIT_SYSTEMD_VAR_FACTORY),y) +define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR_FACTORY rm -rf $(TARGET_DIR)/usr/share/factory/var mv $(TARGET_DIR)/var $(TARGET_DIR)/usr/share/factory/var mkdir -p $(TARGET_DIR)/var + mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d for i in $(TARGET_DIR)/usr/share/factory/var/* \ $(TARGET_DIR)/usr/share/factory/var/lib/* \ $(TARGET_DIR)/usr/share/factory/var/lib/systemd/*; do \ @@ -51,11 +51,40 @@ define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR printf "C! %s - - - -\n" "$${j}" \ || exit 1; \ fi; \ - done >$(TARGET_DIR)/etc/tmpfiles.d/var-factory.conf + done >$(TARGET_DIR)/usr/lib/tmpfiles.d/00-buildroot-var.conf + $(INSTALL) -D -m 0644 $(SKELETON_INIT_SYSTEMD_PKGDIR)/factory/var.mount \ + $(TARGET_DIR)/usr/lib/systemd/system/var.mount endef -SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR +SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR_FACTORY +endif # BR2_INIT_SYSTEMD_VAR_FACTORY -endif +ifeq ($(BR2_INIT_SYSTEMD_VAR_OVERLAYFS),y) + +define SKELETON_INIT_SYSTEMD_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_OVERLAY_FS) +endef + +define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR_OVERLAYFS + $(INSTALL) -D -m 0644 \ + $(SKELETON_INIT_SYSTEMD_PKGDIR)/overlayfs/prepare-var-overlay.service \ + $(TARGET_DIR)/usr/lib/systemd/system/prepare-var-overlay.service + $(INSTALL) -D -m 0644 \ + $(SKELETON_INIT_SYSTEMD_PKGDIR)/overlayfs/var.mount \ + $(TARGET_DIR)/usr/lib/systemd/system/var.mount +endef +SKELETON_INIT_SYSTEMD_POST_INSTALL_TARGET_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR_OVERLAYFS + +endif # BR2_INIT_SYSTEMD_VAR_OVERLAYFS + +endif # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW + +ifeq ($(BR2_INIT_SYSTEMD_POPULATE_TMPFILES),y) +define SKELETON_INIT_SYSTEMD_CREATE_TMPFILES_HOOK + HOST_SYSTEMD_TMPFILES=$(HOST_DIR)/bin/systemd-tmpfiles \ + $(SKELETON_INIT_SYSTEMD_PKGDIR)/fakeroot_tmpfiles.sh $(TARGET_DIR) +endef +SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_CREATE_TMPFILES_HOOK +endif # BR2_INIT_SYSTEMD_POPULATE_TMPFILES define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/home diff --git a/package/skeleton-init-sysv/skeleton/etc/fstab b/package/skeleton-init-sysv/skeleton/etc/fstab index 169054b74f2..06c20fe9d52 100644 --- a/package/skeleton-init-sysv/skeleton/etc/fstab +++ b/package/skeleton-init-sysv/skeleton/etc/fstab @@ -2,7 +2,7 @@ /dev/root / ext2 rw,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620,ptmxmode=0666 0 0 -tmpfs /dev/shm tmpfs mode=0777 0 0 +tmpfs /dev/shm tmpfs mode=1777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 sysfs /sys sysfs defaults 0 0 diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk index 9d97f02f08b..4eaaf32eada 100644 --- a/package/skeleton/skeleton.mk +++ b/package/skeleton/skeleton.mk @@ -11,9 +11,11 @@ SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO SKELETON_ADD_SKELETON_DEPENDENCY = NO -# We create a compatibility symlink in case a post-build script still -# uses $(HOST_DIR)/usr +# Although the $(HOST_DIR)/usr symlink is mostly for backward compatibility, +# there are weird packages that still require it (see host-systemd, and +# commit 35c11a027c88). define HOST_SKELETON_INSTALL_CMDS +# check-package DoNotInstallToHostdirUsr $(Q)ln -snf . $(HOST_DIR)/usr $(Q)mkdir -p $(HOST_DIR)/lib $(Q)mkdir -p $(HOST_DIR)/include diff --git a/package/slang/Config.in b/package/slang/Config.in index a500ff5b7d7..0b2c987f733 100644 --- a/package/slang/Config.in +++ b/package/slang/Config.in @@ -5,3 +5,12 @@ config BR2_PACKAGE_SLANG Multi-platform console display library. http://www.jedsoft.org/slang/index.html + +if BR2_PACKAGE_SLANG + +config BR2_PACKAGE_SLANG_SLSH + bool "enable slsh" + help + Enable the S-lang interpreter + +endif diff --git a/package/slang/slang.mk b/package/slang/slang.mk index e0f5968b46d..2b3cbdf27a2 100644 --- a/package/slang/slang.mk +++ b/package/slang/slang.mk @@ -60,4 +60,13 @@ SLANG_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static SLANG_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static endif +ifeq ($(BR2_PACKAGE_SLANG_SLSH),) +define SLANG_REMOVE_SLSH + rm -rf $(TARGET_DIR)/etc/slsh.rc \ + $(TARGET_DIR)/usr/share/slsh \ + $(TARGET_DIR)/usr/bin/slsh +endef +SLANG_POST_INSTALL_TARGET_HOOKS += SLANG_REMOVE_SLSH +endif + $(eval $(autotools-package)) diff --git a/package/slirp/slirp.mk b/package/slirp/slirp.mk index 10d367587df..2ad71f13d9d 100644 --- a/package/slirp/slirp.mk +++ b/package/slirp/slirp.mk @@ -14,4 +14,7 @@ SLIRP_CPE_ID_PRODUCT = libslirp SLIRP_INSTALL_STAGING = YES SLIRP_DEPENDENCIES = libglib2 +HOST_SLIRP_DEPENDENCIES = host-libglib2 + $(eval $(meson-package)) +$(eval $(host-meson-package)) diff --git a/package/smcroute/smcroute.hash b/package/smcroute/smcroute.hash index b472dfbc042..d51745c0762 100644 --- a/package/smcroute/smcroute.hash +++ b/package/smcroute/smcroute.hash @@ -1,5 +1,4 @@ -# Hash from https://github.com/troglobit/smcroute/releases/download/2.5.6/smcroute-2.5.6.tar.gz.sha256 -sha256 0be38f617e322daafaa941c02423239f5c117b940cf0f45bacadb6733c4b3916 smcroute-2.5.6.tar.gz - +# Hash from https://github.com/troglobit/smcroute/releases/ generated by GitHub +sha256 7d2c83e11908fe37844fa9b49ae50924555c4e1bb440fb059a95c94e442ea8a5 smcroute-2.5.7.tar.gz # Locally generated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk index 0c4f88ab1b1..f7476f1100a 100644 --- a/package/smcroute/smcroute.mk +++ b/package/smcroute/smcroute.mk @@ -4,7 +4,7 @@ # ################################################################################ -SMCROUTE_VERSION = 2.5.6 +SMCROUTE_VERSION = 2.5.7 SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION) SMCROUTE_LICENSE = GPL-2.0+ SMCROUTE_LICENSE_FILES = COPYING diff --git a/package/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch b/package/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch deleted file mode 100644 index bd2ef077944..00000000000 --- a/package/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 0c716d435abe65250100c2caea0e5126ac4e14bd Mon Sep 17 00:00:00 2001 -From: "Georgi D. Sotirov" -Date: Wed, 5 May 2021 14:16:46 +0300 -Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE - -Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to -fix the following compilation errors and a warning with GCC: - -[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o -/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS --I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3 --march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3 --DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c -/tmp/snappy-1.1.9/snappy.cc -/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline -function might not be inlinable [-Wattributes] - size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - ^ -/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair snappy::DecompressBranchless(const uint8_t*, const -uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned -char; ptrdiff_t = int]': -/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in -call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, -size_t*)': function body can be overwritten at link time -/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here - size_t tag_type = AdvanceToNextTag(&ip, &tag); - ^ -/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in -call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, -size_t*)': function body can be overwritten at link time - size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - ^ -/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here - size_t tag_type = AdvanceToNextTag(&ip, &tag); - ^ -/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in -call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, -size_t*)': function body can be overwritten at link time - size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - ^ -/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here - size_t tag_type = AdvanceToNextTag(&ip, &tag); - ^ -CMakeFiles/snappy.dir/build.make:137: recipe for target -'CMakeFiles/snappy.dir/snappy.cc.o' failed - -Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE -macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++ -inline specifier. - -[Retrieved from: -https://github.com/google/snappy/pull/128/commits/0c716d435abe65250100c2caea0e5126ac4e14bd] -Signed-off-by: Fabrice Fontaine ---- - snappy.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/snappy.cc b/snappy.cc -index 79dc0e8d..51157be2 100644 ---- a/snappy.cc -+++ b/snappy.cc -@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) { - } - - SNAPPY_ATTRIBUTE_ALWAYS_INLINE --size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { -+inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { - const uint8_t*& ip = *ip_p; - // This section is crucial for the throughput of the decompression loop. - // The latency of an iteration is fundamentally constrained by the diff --git a/package/snappy/snappy.hash b/package/snappy/snappy.hash index b49b0e7e3b4..729d696d7e6 100644 --- a/package/snappy/snappy.hash +++ b/package/snappy/snappy.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7 snappy-1.1.9.tar.gz +sha256 49d831bffcc5f3d01482340fe5af59852ca2fe76c3e05df0e67203ebbe0f1d90 snappy-1.1.10.tar.gz sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 COPYING diff --git a/package/snappy/snappy.mk b/package/snappy/snappy.mk index d31dcdd5fe1..c96dff35fa0 100644 --- a/package/snappy/snappy.mk +++ b/package/snappy/snappy.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNAPPY_VERSION = 1.1.9 +SNAPPY_VERSION = 1.1.10 SNAPPY_SITE = $(call github,google,snappy,$(SNAPPY_VERSION)) SNAPPY_LICENSE = BSD-3-Clause SNAPPY_LICENSE_FILES = COPYING diff --git a/package/sngrep/sngrep.hash b/package/sngrep/sngrep.hash index 60a32022e6c..c9b9c8be8df 100644 --- a/package/sngrep/sngrep.hash +++ b/package/sngrep/sngrep.hash @@ -1,6 +1,6 @@ -# From https://github.com/irontec/sngrep/releases/download/v1.6.0/sngrep-1.6.0.tar.gz.md5sum -md5 1519ca6cd1167c0722debfb96e2ac173 sngrep-1.6.0.tar.gz +# From https://github.com/irontec/sngrep/releases/download/v1.7.0/sngrep-1.7.0.tar.gz.md5sum +md5 ee3cc7bd75adeb713411aa678e45ae4c sngrep-1.7.0.tar.gz # Locally computed -sha256 fd80964d6560f2ff57b4f5bef2353d1a6f7c48d2f1a5f0a167c854bd2e801999 sngrep-1.6.0.tar.gz +sha256 2e5ba3a4d6486ea00bd73d2cceff383ba162dcd6d0170ae74cfa3b1c206e2cb1 sngrep-1.7.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/sngrep/sngrep.mk b/package/sngrep/sngrep.mk index eedb99492f5..b86d7e83f0a 100644 --- a/package/sngrep/sngrep.mk +++ b/package/sngrep/sngrep.mk @@ -4,11 +4,12 @@ # ################################################################################ -SNGREP_VERSION = 1.6.0 +SNGREP_VERSION = 1.7.0 SNGREP_SITE = \ https://github.com/irontec/sngrep/releases/download/v$(SNGREP_VERSION) SNGREP_LICENSE = GPL-3.0+ SNGREP_LICENSE_FILES = LICENSE +SNGREP_CPE_ID_VENDOR = irontec SNGREP_AUTORECONF = YES SNGREP_DEPENDENCIES = libpcap ncurses host-pkgconf diff --git a/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch b/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch deleted file mode 100644 index f60f84f9a25..00000000000 --- a/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch +++ /dev/null @@ -1,39 +0,0 @@ -fix build with libressl >= 3.5.0 - -Fix the following build failure with libressl >= 3.5.0: - -auth_priv.cpp: In member function 'virtual int Snmp_pp::AuthMD5::password_to_key(const unsigned char*, unsigned int, const unsigned char*, unsigned int, unsigned char*, unsigned int*)': -auth_priv.cpp:1132:20: error: aggregate 'Snmp_pp::MD5HashStateType md5_hash_state' has incomplete type and cannot be defined - MD5HashStateType md5_hash_state; - ^~~~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/b50b883c03e82564198a8b7e91bd14bf007772e0 - -Signed-off-by: Fabrice Fontaine -[Upstream status: merged (emailed to katz.agentpp.com@magenta.de)] - -diff -Naurp snmp++-3.4.9.orig/src/auth_priv.cpp snmp++-3.4.9/src/auth_priv.cpp ---- snmp++-3.4.9.orig/src/auth_priv.cpp 2022-05-13 11:39:14.083038544 +0200 -+++ snmp++-3.4.9/src/auth_priv.cpp 2022-05-13 15:00:42.576102348 +0200 -@@ -79,8 +79,9 @@ static const char *loggerModuleName = "s - - /* -- START: Defines for OpenSSL -- */ - --#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) --// OpenSSL versions up to 1.0.x and LibreSSL -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) -+// OpenSSL versions up to 1.0.x and LibreSSL versions up to 3.4.x - typedef EVP_MD_CTX EVPHashStateType; - - int evpAllocAndInit(EVP_MD_CTX *ctx, const EVP_MD *md) -@@ -138,7 +139,7 @@ typedef EVP_MD_CTX* MD5HashSta - #define MD5_PROCESS(s, p, l) EVP_DigestUpdate(*(s), p, l) - #define MD5_DONE(s, k) evpDigestFinalAndFree(s, k) - --#endif // OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+#endif // OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L) - - typedef DES_key_schedule DESCBCType; - #define DES_CBC_START_ENCRYPT(c, iv, k, kl, r, s) \ diff --git a/package/snmppp/0001-fix-build-without-v3.patch b/package/snmppp/0001-fix-build-without-v3.patch new file mode 100644 index 00000000000..4e81f7bfc15 --- /dev/null +++ b/package/snmppp/0001-fix-build-without-v3.patch @@ -0,0 +1,43 @@ +fix build without v3 + +Fix the following build failure without version3 raised since version +3.5.0: + +msgqueue.cpp: In member function 'int Snmp_pp::CSNMPMessage::ResendMessage()': +msgqueue.cpp:263:34: error: 'version3' was not declared in this scope; did you mean 'version1'? + 263 | if (m_target->get_version() == version3) { + | ^~~~~~~~ + | version1 + +Fixes: + - http://autobuild.buildroot.org/results/8ef3e4407a51c53c15e530606227338761dd905b + +Signed-off-by: Fabrice Fontaine +[Upstream status: sent to katz.agentpp.com@magenta.de] + +diff -Nura snmp++-3.5.0.orig/src/msgqueue.cpp snmp++-3.5.0/src/msgqueue.cpp +--- snmp++-3.5.0.orig/src/msgqueue.cpp 2023-03-20 10:49:30.629000853 +0100 ++++ snmp++-3.5.0/src/msgqueue.cpp 2023-03-20 10:51:36.880664304 +0100 +@@ -260,18 +260,20 @@ + m_target->set_retry(m_target->get_retry() - 1); + SetSendTime(); + int status; +- if (m_target->get_version() == version3) { + #ifdef _SNMPv3 ++ if (m_target->get_version() == version3) { + // delete entry in cache + if (m_snmp->get_mpv3()) + m_snmp->get_mpv3()->delete_from_cache(m_pdu.get_request_id()); +-#endif + status = m_snmp->snmp_engine(m_pdu, m_pdu.get_error_status(), m_pdu.get_error_index(), + *m_target, m_callBack, m_callData, m_socket, 0, this); + } + else { ++#endif + status = send_snmp_request(m_socket, m_rawPdu, m_rawPduLen, *m_address); ++#ifdef _SNMPv3 + } ++#endif + if (status != 0) + return SNMP_CLASS_TL_FAILED; + diff --git a/package/snmppp/snmppp.hash b/package/snmppp/snmppp.hash index 6dc3d39ced1..74c6a3e98f2 100644 --- a/package/snmppp/snmppp.hash +++ b/package/snmppp/snmppp.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 d7a77fd05ecd99b25c51cbab08dfeef22a5edf2677875695c213631af59d5bae snmp++-3.4.10.tar.gz +sha256 43a433bd5f6fd67add5a26add6521ca664c41aead438405658ed57483664b4bf snmp++-3.5.0.tar.gz sha256 61337e799c8274e596e5783b22607beea8073ee296c6b27fc5c7487296e56851 src/v3.cpp diff --git a/package/snmppp/snmppp.mk b/package/snmppp/snmppp.mk index 005a5a9f352..9f1916dd662 100644 --- a/package/snmppp/snmppp.mk +++ b/package/snmppp/snmppp.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNMPPP_VERSION = 3.4.10 +SNMPPP_VERSION = 3.5.0 SNMPPP_SOURCE = snmp++-$(SNMPPP_VERSION).tar.gz SNMPPP_SITE = http://www.agentpp.com/download SNMPPP_DEPENDENCIES = host-pkgconf diff --git a/package/snort3/0001-Pull-request-3925-build-fix-cstdint-related-clearlinux-errors.patch b/package/snort3/0001-Pull-request-3925-build-fix-cstdint-related-clearlinux-errors.patch new file mode 100644 index 00000000000..4f24ee72d4e --- /dev/null +++ b/package/snort3/0001-Pull-request-3925-build-fix-cstdint-related-clearlinux-errors.patch @@ -0,0 +1,60 @@ +From 154cf0312b3652bdfdf241e6883d7c6de9b85e01 Mon Sep 17 00:00:00 2001 +From: "Maya Dagon (mdagon)" +Date: Mon, 24 Jul 2023 08:06:50 +0000 +Subject: [PATCH] Pull request #3925: build: fix cstdint related clearlinux + errors + +Merge in SNORT/snort3 from ~MDAGON/snort3:clearlinux to master + +Squashed commit of the following: + +commit 7ef2bc13851ffa2bf7908964242859a8c05ddd96 +Author: maya dagon +Date: Thu Jul 20 14:34:01 2023 -0400 + + build: fix cstdint related clearlinux errors + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/snort3/snort3/commit/154cf0312b3652bdfdf241e6883d7c6de9b85e01 +--- + src/js_norm/js_identifier_ctx.h | 1 + + src/packet_io/sfdaq_config.h | 1 + + src/service_inspectors/wizard/magic.h | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/src/utils/js_identifier_ctx.h b/src/utils/js_identifier_ctx.h +index b8d5121a2c..6ef1ce2b23 100644 +--- a/src/utils/js_identifier_ctx.h ++++ b/src/utils/js_identifier_ctx.h +@@ -20,6 +20,7 @@ + #ifndef JS_IDENTIFIER_CTX + #define JS_IDENTIFIER_CTX + ++#include + #include + #include + #include +diff --git a/src/packet_io/sfdaq_config.h b/src/packet_io/sfdaq_config.h +index 990c45785b..f4c1042bc3 100644 +--- a/src/packet_io/sfdaq_config.h ++++ b/src/packet_io/sfdaq_config.h +@@ -21,6 +21,7 @@ + #ifndef SFDAQ_CONFIG_H + #define SFDAQ_CONFIG_H + ++#include + #include + #include + +diff --git a/src/service_inspectors/wizard/magic.h b/src/service_inspectors/wizard/magic.h +index fa24d0b5a4..b9477eb95c 100644 +--- a/src/service_inspectors/wizard/magic.h ++++ b/src/service_inspectors/wizard/magic.h +@@ -21,6 +21,7 @@ + #define MAGIC_H + + #include ++#include + #include + #include + diff --git a/package/socat/0001-no-documentation.patch b/package/socat/0001-no-documentation.patch index ce088dfafc8..b4c3e1ffde4 100644 --- a/package/socat/0001-no-documentation.patch +++ b/package/socat/0001-no-documentation.patch @@ -1,37 +1,53 @@ -socat: disable documentation build/installation +From 01463f5dbe19501948dec26160e0cc3b4e9167b4 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 27 Nov 2023 18:09:57 +0200 +Subject: [PATCH] socat: disable documentation build/installation The documentation generation process requires a special yold2man program, for which we don't have a package in Buildroot. Since we generally don't care much about documentation of packages, just adjust the package Makefile.in to not build/install its documentation. +Upstream: N/A Signed-off-by: Thomas Petazzoni +[baruch: update for 1.8.0.0; git patch format] +Signed-off-by: Baruch Siach +--- + Makefile.in | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) -Index: b/Makefile.in -=================================================================== +diff --git a/Makefile.in b/Makefile.in +index c01b1a4a2306..fd89acb06f3c 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -93,7 +93,7 @@ - Config/Makefile.Cygwin-1-5-25 Config/config.Cygwin-1-5-25.h \ - Config/Makefile.MacOSX-10-5 Config/config.MacOSX-10-5.h +@@ -82,7 +82,7 @@ SHFILES = socat-chain.sh socat-mux.sh socat-broker.sh \ + TESTFILES = test.sh socks4echo.sh proxyecho.sh readline-test.sh \ + proxy.sh socks4a-echo.sh -all: progs doc +all: progs scmclean: gitclean -@@ -136,13 +136,11 @@ +@@ -128,7 +128,7 @@ libxio.a: $(XIOOBJS) $(UTLOBJS) strip: progs strip $(PROGS) -install: progs $(srcdir)/doc/socat.1 +install: progs mkdir -p $(DESTDIR)$(BINDEST) - $(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST) + $(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST)/socat1 + ln -sf socat1 $(DESTDIR)$(BINDEST)/socat +@@ -137,9 +137,6 @@ install: progs $(srcdir)/doc/socat.1 + $(INSTALL) -m 755 socat-broker.sh $(DESTDIR)$(BINDEST) $(INSTALL) -m 755 procan $(DESTDIR)$(BINDEST) $(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST) - mkdir -p $(DESTDIR)$(MANDEST)/man1 -- $(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/ +- $(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/socat1.1 +- ln -sf socat1.1 $(DESTDIR)$(MANDEST)/man1/socat.1 uninstall: rm -f $(DESTDIR)$(BINDEST)/socat +-- +2.42.0 + diff --git a/package/socat/0002-compat-set-NETDB_INTERNAL.patch b/package/socat/0002-compat-set-NETDB_INTERNAL.patch deleted file mode 100644 index da31073ba55..00000000000 --- a/package/socat/0002-compat-set-NETDB_INTERNAL.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e7804d1750652e39c7a5803d360b29b2637a695f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 28 Aug 2016 21:04:01 +0200 -Subject: [PATCH] compat: set NETDB_INTERNAL - -Musl doesn't provide NETDB_INTERNAL which is defined in resolv/netdb.h -in Glibc [1]. - -Set NETDB_INTERNAL to -1 locally if not already defined. -Based on [2]. - -[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=resolv/netdb.h;h=3aba530932c7a62a4f23e3193e9186da677f552b;hb=fdfc9260b61d3d72541f18104d24c7bcb0ce5ca2#l74 -[2] http://git.alpinelinux.org/cgit/aports/tree/main/socat/netdb-internal.patch?id=5a45173b50892cb634197c30b3506ebff98d3b7d - -Signed-off-by: Romain Naour ---- - compat.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/compat.h b/compat.h -index 19a929f..4f5ee6d 100644 ---- a/compat.h -+++ b/compat.h -@@ -666,6 +666,8 @@ typedef int sig_atomic_t; - - #if !defined(NETDB_INTERNAL) && defined(h_NETDB_INTERNAL) - # define NETDB_INTERNAL h_NETDB_INTERNAL -+#elif !defined(NETDB_INTERNAL) -+# define NETDB_INTERNAL (-1) - #endif - - #ifndef INET_ADDRSTRLEN --- -2.5.5 - diff --git a/package/socat/socat.hash b/package/socat/socat.hash index 2113e1b3a48..2a14d753030 100644 --- a/package/socat/socat.hash +++ b/package/socat/socat.hash @@ -1,8 +1,8 @@ # From http://www.dest-unreach.org/socat/download.md5sum -md5 a605d3779465f42c07fc507cfbfb08f9 socat-1.7.4.4.tar.bz2 +md5 51f9ecdf5d942d0a3c150ea400eb89ef socat-1.8.0.0.tar.bz2 # From http://www.dest-unreach.org/socat/download.sha256sum -sha256 fbd42bd2f0e54a3af6d01bdf15385384ab82dbc0e4f1a5e153b3e0be1b6380ac socat-1.7.4.4.tar.bz2 +sha256 e1de683dd22ee0e3a6c6bbff269abe18ab0c9d7eb650204f125155b9005faca7 socat-1.8.0.0.tar.bz2 # Locally calculated -sha256 3555c6bc2779ff0f9a7145d1e3cd1d8fde59548bcd3364a23b907de21eec5aa8 README +sha256 de9d702354b2e748ea87eb20d18c3d90ebede5dc6d2fc3c2e0645d139a5181bc README sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 fd9e48ca316a5032069b9521f4f4b4d9b1c60365012bae1e62286bcd5bd2e761 COPYING.OpenSSL diff --git a/package/socat/socat.mk b/package/socat/socat.mk index f958f26522f..1e2880c028d 100644 --- a/package/socat/socat.mk +++ b/package/socat/socat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SOCAT_VERSION = 1.7.4.4 +SOCAT_VERSION = 1.8.0.0 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2 SOCAT_SITE = http://www.dest-unreach.org/socat/download SOCAT_LICENSE = GPL-2.0 with OpenSSL exception diff --git a/package/sofia-sip/sofia-sip.hash b/package/sofia-sip/sofia-sip.hash index 776136bb15c..f4ce8d832d5 100644 --- a/package/sofia-sip/sofia-sip.hash +++ b/package/sofia-sip/sofia-sip.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 daf75c41408c559c2d58a8fd4d39be4a8ff5144bc1db220d4dbc28deeed6670a sofia-sip-1.13.9-f6ee306084.tar.gz +sha256 daca3d961b6aa2974ad5d3be69ed011726c3e4d511b2a0d4cb6d878821a2de7a sofia-sip-1.13.17.tar.gz sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 COPYING sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 COPYRIGHTS diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk index 9071d964e46..a64716483f6 100644 --- a/package/sofia-sip/sofia-sip.mk +++ b/package/sofia-sip/sofia-sip.mk @@ -4,10 +4,11 @@ # ################################################################################ -SOFIA_SIP_VERSION = 1.13.9 -SOFIA_SIP_SOURCE = sofia-sip-$(SOFIA_SIP_VERSION)-f6ee306084.tar.gz -SOFIA_SIP_SITE = https://files.freeswitch.org/downloads/libs/sofia-sip +SOFIA_SIP_VERSION = 1.13.17 +SOFIA_SIP_SITE = $(call github,freeswitch,sofia-sip,v$(SOFIA_SIP_VERSION)) SOFIA_SIP_INSTALL_STAGING = YES +# Fetched from github, no pre-generated configure script provided +SOFIA_SIP_AUTORECONF = YES SOFIA_SIP_DEPENDENCIES = host-pkgconf SOFIA_SIP_LICENSE = LGPL-2.1+ SOFIA_SIP_LICENSE_FILES = COPYING COPYRIGHTS diff --git a/package/spdlog/spdlog.hash b/package/spdlog/spdlog.hash index af89ba4e84b..3dbe43ac2d8 100644 --- a/package/spdlog/spdlog.hash +++ b/package/spdlog/spdlog.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb spdlog-1.11.0.tar.gz -sha256 a7241a379cb98d37788f82c2fc2e484c3ae85dae881fd3406f0637644850926f LICENSE +sha256 534f2ee1a4dcbeb22249856edfb2be76a1cf4f708a20b0ac2ed090ee24cfdbc9 spdlog-1.13.0.tar.gz +sha256 4ccecab18d1ff0b61174fe3d6c430541625d3ddb865b0d5887db296f883c76e7 LICENSE diff --git a/package/spdlog/spdlog.mk b/package/spdlog/spdlog.mk index 32a0265484f..b45ae0a17d4 100644 --- a/package/spdlog/spdlog.mk +++ b/package/spdlog/spdlog.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPDLOG_VERSION = 1.11.0 +SPDLOG_VERSION = 1.13.0 SPDLOG_SITE = $(call github,gabime,spdlog,v$(SPDLOG_VERSION)) SPDLOG_LICENSE = MIT SPDLOG_LICENSE_FILES = LICENSE diff --git a/package/speechd/Config.in b/package/speechd/Config.in new file mode 100644 index 00000000000..8fdc452d192 --- /dev/null +++ b/package/speechd/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_SPEECHD + bool "speechd" + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_DOTCONF + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBSNDFILE + help + Speech Dispatcher project provides a high-level device + independent layer for access to speech synthesis through + a simple, stable and well documented interface. + + https://freebsoft.org/speechd + +comment "speechd needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/speechd/speechd.hash b/package/speechd/speechd.hash new file mode 100644 index 00000000000..0b02a357921 --- /dev/null +++ b/package/speechd/speechd.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 cc4b388fce40681eaff3545e9cc0642216c13c420d5676a4d28c957ddcb916de speechd-0.11.5.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL-2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPL-3 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/speechd/speechd.mk b/package/speechd/speechd.mk new file mode 100644 index 00000000000..669bec06345 --- /dev/null +++ b/package/speechd/speechd.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# speechd +# +################################################################################ + +SPEECHD_VERSION = 0.11.5 +SPEECHD_SITE = $(call github,brailcom,speechd,$(SPEECHD_VERSION)) +SPEECHD_LICENSE = GPL-2.0+, GPL-3.0+ (buildsystem), LGPL-2.1+ +SPEECHD_LICENSE_FILES = COPYING.GPL-2 COPYING.GPL-3 COPYING.LGPL +SPEECHD_CPE_ID_VENDOR = brailcom +SPEECHD_INSTALL_STAGING = YES +# speechd source code is released without configure script +SPEECHD_AUTORECONF = YES +SPEECHD_AUTOPOINT = YES +SPEECHD_DEPENDENCIES = \ + host-pkgconf dotconf libglib2 libsndfile $(TARGET_NLS_DEPENDENCIES) +SPEECHD_CONF_ENV = \ + ac_cv_prog_HELP2MAN="" \ + LIBS=$(TARGET_NLS_LIBS) +SPEECHD_CONF_OPTS = \ + --disable-python \ + --without-espeak \ + --without-espeak-ng \ + --without-flite \ + --without-ibmtts \ + --without-voxin \ + --without-ivona \ + --without-pico \ + --without-baratinoo \ + --without-kali \ + --without-pulse \ + --without-libao \ + --without-alsa \ + --with-oss \ + --without-nas + +# fix missing config.rpath (needed for autoreconf) in the codebase +define SPEECHD_TOUCH_CONFIG_RPATH + touch $(@D)/config.rpath +endef +SPEECHD_PRE_CONFIGURE_HOOKS += SPEECHD_TOUCH_CONFIG_RPATH + +ifeq ($(BR2_PACKAGE_LIBTOOL),y) +SPEECHD_DEPENDENCIES += libtool +SPEECHD_CONF_OPTS += --enable-ltdl +else +SPEECHD_CONF_OPTS += --disable-ltdl +endif + +define SPEECHD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(@D)/speech-dispatcherd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/speech-dispatcherd.service +endef + +$(eval $(autotools-package)) diff --git a/package/speex/speex.mk b/package/speex/speex.mk index 6d61e93833d..0bbcb2bde2f 100644 --- a/package/speex/speex.mk +++ b/package/speex/speex.mk @@ -26,6 +26,10 @@ ifeq ($(BR2_PACKAGE_SPEEX_ARM5E),y) SPEEX_CONF_OPTS += --enable-arm5e-asm endif +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +SPEEX_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -marm" +endif + define SPEEX_LIBTOOL_FIXUP $(SED) 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $(@D)/libtool $(SED) 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $(@D)/libtool diff --git a/package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch b/package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch new file mode 100644 index 00000000000..edb8b2ed179 --- /dev/null +++ b/package/spice/0001-server-add-SSL_OP_NO_RENEGOTIATION-fallback-path.patch @@ -0,0 +1,43 @@ +From 5e580eefac44d0c709afcf93eb5fca2fb353166a Mon Sep 17 00:00:00 2001 +From: orbea +Date: Fri, 26 May 2023 13:38:34 -0700 +Subject: [PATCH] server: add SSL_OP_NO_RENEGOTIATION fallback path + +With LibreSSL SSL_OP_NO_CLIENT_RENEGOTIATION is opaque which is not +compatible with the OpenSSL 1.0.2 and earlier code path in +red-stream.cpp while SSL_OP_NO_RENEGOTIATION is not yet defined for the +newer OpenSSL code path in reds.cpp. + +So with OpenSSL 1.1.0 and later if SSL_OP_NO_RENEGOTIATION is undefined +and SSL_OP_NO_CLIENT_RENEGOTIATION is defined then define the former as +the latter. This will allow the build to succeed with LibreSSL 3.7.2 and +in the future when newer LibreSSL versions add SSL_OP_NO_RENEGOTIATION +that code path will then be used automatically. + +Signed-off-by: orbea +Acked-by: Frediano Ziglio + +Upstream: https://gitlab.freedesktop.org/spice/spice/-/commit/5e580eefac44d0c709afcf93eb5fca2fb353166a +Signed-off-by: Fabrice Fontaine +--- + server/red-stream.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/server/red-stream.h b/server/red-stream.h +index 716e93317..8e57c5e5e 100644 +--- a/server/red-stream.h ++++ b/server/red-stream.h +@@ -25,6 +25,10 @@ + + SPICE_BEGIN_DECLS + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(SSL_OP_NO_RENEGOTIATION) && defined(SSL_OP_NO_CLIENT_RENEGOTIATION) ++#define SSL_OP_NO_RENEGOTIATION SSL_OP_NO_CLIENT_RENEGOTIATION ++#endif ++ + typedef void (*AsyncReadDone)(void *opaque); + typedef void (*AsyncReadError)(void *opaque, int err); + +-- +GitLab + diff --git a/package/spice/spice.mk b/package/spice/spice.mk index 5f7bcd9d2f3..608a9413fe3 100644 --- a/package/spice/spice.mk +++ b/package/spice/spice.mk @@ -9,7 +9,7 @@ SPICE_SOURCE = spice-$(SPICE_VERSION).tar.bz2 SPICE_SITE = http://www.spice-space.org/download/releases/spice-server SPICE_LICENSE = LGPL-2.1+ SPICE_LICENSE_FILES = COPYING -SPICE_CPE_ID_VENDOR = spice_project +SPICE_CPE_ID_VALID = YES SPICE_INSTALL_STAGING = YES SPICE_DEPENDENCIES = \ host-pkgconf \ diff --git a/package/spirv-headers/Config.in b/package/spirv-headers/Config.in new file mode 100644 index 00000000000..e03a6ca1eee --- /dev/null +++ b/package/spirv-headers/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_SPIRV_HEADERS + bool "spirv-headers" + depends on BR2_INSTALL_LIBSTDCPP + help + Machine-readable files for the SPIR-V Registry + + https://www.khronos.org/registry/spir-v + +comment "spirv-headers needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/spirv-headers/spirv-headers.hash b/package/spirv-headers/spirv-headers.hash new file mode 100644 index 00000000000..136f3df7336 --- /dev/null +++ b/package/spirv-headers/spirv-headers.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 32b4c6ae6a2fa9b56c2c17233c8056da47e331f76e117729925825ea3e77a739 spirv-headers-1.3.261.1.tar.gz +sha256 9b243f6f0bf44e295ff411a0f7b7642d1d0dff7cdc42507e9f7206f439e51b5a LICENSE diff --git a/package/spirv-headers/spirv-headers.mk b/package/spirv-headers/spirv-headers.mk new file mode 100644 index 00000000000..9f84c42b2dc --- /dev/null +++ b/package/spirv-headers/spirv-headers.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# spirv-headers +# +################################################################################ + +# Keep in sync with spirv-tools version +SPIRV_HEADERS_VERSION = 1.3.261.1 +SPIRV_HEADERS_SITE = $(call github,KhronosGroup,SPIRV-Headers,sdk-$(SPIRV_HEADERS_VERSION)) +SPIRV_HEADERS_LICENSE = MIT +SPIRV_HEADERS_LICENSE_FILES = LICENSE + +SPIRV_HEADERS_INSTALL_STAGING = YES +SPIRV_HEADERS_INSTALL_TARGET = NO + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/spirv-llvm-translator/spirv-llvm-translator.hash b/package/spirv-llvm-translator/spirv-llvm-translator.hash index edfca1ea026..4500fc4f62f 100644 --- a/package/spirv-llvm-translator/spirv-llvm-translator.hash +++ b/package/spirv-llvm-translator/spirv-llvm-translator.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 bdd7cb677b9fcaaff1cce2153de9d69298f136edecaef3631915614bb5db09a1 spirv-llvm-translator-v11.0.0-297-ga619b34bce55360d79fea9058a93ded04919f2b2.tar.gz +sha256 0a00a72a5b004eeb73f9c96c9c6ba2d6de232cbf3c22a7b322047604d24402ba spirv-llvm-translator-v15.0.0-46-ge82ecc2bd7295604fcf1824e47c95fa6a09c6e63.tar.gz sha256 e3bc36440fc927c62d5cc24efeefe225a14d4e34ffeb0c92e430625cce9ee444 LICENSE.TXT diff --git a/package/spirv-llvm-translator/spirv-llvm-translator.mk b/package/spirv-llvm-translator/spirv-llvm-translator.mk index 159f7d3b524..523890a986e 100644 --- a/package/spirv-llvm-translator/spirv-llvm-translator.mk +++ b/package/spirv-llvm-translator/spirv-llvm-translator.mk @@ -5,16 +5,18 @@ ################################################################################ # Generate version string using: -# git describe --tags --match 'v11*' --abbrev=40 origin/llvm_release_110 -SPIRV_LLVM_TRANSLATOR_VERSION = v11.0.0-297-ga619b34bce55360d79fea9058a93ded04919f2b2 +# git describe --tags --match 'v15*' --abbrev=40 origin/llvm_release_150 +SPIRV_LLVM_TRANSLATOR_VERSION = v15.0.0-46-ge82ecc2bd7295604fcf1824e47c95fa6a09c6e63 SPIRV_LLVM_TRANSLATOR_SITE = $(call github,KhronosGroup,SPIRV-LLVM-Translator,$(SPIRV_LLVM_TRANSLATOR_VERSION)) SPIRV_LLVM_TRANSLATOR_LICENSE = NCSA SPIRV_LLVM_TRANSLATOR_LICENSE_FILES = LICENSE.TXT -HOST_SPIRV_LLVM_TRANSLATOR_DEPENDENCIES = host-clang host-llvm +HOST_SPIRV_LLVM_TRANSLATOR_DEPENDENCIES = host-clang host-llvm host-spirv-headers HOST_SPIRV_LLVM_TRANSLATOR_CONF_OPTS = \ -DLLVM_BUILD_TOOLS=ON \ -DLLVM_DIR=$(HOST_DIR)/lib/cmake/llvm \ -DLLVM_SPIRV_BUILD_EXTERNAL=YES \ - -DLLVM_SPIRV_INCLUDE_TESTS=OFF + -DLLVM_SPIRV_INCLUDE_TESTS=OFF \ + -DLLVM_EXTERNAL_PROJECTS="SPIRV-Headers" \ + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=$(HOST_DIR)/include $(eval $(host-cmake-package)) diff --git a/package/spirv-tools/Config.in b/package/spirv-tools/Config.in new file mode 100644 index 00000000000..98b0c46525e --- /dev/null +++ b/package/spirv-tools/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_SPIRV_TOOLS + bool "spirv-tools" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem + select BR2_PACKAGE_SPIRV_HEADERS + help + The SPIR-V Tools project provides an API and commands for + processing SPIR-V modules. + + https://github.com/KhronosGroup/SPIRV-Tools + +comment "spirv-tools needs a toolchain w/ C++, dynamic library, gcc >= 8" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/package/spirv-tools/spirv-tools.hash b/package/spirv-tools/spirv-tools.hash new file mode 100644 index 00000000000..65cb9c619b9 --- /dev/null +++ b/package/spirv-tools/spirv-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ead95c626ad482882a141d1aa0ce47b9453871f72c42c0b28d39c82f60a52008 spirv-tools-1.3.261.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/spirv-tools/spirv-tools.mk b/package/spirv-tools/spirv-tools.mk new file mode 100644 index 00000000000..e863911b035 --- /dev/null +++ b/package/spirv-tools/spirv-tools.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# spirv-tools +# +################################################################################ + +# Keep in sync with spirv-headers version +SPIRV_TOOLS_VERSION = 1.3.261.1 +SPIRV_TOOLS_SITE = $(call github,KhronosGroup,SPIRV-Tools,sdk-$(SPIRV_TOOLS_VERSION)) +SPIRV_TOOLS_LICENSE = Apache-2.0 +SPIRV_TOOLS_LICENSE_FILES = LICENSE +SPIRV_TOOLS_DEPENDENCIES = spirv-headers +SPIRV_TOOLS_INSTALL_STAGING = YES + +SPIRV_TOOLS_CONF_OPTS = \ + -DSPIRV-Headers_SOURCE_DIR=$(STAGING_DIR)/usr \ + -DSPIRV_TOOLS_BUILD_STATIC=OFF \ + -DSPIRV_SKIP_TESTS=ON \ + -DSPIRV_WERROR=OFF + +$(eval $(cmake-package)) diff --git a/package/sqlcipher/sqlcipher.hash b/package/sqlcipher/sqlcipher.hash index c6551651722..7632c1c887a 100644 --- a/package/sqlcipher/sqlcipher.hash +++ b/package/sqlcipher/sqlcipher.hash @@ -1,3 +1,3 @@ # locally computed -sha256 023499516ef2ade14fbcdbe93fb81cc69458ae6cb3544614df8dbef34835b406 sqlcipher-4.5.1.tar.gz -sha256 3eee3c7964a9becc94d747bd36703d31fc86eb994680b06a61bfd4f2661eaac8 LICENSE +sha256 014ef9d4f5b5f4e7af4d93ad399667947bb55e31860e671f0def1b8ae6f05de0 sqlcipher-4.5.5.tar.gz +sha256 09e4af560ce2e3c9c2aa6b564e35947b03db7d1ae345f22a32793ed46542cc14 LICENSE diff --git a/package/sqlcipher/sqlcipher.mk b/package/sqlcipher/sqlcipher.mk index c0c53acdd20..8d062ccf81f 100644 --- a/package/sqlcipher/sqlcipher.mk +++ b/package/sqlcipher/sqlcipher.mk @@ -4,7 +4,7 @@ # ################################################################################ -SQLCIPHER_VERSION = 4.5.1 +SQLCIPHER_VERSION = 4.5.5 SQLCIPHER_SITE = $(call github,sqlcipher,sqlcipher,v$(SQLCIPHER_VERSION)) SQLCIPHER_LICENSE = BSD-3-Clause SQLCIPHER_LICENSE_FILES = LICENSE diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index 936f42e8e9d..38cff902d73 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 f31d445b48e67e284cf206717cc170ab63cbe4fd7f79a82793b772285e78fdbb sqlite-autoconf-3390400.tar.gz +sha256 1c6719a148bc41cf0f2bbbe3926d7ce3f5ca09d878f1246fcc20767b175bb407 sqlite-autoconf-3440200.tar.gz sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 4f4164c3742..b54bd9580c4 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,11 +4,11 @@ # ################################################################################ -SQLITE_VERSION = 3.39.4 -SQLITE_TAR_VERSION = 3390400 +SQLITE_VERSION = 3.44.2 +SQLITE_TAR_VERSION = 3440200 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz -SQLITE_SITE = https://www.sqlite.org/2022 -SQLITE_LICENSE = Public domain +SQLITE_SITE = https://www.sqlite.org/2023 +SQLITE_LICENSE = blessing SQLITE_LICENSE_FILES = tea/license.terms SQLITE_CPE_ID_VENDOR = sqlite SQLITE_INSTALL_STAGING = YES diff --git a/package/squashfs/squashfs.hash b/package/squashfs/squashfs.hash index 13d5aed71f9..bc45b4ab5e6 100644 --- a/package/squashfs/squashfs.hash +++ b/package/squashfs/squashfs.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 277b6e7f75a4a57f72191295ae62766a10d627a4f5e5f19eadfbc861378deea7 squashfs-4.5.1.tar.gz +sha256 94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c squashfs-4.6.1.tar.gz # License files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk index 323908d94e6..b9fbf54b018 100644 --- a/package/squashfs/squashfs.mk +++ b/package/squashfs/squashfs.mk @@ -4,11 +4,11 @@ # ################################################################################ -SQUASHFS_VERSION = 4.5.1 +SQUASHFS_VERSION = 4.6.1 SQUASHFS_SITE = $(call github,plougher,squashfs-tools,$(SQUASHFS_VERSION)) SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_CPE_ID_VENDOR = squashfs_project +SQUASHFS_CPE_ID_VALID = YES SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) diff --git a/package/squid/Config.in b/package/squid/Config.in index 62721407687..149884d8150 100644 --- a/package/squid/Config.in +++ b/package/squid/Config.in @@ -1,18 +1,18 @@ -comment "squid needs a toolchain w/ C++, threads, gcc >= 4.8 not affected by bug 64735" +comment "squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \ - !BR2_INSTALL_LIBSTDCPP || \ + depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \ + !BR2_HOST_GCC_AT_LEAST_8 config BR2_PACKAGE_SQUID bool "squid" depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 + depends on BR2_HOST_GCC_AT_LEAST_8 # C++17 # needs fork() depends on BR2_USE_MMU select BR2_PACKAGE_LIBCAP diff --git a/package/squid/squid.hash b/package/squid/squid.hash index b00d14011e1..e5017ae5cd0 100644 --- a/package/squid/squid.hash +++ b/package/squid/squid.hash @@ -1,6 +1,6 @@ -# From http://www.squid-cache.org/Versions/v5/squid-5.7.tar.xz.asc -md5 7a3764a3c5833631a779d7827901cda7 squid-5.7.tar.xz -sha1 141e8007d6b1cfee34654127a9ca025125b37b58 squid-5.7.tar.xz +# From http://www.squid-cache.org/Versions/v6/squid-6.9.tar.xz.asc +md5 4888e9dc75c0daa0ed526b34c055cb67 squid-6.9.tar.xz +sha1 5e73b30116ce7111589cc2b1c9bfe3c17efa2e75 squid-6.9.tar.xz # Locally calculated -sha256 6b0753aaba4c9c4efd333e67124caecf7ad6cc2d38581f19d2f0321f5b7ecd81 squid-5.7.tar.xz +sha256 1ad72d46e1cb556e9561214f0fb181adb87c7c47927ef69bc8acd68a03f61882 squid-6.9.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/squid/squid.mk b/package/squid/squid.mk index 355af0b9027..98325c92fad 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,9 +4,9 @@ # ################################################################################ -SQUID_VERSION = 5.7 +SQUID_VERSION = 6.9 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz -SQUID_SITE = http://www.squid-cache.org/Versions/v5 +SQUID_SITE = http://www.squid-cache.org/Versions/v6 SQUID_LICENSE = GPL-2.0+ SQUID_LICENSE_FILES = COPYING SQUID_CPE_ID_VENDOR = squid-cache @@ -21,7 +21,7 @@ SQUID_CONF_ENV = \ ac_cv_func_strnstr=no \ ac_cv_have_squid=yes \ BUILDCXX="$(HOSTCXX)" \ - BUILDCXXFLAGS="$(HOST_CXXFLAGS)" + BUILDCXXFLAGS="$(HOST_CXXFLAGS) -std=c++17" SQUID_CONF_OPTS = \ --enable-async-io=8 \ --enable-linux-netfilter \ diff --git a/package/sscep/0001-Fix-getopt-linking-error.patch b/package/sscep/0001-Fix-getopt-linking-error.patch new file mode 100644 index 00000000000..9427593cc3e --- /dev/null +++ b/package/sscep/0001-Fix-getopt-linking-error.patch @@ -0,0 +1,57 @@ +From 65561b53344b834877e6b63320066a1e26038a3c Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Fri, 9 Dec 2022 18:18:27 +0100 +Subject: [PATCH] Fix getopt linking error + +The buildroot project, to which the sscep application was added, has +configurations that raise the following linking error: +buildroot/output/host/lib/gcc/arc-buildroot-linux-uclibc/11.3.0/../../../../arc-buildroot-linux-uclibc/bin/ld: buildroot/output/host/bin/../arc-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(getopt.os):(.data+0x8): multiple definition of `optind'; src/getopt.o:(.data+0x0): first defined here +buildroot/output/host/lib/gcc/arc-buildroot-linux-uclibc/11.3.0/../../../../arc-buildroot-linux-uclibc/bin/ld: buildroot/output/host/bin/../arc-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(getopt.os): in function `__GI_getopt': +getopt.c:(.text+0x5a4): multiple definition of `getopt'; src/getopt.o:getopt.c:(.text+0x0): first defined here +buildroot/output/host/lib/gcc/arc-buildroot-linux-uclibc/11.3.0/../../../../arc-buildroot-linux-uclibc/bin/ld: buildroot/output/host/bin/../arc-buildroot-linux-uclibc/sysroot/usr/lib/libc.a(getopt.os): in function `getopt_long': +getopt.c:(.text+0x5b0): multiple definition of `getopt_long'; src/getopt.o:getopt.c:(.text+0x128): first defined here +collect2: error: ld returned 1 exit status +make[2]: *** [Makefile:507: sscep] Error 1 +make[1]: *** [package/pkg-generic.mk:293: buildroot/output/build/sscep-0.10.0/.stamp_built] Error 2 + +The patch re-added a check that commit +81f56f635259b9 ("Replaced GNU getopt by a BSD licensed alternative") +removed. + +Signed-off-by: Dario Binacchi +[yann.morin.1998@free.fr: make that an actual backport] +Signed-off-by: Yann E. MORIN +--- + src/getopt.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/getopt.c b/src/getopt.c +index eae36a6..0109406 100644 +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -31,6 +31,16 @@ + #include + #include + ++#define GETOPT_INTERFACE_VERSION 2 ++#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 ++# include ++# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION ++# define ELIDE_CODE ++# endif ++#endif ++ ++#ifndef ELIDE_CODE ++ + char* optarg; + int optopt; + /* The variable optind [...] shall be initialized to 1 by the system. */ +@@ -226,3 +236,5 @@ int getopt_long(int argc, char* const argv[], const char* optstring, + ++optind; + return retval; + } ++ ++#endif /* Not ELIDE_CODE. */ +-- +2.25.1 + diff --git a/package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch b/package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch new file mode 100644 index 00000000000..ebb9985ef3e --- /dev/null +++ b/package/sscep/0002-Fix-getopt-linking-error-with-musl-libc.patch @@ -0,0 +1,67 @@ +From db7fab775d03438b4cfce6b49fab2d3176ecb1d3 Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sat, 11 May 2024 19:38:01 +0200 +Subject: [PATCH] Fix getopt linking error with musl-libc + +The buildroot project, to which the sscep application was added, has +configurations that raise the following linking error: +buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: buildroot/output/host/i586-buildroot-linux-musl/sysroot/lib/libc.a(getopt.o): in function `getopt': +getopt.c:(.text.getopt+0x0): multiple definition of `getopt'; src/getopt.o:getopt.c:(.text+0x0): first defined here +buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: buildroot/output/host/i586-buildroot-linux-musl/sysroot/lib/libc.a(getopt.o):(.data.optind+0x0): multiple definition of `optind'; src/getopt.o:(.data+0x0): first defined here +collect2: error: ld returned 1 exit status + +The commit 65561b53344b8 ("Fix getopt linking error") actually fixed the +linking error only for uclibc, but not for musl-libc. The patch fixes +the error for both uclibc and musl-libc. + +Link: http://autobuild.buildroot.net/results/d5b1b4e5e9d9c8eca5e75c345db4d1f3f0cd84ed/build-end.log +Signed-off-by: Dario Binacchi +Upstream: https://github.com/certnanny/sscep/pull/181 +--- + configure.ac | 2 +- + src/getopt.c | 12 ++---------- + 2 files changed, 3 insertions(+), 11 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9f3ee15686a2..7a968d97dcaa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -34,7 +34,7 @@ AC_TYPE_SIZE_T + # Checks for library functions. + AC_FUNC_MALLOC + AC_FUNC_REALLOC +-AC_CHECK_FUNCS([alarm gethostbyname memset socket strchr strdup strstr]) ++AC_CHECK_FUNCS([alarm gethostbyname getopt memset socket strchr strdup strstr]) + + AC_CONFIG_FILES([Makefile]) + AC_SUBST([LIBTOOL_DEPS]) +diff --git a/src/getopt.c b/src/getopt.c +index 0109406ba4ac..8793052845ed 100644 +--- a/src/getopt.c ++++ b/src/getopt.c +@@ -31,15 +31,7 @@ + #include + #include + +-#define GETOPT_INTERFACE_VERSION 2 +-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 +-# include +-# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION +-# define ELIDE_CODE +-# endif +-#endif +- +-#ifndef ELIDE_CODE ++#ifndef HAVE_GETOPT + + char* optarg; + int optopt; +@@ -237,4 +229,4 @@ int getopt_long(int argc, char* const argv[], const char* optstring, + return retval; + } + +-#endif /* Not ELIDE_CODE. */ ++#endif /* HAVE_GETOPT */ +-- +2.43.0 + diff --git a/package/sscep/Config.in b/package/sscep/Config.in index 2e5e29f7c8f..549c65274b4 100644 --- a/package/sscep/Config.in +++ b/package/sscep/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_SSCEP bool "sscep" select BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL select BR2_PACKAGE_OPENSSL help SSCEP is a client-only implementation of the SCEP diff --git a/package/ssdp-responder/ssdp-responder.hash b/package/ssdp-responder/ssdp-responder.hash index 425ad86e08a..7794c666439 100644 --- a/package/ssdp-responder/ssdp-responder.hash +++ b/package/ssdp-responder/ssdp-responder.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 974c244abd4ba8c87532867a84756182a1460c99072ffb1eb91c5a1f73311d89 ssdp-responder-1.9.tar.gz -sha256 68d6fdc22e337f725fe719bf9ae6d92b1d8d0ca4cff8219b303ab76706670a8d LICENSE +sha256 75787cd9c0a88329dd39437eb28a188b54a3a0cab8472968e2713d90076f321f ssdp-responder-2.1.tar.gz +sha256 b66025f1e568a8d80264550d7bd7683780ac248f2baa1e85b4da4b15e28d55a7 LICENSE diff --git a/package/ssdp-responder/ssdp-responder.mk b/package/ssdp-responder/ssdp-responder.mk index fd7b1ea44b0..bb17641a9fb 100644 --- a/package/ssdp-responder/ssdp-responder.mk +++ b/package/ssdp-responder/ssdp-responder.mk @@ -4,7 +4,7 @@ # ################################################################################ -SSDP_RESPONDER_VERSION = 1.9 +SSDP_RESPONDER_VERSION = 2.1 SSDP_RESPONDER_SITE = https://github.com/troglobit/ssdp-responder/releases/download/v$(SSDP_RESPONDER_VERSION) SSDP_RESPONDER_LICENSE = ISC SSDP_RESPONDER_LICENSE_FILES = LICENSE @@ -25,9 +25,8 @@ define SSDP_RESPONDER_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50ssdpd endef -define SSDP-RESPONDER_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 $(@D)/ssdp-responder.service \ - $(TARGET_DIR)/usr/lib/systemd/system/ssdp-responder.service +define SSDP_RESPONDER_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/var/lib/misc/ endef $(eval $(autotools-package)) diff --git a/package/sshguard/sshguard.hash b/package/sshguard/sshguard.hash index b1752f1c68c..d018428d190 100644 --- a/package/sshguard/sshguard.hash +++ b/package/sshguard/sshguard.hash @@ -1,4 +1,4 @@ -# sha256 from https://sourceforge.net/projects/sshguard/files/sshguard/2.4.2/sshguard-2.4.2.sha256 -sha256 2770b776e5ea70a9bedfec4fd84d57400afa927f0f7522870d2dcbbe1ace37e8 sshguard-2.4.2.tar.gz +# sha256 from https://sourceforge.net/projects/sshguard/files/sshguard/2.4.3/sshguard-2.4.3.sha256 +sha256 64029deff6de90fdeefb1f497d414f0e4045076693a91da1a70eb7595e97efeb sshguard-2.4.3.tar.gz # Locally calculated sha256 c3ae64f12153a1bc55bc234d09f40a08ab0e0149fffc972c0b7f02d5a12c1a5c COPYING diff --git a/package/sshguard/sshguard.mk b/package/sshguard/sshguard.mk index d27c76e63f5..8d036357438 100644 --- a/package/sshguard/sshguard.mk +++ b/package/sshguard/sshguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -SSHGUARD_VERSION = 2.4.2 +SSHGUARD_VERSION = 2.4.3 SSHGUARD_SITE = https://sourceforge.net/projects/sshguard/files/sshguard/$(SSHGUARD_VERSION) SSHGUARD_LICENSE = ISC, Public Domain (fnv hash), BSD-3-Clause (SimCList) SSHGUARD_LICENSE_FILES = COPYING diff --git a/package/sshpass/sshpass.hash b/package/sshpass/sshpass.hash index cb8968bca47..3fe95c8b0fc 100644 --- a/package/sshpass/sshpass.hash +++ b/package/sshpass/sshpass.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7 sshpass-1.09.tar.gz +sha256 ad1106c203cbb56185ca3bad8c6ccafca3b4064696194da879f81c8d7bdfeeda sshpass-1.10.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/sshpass/sshpass.mk b/package/sshpass/sshpass.mk index 21e10397b6b..beb0a63911d 100644 --- a/package/sshpass/sshpass.mk +++ b/package/sshpass/sshpass.mk @@ -4,7 +4,7 @@ # ################################################################################ -SSHPASS_VERSION = 1.09 +SSHPASS_VERSION = 1.10 SSHPASS_SITE = http://downloads.sourceforge.net/project/sshpass/sshpass/$(SSHPASS_VERSION) SSHPASS_LICENSE = GPL-2.0+ SSHPASS_LICENSE_FILES = COPYING diff --git a/package/sslh/0001-Makefile-add-USE_LIBEV.patch b/package/sslh/0001-Makefile-add-USE_LIBEV.patch new file mode 100644 index 00000000000..858d30fa150 --- /dev/null +++ b/package/sslh/0001-Makefile-add-USE_LIBEV.patch @@ -0,0 +1,59 @@ +From 3e93c1d43de8a662e402127462f28ef0bebf8997 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 1 Oct 2023 18:45:53 +0200 +Subject: [PATCH] Makefile: add USE_LIBEV + +Add USE_LIBEV to avoid the following build failure without libev raised +since version 2.0 and +https://github.com/yrutschle/sslh/commit/711c11c820f8be4f1399024bcaa1d7072de33217: + +sslh-ev.c:24:10: fatal error: ev.h: Aucun fichier ou dossier de ce type + 24 | #include + | ^~~~~~ + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/yrutschle/sslh/commit/3e93c1d43de8a662e402127462f28ef0bebf8997 +--- + Makefile | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index a4425c3..aa2689e 100644 +--- a/Makefile ++++ b/Makefile +@@ -6,6 +6,7 @@ VERSION=$(shell ./genver.sh -r) + ENABLE_SANITIZER= # Enable ASAN/LSAN/UBSAN + ENABLE_REGEX=1 # Enable regex probes + USELIBCONFIG=1 # Use libconfig? (necessary to use configuration files) ++USELIBEV=1 # Use libev? + USELIBWRAP?= # Use libwrap? + USELIBCAP= # Use libcap? + USESYSTEMD= # Make use of systemd socket activation +@@ -72,6 +73,9 @@ ifneq ($(strip $(USELIBBSD)),) + CPPFLAGS+=-DLIBBSD + endif + ++ifneq ($(strip $(USELIBEV)),) ++ CONDITIONAL_TARGETS+=sslh-ev ++endif + + all: sslh $(MAN) echosrv $(CONDITIONAL_TARGETS) + +@@ -84,7 +88,7 @@ $(OBJS_A): $(OBJS) + version.h: + ./genver.sh >version.h + +-sslh: sslh-fork sslh-select sslh-ev ++sslh: sslh-fork sslh-select + + $(OBJS) $(FORK_OBJS) $(SELECT_OBJS) $(EV_OBJS): argtable3.h collection.h common.h gap.h hash.h log.h probe.h processes.h sslh-conf.h tcp-listener.h tcp-probe.h tls.h udp-listener.h version.h + +@@ -153,7 +157,7 @@ distclean: clean + rm -f tags sslh-conf.[ch] echosrv-conf.[ch] cscope.* + + clean: +- rm -f sslh-fork sslh-select sslh-ev echosrv version.h $(MAN) systemd-sslh-generator *.o *.gcov *.gcno *.gcda *.png *.html *.css *.info ++ rm -f sslh-fork sslh-select $(CONDITIONAL_TARGETS) echosrv version.h $(MAN) systemd-sslh-generator *.o *.gcov *.gcno *.gcda *.png *.html *.css *.info + + tags: + ctags --globals -T *.[ch] diff --git a/package/sslh/sslh.hash b/package/sslh/sslh.hash index ae678563daf..839e7b7f1c3 100644 --- a/package/sslh/sslh.hash +++ b/package/sslh/sslh.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8e3742d14edf4119350cfdc7bb96b89134d9218eb6d2a6e1f70891ca18a649b1 sslh-v1.22c.tar.gz +sha256 d88d43ee11cf1324983c196c894b41766c33d957b6af53b62c8479703bbbd26c sslh-v2.0.1.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/sslh/sslh.mk b/package/sslh/sslh.mk index 897b3b6505d..e829af0bbab 100644 --- a/package/sslh/sslh.mk +++ b/package/sslh/sslh.mk @@ -4,11 +4,12 @@ # ################################################################################ -SSLH_VERSION = 1.22c +SSLH_VERSION = 2.0.1 SSLH_SOURCE = sslh-v$(SSLH_VERSION).tar.gz SSLH_SITE = http://www.rutschle.net/tech/sslh SSLH_LICENSE = GPL-2.0+ SSLH_LICENSE_FILES = COPYING +SSLH_CPE_ID_VALID = YES SSLH_DEPENDENCIES = pcre2 SSLH_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" @@ -34,6 +35,13 @@ else SSLH_MAKE_OPTS += USELIBCONFIG= endif +ifeq ($(BR2_PACKAGE_LIBEV),y) +SSLH_DEPENDENCIES += libev +SSLH_MAKE_OPTS += USELIBEV=1 +else +SSLH_MAKE_OPTS += USELIBEV= +endif + ifeq ($(BR2_PACKAGE_SYSTEMD),y) SSLH_DEPENDENCIES += systemd SSLH_MAKE_OPTS += USESYSTEMD=1 diff --git a/package/stella/stella.hash b/package/stella/stella.hash index 17d059226cf..59c68064590 100644 --- a/package/stella/stella.hash +++ b/package/stella/stella.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 babfcbb39abbd1a992cb1e6d3b2f508df7ed19cb9d0b5b5d624828bb98f97267 stella-6.7-src.tar.xz +sha256 9ef880df87f2d3ffebfbad915247d1fd5a3aca41dfd6a754dcf7a142ac826752 stella-6.7.1-src.tar.xz sha256 e82dd017fea2c70a16726aa1d7c05c5b7597e10f7229511c1b110bf84cb507c0 Copyright.txt sha256 58530d09b6fcb91ae27071be0081af90e6c2d7fdf991d34a29e234a2a5e75455 License.txt diff --git a/package/stella/stella.mk b/package/stella/stella.mk index aa5da1996e1..c48bb593a42 100644 --- a/package/stella/stella.mk +++ b/package/stella/stella.mk @@ -4,7 +4,7 @@ # ################################################################################ -STELLA_VERSION = 6.7 +STELLA_VERSION = 6.7.1 STELLA_SOURCE = stella-$(STELLA_VERSION)-src.tar.xz STELLA_SITE = https://github.com/stella-emu/stella/releases/download/$(STELLA_VERSION) STELLA_LICENSE = GPL-2.0+ diff --git a/package/stellarium/stellarium.hash b/package/stellarium/stellarium.hash index f33dd385ca7..a2f511a283d 100644 --- a/package/stellarium/stellarium.hash +++ b/package/stellarium/stellarium.hash @@ -1,5 +1,4 @@ # From https://github.com/Stellarium/stellarium/releases -sha1 3661b4e8a94e7a520873fa22ddc79f39904eb1c4 stellarium-0.22.2.tar.gz -sha256 31e965d32cafc0fbad212c7ef4efbeac988f909206013554e1fe35123ebb9376 stellarium-0.22.2.tar.gz +sha256 179420e9e9f11278b78dc54e14458452c92055cc8923538748c8a0f961714fc2 stellarium-23.3.tar.xz # Locally computed sha256 3aeeb5bb98bf7041ab82cffe15efa28ac58ee2bdf162b71301f5c192be631259 COPYING diff --git a/package/stellarium/stellarium.mk b/package/stellarium/stellarium.mk index 769e7049c10..94ad4e13520 100644 --- a/package/stellarium/stellarium.mk +++ b/package/stellarium/stellarium.mk @@ -4,7 +4,8 @@ # ################################################################################ -STELLARIUM_VERSION = 0.22.2 +STELLARIUM_VERSION = 23.3 +STELLARIUM_SOURCE = stellarium-$(STELLARIUM_VERSION).tar.xz STELLARIUM_SITE = https://github.com/Stellarium/stellarium/releases/download/v$(STELLARIUM_VERSION) STELLARIUM_LICENSE = GPL-2.0+ STELLARIUM_LICENSE_FILES = COPYING @@ -17,7 +18,11 @@ STELLARIUM_DEPENDENCIES = \ STELLARIUM_CONF_OPTS = \ -DENABLE_MEDIA=ON \ -DENABLE_NLS=OFF \ + -DENABLE_SHOWMYSKY=OFF \ -DENABLE_QTWEBENGINE=OFF \ + -DENABLE_QT6=OFF \ + -DENABLE_XLSX=OFF \ + -DUSE_PLUGIN_TELESCOPECONTROL=OFF \ -DUSE_SYSTEM_ZLIB=ON ifeq ($(BR2_PACKAGE_QT5SCRIPT),y) @@ -32,13 +37,9 @@ STELLARIUM_DEPENDENCIES += qt5serialport ifeq ($(BR2_PACKAGE_GPSD),y) STELLARIUM_DEPENDENCIES += gpsd endif -STELLARIUM_CONF_OPTS += \ - -DENABLE_GPS=ON \ - -DUSE_PLUGIN_TELESCOPECONTROL=ON +STELLARIUM_CONF_OPTS += -DENABLE_GPS=ON else -STELLARIUM_CONF_OPTS += \ - -DENABLE_GPS=OFF \ - -DUSE_PLUGIN_TELESCOPECONTROL=OFF +STELLARIUM_CONF_OPTS += -DENABLE_GPS=OFF endif $(eval $(cmake-package)) diff --git a/package/strace/Config.in b/package/strace/Config.in index dc245c7297b..e0551f38613 100644 --- a/package/strace/Config.in +++ b/package/strace/Config.in @@ -4,6 +4,10 @@ config BR2_PACKAGE_STRACE depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 || !BR2_nios2 # needs at least kernel headers 5.0 on xtensa depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_xtensa + # needs at least kernel headers 5.0 on musl aarch64 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || \ + !(BR2_aarch64 || BR2_aarch64_be) || \ + !BR2_TOOLCHAIN_USES_MUSL depends on !BR2_RISCV_32 help A useful diagnostic, instructional, and debugging tool. @@ -22,3 +26,8 @@ comment "strace needs a toolchain w/ headers >= 4.0 on nios2" comment "strace needs a toolchain w/ headers >= 5.0 on xtensa" depends on BR2_xtensa depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 + +comment "strace needs a musl toolchain w/ headers >= 5.0 on aarch64" + depends on BR2_aarch64 || BR2_aarch64_be + depends on BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 diff --git a/package/strace/strace.hash b/package/strace/strace.hash index 1743a369b4a..a35d2b0be6e 100644 --- a/package/strace/strace.hash +++ b/package/strace/strace.hash @@ -1,5 +1,5 @@ # Locally calculated after checking signature with RSA key 0xA8041FA839E16E36 -# https://strace.io/files/6.0/strace-6.0.tar.xz.asc -sha256 92d720a666855e9f1c6a11512fd6e99674a82bbfe1442557815f2ce8e1293338 strace-6.0.tar.xz -sha256 d92f973d08c8466993efff1e500453add0c038c20b4d2cbce3297938a296aea9 COPYING +# https://strace.io/files/6.7/strace-6.7.tar.xz.asc +sha256 2090201e1a3ff32846f4fe421c1163b15f440bb38e31355d09f82d3949922af7 strace-6.7.tar.xz +sha256 1988d0e1aa101d68855e8c4f940aacf2531051b82f6b608eb026c5fad1f33df1 COPYING sha256 7c379436436a562834aa7d2f5dcae1f80a25230fa74201046ca1fba4367d39aa LGPL-2.1-or-later diff --git a/package/strace/strace.mk b/package/strace/strace.mk index 09e620530e6..ddcdfabb291 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -4,12 +4,12 @@ # ################################################################################ -STRACE_VERSION = 6.0 +STRACE_VERSION = 6.7 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSION) STRACE_LICENSE = LGPL-2.1+ STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later -STRACE_CPE_ID_VENDOR = strace_project +STRACE_CPE_ID_VALID = YES STRACE_CONF_OPTS = --enable-mpers=no ifeq ($(BR2_PACKAGE_LIBUNWIND),y) diff --git a/package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch b/package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch deleted file mode 100644 index 4c62da32413..00000000000 --- a/package/stress-ng/0001-Makefile-fix-build-with-kernel-5.6.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5d419c790e648c7a2f96f34ed1b93b326f725545 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 13 Aug 2022 17:17:05 +0200 -Subject: [PATCH] Makefile: fix build with kernel < 5.6 - -Fix the following build failure with kernel >= 5.1 and < 5.5 (i.e. -before -https://github.com/torvalds/linux/commit/9e3aa61ae3e01ce1ce6361a41ef725e1f4d1d2bf) -raised since version 0.11.21 and -https://github.com/ColinIanKing/stress-ng/commit/3d6fccdbe53d0cbcb75dd4b91571aaaae7ee1ad4: - -In file included from stress-io-uring.c:26: -io-uring.h:1:9: error: macro names must be identifiers - 1 | #define #define HAVE_IORING_OP_NOP 0 - | ^ - -Moreover, IORING_OP_FALLOCATE is not available before kernel 5.6 and -https://github.com/torvalds/linux/commit/d63d1b5edb7b832210bfde587ba9e7549fa064eb - -Fixes: - - http://autobuild.buildroot.org/results/1bf3f2bbc849bdce531d56b1024fa87f0c1ae667 - -Signed-off-by: Fabrice Fontaine -[Retrieved (and backported) from -https://github.com/ColinIanKing/stress-ng/commit/5d419c790e648c7a2f96f34ed1b93b326f725545] ---- - Makefile | 2 +- - stress-io-uring.c | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 2f9cc9918..ee17ae08b 100644 ---- a/Makefile -+++ b/Makefile -@@ -528,7 +528,7 @@ stress-personality.c: personality.h - # - io-uring.h: - $(V)$(CPP) $(CFLAGS) core-io-uring.c | $(GREP) IORING_OP | sed 's/,//' | \ -- sed 's/IORING_OP_/#define HAVE_IORING_OP_/' > io-uring.h -+ sed 's/.*\(IORING_OP_.*\)/#define HAVE_\1/' > io-uring.h - $(Q)echo "MK io-uring.h" - - stress-io-uring.c: io-uring.h -diff --git a/stress-io-uring.c b/stress-io-uring.c -index ab9fd0749..84f463611 100644 ---- a/stress-io-uring.c -+++ b/stress-io-uring.c -@@ -311,7 +311,11 @@ static inline int stress_io_uring_complete( - break; - - cqe = &cring->cqes[head & *submit->cq_ring.ring_mask]; -- if ((cqe->res < 0) && (opcode != IORING_OP_FALLOCATE)) { -+ if ((cqe->res < 0) -+#ifdef HAVE_IORING_OP_FALLOCATE -+ && (opcode != IORING_OP_FALLOCATE) -+#endif -+ ) { - const int err = abs(cqe->res); - - /* Silently ignore EOPNOTSUPP completion errors */ diff --git a/package/stress-ng/Config.in b/package/stress-ng/Config.in index 839cbb1cc03..918c3db1947 100644 --- a/package/stress-ng/Config.in +++ b/package/stress-ng/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_STRESS_NG bool "stress-ng" depends on BR2_USE_MMU # fork() # perf.c needs PERF_COUNT_HW_REF_CPU_CYCLES + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 and ARC depends on !BR2_nios2 @@ -16,5 +17,6 @@ config BR2_PACKAGE_STRESS_NG comment "stress-ng needs a toolchain w/ headers >= 3.3" depends on !BR2_nios2 && !BR2_arc + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 diff --git a/package/stress-ng/stress-ng.hash b/package/stress-ng/stress-ng.hash index 2e3f9987693..a02b65c9920 100644 --- a/package/stress-ng/stress-ng.hash +++ b/package/stress-ng/stress-ng.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3de49e1100866634f549e99c1644283d0cde817b844a69dcf7f80afa2227d350 stress-ng-0.13.05.tar.gz +sha256 7ad1f30237011149e7f83451ea7cb49e88c0a79bed55e29b556c6a72b9f1d79d stress-ng-0.15.07.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk index 0b2287c7fbc..24ec4cb5157 100644 --- a/package/stress-ng/stress-ng.mk +++ b/package/stress-ng/stress-ng.mk @@ -4,11 +4,14 @@ # ################################################################################ -STRESS_NG_VERSION = 0.13.05 +STRESS_NG_VERSION = 0.15.07 STRESS_NG_SITE = $(call github,ColinIanKing,stress-ng,V$(STRESS_NG_VERSION)) STRESS_NG_LICENSE = GPL-2.0+ STRESS_NG_LICENSE_FILES = COPYING +STRESS_NG_MAKE_FLAGS = \ + PRESERVE_CFLAGS=1 + ifeq ($(BR2_PACKAGE_LIBBSD),y) STRESS_NG_DEPENDENCIES += libbsd endif @@ -17,8 +20,12 @@ ifeq ($(BR2_PACKAGE_KEYUTILS),y) STRESS_NG_DEPENDENCIES += keyutils endif +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +STRESS_NG_MAKE_FLAGS += LDFLAGS="$(TARGET_LDFLAGS) -latomic" +endif + define STRESS_NG_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(STRESS_NG_MAKE_FLAGS) endef # Don't use make install otherwise stress-ng will be rebuild without diff --git a/package/stress/stress.hash b/package/stress/stress.hash index dc1785b6c7e..ac36122594f 100644 --- a/package/stress/stress.hash +++ b/package/stress/stress.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1798e49ca365d928fb194ba1b8e8d1e09963b49e9edb0a78bcbba15750bb5027 stress-1.0.5.tar.gz +sha256 e63adb57597e617c14ecb0d841b5d990460796d9e9ec69bd56fe645ef02eb239 stress-1.0.7.tar.bz2 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/stress/stress.mk b/package/stress/stress.mk index 99a50f349e5..53f01b3b0aa 100644 --- a/package/stress/stress.mk +++ b/package/stress/stress.mk @@ -4,12 +4,11 @@ # ################################################################################ -STRESS_VERSION = 1.0.5 -STRESS_SITE = $(call github,resurrecting-open-source-projects,stress,$(STRESS_VERSION)) +STRESS_VERSION = 1.0.7 +STRESS_SOURCE = stress-$(STRESS_VERSION).tar.bz2 +STRESS_SITE = https://github.com/resurrecting-open-source-projects/stress/releases/download/$(STRESS_VERSION) STRESS_LICENSE = GPL-2.0+ STRESS_LICENSE_FILES = COPYING -# From git -STRESS_AUTORECONF = YES # Stress is linked statically if the --enable-static is specified. # However, this option is always specified in the global diff --git a/package/strongswan/Config.in b/package/strongswan/Config.in index f2e597e0163..a62688f9c37 100644 --- a/package/strongswan/Config.in +++ b/package/strongswan/Config.in @@ -35,19 +35,14 @@ config BR2_PACKAGE_STRONGSWAN_BOTAN bool "botan" depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # botan select BR2_PACKAGE_BOTAN -comment "botan backend needs a toolchain w/ C++, gcc >= 4.8" +comment "botan backend needs a toolchain w/ C++, gcc >= 10" depends on !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS -comment "botan backend needs a toolchain not affected by GCC bug 64735" - depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - config BR2_PACKAGE_STRONGSWAN_OPENSSL bool "OpenSSL" select BR2_PACKAGE_OPENSSL @@ -193,7 +188,7 @@ config BR2_PACKAGE_STRONGSWAN_STROKE config BR2_PACKAGE_STRONGSWAN_SQL bool "Enable SQL database configuration backend" - depends on BR2_PACKAGE_SQLITE || BR2_PACKAGE_MYSQL + depends on BR2_PACKAGE_SQLITE || BR2_PACKAGE_MARIADB config BR2_PACKAGE_STRONGSWAN_BYPASS_LAN bool "Enable BYPASS-LAN plugin" @@ -204,9 +199,6 @@ config BR2_PACKAGE_STRONGSWAN_PKI bool "Enable pki certificate utility" default y -config BR2_PACKAGE_STRONGSWAN_SCEP - bool "Enable SCEP client tool" - config BR2_PACKAGE_STRONGSWAN_SCRIPTS bool "Enable additional utilities (found in scripts directory)" default y diff --git a/package/strongswan/strongswan.hash b/package/strongswan/strongswan.hash index 4822f9152fd..ed8cf0ae31d 100644 --- a/package/strongswan/strongswan.hash +++ b/package/strongswan/strongswan.hash @@ -1,7 +1,7 @@ -# From http://download.strongswan.org/strongswan-5.9.8.tar.bz2.md5 -md5 f46b0d3e7aed88824650d0721c887443 strongswan-5.9.8.tar.bz2 +# From http://download.strongswan.org/strongswan-5.9.13.tar.bz2.md5 +md5 9ada6be0c89846fb7ded1787a17cfbb2 strongswan-5.9.13.tar.bz2 # Calculated based on the hash above -sha256 d3303a43c0bd7b75a12b64855e8edcb53696f06190364f26d1533bde1f2e453c strongswan-5.9.8.tar.bz2 +sha256 56e30effb578fd9426d8457e3b76c8c3728cd8a5589594b55649b2719308ba55 strongswan-5.9.13.tar.bz2 # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 2292e21797754548dccdef9eef6aee7584e552fbd890fa914e1de8d3577d23f0 LICENSE diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index cae1433e392..41959793a31 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRONGSWAN_VERSION = 5.9.8 +STRONGSWAN_VERSION = 5.9.13 STRONGSWAN_SOURCE = strongswan-$(STRONGSWAN_VERSION).tar.bz2 STRONGSWAN_SITE = http://download.strongswan.org STRONGSWAN_LICENSE = GPL-2.0+ @@ -33,7 +33,6 @@ STRONGSWAN_CONF_OPTS += \ --enable-stroke=$(if $(BR2_PACKAGE_STRONGSWAN_STROKE),yes,no) \ --enable-sql=$(if $(BR2_PACKAGE_STRONGSWAN_SQL),yes,no) \ --enable-pki=$(if $(BR2_PACKAGE_STRONGSWAN_PKI),yes,no) \ - --enable-scepclient=$(if $(BR2_PACKAGE_STRONGSWAN_SCEP),yes,no) \ --enable-scripts=$(if $(BR2_PACKAGE_STRONGSWAN_SCRIPTS),yes,no) \ --enable-vici=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ --enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ @@ -81,7 +80,7 @@ STRONGSWAN_DEPENDENCIES += \ ifeq ($(BR2_PACKAGE_STRONGSWAN_SQL),y) STRONGSWAN_DEPENDENCIES += \ $(if $(BR2_PACKAGE_SQLITE),sqlite) \ - $(if $(BR2_PACKAGE_MYSQL),mysql) + $(if $(BR2_PACKAGE_MARIADB),mariadb) endif # disable connmark/forecast until net/if.h vs. linux/if.h conflict resolved diff --git a/package/stunnel/0001-src-ocsp.c-fix-build-with-OPENSSL_NO_PSK.patch b/package/stunnel/0001-src-ocsp.c-fix-build-with-OPENSSL_NO_PSK.patch new file mode 100644 index 00000000000..a8edc1d465f --- /dev/null +++ b/package/stunnel/0001-src-ocsp.c-fix-build-with-OPENSSL_NO_PSK.patch @@ -0,0 +1,45 @@ +From 93e5cdd68b13cc3161d9b0094b0f331bdaf07cbc Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 6 Jan 2024 17:28:20 +0100 +Subject: [PATCH] src/ocsp.c: fix build with OPENSSL_NO_PSK + +Fix the following build failure with OPENSSL_NO_PSK: + +ocsp.c: In function 'ocsp_init': +ocsp.c:112:20: error: 'SERVICE_OPTIONS' {aka 'struct service_options_struct'} has no member named 'psk_keys' + 112 | if(!section->psk_keys) { + | ^~ + +Fixes: + - http://autobuild.buildroot.org/results/1707beea413a8da8713ad2dc59db947329da45d2 + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/mtrojnar/stunnel/pull/18 +--- + src/ocsp.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/ocsp.c b/src/ocsp.c +index 5073ded..12792af 100644 +--- a/src/ocsp.c ++++ b/src/ocsp.c +@@ -109,12 +109,16 @@ int ocsp_init(SERVICE_OPTIONS *section) { + s_log(LOG_DEBUG, "OCSP: Client OCSP stapling enabled"); + } else { + #if OPENSSL_VERSION_NUMBER>=0x10002000L ++#ifndef OPENSSL_NO_PSK + if(!section->psk_keys) { ++#endif + if(SSL_CTX_set_tlsext_status_cb(section->ctx, ocsp_server_cb)==TLSEXT_STATUSTYPE_ocsp) + s_log(LOG_DEBUG, "OCSP: Server OCSP stapling enabled"); ++#ifndef OPENSSL_NO_PSK + } else { + s_log(LOG_NOTICE, "OCSP: Server OCSP stapling is incompatible with PSK"); + } ++#endif + #else /* OpenSSL version 1.0.2 or later */ + s_log(LOG_NOTICE, "OCSP: Server OCSP stapling not supported"); + #endif /* OpenSSL version 1.0.2 or later */ +-- +2.43.0 + diff --git a/package/stunnel/stunnel.hash b/package/stunnel/stunnel.hash index 19633b3c188..6bfbc6d0b27 100644 --- a/package/stunnel/stunnel.hash +++ b/package/stunnel/stunnel.hash @@ -1,5 +1,5 @@ -# From https://www.stunnel.org/downloads/stunnel-5.65.tar.gz.sha256 -sha256 60c500063bd1feff2877f5726e38278c086f96c178f03f09d264a2012d6bf7fc stunnel-5.65.tar.gz +# From https://www.stunnel.org/downloads/stunnel-5.71.tar.gz.sha256 +sha256 f023aae837c2d32deb920831a5ee1081e11c78a5d57340f8e6f0829f031017f5 stunnel-5.71.tar.gz # Locally calculated -sha256 f10bcd7ee7b722dce40c9c674761ddb37e7e29a76a6e413e961cd52e361c5d7a COPYING.md +sha256 c172514e95e387eb4c77cdfbb55b635bf96e2dfcb85d785d993f64c40c4f89c4 COPYING.md sha256 62f171d4d8b6726df61f18a6bbc0a70f79c4bc2134d837d35c81fc6289a2d84d COPYRIGHT.md diff --git a/package/stunnel/stunnel.mk b/package/stunnel/stunnel.mk index 95a1530eb8b..9e9cf355541 100644 --- a/package/stunnel/stunnel.mk +++ b/package/stunnel/stunnel.mk @@ -5,7 +5,7 @@ ################################################################################ STUNNEL_VERSION_MAJOR = 5 -STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).65 +STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).71 STUNNEL_SITE = http://www.usenix.org.uk/mirrors/stunnel/archive/$(STUNNEL_VERSION_MAJOR).x STUNNEL_DEPENDENCIES = host-pkgconf openssl STUNNEL_CONF_OPTS = --with-ssl=$(STAGING_DIR)/usr --with-threads=fork \ diff --git a/package/subversion/subversion.hash b/package/subversion/subversion.hash index d2239b1b5b3..2710e9e3f3c 100644 --- a/package/subversion/subversion.hash +++ b/package/subversion/subversion.hash @@ -1,5 +1,5 @@ -# From https://www.apache.org/dist/subversion/subversion-1.14.2.tar.bz2.sha512 -sha512 20ada4688ca07d9fb8da4b7d53b5084568652a3b9418c65e688886bae950a16a3ff37710fcfc9c29ef14a89e75b2ceec4e9cf35d5876a7896ebc2b512cfb9ecc subversion-1.14.2.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.14.3.tar.bz2.sha512 +sha512 40b172492005fd3b0cd9e457b4444af8ea5d8ff8fc161a9a0c6dc3a7314c6ad4ff75a4676f68a1919ae6273ae03e34d04eba8c1c37b8c0b4ec70d6731b527b41 subversion-1.14.3.tar.bz2 # Locally calculated sha256 484aff0cfbb81155a10f903ed756e27e9fc65578c245a295bae295c4bb51eaad LICENSE diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk index b27058c024c..bc0b9b45ab9 100644 --- a/package/subversion/subversion.mk +++ b/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.14.2 +SUBVERSION_VERSION = 1.14.3 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = https://downloads.apache.org/subversion SUBVERSION_LICENSE = Apache-2.0 diff --git a/package/sudo/0001-Fix-CVE-2022-43995.patch b/package/sudo/0001-Fix-CVE-2022-43995.patch deleted file mode 100644 index 3f544dcf817..00000000000 --- a/package/sudo/0001-Fix-CVE-2022-43995.patch +++ /dev/null @@ -1,53 +0,0 @@ -From bd209b9f16fcd1270c13db27ae3329c677d48050 Mon Sep 17 00:00:00 2001 -From: "Todd C. Miller" -Date: Fri, 28 Oct 2022 07:29:55 -0600 -Subject: [PATCH] Fix CVE-2022-43995, potential heap overflow for passwords < 8 - characters. Starting with sudo 1.8.0 the plaintext password buffer is - dynamically sized so it is not safe to assume that it is at least 9 bytes in - size. Found by Hugo Lefeuvre (University of Manchester) with ConfFuzz. - -[Retrieved from: -https://github.com/sudo-project/sudo/commit/bd209b9f16fcd1270c13db27ae3329c677d48050] -Signed-off-by: Fabrice Fontaine ---- - plugins/sudoers/auth/passwd.c | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/plugins/sudoers/auth/passwd.c b/plugins/sudoers/auth/passwd.c -index b2046eca2..0416861e9 100644 ---- a/plugins/sudoers/auth/passwd.c -+++ b/plugins/sudoers/auth/passwd.c -@@ -63,7 +63,7 @@ sudo_passwd_init(struct passwd *pw, sudo_auth *auth) - int - sudo_passwd_verify(struct passwd *pw, char *pass, sudo_auth *auth, struct sudo_conv_callback *callback) - { -- char sav, *epass; -+ char des_pass[9], *epass; - char *pw_epasswd = auth->data; - size_t pw_len; - int matched = 0; -@@ -75,12 +75,12 @@ sudo_passwd_verify(struct passwd *pw, char *pass, sudo_auth *auth, struct sudo_c - - /* - * Truncate to 8 chars if standard DES since not all crypt()'s do this. -- * If this turns out not to be safe we will have to use OS #ifdef's (sigh). - */ -- sav = pass[8]; - pw_len = strlen(pw_epasswd); -- if (pw_len == DESLEN || HAS_AGEINFO(pw_epasswd, pw_len)) -- pass[8] = '\0'; -+ if (pw_len == DESLEN || HAS_AGEINFO(pw_epasswd, pw_len)) { -+ strlcpy(des_pass, pass, sizeof(des_pass)); -+ pass = des_pass; -+ } - - /* - * Normal UN*X password check. -@@ -88,7 +88,6 @@ sudo_passwd_verify(struct passwd *pw, char *pass, sudo_auth *auth, struct sudo_c - * only compare the first DESLEN characters in that case. - */ - epass = (char *) crypt(pass, pw_epasswd); -- pass[8] = sav; - if (epass != NULL) { - if (HAS_AGEINFO(pw_epasswd, pw_len) && strlen(epass) == DESLEN) - matched = !strncmp(pw_epasswd, epass, DESLEN); diff --git a/package/sudo/0001-src-exec_ptrace-fix-build-without-precess_vm_readv.patch b/package/sudo/0001-src-exec_ptrace-fix-build-without-precess_vm_readv.patch new file mode 100644 index 00000000000..446f1d17978 --- /dev/null +++ b/package/sudo/0001-src-exec_ptrace-fix-build-without-precess_vm_readv.patch @@ -0,0 +1,41 @@ +From 5bbfaa8e68b5ee6f27d4fbfa3c4e789341724f9c Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sat, 17 Feb 2024 17:52:45 +0100 +Subject: [PATCH] src/exec_ptrace: fix build without precess_vm_readv() + +Commit 32f4b98f6b4a (sudo frontend: silence most -Wconversion warnings.) +broke the build on C libraries that miss process_vm_readv(), like +uClibc-ng. + +Indeed, the ssize_t nwritten is declared guarded by HAVE_PROCESS_VM_READV, +but is then re-assigned and used a few lines below, outside any guard. + +Fix that by always declaring the object, as it is always needed. + +Signed-off-by: Yann E. MORIN +Upstream: https://github.com/sudo-project/sudo/commit/5bbfaa8e68b5ee6f27d4fbfa3c4e789341724f9c +--- + src/exec_ptrace.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/exec_ptrace.c b/src/exec_ptrace.c +index 9dd36c275..3d44b82e2 100644 +--- a/src/exec_ptrace.c ++++ b/src/exec_ptrace.c +@@ -878,11 +878,12 @@ ptrace_write_vec(pid_t pid, struct sudo_ptrace_regs *regs, char **vec, + unsigned long addr, unsigned long strtab) + { + const unsigned long strtab0 = strtab; ++ ssize_t nwritten; + size_t i; + debug_decl(ptrace_write_vec, SUDO_DEBUG_EXEC); + + #ifdef HAVE_PROCESS_VM_READV +- ssize_t nwritten = ptrace_writev_vec(pid, regs, vec, addr, strtab); ++ nwritten = ptrace_writev_vec(pid, regs, vec, addr, strtab); + if (nwritten != -1 || errno != ENOSYS) + debug_return_ssize_t(nwritten); + #endif /* HAVE_PROCESS_VM_READV */ +-- +2.43.0 + diff --git a/package/sudo/Config.in b/package/sudo/Config.in index cbef15d67b6..ee5ea542abf 100644 --- a/package/sudo/Config.in +++ b/package/sudo/Config.in @@ -8,4 +8,4 @@ config BR2_PACKAGE_SUDO basic philosophy is to give as few privileges as possible but still allow people to get their work done. - http://www.sudo.ws/sudo/ + https://www.sudo.ws/sudo/ diff --git a/package/sudo/sudo.hash b/package/sudo/sudo.hash index 63c98e2c4e9..066d3b9de6d 100644 --- a/package/sudo/sudo.hash +++ b/package/sudo/sudo.hash @@ -1,4 +1,4 @@ -# From: http://www.sudo.ws/download.html -sha256 a21918eb9fc0063794f6887464fa2d924ab6d192e19063191a429605c22791d2 sudo-1.9.11p2.tar.gz +# From: https://www.sudo.ws/getting/download/ +sha256 558d10b9a1991fb3b9fa7fa7b07ec4405b7aefb5b3cb0b0871dbc81e3a88e558 sudo-1.9.15p5.tar.gz # Locally calculated -sha256 cf3a83366f9aabfd76d693ce03843106fcaaf6c76dfa97610f7c0b719a06e6bb LICENSE.md +sha256 ea33b3971e8e4d9657cd6794a952aaa71b22bd16745f1645455b6ead010e0a28 LICENSE.md diff --git a/package/sudo/sudo.mk b/package/sudo/sudo.mk index 8e237bd36a0..7961a990024 100644 --- a/package/sudo/sudo.mk +++ b/package/sudo/sudo.mk @@ -4,8 +4,8 @@ # ################################################################################ -SUDO_VERSION_MAJOR = 1.9.11 -SUDO_VERSION_MINOR = p2 +SUDO_VERSION_MAJOR = 1.9.15 +SUDO_VERSION_MINOR = p5 SUDO_VERSION = $(SUDO_VERSION_MAJOR)$(SUDO_VERSION_MINOR) SUDO_SITE = https://www.sudo.ws/sudo/dist SUDO_LICENSE = ISC, BSD-3-Clause @@ -25,9 +25,6 @@ SUDO_CONF_OPTS = \ --without-interfaces \ --with-env-editor -# 0001-Fix-CVE-2022-43995.patch -SUDO_IGNORE_CVES += CVE-2022-43995 - ifeq ($(BR2_PACKAGE_LINUX_PAM),y) define SUDO_INSTALL_PAM_CONF $(INSTALL) -D -m 0644 package/sudo/sudo.pam $(TARGET_DIR)/etc/pam.d/sudo @@ -61,15 +58,6 @@ else SUDO_CONF_OPTS += --disable-openssl endif -# mksigname/mksiglist needs to run on build host to generate source files -define SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST - $(MAKE) $(HOST_CONFIGURE_OPTS) \ - CPPFLAGS="$(HOST_CPPFLAGS) -I../../include -I../.." \ - -C $(@D)/lib/util mksigname mksiglist -endef - -SUDO_POST_CONFIGURE_HOOKS += SUDO_BUILD_MKSIGNAME_MKSIGLIST_HOST - define SUDO_PERMISSIONS /usr/bin/sudo f 4755 0 0 - - - - - endef diff --git a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash index fd874f1f0a1..be27a85970c 100644 --- a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash +++ b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4b66f20272c63ce8ea769bf1c95f9923ed6facabe0c14a8c7644b302b9f23b58 sunxi-mali-utgard-driver-73a80d550f2f181b5fc7fc2d859e15d077d845e4.tar.gz +sha256 f2e5e671575d9488fd19b821d70e59952b6dbbb5b2036ea5462f811eec819370 sunxi-mali-utgard-driver-c4bc3e229c0e5f30c24c20ff1fb8db0e4a450c0f.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk index 15d660e49dd..72fade58ed6 100644 --- a/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk +++ b/package/sunxi-mali-utgard-driver/sunxi-mali-utgard-driver.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUNXI_MALI_UTGARD_DRIVER_VERSION = 73a80d550f2f181b5fc7fc2d859e15d077d845e4 +SUNXI_MALI_UTGARD_DRIVER_VERSION = c4bc3e229c0e5f30c24c20ff1fb8db0e4a450c0f SUNXI_MALI_UTGARD_DRIVER_SITE = $(call github,giuliobenetti,sunxi-mali,$(SUNXI_MALI_UTGARD_DRIVER_VERSION)) SUNXI_MALI_UTGARD_DRIVER_DEPENDENCIES = linux SUNXI_MALI_UTGARD_DRIVER_LICENSE = GPL-2.0 diff --git a/package/sunxi-mali-utgard/Config.in b/package/sunxi-mali-utgard/Config.in index ff49ea03f17..f70a6f645ce 100644 --- a/package/sunxi-mali-utgard/Config.in +++ b/package/sunxi-mali-utgard/Config.in @@ -18,8 +18,13 @@ config BR2_PACKAGE_PROVIDES_LIBEGL config BR2_PACKAGE_PROVIDES_LIBGLES default "sunxi-mali-utgard" +config BR2_PACKAGE_PROVIDES_LIBGBM + default "sunxi-mali-utgard" if BR2_PACKAGE_SUNXI_MALI_UTGARD_WAYLAND + choice prompt "Version" + default BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 # legacy + default BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 # legacy default BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 help Select the version of the userspace module. @@ -36,6 +41,32 @@ config BR2_PACKAGE_SUNXI_MALI_UTGARD_REVISION default "r6p2" if BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 default "r8p1" if BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1 +choice + prompt "Platform" + default BR2_PACKAGE_SUNXI_MALI_UTGARD_FBDEV + help + Select the target EGL platform. + +config BR2_PACKAGE_SUNXI_MALI_UTGARD_FBDEV + bool "fbdev" + +config BR2_PACKAGE_SUNXI_MALI_UTGARD_WAYLAND + bool "wayland" + depends on BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 + select BR2_PACKAGE_HAS_LIBEGL_WAYLAND + select BR2_PACKAGE_HAS_LIBGBM + select BR2_PACKAGE_WAYLAND + +comment "wayland support requires version r6p2" + depends on !BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2 + +endchoice + +config BR2_PACKAGE_SUNXI_MALI_UTGARD_PLATFORM + string + default "fbdev" if BR2_PACKAGE_SUNXI_MALI_UTGARD_FBDEV + default "wayland" if BR2_PACKAGE_SUNXI_MALI_UTGARD_WAYLAND + endif comment "sunxi-mali-utgard needs an EABIhf glibc toolchain" diff --git a/package/sunxi-mali-utgard/sunxi-mali-utgard.mk b/package/sunxi-mali-utgard/sunxi-mali-utgard.mk index f6936679558..cd03ad62f7a 100644 --- a/package/sunxi-mali-utgard/sunxi-mali-utgard.mk +++ b/package/sunxi-mali-utgard/sunxi-mali-utgard.mk @@ -14,6 +14,7 @@ SUNXI_MALI_UTGARD_EULA_NO_SPACES = EULA_for_Mali_400MP_AW.pdf SUNXI_MALI_UTGARD_LICENSE_FILES = $(SUNXI_MALI_UTGARD_EULA_NO_SPACES) SUNXI_MALI_UTGARD_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_UTGARD_REVISION)) +SUNXI_MALI_UTGARD_PLATFORM = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_UTGARD_PLATFORM)) ifeq ($(BR2_arm),y) SUNXI_MALI_UTGARD_ARCH=arm @@ -24,9 +25,9 @@ endif define SUNXI_MALI_UTGARD_INSTALL_STAGING_CMDS mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include - cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/fbdev/*.so* \ + cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/$(SUNXI_MALI_UTGARD_PLATFORM)/*.so* \ $(STAGING_DIR)/usr/lib/ - cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/ + cp -rf $(@D)/include/$(SUNXI_MALI_UTGARD_PLATFORM)/* $(STAGING_DIR)/usr/include/ $(INSTALL) -D -m 0644 package/sunxi-mali-utgard/egl.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc @@ -34,9 +35,21 @@ define SUNXI_MALI_UTGARD_INSTALL_STAGING_CMDS $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc endef +ifeq ($(BR2_PACKAGE_SUNXI_MALI_UTGARD_WAYLAND),y) +define SUNXI_MALI_UTGARD_INSTALL_FIXUP_STAGING_PC_FILES + sed -e '/^Cflags:/s/$$/ -DWL_EGL_PLATFORM/' \ + -e '/^Requires:/s/$$/ wayland-client wayland-server/' \ + -i $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc + sed -e '/^Requires:/s/$$/ wayland-client wayland-server/' \ + -i $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc +endef +SUNXI_MALI_UTGARD_POST_INSTALL_TARGET_HOOKS += SUNXI_MALI_UTGARD_INSTALL_FIXUP_STAGING_PC_FILES +SUNXI_MALI_UTGARD_DEPENDENCIES += wayland +endif + define SUNXI_MALI_UTGARD_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/lib - cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/fbdev/*.so* \ + cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/$(SUNXI_MALI_UTGARD_PLATFORM)/*.so* \ $(TARGET_DIR)/usr/lib/ endef diff --git a/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch b/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch deleted file mode 100644 index 997c413f232..00000000000 --- a/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5c0a443ba336f10a8db6a99c769aa84ad37ed4d2 Mon Sep 17 00:00:00 2001 -From: Vadim Kochan -Date: Wed, 20 Feb 2019 02:48:43 +0200 -Subject: [PATCH] meminfo: Access to io memory via pointers - -The main reason for this is to be able compile with musl library, -because there is no support of inx/outx functions for ARM platform. - -Signed-off-by: Vadim Kochan ---- - meminfo.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/meminfo.c b/meminfo.c -index 0b0ff23..7d9f10f 100644 ---- a/meminfo.c -+++ b/meminfo.c -@@ -22,7 +22,6 @@ - #include - #include - #include --#include - #include - - #include "common.h" -@@ -74,24 +73,26 @@ static enum sunxi_soc_version soc_version; - unsigned int - sunxi_io_read(void *base, int offset) - { -- return inl((unsigned long) (base + offset)); -+ unsigned long port = (unsigned long) (base + offset); -+ return *((volatile unsigned long *) port); - } - - void - sunxi_io_write(void *base, int offset, unsigned int value) - { -- outl(value, (unsigned long) (base + offset)); -+ unsigned long port = (unsigned long) (base + offset); -+ *((volatile unsigned long *) port) = value; - } - - void - sunxi_io_mask(void *base, int offset, unsigned int value, unsigned int mask) - { -- unsigned int tmp = inl((unsigned long) (base + offset)); -+ unsigned int tmp = sunxi_io_read(base, offset); - - tmp &= ~mask; - tmp |= value & mask; - -- outl(tmp, (unsigned long) (base + offset)); -+ sunxi_io_write(base, offset, tmp); - } - - --- -2.14.1 - diff --git a/package/sunxi-tools/Config.in b/package/sunxi-tools/Config.in index 5f72667284e..14f7da5bf20 100644 --- a/package/sunxi-tools/Config.in +++ b/package/sunxi-tools/Config.in @@ -25,7 +25,9 @@ config BR2_PACKAGE_SUNXI_TOOLS_FEL bool "sunxi-fel" depends on BR2_TOOLCHAIN_HAS_THREADS # libusb depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb + select BR2_PACKAGE_DTC select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_ZLIB help The sunxi-fel command can interact with a sunxi device in fel mode. This allows do download code to memory and execute diff --git a/package/sunxi-tools/Config.in.host b/package/sunxi-tools/Config.in.host index 51f13cf623d..f7c60b37a9c 100644 --- a/package/sunxi-tools/Config.in.host +++ b/package/sunxi-tools/Config.in.host @@ -2,6 +2,7 @@ config BR2_PACKAGE_HOST_SUNXI_TOOLS bool "host sunxi-tools" depends on BR2_arm depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb + select BR2_PACKAGE_HOST_DTC help Tools for Allwinner A10 (aka sun4i) and A13 (aka sun5i) based devices. This includes fex2bin which can be used to diff --git a/package/sunxi-tools/sunxi-tools.hash b/package/sunxi-tools/sunxi-tools.hash index 84acc2c76c8..42d81144a33 100644 --- a/package/sunxi-tools/sunxi-tools.hash +++ b/package/sunxi-tools/sunxi-tools.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 81f48014a520cb83cac4e17f5ae627a637c4d6a422b60c693c5a705c92e43822 sunxi-tools-1.4.2.tar.gz +sha256 6589f32e9c2a5991cc49928e83aceea675f0165ce6f13cdd2dd784139a8d4efd sunxi-tools-1.4.2-168-ged3039cdbeeb28fc0011c3585d8f7dfb91038292.tar.gz sha256 2b0d4dda4bf8034e1506507a67f80f982131137afe62bf144d248f9faea31da4 LICENSE.md diff --git a/package/sunxi-tools/sunxi-tools.mk b/package/sunxi-tools/sunxi-tools.mk index 59d1f3b5a01..97863efc13e 100644 --- a/package/sunxi-tools/sunxi-tools.mk +++ b/package/sunxi-tools/sunxi-tools.mk @@ -4,11 +4,11 @@ # ################################################################################ -SUNXI_TOOLS_VERSION = 1.4.2 +SUNXI_TOOLS_VERSION = 1.4.2-168-ged3039cdbeeb28fc0011c3585d8f7dfb91038292 SUNXI_TOOLS_SITE = $(call github,linux-sunxi,sunxi-tools,v$(SUNXI_TOOLS_VERSION)) SUNXI_TOOLS_LICENSE = GPL-2.0+ SUNXI_TOOLS_LICENSE_FILES = LICENSE.md -HOST_SUNXI_TOOLS_DEPENDENCIES = host-libusb host-pkgconf +HOST_SUNXI_TOOLS_DEPENDENCIES = host-dtc host-libzlib host-libusb host-pkgconf FEX2BIN = $(HOST_DIR)/bin/fex2bin SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_FEXC) += sunxi-fexc @@ -26,13 +26,14 @@ SUNXI_TOOLS_FEXC_LINKS += fex2bin bin2fex endif ifeq ($(BR2_PACKAGE_SUNXI_TOOLS_FEL),y) -SUNXI_TOOLS_DEPENDENCIES += libusb host-pkgconf +SUNXI_TOOLS_DEPENDENCIES += dtc libusb zlib host-pkgconf endif define HOST_SUNXI_TOOLS_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) CROSS_COMPILE="" CC="$(HOSTCC)" \ PREFIX=$(HOST_DIR) EXTRA_CFLAGS="$(HOST_CFLAGS)" \ - LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) tools misc + LDFLAGS="$(HOST_LDFLAGS) -I$(HOST_DIR)/include/libfdt" \ + -C $(@D) tools misc endef define HOST_SUNXI_TOOLS_INSTALL_CMDS diff --git a/package/supertuxkart/supertuxkart.hash b/package/supertuxkart/supertuxkart.hash index 6ae3fae82b9..446a9de8ec9 100644 --- a/package/supertuxkart/supertuxkart.hash +++ b/package/supertuxkart/supertuxkart.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 eeabeb0d9801688a218f6f0a76ea3546a46a322ccaca9a258148ecacfe083ffd SuperTuxKart-1.3-src.tar.xz +sha256 9890392419baf4715313f14d5ad60746f276eed36eb580636caf44e2532c0f03 SuperTuxKart-1.4-src.tar.xz sha256 d27207a5213f746aac53893e9ecc18456e9595d3ffa662bd1ec9eb10787c214a COPYING diff --git a/package/supertuxkart/supertuxkart.mk b/package/supertuxkart/supertuxkart.mk index 8ec366f7921..6bdd512eac0 100644 --- a/package/supertuxkart/supertuxkart.mk +++ b/package/supertuxkart/supertuxkart.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUPERTUXKART_VERSION = 1.3 +SUPERTUXKART_VERSION = 1.4 SUPERTUXKART_SOURCE = SuperTuxKart-$(SUPERTUXKART_VERSION)-src.tar.xz # Do not use the github helper here, the generated tarball is *NOT* # the same as the one uploaded by upstream for the release. @@ -44,6 +44,7 @@ SUPERTUXKART_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF \ ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y) SUPERTUXKART_DEPENDENCIES += bluez5_utils SUPERTUXKART_CONF_OPTS += -DUSE_WIIUSE=ON -DUSE_SYSTEM_WIIUSE=ON +SUPERTUXKART_SUPPORTS_IN_SOURCE_BUILD = NO else # Wiimote support relies on bluez5. SUPERTUXKART_CONF_OPTS += -DUSE_WIIUSE=OFF diff --git a/package/supervisor/supervisor.hash b/package/supervisor/supervisor.hash index f6e9cf97b1b..a61afc44105 100644 --- a/package/supervisor/supervisor.hash +++ b/package/supervisor/supervisor.hash @@ -1,4 +1,3 @@ # Locally calculated -sha256 5b2b8882ec8a3c3733cce6965cc098b6d80b417f21229ab90b18fe551d619f90 supervisor-4.2.2.tar.gz -sha256 7b8dbd54ab1543b07b2fc5f6f5ab50d89d26c1c4952af93a579d8c52c56b8de4 COPYRIGHT.txt +sha256 34761bae1a23c58192281a5115fb07fbf22c9b0133c08166beffc70fed3ebc12 supervisor-4.2.5.tar.gz sha256 4c35fda9f70bb7883fd94e5a4d5addd88ad1a6d5d15e21c9d17c4d96fdc5e369 LICENSES.txt diff --git a/package/supervisor/supervisor.mk b/package/supervisor/supervisor.mk index ad34c031e40..eb2a4990b77 100644 --- a/package/supervisor/supervisor.mk +++ b/package/supervisor/supervisor.mk @@ -4,10 +4,10 @@ # ################################################################################ -SUPERVISOR_VERSION = 4.2.2 -SUPERVISOR_SITE = https://files.pythonhosted.org/packages/d3/7f/c780b7471ba0ff4548967a9f7a8b0bfce222c3a496c3dfad0164172222b0 +SUPERVISOR_VERSION = 4.2.5 +SUPERVISOR_SITE = https://files.pythonhosted.org/packages/ce/37/517989b05849dd6eaa76c148f24517544704895830a50289cbbf53c7efb9 SUPERVISOR_LICENSE = BSD-like, rdflib (http_client.py), PSF (medusa) -SUPERVISOR_LICENSE_FILES = COPYRIGHT.txt LICENSES.txt +SUPERVISOR_LICENSE_FILES = LICENSES.txt SUPERVISOR_CPE_ID_VENDOR = supervisord SUPERVISOR_SETUP_TYPE = setuptools diff --git a/package/suricata/0002-configure.ac-allow-the-user-to-override-RUST_TARGET.patch b/package/suricata/0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch similarity index 100% rename from package/suricata/0002-configure.ac-allow-the-user-to-override-RUST_TARGET.patch rename to package/suricata/0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch diff --git a/package/suricata/0001-python-ensure-proper-shabang-on-python-scripts.patch b/package/suricata/0001-python-ensure-proper-shabang-on-python-scripts.patch deleted file mode 100644 index 424b30d317f..00000000000 --- a/package/suricata/0001-python-ensure-proper-shabang-on-python-scripts.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 44fe2328b715db25134ee095526d2fa47e6cd834 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Wed, 1 Jan 2020 15:25:57 +0100 -Subject: [PATCH] python: ensure proper shabang on python scripts - -When instlling python scripts, distutils would use the python used to -run setup.py as shabang for the scripts it installs. - -However, when cross-compiling, this is most often not correct. - -Instead, using '/usr/bin/env python' is guaranteed to find the proper -python in the PATH, so we need to instruct setyup.py to use that as the -executable. - -[yann.morin.1998@free.fr: - - author did not provide their SoB, but it's simple enough to - not require it for once - - provide proper commit log -] -Signed-off-by: Yann E. MORIN -[Fabrice: update for 6.0.0] -Signed-off-by: Fabrice Fontaine ---- - python/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/python/Makefile.am b/python/Makefile.am -index 59d195f29..a41604f72 100644 ---- a/python/Makefile.am -+++ b/python/Makefile.am -@@ -6,11 +6,11 @@ EXTRA_DIST = setup.py \ - if HAVE_PYTHON_DISTUTILS - all-local: - cd $(srcdir) && \ -- $(HAVE_PYTHON) setup.py build --build-base "$(abs_builddir)" -+ $(HAVE_PYTHON) setup.py build -e "/usr/bin/env python" --build-base "$(abs_builddir)" - - install-exec-local: - cd $(srcdir) && \ -- $(HAVE_PYTHON) setup.py build --build-base "$(abs_builddir)" \ -+ $(HAVE_PYTHON) setup.py build -e "/usr/bin/env python" --build-base "$(abs_builddir)" \ - install --prefix $(DESTDIR)$(prefix) - - uninstall-local: --- -2.20.1 - diff --git a/package/suricata/0002-configure.ac-fix-static-build.patch b/package/suricata/0002-configure.ac-fix-static-build.patch new file mode 100644 index 00000000000..fc5384a1145 --- /dev/null +++ b/package/suricata/0002-configure.ac-fix-static-build.patch @@ -0,0 +1,52 @@ +From 6e1d8aceea8c4e49f00d8e630b681641a36c688f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 6 May 2024 09:31:05 +0200 +Subject: [PATCH] configure.ac: fix static build + +static build is broken since +https://github.com/OISF/suricata/commit/31ba4fd1522dd0d7f933767b9205c67a4e726fe5 +because AC_CHECK_LIB is called before PKG_CHECK_MODULES: + +configure:22378: checking for pcap_open_dead in -lpcap +configure:22407: /home/buildroot/autobuild/run/instance-3/output-1/host/bin/x86_64-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0 -static -std=c11 -march=native -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -rdynamic conftest.c -lpcap -ljansson -lpthread -lyaml -lpcre -latomic -lz >&5 +/home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-musl/12.3.0/../../../../x86_64-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/run/instance-3/output-1/host/x86_64-buildroot-linux-musl/sysroot/usr/lib/../lib64/libpcap.a(pcap-linux.o): in function `nl80211_init': +pcap-linux.c:(.text+0xc34): undefined reference to `nl_socket_alloc' + +[...] + +checking for pcap_open_dead in -lpcap... no + +Fixes: + - http://autobuild.buildroot.org/results/9e25c2508bd4100d2d1d3180e79060d762361213 + +Signed-off-by: Fabrice Fontaine +Upstream: https://redmine.openinfosecfoundation.org/issues/7008 +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 232ee9bed..6277cb9b6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1219,6 +1219,8 @@ + fi + fi + ++ PKG_CHECK_MODULES([PCAP],libpcap,[CPPFLAGS="${CPPFLAGS} ${PCAP_CFLAGS}" LIBS="${LIBS} ${PCAP_LIBS}"],[:]) ++ + if test "$have_wpcap" != "yes"; then + AC_CHECK_LIB(pcap, pcap_open_dead, [], [ + echo +@@ -1234,8 +1236,6 @@ + PCAP_LIB_NAME="pcap" + fi + +- PKG_CHECK_MODULES([PCAP],libpcap,[CPPFLAGS="${CPPFLAGS} ${PCAP_CFLAGS}" LIBS="${LIBS} ${PCAP_LIBS}"],[:]) +- + AC_PATH_PROG(HAVE_PCAP_CONFIG, pcap-config, "no") + if test "$HAVE_PCAP_CONFIG" = "no" -o "$cross_compiling" = "yes"; then + AC_MSG_RESULT(no pcap-config is use) +-- +2.43.0 + diff --git a/package/suricata/suricata.hash b/package/suricata/suricata.hash index 38ab5e9cd3e..58ab0d93b0a 100644 --- a/package/suricata/suricata.hash +++ b/package/suricata/suricata.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 00173634fa76aee636e38a90b1c02616c903e42173107d47b4114960b5fbe839 suricata-6.0.6.tar.gz +sha256 98c812faef466d337f107f13ae37843f1c719942b93832d70f1a2fd7ee1b5c2c suricata-6.0.19.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk index 72b72cc94dc..e60ed2fce8a 100644 --- a/package/suricata/suricata.mk +++ b/package/suricata/suricata.mk @@ -4,13 +4,13 @@ # ################################################################################ -SURICATA_VERSION = 6.0.6 +SURICATA_VERSION = 6.0.19 SURICATA_SITE = https://www.openinfosecfoundation.org/download SURICATA_LICENSE = GPL-2.0 SURICATA_LICENSE_FILES = COPYING LICENSE SURICATA_CPE_ID_VENDOR = oisf -# 0001-python-ensure-proper-shabang-on-python-scripts.patch -# 0002-configure.ac-allow-the-user-to-override-RUST_TARGET.patch +# 0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch +# 0002-configure.ac-fix-static-build.patch SURICATA_AUTORECONF = YES SURICATA_DEPENDENCIES = \ diff --git a/package/sway/Config.in b/package/sway/Config.in new file mode 100644 index 00000000000..4f6d9fb215b --- /dev/null +++ b/package/sway/Config.in @@ -0,0 +1,71 @@ +config BR2_PACKAGE_SWAY + bool "sway" + depends on BR2_PACKAGE_SYSTEMD # is required by the sd-bus provider + depends on !BR2_STATIC_LIBS # wlroots + depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wlroots + depends on BR2_PACKAGE_HAS_LIBEGL # wlroots + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wlroots + depends on BR2_PACKAGE_HAS_LIBGLES # wlroots + depends on BR2_PACKAGE_HAS_UDEV # wlroots + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c, pango + depends on BR2_USE_WCHAR # pango + depends on BR2_USE_MMU # pango + depends on BR2_INSTALL_LIBSTDCPP # pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango + select BR2_PACKAGE_WLROOTS + select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_PANGO + select BR2_PACKAGE_XKEYBOARD_CONFIG # runtime + help + i3-compatible Wayland compositor + Note: + The default sway config uses the foot package as the + default terminal. If you plan on using the default + config, it is recommended to select the foot package! + + https://github.com/swaywm/sway + +if BR2_PACKAGE_SWAY + +config BR2_PACKAGE_SWAY_SWAYBAR + bool "swaybar" + select BR2_PACKAGE_DEJAVU + select BR2_PACKAGE_JQ if BR2_PACKAGE_BASH_COMPLETION # Runtime + select BR2_PACKAGE_DMENU_WAYLAND # Runtime + help + Enable support for swaybar + +if BR2_PACKAGE_SWAY_SWAYBAR + +config BR2_PACKAGE_SWAY_SWAYBAR_TRAY + bool "swaybar tray" + help + Enable support for swaybar tray + +endif # BR2_PACKAGE_SWAY_SWAYBAR + +config BR2_PACKAGE_SWAY_SWAYNAG + bool "swaynag" + help + Enable support for swaynag + +endif # BR2_PACKAGE_SWAY + +comment "sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support" + depends on !BR2_PACKAGE_SYSTEMD || \ + !BR2_PACKAGE_HAS_UDEV || \ + !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + !BR2_PACKAGE_HAS_LIBGLES + +comment "sway needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_INSTALL_LIBSTDCPP || \ + BR2_STATIC_LIBS diff --git a/package/sway/sway.hash b/package/sway/sway.hash new file mode 100644 index 00000000000..86b6581f1c5 --- /dev/null +++ b/package/sway/sway.hash @@ -0,0 +1,3 @@ +# Locally computed, tarball verified with GPG signature +sha256 73f08fd2cf7948e8af900709efe44eae412ae11c5773960e25c9aa09f73bad41 sway-1.8.1.tar.gz +sha256 bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b LICENSE diff --git a/package/sway/sway.mk b/package/sway/sway.mk new file mode 100644 index 00000000000..0aad9de7125 --- /dev/null +++ b/package/sway/sway.mk @@ -0,0 +1,62 @@ +################################################################################ +# +# sway +# +################################################################################ + +SWAY_VERSION = 1.8.1 +SWAY_SITE = https://github.com/swaywm/sway/releases/download/$(SWAY_VERSION) +SWAY_LICENSE = MIT +SWAY_LICENSE_FILES = LICENSE +SWAY_DEPENDENCIES = systemd host-pkgconf wlroots json-c pcre cairo pango +SWAY_CONF_OPTS = \ + -Dwerror=false \ + -Dzsh-completions=false \ + -Dfish-completions=false \ + -Dman-pages=disabled \ + -Dsd-bus-provider=libsystemd + +ifeq ($(BR2_PACKAGE_WLROOTS_X11),y) +SWAY_CONF_OPTS += -Dxwayland=enabled +else +SWAY_CONF_OPTS += -Dxwayland=disabled +endif + +ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y) +SWAY_CONF_OPTS += -Dgdk-pixbuf=enabled +SWAY_DEPENDENCIES += gdk-pixbuf +else +SWAY_CONF_OPTS += -Dgdk-pixbuf=disabled +endif + +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +SWAY_CONF_OPTS += -Dbash-completions=true +else +SWAY_CONF_OPTS += -Dbash-completions=false +endif + +ifeq ($(BR2_PACKAGE_SWAYBG),y) +SWAY_CONF_OPTS += -Ddefault-wallpaper=true +else +SWAY_CONF_OPTS += -Ddefault-wallpaper=false +endif + +ifeq ($(BR2_PACKAGE_SWAY_SWAYBAR),y) +SWAY_CONF_OPTS += -Dswaybar=true +else +SWAY_CONF_OPTS += -Dswaybar=false +endif + +ifeq ($(BR2_PACKAGE_SWAY_SWAYNAG),y) +SWAY_CONF_OPTS += -Dswaynag=true +else +SWAY_CONF_OPTS += -Dswaynag=false +endif + +ifeq ($(BR2_PACKAGE_SWAY_SWAYBAR_TRAY),y) +SWAY_CONF_OPTS += -Dtray=enabled +else +SWAY_CONF_OPTS += -Dtray=disabled +endif + +$(eval $(meson-package)) diff --git a/package/swaybg/Config.in b/package/swaybg/Config.in new file mode 100644 index 00000000000..63aa8cdb6a7 --- /dev/null +++ b/package/swaybg/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_SWAYBG + bool "swaybg" + default y if BR2_PACKAGE_SWAY + depends on !BR2_STATIC_LIBS # wayland -> dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS # wayland + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS + help + Wallpaper tool for Wayland compositors. + + https://github.com/swaywm/swaybg diff --git a/package/swaybg/swaybg.hash b/package/swaybg/swaybg.hash new file mode 100644 index 00000000000..62bf048d612 --- /dev/null +++ b/package/swaybg/swaybg.hash @@ -0,0 +1,3 @@ +# Locally computed, tarball verified with GPG signature +sha256 c0205b34f1fad94553b6cb2c2b983cc33186018026058cad0b841a00bc3087e3 swaybg-1.2.0.tar.gz +sha256 95224d118a325daf31828afcca98cd958d53f0a7cdd856b50b1be8ac44832faf LICENSE diff --git a/package/swaybg/swaybg.mk b/package/swaybg/swaybg.mk new file mode 100644 index 00000000000..90a8cb5d809 --- /dev/null +++ b/package/swaybg/swaybg.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# swaybg +# +################################################################################ + +SWAYBG_VERSION = 1.2.0 +SWAYBG_SITE = https://github.com/swaywm/swaybg/releases/download/v$(SWAYBG_VERSION) +SWAYBG_LICENSE = MIT +SWAYBG_LICENSE_FILES = LICENSE + +SWAYBG_DEPENDENCIES = \ + cairo \ + wayland \ + wayland-protocols + +SWAYBG_CONF_OPTS = \ + -Dman-pages=disabled \ + -Dwerror=false + +ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y) +SWAYBG_CONF_OPTS += -Dgdk-pixbuf=enabled +SWAYBG_DEPENDENCIES += gdk-pixbuf +else +SWAYBG_CONF_OPTS += -Dgdk-pixbuf=disabled +endif + +$(eval $(meson-package)) diff --git a/package/swugenerator/Config.in.host b/package/swugenerator/Config.in.host new file mode 100644 index 00000000000..df0e9a51709 --- /dev/null +++ b/package/swugenerator/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_SWUGENERATOR + bool "host swugenerator" + help + A host tool to generate SWU update package for SWUpdate. + + https://github.com/sbabic/swugenerator diff --git a/package/swugenerator/swugenerator.hash b/package/swugenerator/swugenerator.hash new file mode 100644 index 00000000000..2125be3d1cf --- /dev/null +++ b/package/swugenerator/swugenerator.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 b5c47c47be0df4df476d2bf596f58a7296a4b0cebe6c8de42251605475b37d25 swugenerator-0.2.tar.gz +# Locally computed sha256 checksums +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE diff --git a/package/swugenerator/swugenerator.mk b/package/swugenerator/swugenerator.mk new file mode 100644 index 00000000000..466fe1f046e --- /dev/null +++ b/package/swugenerator/swugenerator.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# swugenerator +# +################################################################################ + +SWUGENERATOR_VERSION = 0.2 +SWUGENERATOR_SITE = $(call github,sbabic,swugenerator,v$(SWUGENERATOR_VERSION)) +SWUGENERATOR_LICENSE = GPL-3.0 +SWUGENERATOR_LICENSE_FILES = LICENSE +HOST_SWUGENERATOR_SETUP_TYPE = setuptools +HOST_SWUGENERATOR_DEPENDENCIES = \ + host-gzip \ + host-openssl \ + host-python-libconf \ + host-zstd + +$(eval $(host-python-package)) diff --git a/package/swupdate/0001-swupdate-core-bootloader.c-fix-build-without-reallocarray.patch b/package/swupdate/0001-swupdate-core-bootloader.c-fix-build-without-reallocarray.patch deleted file mode 100644 index d90ae7906e1..00000000000 --- a/package/swupdate/0001-swupdate-core-bootloader.c-fix-build-without-reallocarray.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f30c4771e93cad7e77d7f2add94327865d226553 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 15 May 2022 14:53:35 +0200 -Subject: [PATCH] core/bootloader.c: fix build without reallocarray - -Use realloc instead of reallocarray to avoid the following build failure -with uclibc raised since version 2022.05 and -https://github.com/sbabic/swupdate/commit/b8897ed695e1cd954859142b14ec8546d2e7994a: - -microblaze-buildroot-linux-uclibc/bin/ld: core/built-in.o: in function `register_bootloader': -(.text.register_bootloader+0x30): undefined reference to `reallocarray' - -Fixes: - - http://autobuild.buildroot.org/results/7208e8189b4a6f35aaa4ed7777ecdd37421a7c7f - -Signed-off-by: Fabrice Fontaine -Backported from: f30c4771e93cad7e77d7f2add94327865d226553 -Signed-off-by: Ben Hutchings ---- - core/bootloader.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/core/bootloader.c b/core/bootloader.c -index f34cb414..5694d43d 100644 ---- a/core/bootloader.c -+++ b/core/bootloader.c -@@ -25,7 +25,7 @@ static unsigned int num_available = 0; - - int register_bootloader(const char *name, bootloader *bl) - { -- entry *tmp = reallocarray(available, num_available + 1, sizeof(entry)); -+ entry *tmp = realloc(available, (num_available + 1) * sizeof(entry)); - if (!tmp) { - return -ENOMEM; - } diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in index 7d9fc90e10c..ba3f6a0c0f8 100644 --- a/package/swupdate/Config.in +++ b/package/swupdate/Config.in @@ -3,9 +3,9 @@ config BR2_PACKAGE_SWUPDATE depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() - # swupdate requires a parser and uses libconfig as default - select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \ - !BR2_PACKAGE_HAS_LUAINTERPRETER + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_LIBUBOOTENV help swupdate provides a reliable way to update the software on an embedded system. @@ -37,14 +37,12 @@ config BR2_PACKAGE_SWUPDATE remote handler. * Select BR2_PACKAGE_LIBRSYNC to add support for using rdiff handler. - * Select BR2_PACKAGE_LIBUBOOTENV to add support for setting - the U-Boot environment. * Select BR2_PACKAGE_LIBGPIOD to add support for microcontroller firmware update. * Select BR2_PACKAGE_EFIBOOTMGR to add support for EFI Boot Guard. - * Select BR2_PACKAGE_LIBCURL, BR2_PACKAGE_JSON_C, - BR2_PACKAGE_LIBWEBSOCKETS, and BR2_PACKAGE_LIBURIPARSER + * Select BR2_PACKAGE_LIBCURL, BR2_PACKAGE_LIBWEBSOCKETS, + and BR2_PACKAGE_LIBURIPARSER to add support for the SWU forwarder. https://sbabic.github.io/swupdate @@ -89,4 +87,5 @@ endif comment "swupdate needs a toolchain w/ dynamic library, threads" depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/swupdate/swupdate-usb@.service b/package/swupdate/swupdate-usb@.service index eda9d1539c0..28d805f8ec9 100644 --- a/package/swupdate/swupdate-usb@.service +++ b/package/swupdate/swupdate-usb@.service @@ -1,8 +1,11 @@ [Unit] Description=usb media swupdate service -Requires=swupdate-progress.service +Requires=swupdate.service +Wants=swupdate-progress.service [Service] -ExecStartPre=/bin/mount /dev/%I /mnt -ExecStart=/bin/sh -c "swupdate-client -v /mnt/*.swu" -ExecStopPost=/bin/umount /mnt +ExecStartPre=/bin/mkdir -p /tmp/%I +ExecStartPre=/bin/mount /dev/%I /tmp/%I +ExecStart=/bin/sh -c "swupdate-client -v /tmp/%I/*.swu" +ExecStopPost=/bin/umount /tmp/%I +ExecStopPost=/bin/rmdir /tmp/%I diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index 638b586e8ab..19ef3a27249 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,12 +1,12 @@ # Locally calculated -sha256 1e819f71b19626bde1a4906ced39d3406ca240b458d3c4a998bd9c7333eba260 swupdate-2022.05.tar.gz +sha256 89ec8926d66627255fe689ed96ad8d30f5c539315956dacf9890e308095dee3b swupdate-2023.12.1.tar.gz sha256 4cf04ed34ff0ebbf5c71345b56e6af5093fc17206364cca0ebbae92ef3940683 LICENSES/BSD-1-Clause.txt sha256 e27a3e87706b3aa5ff2e50eaafe2e6ed5397fbf2d7679eaf444a6d000518a3a6 LICENSES/BSD-3-Clause.txt sha256 0558101984550fa84d1d13c2af11d116c20079d2be58711e8d99cadce7009192 LICENSES/CC0-1.0.txt sha256 cde7883b9050a1104f4ac19a1572aafd6e5d7323b68351aaf51fbf4beba54966 LICENSES/CC-BY-SA-4.0.txt sha256 5d51b52a40391a26cbb2accf5dc5d1c165de49a022d9d5efb50b22204d2682ec LICENSES/GPL-2.0-only.txt sha256 43fd695e9b198a9a4997cc2d02e10d26cae937e2c4930b9eff9c6d349c85cd32 LICENSES/GPL-2.0-or-later.txt -sha256 492e801f1b0632185431472f148885a4fe8e990b10da57b4986a8bcf140a5374 LICENSES/ISC.txt +sha256 f8f41f38133176a6db6c1bd8d7bd1a9c910e3563f1cb7bbe32b05e8b8d3a9c61 LICENSES/ISC.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSES/LGPL-2.1-or-later.txt sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSES/MIT.txt sha256 8f2368a292194be10b1223a8875815240a9208bb30785cb13d8849eb6a750fe9 LICENSES/OFL-1.1.txt diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index 1cd60d1b8f4..3b78c160f85 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,7 +4,7 @@ # ################################################################################ -SWUPDATE_VERSION = 2022.05 +SWUPDATE_VERSION = 2023.12.1 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) SWUPDATE_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1+, MIT, ISC, BSD-1-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, OFL-1.1 SWUPDATE_LICENSE_FILES = LICENSES/BSD-1-Clause.txt \ @@ -18,12 +18,16 @@ SWUPDATE_LICENSE_FILES = LICENSES/BSD-1-Clause.txt \ LICENSES/MIT.txt \ LICENSES/OFL-1.1.txt SWUPDATE_INSTALL_STAGING = YES +SWUPDATE_DEPENDENCIES = json-c libubootenv # swupdate uses $CROSS-cc instead of $CROSS-gcc, which is not # available in all external toolchains, and use CC for linking. Ensure # TARGET_CC is used for both. SWUPDATE_MAKE_ENV = CC="$(TARGET_CC)" LD="$(TARGET_CC)" SKIP_STRIP=y +# we don't package EFI Boot Guard/libebgenv +SWUPDATE_MAKE_ENV += HAVE_LIBEBGENV=n + # swupdate bundles its own version of mongoose (version 6.16) ifeq ($(BR2_PACKAGE_E2FSPROGS),y) @@ -33,13 +37,6 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBEXT2FS=n endif -ifeq ($(BR2_PACKAGE_JSON_C),y) -SWUPDATE_DEPENDENCIES += json-c -SWUPDATE_MAKE_ENV += HAVE_JSON_C=y -else -SWUPDATE_MAKE_ENV += HAVE_JSON_C=n -endif - ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) SWUPDATE_DEPENDENCIES += libarchive SWUPDATE_MAKE_ENV += HAVE_LIBARCHIVE=y @@ -82,10 +79,6 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBGPIOD=n endif -ifeq ($(BR2_PACKAGE_LIBUBOOTENV),y) -SWUPDATE_DEPENDENCIES += libubootenv -endif - ifeq ($(BR2_PACKAGE_LIBURIPARSER),y) SWUPDATE_DEPENDENCIES += liburiparser SWUPDATE_MAKE_ENV += HAVE_URIPARSER=y @@ -208,8 +201,6 @@ define SWUPDATE_SET_WEBSERVER endef endif -SWUPDATE_BUILD_CONFIG = $(@D)/.config - SWUPDATE_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_SWUPDATE_CONFIG)) SWUPDATE_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig @@ -232,7 +223,7 @@ endef define SWUPDATE_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(SWUPDATE_MAKE_ENV) $(MAKE) -C $(@D) \ $(SWUPDATE_MAKE_OPTS) DESTDIR=$(STAGING_DIR) \ - INCLUDEDIR=/usr/include/swupdate install + install endef define SWUPDATE_INSTALL_TARGET_CMDS diff --git a/package/swupdate/swupdate.service b/package/swupdate/swupdate.service index a3d8d1939e0..94d4526acf2 100644 --- a/package/swupdate/swupdate.service +++ b/package/swupdate/swupdate.service @@ -4,6 +4,7 @@ Documentation=https://github.com/sbabic/swupdate Documentation=https://sbabic.github.io/swupdate [Service] +Type=notify ExecStart=/usr/lib/swupdate/swupdate.sh KillMode=mixed diff --git a/package/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk index a7c7adade39..fc419e28676 100644 --- a/package/sylpheed/sylpheed.mk +++ b/package/sylpheed/sylpheed.mk @@ -10,7 +10,7 @@ SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.xz SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR) SYLPHEED_LICENSE = GPL-2.0+ (executables), LGPL-2.1+ (library, attachment plugin) SYLPHEED_LICENSE_FILES = COPYING COPYING.LIB -SYLPHEED_CPE_ID_VENDOR = sylpheed_project +SYLPHEED_CPE_ID_VALID = YES SYLPHEED_CONF_OPTS = --disable-gtkspell --disable-gpgme SYLPHEED_DEPENDENCIES = host-pkgconf libgtk2 diff --git a/package/sysdig/0001-cmake-Check-USE_BUNDLED_DEPS-before-getting-nlohmann.patch b/package/sysdig/0001-cmake-Check-USE_BUNDLED_DEPS-before-getting-nlohmann.patch deleted file mode 100644 index 3521bd3f8df..00000000000 --- a/package/sysdig/0001-cmake-Check-USE_BUNDLED_DEPS-before-getting-nlohmann.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0dbebd008c04d266dc41c4bec8280a0744fd5130 Mon Sep 17 00:00:00 2001 -From: Francis Laniel -Date: Wed, 13 Apr 2022 18:01:11 +0100 -Subject: [PATCH] cmake: Check USE_BUNDLED_DEPS before getting - nlohmann-json. - -Upstream: https://github.com/draios/sysdig/pull/1869 -Signed-off-by: Francis Laniel ---- - cmake/modules/nlohmann-json.cmake | 29 +++++++++++++++++++---------- - 1 file changed, 19 insertions(+), 10 deletions(-) - -diff --git a/cmake/modules/nlohmann-json.cmake b/cmake/modules/nlohmann-json.cmake -index bb1279d7..feb0f071 100644 ---- a/cmake/modules/nlohmann-json.cmake -+++ b/cmake/modules/nlohmann-json.cmake -@@ -16,13 +16,22 @@ - # limitations under the License. - # - --set(NJSON_SRC "${PROJECT_BINARY_DIR}/njson-prefix/src/njson") --message(STATUS "Using bundled nlohmann-json in '${NJSON_SRC}'") --set(NJSON_INCLUDE_DIR "${NJSON_SRC}/single_include") --ExternalProject_Add( -- njson -- URL "https://github.com/nlohmann/json/archive/v3.3.0.tar.gz" -- URL_HASH "SHA256=2fd1d207b4669a7843296c41d3b6ac5b23d00dec48dba507ba051d14564aa801" -- CONFIGURE_COMMAND "" -- BUILD_COMMAND "" -- INSTALL_COMMAND "") -+if(NOT USE_BUNDLED_DEPS) -+ find_path(NJSON_INCLUDE_DIR NAMES nlohmann/json.hpp) -+ if(NJSON_INCLUDE_DIR) -+ message(STATUS "Found njson: include: ${NJSON_INCLUDE_DIR}") -+ else() -+ message(FATAL_ERROR "Couldn't find system njson") -+ endif() -+else() -+ set(NJSON_SRC "${PROJECT_BINARY_DIR}/njson-prefix/src/njson") -+ message(STATUS "Using bundled nlohmann-json in '${NJSON_SRC}'") -+ set(NJSON_INCLUDE_DIR "${NJSON_SRC}/single_include") -+ ExternalProject_Add( -+ njson -+ URL "https://github.com/nlohmann/json/archive/v3.3.0.tar.gz" -+ URL_HASH "SHA256=2fd1d207b4669a7843296c41d3b6ac5b23d00dec48dba507ba051d14564aa801" -+ CONFIGURE_COMMAND "" -+ BUILD_COMMAND "" -+ INSTALL_COMMAND "") -+endif() --- -2.25.1 - diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in index c0a631bd491..3a3670f5cba 100644 --- a/package/sysdig/Config.in +++ b/package/sysdig/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SYSDIG depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # falcosecurity-libs depends on BR2_LINUX_KERNEL # falcosecurity-libs depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # falcosecurity-libs + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # falcosecurity-libs -> grpc -> libabseil-cpp depends on BR2_TOOLCHAIN_HAS_THREADS # falcosecurity-libs depends on !BR2_STATIC_LIBS # falcosecurity-libs depends on BR2_TOOLCHAIN_USES_GLIBC # falcosecurity-libs @@ -23,12 +23,12 @@ config BR2_PACKAGE_SYSDIG https://github.com/draios/sysdig/wiki -comment "sysdig needs a glibc toolchain w/ C++, threads, gcc >= 5, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built" +comment "sysdig needs a glibc toolchain w/ C++, threads, gcc >= 8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built" depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || BR2_STATIC_LIBS \ || !BR2_TOOLCHAIN_USES_GLIBC \ || !BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 diff --git a/package/sysklogd/sysklogd.hash b/package/sysklogd/sysklogd.hash index e370716bd93..7e009901743 100644 --- a/package/sysklogd/sysklogd.hash +++ b/package/sysklogd/sysklogd.hash @@ -1,5 +1,5 @@ # Upstream .sha256 from GitHub -sha256 01f25931d1508c3e6be4e182f49356c993abc7d035d5835db35f9b61d5085549 sysklogd-2.4.4.tar.gz +sha256 9da4444285772ce2bfc9c687be8f978b7a9fe7d3937347cd4938eda0c4545e05 sysklogd-2.5.2.tar.gz # Locally calculated sha256 7a71d7603a7c4456df441463e54da35acf151c1be0879246de63544f1f34f477 LICENSE diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk index 68023c9ae20..083f505a2b2 100644 --- a/package/sysklogd/sysklogd.mk +++ b/package/sysklogd/sysklogd.mk @@ -4,12 +4,12 @@ # ################################################################################ -SYSKLOGD_VERSION = 2.4.4 +SYSKLOGD_VERSION = 2.5.2 SYSKLOGD_SITE = https://github.com/troglobit/sysklogd/releases/download/v$(SYSKLOGD_VERSION) SYSKLOGD_LICENSE = BSD-3-Clause SYSKLOGD_LICENSE_FILES = LICENSE SYSKLOGD_INSTALL_STAGING = YES -SYSKLOGD_CPE_ID_VENDOR = sysklogd_project +SYSKLOGD_CPE_ID_VALID = YES # Busybox install logger in /usr/bin, and syslogd in /sbin, so install in # the same locations so that busybox does not install its applets in there. diff --git a/package/syslog-ng/0001-fix-build-on-uclibc.patch b/package/syslog-ng/0001-fix-build-on-uclibc.patch index dbb9b66b5c9..07c3f0721c6 100644 --- a/package/syslog-ng/0001-fix-build-on-uclibc.patch +++ b/package/syslog-ng/0001-fix-build-on-uclibc.patch @@ -9,8 +9,9 @@ pthread_spin_trylock so check for this function before using it Fixes: - http://autobuild.buildroot.org/results/0a6de11c030a4f39e402917809fc6d33fb463d1b +Upstream: https://github.com/buytenh/ivykis/pull/22 + Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/buytenh/ivykis/pull/17] --- configure.ac | 3 +++ src/spinlock.h | 4 ++++ diff --git a/package/syslog-ng/0002-lib-transport-tls-context.c-fix-libressl-build.patch b/package/syslog-ng/0002-lib-transport-tls-context.c-fix-libressl-build.patch new file mode 100644 index 00000000000..17cc72b9832 --- /dev/null +++ b/package/syslog-ng/0002-lib-transport-tls-context.c-fix-libressl-build.patch @@ -0,0 +1,97 @@ +From ede106afd7d70a8f962acf10a4e3f4a50a70cb15 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 1 Oct 2023 11:27:09 +0200 +Subject: [PATCH] lib/transport/tls-context.c: fix libressl build + +Fix the following build failure with libressl raised since version 4.0.0 +and +https://github.com/syslog-ng/syslog-ng/commit/bc05f28a4b511ac9090195280163a7f822712ceb: + +lib/transport/tls-context.c: In function 'tls_context_setup_cmd_context': +lib/transport/tls-context.c:320:3: error: unknown type name 'SSL_CONF_CTX'; did you mean 'SSL_AEAD_CTX'? + 320 | SSL_CONF_CTX *ssl_conf_ctx = SSL_CONF_CTX_new(); + | ^~~~~~~~~~~~ + | SSL_AEAD_CTX + +Fixes: + - http://autobuild.buildroot.org/results/dc4d60d752e579ef054915eee3d7e3e73c25929b + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/syslog-ng/syslog-ng/pull/4655 +--- + cmake/openssl_functions.cmake | 1 + + configure.ac | 1 + + lib/transport/tls-context.c | 4 ++++ + syslog-ng-config.h.in | 1 + + 4 files changed, 7 insertions(+) + +diff --git a/cmake/openssl_functions.cmake b/cmake/openssl_functions.cmake +index 5afbd7f12..da06ca59a 100644 +--- a/cmake/openssl_functions.cmake ++++ b/cmake/openssl_functions.cmake +@@ -41,6 +41,7 @@ function (openssl_set_defines) + X509_get_extension_flags + DH_set0_pqg + BN_get_rfc3526_prime_2048 ++ SSL_CONF_CTX_new + SSL_CTX_set_num_tickets + SSL_CTX_set_ciphersuites + SSL_CTX_set1_sigalgs_list +diff --git a/configure.ac b/configure.ac +index d636bbefa..46e43db7b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1136,6 +1136,7 @@ AC_CHECK_DECLS([EVP_MD_CTX_reset], [], [], [[#include ]]) + AC_CHECK_DECLS([ASN1_STRING_get0_data], [], [], [[#include ]]) + AC_CHECK_DECLS([DH_set0_pqg], [], [], [[#include ]]) + AC_CHECK_DECLS([BN_get_rfc3526_prime_2048], [], [], [[#include ]]) ++AC_CHECK_DECLS([SSL_CONF_CTX_new],[], [], [[#include ]]) + AC_CHECK_DECLS([SSL_CTX_set_num_tickets],[], [], [[#include ]]) + AC_CHECK_DECLS([SSL_CTX_set1_sigalgs_list],[], [], [[#include ]]) + AC_CHECK_DECLS([SSL_CTX_set1_client_sigalgs_list],[], [], [[#include ]]) +diff --git a/lib/transport/tls-context.c b/lib/transport/tls-context.c +index be2fea68d..713b63f31 100644 +--- a/lib/transport/tls-context.c ++++ b/lib/transport/tls-context.c +@@ -314,6 +314,7 @@ tls_context_setup_sigalgs(TLSContext *self) + return TRUE; + } + ++#if SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new + static gboolean + tls_context_setup_cmd_context(TLSContext *self) + { +@@ -347,6 +348,7 @@ tls_context_setup_cmd_context(TLSContext *self) + SSL_CONF_CTX_free(ssl_conf_ctx); + return result; + } ++#endif + + static PKCS12 * + _load_pkcs12_file(TLSContext *self, const gchar *pkcs12_file) +@@ -593,8 +595,10 @@ tls_context_setup_context(TLSContext *self) + if (!tls_context_setup_sigalgs(self)) + goto error; + ++#if SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new + if (!tls_context_setup_cmd_context(self)) + goto error; ++#endif + + return TLS_CONTEXT_SETUP_OK; + +diff --git a/syslog-ng-config.h.in b/syslog-ng-config.h.in +index 412294d2a..6d01b84a0 100644 +--- a/syslog-ng-config.h.in ++++ b/syslog-ng-config.h.in +@@ -60,6 +60,7 @@ + #cmakedefine ENV_LD_LIBRARY_PATH @ENV_LD_LIBRARY_PATH@ + #cmakedefine01 SYSLOG_NG_HAVE_DECL_EVP_MD_CTX_RESET + #cmakedefine01 SYSLOG_NG_HAVE_DECL_ASN1_STRING_GET0_DATA ++#cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new + #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_GET0_PARAM + #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET_CIPHERSUITES + #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET1_SIGALGS_LIST +-- +2.40.1 + diff --git a/package/syslog-ng/Config.in b/package/syslog-ng/Config.in index 30ad54a4bf1..aa1e71d225d 100644 --- a/package/syslog-ng/Config.in +++ b/package/syslog-ng/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_SYSLOG_NG depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 select BR2_PACKAGE_OPENSSL help syslog-ng is an enhanced log daemon, supporting a wide range diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf index 69db9b4b78b..06e48cdd503 100644 --- a/package/syslog-ng/syslog-ng.conf +++ b/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.38 +@version: 4.3 source s_sys { file("/proc/kmsg" program_override("kernel")); diff --git a/package/syslog-ng/syslog-ng.hash b/package/syslog-ng/syslog-ng.hash index 6fce7be9969..6841ed5eb11 100644 --- a/package/syslog-ng/syslog-ng.hash +++ b/package/syslog-ng/syslog-ng.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 5491f686d0b829b69b2e0fc0d66a62f51991aafaee005475bfa38fab399441f7 syslog-ng-3.38.1.tar.gz +sha256 999dbab62982c3cffba02c0be22c596ee1ce81d6954689dc9b3a6afeb513cce3 syslog-ng-4.3.1.tar.gz sha256 c75dcbfc17ccf742f12042a370f825a40951085d2352dfc9d07e715dae3ca9bd COPYING sha256 ce3324c9f22299cfc7c281e5a6ab40fbe9c2ea1a67cee87226cb8cd39db1e1d2 GPL.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LGPL.txt diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index a7176ad1295..dd02a6e3af0 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -6,17 +6,18 @@ # When updating the version, please check at runtime if the version in # syslog-ng.conf header needs to be updated -SYSLOG_NG_VERSION = 3.38.1 +SYSLOG_NG_VERSION = 4.3.1 SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION) SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules) SYSLOG_NG_LICENSE_FILES = COPYING GPL.txt LGPL.txt SYSLOG_NG_CPE_ID_VENDOR = oneidentity SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \ - libglib2 openssl pcre + libglib2 openssl pcre2 # We're patching configure.ac SYSLOG_NG_AUTORECONF = YES SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \ - --disable-java --disable-java-modules --disable-mongodb + --disable-java --disable-java-modules --disable-mongodb \ + --disable-python SYSLOG_NG_CFLAGS = $(TARGET_CFLAGS) ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y) @@ -39,15 +40,6 @@ else SYSLOG_NG_CONF_OPTS += --disable-linux-caps endif -ifeq ($(BR2_PACKAGE_PYTHON3),y) -SYSLOG_NG_DEPENDENCIES += python3 -SYSLOG_NG_CONF_OPTS += \ - --enable-python \ - --with-python=$(PYTHON3_VERSION_MAJOR) -else -SYSLOG_NG_CONF_OPTS += --disable-python -endif - ifeq ($(BR2_PACKAGE_LIBESMTP),y) SYSLOG_NG_DEPENDENCIES += libesmtp SYSLOG_NG_CONF_OPTS += --enable-smtp diff --git a/package/sysrepo/sysrepo.hash b/package/sysrepo/sysrepo.hash index 1db33df6264..6a5e98f41bb 100644 --- a/package/sysrepo/sysrepo.hash +++ b/package/sysrepo/sysrepo.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 357a50851e4cc052b484b924ed0a5808c29159a7c9d48d9b1b8c42784c4b6917 sysrepo-2.1.64.tar.gz +sha256 bebb7901682eb23bf4c73d086d0a45c124ec751a67793a66024f1d4203425730 sysrepo-2.2.36.tar.gz sha256 88f1b7e5c64d2c113e07105aa9c0fb80639b40287565be1c2afd0949df83d826 LICENSE diff --git a/package/sysrepo/sysrepo.mk b/package/sysrepo/sysrepo.mk index 0ed27e3cfb2..6b031ae6f9e 100644 --- a/package/sysrepo/sysrepo.mk +++ b/package/sysrepo/sysrepo.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSREPO_VERSION = 2.1.64 +SYSREPO_VERSION = 2.2.36 SYSREPO_SITE = $(call github,sysrepo,sysrepo,v$(SYSREPO_VERSION)) SYSREPO_INSTALL_STAGING = YES SYSREPO_LICENSE = BSD-3-Clause diff --git a/package/sysstat/Config.in b/package/sysstat/Config.in index 442b7876843..efb640fd439 100644 --- a/package/sysstat/Config.in +++ b/package/sysstat/Config.in @@ -36,4 +36,4 @@ config BR2_PACKAGE_SYSSTAT * TTY device activity * Power management statistics - http://pagesperso-orange.fr/sebastien.godard/ + https://sysstat.github.io/ diff --git a/package/sysstat/sysstat.hash b/package/sysstat/sysstat.hash index b47f000e57f..31821d9e3fc 100644 --- a/package/sysstat/sysstat.hash +++ b/package/sysstat/sysstat.hash @@ -1,5 +1,5 @@ -# From: http://sebastien.godard.pagesperso-orange.fr/download.html -sha1 a730982e0c2d4964a0022c1509f3ea0a345402bc sysstat-12.6.1.tar.xz +# From: https://sysstat.github.io/2023/12/17/sysstat-12.7.5.html +sha1 f329edff36f462385a7c20d2a136b667ab8db735 sysstat-12.7.5.tar.xz # Locally calculated -sha256 18ff5a4e149e2568e43385637f72437fe6bafcc1322a93d13d1981e9464a0342 sysstat-12.6.1.tar.xz +sha256 57664040a549d33bb06a1121c7124d4cadd9b8b35f815856c194393047cd4d6b sysstat-12.7.5.tar.xz sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 COPYING diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk index eaf505dc493..cfa97834c31 100644 --- a/package/sysstat/sysstat.mk +++ b/package/sysstat/sysstat.mk @@ -4,24 +4,23 @@ # ################################################################################ -SYSSTAT_VERSION = 12.6.1 +SYSSTAT_VERSION = 12.7.5 SYSSTAT_SOURCE = sysstat-$(SYSSTAT_VERSION).tar.xz -SYSSTAT_SITE = http://pagesperso-orange.fr/sebastien.godard +SYSSTAT_SITE = https://sysstat.github.io/sysstat-packages SYSSTAT_CONF_OPTS = --disable-file-attr SYSSTAT_DEPENDENCIES = host-gettext $(TARGET_NLS_DEPENDENCIES) SYSSTAT_LICENSE = GPL-2.0+ SYSSTAT_LICENSE_FILES = COPYING -SYSSTAT_CPE_ID_VENDOR = sysstat_project +SYSSTAT_CPE_ID_VALID = YES SYSSTAT_SELINUX_MODULES = sysstat -# NVD is not up-to-date; 12.6.1 includes c1e631eddc50, which fixes the issue -SYSSTAT_IGNORE_CVES += CVE-2022-39377 - ifeq ($(BR2_PACKAGE_LM_SENSORS),y) SYSSTAT_DEPENDENCIES += lm-sensors SYSSTAT_CONF_OPTS += --enable-sensors else SYSSTAT_CONF_OPTS += --disable-sensors endif +# do not look at host's /usr/lib64 +SYSSTAT_CONF_OPTS += sa_lib_dir=/usr/lib/sa $(eval $(autotools-package)) diff --git a/package/system-config-printer/0001-Add-option-to-disable-xmlto-manual-generation.patch b/package/system-config-printer/0001-Add-option-to-disable-xmlto-manual-generation.patch deleted file mode 100644 index e2cf395811a..00000000000 --- a/package/system-config-printer/0001-Add-option-to-disable-xmlto-manual-generation.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 731c8d7e1f9edb527785d61f74031a5e5846554b Mon Sep 17 00:00:00 2001 -From: James Hilliard -Date: Sun, 25 Jul 2021 16:30:59 -0600 -Subject: [PATCH] Add option to disable xmlto manual generation. - -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -95e0b461f5a46c74b00287aca65732ea2fc9d69b] ---- - Makefile.am | 7 ++++++- - configure.ac | 5 +++++ - 2 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 843ba30d..7facab94 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -209,9 +209,11 @@ else - systemd_CLEANFILES= - endif - -+if XMLTO - man_MANS= \ - man/system-config-printer.1 \ - man/system-config-printer-applet.1 -+endif - - dbus_DATA = \ - dbus/com.redhat.NewPrinterNotification.conf \ -@@ -274,7 +276,6 @@ EXTRA_DIST=\ - $(bin_SCRIPTS) \ - setup.py \ - $(EXPORT_MODULES) \ -- man/system-config-printer.xml \ - $(dbus_DATA) \ - $(dbusinterfaces_DATA) \ - $(dbusservices_DATA) \ -@@ -297,12 +298,16 @@ EXTRA_DIST=\ - test_PhysicalDevice.py \ - $(appdata_in_files) - -+if XMLTO -+EXTRA_DIST+=man/system-config-printer.xml -+ - # The man pages are generated from DocBook XML. - .stamp-man-pages-built: $(top_srcdir)/man/system-config-printer.xml - xmlto man -o man $< - touch .stamp-man-pages-built - - $(man_MANS): .stamp-man-pages-built -+endif - - html: $(EXPORT_MODULES) $(EXPORT_MODULES_GEN) - rm -rf html -diff --git a/configure.ac b/configure.ac -index 811f897a..a2a66889 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -75,6 +75,11 @@ if test "x$with_systemdsystemunitdir" != xno; then - fi - AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) - -+AC_ARG_WITH(xmlto, -+ [AC_HELP_STRING([--with-xmlto], -+ [Enable xmlto manual generation @<:@default=yes@:>@])]) -+AM_CONDITIONAL([XMLTO], [test x$with_xmlto != xno]) -+ - ALL_LINGUAS="ar as ast bg bn_IN bn br bs ca cs cy da de el en_GB es et fa fi fr fur gu he hi hr hu id is it ja kn ko lt lv mai ml mr ms nb nds nl nn oc or pa pl pt_BR pt ro ru si sk sl sr@latin sr sv ta te th tr uk vi zh_CN zh_TW" - AC_CONFIG_FILES([ - Makefile --- -2.25.1 - diff --git a/package/system-config-printer/0002-configure-accept-non-system-cups-config.patch b/package/system-config-printer/0002-configure-accept-non-system-cups-config.patch deleted file mode 100644 index 9661115bf04..00000000000 --- a/package/system-config-printer/0002-configure-accept-non-system-cups-config.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 75db995dda74696123cde2869e4e9b3315b91abd Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 1 Aug 2021 13:40:28 +0200 -Subject: [PATCH] configure: accept non-system cups-config - -In cross-compilation setups, cups.config might not be installed, and -might not be in the PATH. - -Allow a user to specify the full path to cups-config. - -Signed-off-by: Yann E. MORIN ---- - configure.ac | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index dd013b4a..9f033d18 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -33,7 +33,11 @@ fi - AC_SUBST(DESKTOPVENDOR) - AC_SUBST(DESKTOPPREFIX) - --cupsserverbindir="`cups-config --serverbin`" -+AC_ARG_WITH([cups-config], -+ [AC_HELP_STRING([--with-cups-config], [Specify the path of cups-config])],, -+ [with_cups_config=cups-config]) -+ -+cupsserverbindir="`${with_cups_config} --serverbin`" - AC_SUBST(cupsserverbindir) - - PKG_CHECK_MODULES(GLIB, glib-2.0, has_glib=yes, has_glib=no) --- -2.25.1 - diff --git a/package/system-config-printer/system-config-printer.hash b/package/system-config-printer/system-config-printer.hash index 56b7e476500..3bbc8707805 100644 --- a/package/system-config-printer/system-config-printer.hash +++ b/package/system-config-printer/system-config-printer.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 fbd226ce215bf014213dded81b43b9d4d90470524f5bf7cd21ecc71d4aefa689 system-config-printer-1.5.15.tar.xz +sha256 b1a69e1b4ec2add569a87aeca811a37c5361ee6ae327ec852b79e64223e34bee system-config-printer-1.5.18.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/system-config-printer/system-config-printer.mk b/package/system-config-printer/system-config-printer.mk index e2757430260..6b101e84000 100644 --- a/package/system-config-printer/system-config-printer.mk +++ b/package/system-config-printer/system-config-printer.mk @@ -4,18 +4,13 @@ # ################################################################################ -SYSTEM_CONFIG_PRINTER_VERSION = 1.5.15 +SYSTEM_CONFIG_PRINTER_VERSION = 1.5.18 SYSTEM_CONFIG_PRINTER_SOURCE = system-config-printer-$(SYSTEM_CONFIG_PRINTER_VERSION).tar.xz SYSTEM_CONFIG_PRINTER_SITE = https://github.com/OpenPrinting/system-config-printer/releases/download/v$(SYSTEM_CONFIG_PRINTER_VERSION) SYSTEM_CONFIG_PRINTER_LICENSE = GPL-2.0+ SYSTEM_CONFIG_PRINTER_LICENSE_FILES = COPYING -SYSTEM_CONFIG_PRINTER_DEPENDENCIES = cups host-desktop-file-utils host-intltool host-pkgconf - -# 0001-Add-option-to-disable-xmlto-manual-generation.patch -# 0002-configure-accept-non-system-cups-config.patch -SYSTEM_CONFIG_PRINTER_AUTORECONF = YES - -SYSTEM_CONFIG_PRINTER_CONF_OPTS = --with-cups-config=$(STAGING_DIR)/usr/bin/cups-config +SYSTEM_CONFIG_PRINTER_DEPENDENCIES = \ + cups host-desktop-file-utils $(TARGET_NLS_DEPENDENCIES) host-pkgconf ifeq ($(BR2_PACKAGE_LIBGLIB2),y) SYSTEM_CONFIG_PRINTER_DEPENDENCIES += libglib2 diff --git a/package/systemd/0001-install-fix-compiler-warning-about-empty-directive-argument.patch b/package/systemd/0001-install-fix-compiler-warning-about-empty-directive-argument.patch new file mode 100644 index 00000000000..9408a6da0ed --- /dev/null +++ b/package/systemd/0001-install-fix-compiler-warning-about-empty-directive-argument.patch @@ -0,0 +1,45 @@ +From 8040fa55a1cbc34dede3205a902095ecd26c21e3 Mon Sep 17 00:00:00 2001 +From: Luca Boccassi +Date: Sat, 24 Feb 2024 12:05:44 +0000 +Subject: [PATCH] install: fix compiler warning about empty directive argument +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On ppc64el with gcc 13.2 on Ubuntu 24.04: + +3s In file included from ../src/basic/macro.h:386, +483s from ../src/basic/alloc-util.h:10, +483s from ../src/shared/install.c:12: +483s ../src/shared/install.c: In function ‘install_changes_dump’: +483s ../src/shared/install.c:432:64: error: ‘%s’ directive argument is null [-Werror=format-overflow=] +483s 432 | err = log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.", +483s | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +483s ../src/shared/install.c:432:75: note: format string is defined here +483s 432 | err = log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.", + +Upstream: https://github.com/systemd/systemd/commit/8040fa55a1cbc34dede3205a902095ecd26c21e3 +Signed-off-by: Fabrice Fontaine +--- + src/shared/install.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/shared/install.c b/src/shared/install.c +index fabf5db7ed2e1..c3a94d1912165 100644 +--- a/src/shared/install.c ++++ b/src/shared/install.c +@@ -340,9 +340,12 @@ void install_changes_dump(int r, const char *verb, const InstallChange *changes, + assert(verb || r >= 0); + + for (size_t i = 0; i < n_changes; i++) { +- if (changes[i].type < 0) +- assert(verb); + assert(changes[i].path); ++ /* This tries to tell the compiler that it's safe to use 'verb' in a string format if there ++ * was an error, but the compiler doesn't care and fails anyway, so strna(verb) is used ++ * too. */ ++ assert(verb || changes[i].type >= 0); ++ verb = strna(verb); + + /* When making changes here, make sure to also change install_error() in dbus-manager.c. */ + diff --git a/package/systemd/Config.in b/package/systemd/Config.in index 45a9e2d6446..aa5143d484a 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -22,7 +22,7 @@ menuconfig BR2_PACKAGE_SYSTEMD depends on !BR2_STATIC_LIBS # kmod depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_TOOLCHAIN_HAS_SSP - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 # LOOP_SET_BLOCK_SIZE depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_HOST_GCC_AT_LEAST_5 # host-systemd select BR2_PACKAGE_HAS_UDEV @@ -34,6 +34,7 @@ menuconfig BR2_PACKAGE_SYSTEMD select BR2_PACKAGE_UTIL_LINUX_AGETTY select BR2_PACKAGE_UTIL_LINUX_MOUNT select BR2_PACKAGE_UTIL_LINUX_FSCK + select BR2_PACKAGE_UTIL_LINUX_SULOGIN select BR2_PACKAGE_KMOD select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools select BR2_PACKAGE_KMOD_TOOLS @@ -51,7 +52,11 @@ menuconfig BR2_PACKAGE_SYSTEMD an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - Systemd requires a Linux kernel >= 3.13 with the following + Kernel versions below 4.15 ("recommended baseline") have + significant gaps in functionality and are not recommended + for use with this version of systemd. + + Systemd requires a Linux kernel >= 3.15 with the following options enabled: - CONFIG_DEVTMPFS @@ -66,9 +71,11 @@ menuconfig BR2_PACKAGE_SYSTEMD - CONFIG_PROC_FS - CONFIG_FHANDLE (libudev, mount and bind mount handling) - - CONFIG_NET_NS (needed by PrivateNetwork=, used in some + - CONFIG_NET_NS (Required for PrivateNetwork=, used in some systemd units) + - CONFIG_USER_NS (Required for PrivateUsers=) + - CONFIG_AUTOFS_FS / CONFIG_AUTOFS4_FS - CONFIG_TMPFS_POSIX_ACL - CONFIG_TMPFS_XATTR @@ -94,7 +101,7 @@ menuconfig BR2_PACKAGE_SYSTEMD the apropriate ones (e.g. e2fsck, from the e2fsprogs package) according to the system configuration. - http://freedesktop.org/wiki/Software/systemd + https://freedesktop.org/wiki/Software/systemd/ if BR2_PACKAGE_SYSTEMD @@ -179,7 +186,7 @@ config BR2_PACKAGE_SYSTEMD_BACKLIGHT systemd-backlight is a service that restores the display backlight brightness at early boot and saves it at shutdown. - http://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html + https://www.freedesktop.org/software/systemd/man/systemd-backlight@.service.html config BR2_PACKAGE_SYSTEMD_BINFMT bool "enable binfmt tool" @@ -196,7 +203,7 @@ config BR2_PACKAGE_SYSTEMD_COREDUMP kernel when a user space program receives a fatal signal and dumps core. - http://www.freedesktop.org/software/systemd/man/systemd-coredump.html + https://www.freedesktop.org/software/systemd/man/systemd-coredump.html config BR2_PACKAGE_SYSTEMD_PSTORE bool "enable pstore support" @@ -214,7 +221,7 @@ config BR2_PACKAGE_SYSTEMD_FIRSTBOOT systemd-firstboot initializes the most basic system settings interactively on the first boot. - http://www.freedesktop.org/software/systemd/man/systemd-firstboot.html + https://www.freedesktop.org/software/systemd/man/systemd-firstboot.html config BR2_PACKAGE_SYSTEMD_HIBERNATE bool "enable hibernation support" @@ -223,7 +230,7 @@ config BR2_PACKAGE_SYSTEMD_HIBERNATE When this features is enabled, additional tools and services are built to support suspending and resuming the system. - http://www.freedesktop.org/software/systemd/man/systemd-sleep.html + https://www.freedesktop.org/software/systemd/man/systemd-sleep.html config BR2_PACKAGE_SYSTEMD_HOMED bool "enable home daemon" @@ -231,7 +238,6 @@ config BR2_PACKAGE_SYSTEMD_HOMED depends on BR2_USE_MMU # cryptsetup -> lvm2 depends on !BR2_STATIC_LIBS # cryptsetup -> lvm2 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # fscrypt_key select BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL @@ -242,11 +248,11 @@ config BR2_PACKAGE_SYSTEMD_HOMED https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html -comment "homed support needs a toolchain w/ threads, dynamic library, kernel headers >= 4.12" +comment "homed support needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + BR2_STATIC_LIBS config BR2_PACKAGE_SYSTEMD_HOSTNAMED bool "enable hostname daemon" @@ -255,7 +261,7 @@ config BR2_PACKAGE_SYSTEMD_HOSTNAMED systemd-hostnamed is a system service that may be used as a mechanism to change the system's hostname. - http://www.freedesktop.org/software/systemd/man/systemd-hostnamed.service.html + https://www.freedesktop.org/software/systemd/man/systemd-hostnamed.service.html config BR2_PACKAGE_SYSTEMD_HWDB bool "enable hwdb installation" @@ -280,7 +286,7 @@ config BR2_PACKAGE_SYSTEMD_IMPORTD machine and container images for systemd-machined and machinectl. - http://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands + https://www.freedesktop.org/software/systemd/man/machinectl.html#Image%20Transfer%20Commands config BR2_PACKAGE_SYSTEMD_CATALOGDB bool "enable journal catalog database installation" @@ -303,14 +309,14 @@ config BR2_PACKAGE_SYSTEMD_LOCALED mechanism to change the system locale settings, as well as the console key mapping and default X11 key mapping. - http://www.freedesktop.org/software/systemd/man/systemd-localed.service.html + https://www.freedesktop.org/software/systemd/man/systemd-localed.service.html config BR2_PACKAGE_SYSTEMD_LOGIND bool "enable login daemon" help systemd-logind is a system service that manages user logins. - http://www.freedesktop.org/software/systemd/man/systemd-logind.service.html + https://www.freedesktop.org/software/systemd/man/systemd-logind.service.html config BR2_PACKAGE_SYSTEMD_MACHINED bool "enable machine daemon" @@ -319,7 +325,7 @@ config BR2_PACKAGE_SYSTEMD_MACHINED virtual machines and containers, and processes belonging to them. - http://www.freedesktop.org/software/systemd/man/systemd-machined.service.html + https://www.freedesktop.org/software/systemd/man/systemd-machined.service.html config BR2_PACKAGE_SYSTEMD_MYHOSTNAME bool "enable myhostname NSS plugin" @@ -330,7 +336,7 @@ config BR2_PACKAGE_SYSTEMD_MYHOSTNAME primarily providing hostname resolution for the locally configured system hostname as returned by gethostname(2). - http://www.freedesktop.org/software/systemd/man/nss-myhostname.html + https://www.freedesktop.org/software/systemd/man/nss-myhostname.html config BR2_PACKAGE_SYSTEMD_NETWORKD bool "enable network manager" @@ -343,7 +349,7 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD This simple network configuration solution is an alternative to dhcpcd or ISC dhcp. - http://www.freedesktop.org/software/systemd/man/systemd-networkd.html + https://www.freedesktop.org/software/systemd/man/systemd-networkd.html config BR2_PACKAGE_SYSTEMD_OOMD bool "enable out-of-memory killer" @@ -367,7 +373,7 @@ config BR2_PACKAGE_SYSTEMD_POLKIT useful for allowing unprivileged processes to speak to systemd's many privileged processes. - http://wiki.freedesktop.org/www/Software/polkit/ + https://wiki.freedesktop.org/www/Software/polkit/ comment "polkit support needs a toolchain with threads, wchar, gcc >= 7" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ @@ -402,7 +408,7 @@ config BR2_PACKAGE_SYSTEMD_QUOTACHECK file systems are mounted. It is pulled in only if at least one file system has quotas enabled. - http://www.freedesktop.org/software/systemd/man/systemd-quotacheck.service.html + https://www.freedesktop.org/software/systemd/man/systemd-quotacheck.service.html config BR2_PACKAGE_SYSTEMD_RANDOMSEED bool "enable random-seed support" @@ -412,7 +418,7 @@ config BR2_PACKAGE_SYSTEMD_RANDOMSEED shutdown. Saving/restoring the random seed across boots increases the amount of available entropy early at boot. - http://www.freedesktop.org/software/systemd/man/systemd-random-seed.service.html + https://www.freedesktop.org/software/systemd/man/systemd-random-seed.service.html config BR2_PACKAGE_SYSTEMD_REPART bool "enable repart support" @@ -434,7 +440,7 @@ config BR2_PACKAGE_SYSTEMD_RESOLVED caching and validating DNS/DNSSEC stub resolver, as well as an LLMNR resolver and responder. - http://www.freedesktop.org/software/systemd/man/systemd-resolved.html + https://www.freedesktop.org/software/systemd/man/systemd-resolved.html config BR2_PACKAGE_SYSTEMD_RFKILL bool "enable rfkill tools" @@ -442,7 +448,7 @@ config BR2_PACKAGE_SYSTEMD_RFKILL systemd-rfkill is a service that restores the RF kill switch state at early boot and saves it at shutdown. - http://www.freedesktop.org/software/systemd/man/systemd-rfkill@.service.html + https://www.freedesktop.org/software/systemd/man/systemd-rfkill.service.html config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT bool "enable SMACK support" @@ -475,13 +481,29 @@ config BR2_PACKAGE_SYSTEMD_SYSEXT https://www.freedesktop.org/software/systemd/man/systemd-sysext.html +config BR2_PACKAGE_SYSTEMD_SYSUPDATE + bool "enable sysupdate support" + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + select BR2_PACKAGE_UTIL_LINUX_LIBFDISK + help + systemd-sysupdate atomically updates the host OS, container + images, portable service images or other sources, based on + the transfer configuration files described in sysupdate.d. + + Note that the bootloader must be configured specifically to + support the A/B update mechanism defined by sysupdate. Only + systemd-boot does this out of the box. + + https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html + config BR2_PACKAGE_SYSTEMD_SYSUSERS bool "enable sysusers support" help systemd-sysusers creates system users and groups, based on the file format and location specified in sysusers.d(5). - http://www.freedesktop.org/software/systemd/man/systemd-sysusers.html + https://www.freedesktop.org/software/systemd/man/systemd-sysusers.html config BR2_PACKAGE_SYSTEMD_TIMEDATED bool "enable timedate daemon" @@ -491,7 +513,7 @@ config BR2_PACKAGE_SYSTEMD_TIMEDATED mechanism to change the system clock and timezone, as well as to enable/disable NTP time synchronization. - http://www.freedesktop.org/software/systemd/man/systemd-timedated.service.html + https://www.freedesktop.org/software/systemd/man/systemd-timedated.service.html config BR2_PACKAGE_SYSTEMD_TIMESYNCD bool "enable timesync daemon" @@ -504,7 +526,7 @@ config BR2_PACKAGE_SYSTEMD_TIMESYNCD This simple NTP solution is an alternative to sntp/ntpd from the ntp package. - http://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html + https://www.freedesktop.org/software/systemd/man/systemd-timesyncd.html config BR2_PACKAGE_SYSTEMD_USERDB bool "enable userdb daemon" @@ -518,13 +540,42 @@ config BR2_PACKAGE_SYSTEMD_USERDB https://www.freedesktop.org/software/systemd/man/systemd-userdbd.service.html +config BR2_PACKAGE_SYSTEMD_UTMP + bool "enable utmp support" + help + systemd-update-utmp-runlevel.service is a service that writes + SysV runlevel changes to utmp and wtmp, as well as the audit + logs, as they occur. systemd-update-utmp.service does the + same for system reboots and shutdown requests. + + https://www.freedesktop.org/software/systemd/man/systemd-update-utmp.service.html + + Utmp keeps track of what users do on the system (where they + logged from, on which terminal, ...) along with a general + status of the system (list of reboots, current uptime, current + number of users logged in). + + You should only enable this if your system will have actual + users who log in. + + https://man7.org/linux/man-pages/man5/utmp.5.html + config BR2_PACKAGE_SYSTEMD_VCONSOLE bool "enable vconsole tool" default y + select BR2_PACKAGE_KBD if BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP != "" help systemd-vconsole-setup is an early boot service that configures the virtual console font and console keymap. - http://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html + https://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html + +config BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP + string "default keymap" + default "us" + depends on BR2_PACKAGE_SYSTEMD_VCONSOLE + help + Default keymap for the system. Leave empty to not set a + default keymap. endif diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 3b98566f32d..e5588f06a2c 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 638a2fc78828765fc97bc73f428205b6dc1d359149b6c6bfe4d2a649cba2cca8 systemd-250.8.tar.gz +sha256 3d23003ea886dbffa5bc84ad72c6edcbde62d32dbdec506e308624e1da509cb0 systemd-254.9.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 sha256 e5a8645ad94aab24e312dd0c6be2aa54236eb9374480b1b14ea5c61598874fd5 LICENSES/BSD-2-Clause.txt @@ -8,7 +8,8 @@ sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 LICENS sha256 61778e80a2fd85955b626b29aa2bcf06144c714277bded65633e4a81479d9fb3 LICENSES/LGPL-2.0-or-later.txt sha256 5bcef4fedbfc08776630e65d5d0d074dd31208037eddb167ca46a9ec4f737764 LICENSES/Linux-syscall-note.txt sha256 790ac93fb2859097bdda4cf08b5a4feb5e479d0cb2c74f403248241bc3e7c216 LICENSES/lookup3-public-domain.txt +sha256 8a6fc0879cecc0b96bf4c08159b9d733bf0f15fcf32879aec98c4ffd05424554 LICENSES/MIT-0.txt sha256 b85dcd3e453d05982552c52b5fc9e0bdd6d23c6f8e844b984a88af32570b0cc0 LICENSES/MIT.txt sha256 2a98749f6bec00dfaed86fa9c1edea871aaae4f11ee4d100b671aaf4ce353a73 LICENSES/murmurhash2-public-domain.txt sha256 1a7adaa2c86cedfd6c7f5c0c7c72fd6d3e02cd0c9593f21fdb53c89bb2b130ec LICENSES/OFL-1.1.txt -sha256 11801e931f252252a16eac8299465510d0a82c36bfd9ac8aea9b202b76d2f82b LICENSES/README.md +sha256 8ccb649d1fc1103e5726612cf303f05d4eb86b7ab46d9f630009dd32e87612e2 LICENSES/README.md diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index 30a75b7a40b..dd4f3e778df 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -19,7 +19,7 @@ # - Diff sysusers.d with the previous version # - Diff factory/etc/nsswitch.conf with the previous version # (details are often sprinkled around in README and manpages) -SYSTEMD_VERSION = 250.8 +SYSTEMD_VERSION = 254.9 SYSTEMD_SITE = $(call github,systemd,systemd-stable,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = \ LGPL-2.1+, \ @@ -29,6 +29,7 @@ SYSTEMD_LICENSE = \ BSD-3-Clause (tools/chromiumos), \ CC0-1.0 (few source files, see LICENSES/README.md), \ GPL-2.0 with Linux-syscall-note (linux kernel headers), \ + MIT-0 (few source files, see LICENSES/README.md), \ MIT (few source files, see LICENSES/README.md), \ OFL-1.1 (Heebo fonts) SYSTEMD_LICENSE_FILES = \ @@ -40,11 +41,12 @@ SYSTEMD_LICENSE_FILES = \ LICENSES/LGPL-2.0-or-later.txt \ LICENSES/Linux-syscall-note.txt \ LICENSES/lookup3-public-domain.txt \ + LICENSES/MIT-0.txt \ LICENSES/MIT.txt \ LICENSES/murmurhash2-public-domain.txt \ LICENSES/OFL-1.1.txt \ LICENSES/README.md -SYSTEMD_CPE_ID_VENDOR = systemd_project +SYSTEMD_CPE_ID_VALID = YES SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ $(BR2_COREUTILS_HOST_DEPENDENCY) \ @@ -61,7 +63,14 @@ SYSTEMD_SELINUX_MODULES = systemd udev xdg SYSTEMD_PROVIDES = udev SYSTEMD_CONF_OPTS += \ + -Dcreate-log-dirs=false \ + -Ddbus=false \ + -Ddbus-interfaces-dir=no \ + -Ddefault-compression='auto' \ -Ddefault-hierarchy=unified \ + -Ddefault-locale='C.UTF-8' \ + -Ddefault-user-shell=/bin/sh \ + -Dfirst-boot-full-preset=false \ -Didn=true \ -Dima=false \ -Dkexec-path=/usr/sbin/kexec \ @@ -72,7 +81,9 @@ SYSTEMD_CONF_OPTS += \ -Dman=false \ -Dmount-path=/usr/bin/mount \ -Dmode=release \ + -Dnspawn-locale='C.UTF-8' \ -Dnss-systemd=true \ + -Dpasswdqc=false \ -Dquotacheck-path=/usr/sbin/quotacheck \ -Dquotaon-path=/usr/sbin/quotaon \ -Drootlibdir='/usr/lib' \ @@ -87,12 +98,13 @@ SYSTEMD_CONF_OPTS += \ -Dtelinit-path= \ -Dtests=false \ -Dtmpfiles=true \ + -Dukify=false \ -Dumount-path=/usr/bin/umount \ - -Dutmp=false + -Dxenctrl=false SYSTEMD_CFLAGS = $(TARGET_CFLAGS) ifeq ($(BR2_OPTIMIZE_FAST),y) -SYSTEMD_CFLAGS += -O3 +SYSTEMD_CFLAGS += -O3 -fno-finite-math-only endif ifeq ($(BR2_nios2),y) @@ -100,6 +112,10 @@ ifeq ($(BR2_nios2),y) SYSTEMD_LDFLAGS = $(TARGET_LDFLAGS) -Wl,--no-fatal-warnings endif +ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y) +SYSTEMD_JOURNALD_PERMISSIONS = /var/log/journal d 2755 root systemd-journal - - - - - +endif + ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_DEPENDENCIES += acl SYSTEMD_CONF_OPTS += -Dacl=true @@ -207,13 +223,6 @@ else SYSTEMD_CONF_OPTS += -Dfdisk=false endif -ifeq ($(BR2_PACKAGE_VALGRIND),y) -SYSTEMD_DEPENDENCIES += valgrind -SYSTEMD_CONF_OPTS += -Dvalgrind=true -else -SYSTEMD_CONF_OPTS += -Dvalgrind=false -endif - ifeq ($(BR2_PACKAGE_XZ),y) SYSTEMD_DEPENDENCIES += xz SYSTEMD_CONF_OPTS += -Dxz=true @@ -237,9 +246,9 @@ endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) SYSTEMD_DEPENDENCIES += libgcrypt -SYSTEMD_CONF_OPTS += -Ddefault-dnssec=allow-downgrade -Dgcrypt=true +SYSTEMD_CONF_OPTS += -Dgcrypt=true else -SYSTEMD_CONF_OPTS += -Ddefault-dnssec=no -Dgcrypt=false +SYSTEMD_CONF_OPTS += -Dgcrypt=false endif ifeq ($(BR2_PACKAGE_P11_KIT),y) @@ -309,6 +318,12 @@ else SYSTEMD_CONF_OPTS += -Dselinux=false endif +ifneq ($(BR2_PACKAGE_LIBGCRYPT)$(BR2_PACKAGE_LIBOPENSSL),) +SYSTEMD_CONF_OPTS += -Ddefault-dnssec=allow-downgrade +else +SYSTEMD_CONF_OPTS += -Ddefault-dnssec=no +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y) SYSTEMD_CONF_OPTS += -Dhwdb=true define SYSTEMD_BUILD_HWDB @@ -331,8 +346,16 @@ else SYSTEMD_CONF_OPTS += -Dbinfmt=false endif +ifeq ($(BR2_PACKAGE_SYSTEMD_UTMP),y) +SYSTEMD_CONF_OPTS += -Dutmp=true +else +SYSTEMD_CONF_OPTS += -Dutmp=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_VCONSOLE),y) -SYSTEMD_CONF_OPTS += -Dvconsole=true +SYSTEMD_CONF_OPTS += \ + -Dvconsole=true \ + -Ddefault-keymap=$(call qstrip,$(BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP)) else SYSTEMD_CONF_OPTS += -Dvconsole=false endif @@ -479,6 +502,12 @@ else SYSTEMD_CONF_OPTS += -Dsysext=false endif +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUPDATE),y) +SYSTEMD_CONF_OPTS += -Dsysupdate=true +else +SYSTEMD_CONF_OPTS += -Dsysupdate=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y) SYSTEMD_CONF_OPTS += -Dnetworkd=true SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - systemd Network Management @@ -547,16 +576,17 @@ else SYSTEMD_CONF_OPTS += -Dhibernate=false endif +ifeq ($(BR2_PACKAGE_TPM2_TSS),y) +SYSTEMD_DEPENDENCIES += tpm2-tss +SYSTEMD_CONF_OPTS += -Dtpm2=true +else +SYSTEMD_CONF_OPTS += -Dtpm2=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_BOOT),y) SYSTEMD_INSTALL_IMAGES = YES -SYSTEMD_DEPENDENCIES += gnu-efi -SYSTEMD_CONF_OPTS += \ - -Defi=true \ - -Dgnu-efi=true \ - -Defi-cc=$(TARGET_CC) \ - -Defi-ld=bfd \ - -Defi-libdir=$(STAGING_DIR)/usr/lib \ - -Defi-includedir=$(STAGING_DIR)/usr/include/efi +SYSTEMD_DEPENDENCIES += gnu-efi host-python-pyelftools +SYSTEMD_CONF_OPTS += -Defi=true -Dbootloader=true SYSTEMD_BOOT_EFI_ARCH = $(call qstrip,$(BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH)) define SYSTEMD_INSTALL_BOOT_FILES @@ -569,7 +599,7 @@ define SYSTEMD_INSTALL_BOOT_FILES endef else -SYSTEMD_CONF_OPTS += -Defi=false -Dgnu-efi=false +SYSTEMD_CONF_OPTS += -Defi=false -Dbootloader=false endif # BR2_PACKAGE_SYSTEMD_BOOT == y SYSTEMD_FALLBACK_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME)) @@ -598,11 +628,13 @@ define SYSTEMD_INSTALL_IMAGES_CMDS endef define SYSTEMD_PERMISSIONS + /boot d 700 0 0 - - - - - /var/spool d 755 0 0 - - - - - /var/lib d 755 0 0 - - - - - /var/lib/private d 700 0 0 - - - - - /var/log/private d 700 0 0 - - - - - /var/cache/private d 700 0 0 - - - - - + $(SYSTEMD_JOURNALD_PERMISSIONS) $(SYSTEMD_LOGIND_PERMISSIONS) $(SYSTEMD_MACHINED_PERMISSIONS) $(SYSTEMD_HOMED_PERMISSIONS) @@ -614,7 +646,6 @@ endef define SYSTEMD_USERS # udev user groups - - render -1 * - - - DRI rendering nodes - - - sgx -1 * - - - SGX device nodes # systemd user groups - - systemd-journal -1 * - - - Journal $(SYSTEMD_REMOTE_USER) @@ -645,9 +676,9 @@ SYSTEMD_TARGET_FINALIZE_HOOKS += \ SYSTEMD_INSTALL_RESOLVCONF_HOOK ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) -# systemd provides multiple units to autospawn getty as neede +# systemd provides multiple units to autospawn getty as needed # * getty@.service to start a getty on normal TTY -# * sertial-getty@.service to start a getty on serial lines +# * serial-getty@.service to start a getty on serial lines # * console-getty.service for generic /dev/console # * container-getty@.service for a getty on /dev/pts/* # @@ -655,18 +686,18 @@ ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) # * read the console= kernel command line parameter # * enable one of the above units depending on what it finds # -# Systemd defaults to enablinb getty@tty1.service +# Systemd defaults to enabling getty@tty1.service # # What we want to do -# * Enable a getty on $BR2_TARGET_GENERIC_TTY_PATH +# * Enable a getty on $BR2_TARGET_GENERIC_GETTY_PORT # * Set the baudrate for all units according to BR2_TARGET_GENERIC_GETTY_BAUDRATE # * Always enable a getty on the console using systemd-getty-generator # (backward compatibility with previous releases of buildroot) # # What we do # * disable getty@tty1 (enabled by upstream systemd) -# * enable getty@xxx if $BR2_TARGET_GENERIC_TTY_PATH is a tty -# * enable serial-getty@xxx for other $BR2_TARGET_GENERIC_TTY_PATH +# * enable getty@xxx if $BR2_TARGET_GENERIC_GETTY_PORT is a tty +# * enable serial-getty@xxx for other $BR2_TARGET_GENERIC_GETTY_PORT # * rewrite baudrates if a baudrate is provided define SYSTEMD_INSTALL_SERVICE_TTY mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/getty@.service.d; \ @@ -744,12 +775,6 @@ define SYSTEMD_RM_CATALOG_UPDATE_SERVICE endef SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_RM_CATALOG_UPDATE_SERVICE -define SYSTEMD_CREATE_TMPFILES_HOOK - HOST_SYSTEMD_TMPFILES=$(HOST_DIR)/bin/systemd-tmpfiles \ - $(SYSTEMD_PKGDIR)/fakeroot_tmpfiles.sh $(TARGET_DIR) -endef -SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_CREATE_TMPFILES_HOOK - define SYSTEMD_PRESET_ALL $(HOST_DIR)/bin/systemctl --root=$(TARGET_DIR) preset-all endef @@ -788,25 +813,31 @@ HOST_SYSTEMD_CONF_OPTS = \ --libdir=lib \ --sysconfdir=/etc \ --localstatedir=/var \ + -Dcreate-log-dirs=false \ -Dmode=release \ -Dutmp=false \ -Dhibernate=false \ -Dldconfig=false \ -Dresolve=false \ + -Dbootloader=false \ -Defi=false \ -Dtpm=false \ -Denvironment-d=false \ -Dbinfmt=false \ -Drepart=false \ -Dcoredump=false \ + -Ddbus=false \ + -Ddbus-interfaces-dir=no \ -Dpstore=false \ -Doomd=false \ -Dlogind=false \ -Dhostnamed=false \ -Dlocaled=false \ -Dmachined=false \ + -Dpasswdqc=false \ -Dportabled=false \ -Dsysext=false \ + -Dsysupdate=false \ -Duserdb=false \ -Dhomed=false \ -Dnetworkd=false \ @@ -846,9 +877,11 @@ HOST_SYSTEMD_CONF_OPTS = \ -Dinitrd=false \ -Dxdg-autostart=false \ -Dkernel-install=false \ + -Dukify=false \ -Danalyze=false \ -Dlibcryptsetup=false \ -Daudit=false \ + -Dxenctrl=false \ -Dzstd=false HOST_SYSTEMD_DEPENDENCIES = \ diff --git a/package/sysvinit/sysvinit.hash b/package/sysvinit/sysvinit.hash index f81e55fc446..67b0ab38f04 100644 --- a/package/sysvinit/sysvinit.hash +++ b/package/sysvinit/sysvinit.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 b05c3677bb698afe64c997968b00c49b2a9bd320ce963523230ee7ea41197757 sysvinit-2.99.tar.xz +sha256 2a621fe6e4528bc91308b74867ddaaebbdf7753f02395c0c5bae817bd2b7e3a5 sysvinit-3.04.tar.xz # Hash for license files: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk index 1bf10deb635..49c92ec2ac4 100644 --- a/package/sysvinit/sysvinit.mk +++ b/package/sysvinit/sysvinit.mk @@ -4,12 +4,12 @@ # ################################################################################ -SYSVINIT_VERSION = 2.99 +SYSVINIT_VERSION = 3.04 SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VERSION).tar.xz SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit SYSVINIT_LICENSE = GPL-2.0+ SYSVINIT_LICENSE_FILES = COPYING -SYSVINIT_CPE_ID_VENDOR = sysvinit_project +SYSVINIT_CPE_ID_VALID = YES SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR) diff --git a/package/taglib/taglib.hash b/package/taglib/taglib.hash index 7d1b2e8422c..e83aa451f33 100644 --- a/package/taglib/taglib.hash +++ b/package/taglib/taglib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 58f08b4db3dc31ed152c04896ee9172d22052bc7ef12888028c01d8b1d60ade0 taglib-1.13.tar.gz +sha256 c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b taglib-1.13.1.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING.MPL diff --git a/package/taglib/taglib.mk b/package/taglib/taglib.mk index c6878910026..9bdf05b85d4 100644 --- a/package/taglib/taglib.mk +++ b/package/taglib/taglib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TAGLIB_VERSION = 1.13 +TAGLIB_VERSION = 1.13.1 TAGLIB_SITE = http://taglib.github.io/releases TAGLIB_INSTALL_STAGING = YES TAGLIB_LICENSE = LGPL-2.1 or MPL-1.1 diff --git a/package/tar/0002-Fix-boundary-checking-in-base-256-decoder.patch b/package/tar/0002-Fix-boundary-checking-in-base-256-decoder.patch new file mode 100644 index 00000000000..7bad339fe0d --- /dev/null +++ b/package/tar/0002-Fix-boundary-checking-in-base-256-decoder.patch @@ -0,0 +1,33 @@ +From 3da78400eafcccb97e2f2fd4b227ea40d794ede8 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Sat, 11 Feb 2023 11:57:39 +0200 +Subject: [PATCH] Fix boundary checking in base-256 decoder + +* src/list.c (from_header): Base-256 encoding is at least 2 bytes +long. + +Signed-off-by: Peter Korsgaard +Upstream: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=3da78400eafcccb97e2f2fd4b227ea40d794ede8 +--- + src/list.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/list.c b/src/list.c +index 9fafc425..86bcfdd1 100644 +--- a/src/list.c ++++ b/src/list.c +@@ -881,8 +881,9 @@ from_header (char const *where0, size_t digs, char const *type, + where++; + } + } +- else if (*where == '\200' /* positive base-256 */ +- || *where == '\377' /* negative base-256 */) ++ else if (where <= lim - 2 ++ && (*where == '\200' /* positive base-256 */ ++ || *where == '\377' /* negative base-256 */)) + { + /* Parse base-256 output. A nonnegative number N is + represented as (256**DIGS)/2 + N; a negative number -N is +-- +2.39.2 + diff --git a/package/tar/tar.mk b/package/tar/tar.mk index 80d7495b005..d57d63970d1 100644 --- a/package/tar/tar.mk +++ b/package/tar/tar.mk @@ -13,8 +13,11 @@ TAR_CONF_OPTS = --exec-prefix=/ TAR_LICENSE = GPL-3.0+ TAR_LICENSE_FILES = COPYING TAR_CPE_ID_VENDOR = gnu -# only tar <= 1.16 -TAR_IGNORE_CVES += CVE-2007-4476 +TAR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +TAR_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) + +# 0002-Fix-boundary-checking-in-base-256-decoder.patch +TAR_IGNORE_CVES += CVE-2022-48303 ifeq ($(BR2_PACKAGE_ACL),y) TAR_DEPENDENCIES += acl diff --git a/package/targetcli-fb/Config.in b/package/targetcli-fb/Config.in index 04c6a1ac09d..eb7528fbea4 100644 --- a/package/targetcli-fb/Config.in +++ b/package/targetcli-fb/Config.in @@ -1,12 +1,23 @@ -comment "targetcli-fb depends on Python" +comment "targetcli-fb needs Python, a glibc toolchain, gcc >= 4.9, host gcc >= 8" depends on !BR2_PACKAGE_PYTHON3 + depends on BR2_USE_MMU + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS + depends on !BR2_HOST_GCC_AT_LEAST_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_TOOLCHAIN_USES_GLIBC config BR2_PACKAGE_TARGETCLI_FB bool "targetcli-fb" depends on BR2_PACKAGE_PYTHON3 # python-configshell-fb + depends on BR2_USE_MMU # python-gobject -> gobject-introspection + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection + depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection + depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection select BR2_PACKAGE_PYTHON_CONFIGSHELL_FB select BR2_PACKAGE_PYTHON_RTSLIB_FB select BR2_PACKAGE_PYTHON_SIX + select BR2_PACKAGE_PYTHON_GOBJECT help targetcli-fb is a command-line interface for configuring the LIO generic SCSI target, present in 3.x Linux kernel diff --git a/package/targetcli-fb/targetcli-fb.hash b/package/targetcli-fb/targetcli-fb.hash index 64f68a6675a..1732fa99e54 100644 --- a/package/targetcli-fb/targetcli-fb.hash +++ b/package/targetcli-fb/targetcli-fb.hash @@ -1,3 +1,3 @@ # locally computed -sha256 7ae4120a54f24b13263b4b85c43952a03546f8b9fc9bd15fe87678f68245a33f targetcli-fb-2.1.54.tar.gz +sha256 605f4e4e4e7189d6a03f11a4f55e7ddb4671002d542c2f684f87dd68391dcdc2 targetcli-fb-2.1.58.tar.gz sha256 5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320 COPYING diff --git a/package/targetcli-fb/targetcli-fb.mk b/package/targetcli-fb/targetcli-fb.mk index c6ca776b27f..503b9224d03 100644 --- a/package/targetcli-fb/targetcli-fb.mk +++ b/package/targetcli-fb/targetcli-fb.mk @@ -6,13 +6,17 @@ # When upgrading the version, be sure to also upgrade python-rtslib-fb # and python-configshell-fb at the same time. -TARGETCLI_FB_VERSION = 2.1.54 +TARGETCLI_FB_VERSION = 2.1.58 TARGETCLI_FB_SITE = $(call github,open-iscsi,targetcli-fb,v$(TARGETCLI_FB_VERSION)) TARGETCLI_FB_LICENSE = Apache-2.0 TARGETCLI_FB_LICENSE_FILES = COPYING -TARGETCLI_FB_CPE_ID_VENDOR = targetcli-fb_project +TARGETCLI_FB_CPE_ID_VALID = YES TARGETCLI_FB_SETUP_TYPE = setuptools -TARGETCLI_FB_DEPENDENCIES = python-configshell-fb python-rtslib-fb python-six +TARGETCLI_FB_DEPENDENCIES = \ + python-configshell-fb \ + python-gobject \ + python-rtslib-fb \ + python-six define TARGETCLI_FB_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/targetcli-fb/S50target \ diff --git a/package/tbb/0001-Musl-linux-can-not-use-RTLD_DEEPBIND.patch b/package/tbb/0001-Musl-linux-can-not-use-RTLD_DEEPBIND.patch deleted file mode 100644 index 82182ce1090..00000000000 --- a/package/tbb/0001-Musl-linux-can-not-use-RTLD_DEEPBIND.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 883c2e5245c39624b3b5d6d56d5b203cf09eac38 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 15 Dec 2021 08:08:07 -0800 -Subject: [PATCH] Musl/linux can not use RTLD_DEEPBIND (#684) - -Exclude non-glibc linux systems along with android -Fixes -src/tbb/dynamic_link.cpp:417:29: error: use - of undeclared identifier 'RTLD_DEEPBIND' | flags = flags | RTLD_DEEPBIND; -| ^ - -Signed-off-by: Khem Raj - -[Retrieved from: -https://github.com/oneapi-src/oneTBB/commit/883c2e5245c39624b3b5d6d56d5b203cf09eac38] -Signed-off-by: Fabrice Fontaine ---- - src/tbb/dynamic_link.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/tbb/dynamic_link.cpp b/src/tbb/dynamic_link.cpp -index 3f1342503..5330d7107 100644 ---- a/src/tbb/dynamic_link.cpp -+++ b/src/tbb/dynamic_link.cpp -@@ -413,7 +413,7 @@ namespace r1 { - int flags = RTLD_NOW; - if (local_binding) { - flags = flags | RTLD_LOCAL; --#if __linux__ && !__ANDROID__ && !__TBB_USE_SANITIZERS -+#if (__linux__ && __GLIBC__) && !__TBB_USE_SANITIZERS - flags = flags | RTLD_DEEPBIND; - #endif - } else { diff --git a/package/tbb/0002-mallinfo-is-only-defined-on-glibc-and-android.patch b/package/tbb/0002-mallinfo-is-only-defined-on-glibc-and-android.patch deleted file mode 100644 index 9b397cac416..00000000000 --- a/package/tbb/0002-mallinfo-is-only-defined-on-glibc-and-android.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 3a7f96db56cc9821055cbc769d3065db86b8b4c9 Mon Sep 17 00:00:00 2001 -From: Julien Voisin -Date: Mon, 7 Feb 2022 07:56:15 +0100 -Subject: [PATCH] mallinfo is only defined on glibc and android (#764) - -It currently prevents compilation under musl: - -``` -[ 90%] Building CXX object src/tbbmalloc_proxy/CMakeFiles/tbbmalloc_proxy.dir/proxy.cpp.o -/__w/mimalloc-bench/mimalloc-bench/extern/tbb/src/tbbmalloc_proxy/proxy.cpp:263:26: error: return type 'struct mallinfo' is incomplete - 263 | struct mallinfo mallinfo() __THROW - | ^ -compilation terminated due to -Wfatal-errors. -`` - -[Retrieved from: -https://github.com/oneapi-src/oneTBB/commit/3a7f96db56cc9821055cbc769d3065db86b8b4c9] -Signed-off-by: Fabrice Fontaine ---- - src/tbbmalloc_proxy/proxy.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/tbbmalloc_proxy/proxy.cpp b/src/tbbmalloc_proxy/proxy.cpp -index e58e55e0b..23b9c19c1 100644 ---- a/src/tbbmalloc_proxy/proxy.cpp -+++ b/src/tbbmalloc_proxy/proxy.cpp -@@ -260,6 +260,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW - return 1; - } - -+#if defined(__GLIBC__) || defined(__ANDROID__) - struct mallinfo mallinfo() __THROW - { - struct mallinfo m; -@@ -267,6 +268,7 @@ struct mallinfo mallinfo() __THROW - - return m; - } -+#endif - - #if __ANDROID__ - // Android doesn't have malloc_usable_size, provide it to be compatible diff --git a/package/tbb/0003-Define-ITT_ARCH_IA64-when-undefiend.patch b/package/tbb/0003-Define-ITT_ARCH_IA64-when-undefiend.patch deleted file mode 100644 index 5b7f0024995..00000000000 --- a/package/tbb/0003-Define-ITT_ARCH_IA64-when-undefiend.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6fad69889da67bc4d4baff4afa94f77da45e006d Mon Sep 17 00:00:00 2001 -From: Felix Yan -Date: Thu, 7 Oct 2021 14:16:16 +0800 -Subject: [PATCH] Define ITT_ARCH_IA64 when undefiend (#550) - -[Retrieved from: -https://github.com/oneapi-src/oneTBB/commit/6fad69889da67bc4d4baff4afa94f77da45e006d] -Signed-off-by: Fabrice Fontaine ---- - src/tbb/tools_api/ittnotify_config.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/tbb/tools_api/ittnotify_config.h b/src/tbb/tools_api/ittnotify_config.h -index 8ecc23781..f904a8e9d 100644 ---- a/src/tbb/tools_api/ittnotify_config.h -+++ b/src/tbb/tools_api/ittnotify_config.h -@@ -147,6 +147,10 @@ - # define ITT_ARCH_IA32E 2 - #endif /* ITT_ARCH_IA32E */ - -+#ifndef ITT_ARCH_IA64 -+# define ITT_ARCH_IA64 3 -+#endif /* ITT_ARCH_IA64 */ -+ - #ifndef ITT_ARCH_ARM - # define ITT_ARCH_ARM 4 - #endif /* ITT_ARCH_ARM */ diff --git a/package/tbb/tbb.hash b/package/tbb/tbb.hash index 9992fb3c4f7..4d2cb10da88 100644 --- a/package/tbb/tbb.hash +++ b/package/tbb/tbb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e5b57537c741400cf6134b428fc1689a649d7d38d9bb9c1b6d64f092ea28178a tbb-2021.5.0.tar.gz +sha256 782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363 tbb-2021.11.0.tar.gz sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE.txt diff --git a/package/tbb/tbb.mk b/package/tbb/tbb.mk index fc720fd2f5c..1b0afbb8896 100644 --- a/package/tbb/tbb.mk +++ b/package/tbb/tbb.mk @@ -4,7 +4,7 @@ # ################################################################################ -TBB_VERSION = 2021.5.0 +TBB_VERSION = 2021.11.0 TBB_SITE = $(call github,01org,tbb,v$(TBB_VERSION)) TBB_INSTALL_STAGING = YES TBB_LICENSE = Apache-2.0 diff --git a/package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch b/package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch new file mode 100644 index 00000000000..5f08fa485e3 --- /dev/null +++ b/package/tcf-agent/0001-agent-tcf-services-tcf_elf.c-fix-x86-build.patch @@ -0,0 +1,60 @@ +From 0a847ca035113540ee44d17f364bf4701fe78355 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 1 Mar 2024 22:31:05 +0100 +Subject: [PATCH] agent/tcf/services/tcf_elf.c: fix x86 build + +Fix the following x86 build failure raised since version 1.8.0 and +https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/commit/8df5540c53b862d516ac25f908c2fff4a547b4a6: + +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c: In function 'unpack_elf_symbol_info': +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c:2079:27: error: 'STT_ARM_16BIT' undeclared (first use in this function) + 2079 | if (info->type == STT_ARM_16BIT) { + | ^~~~~~~~~~~~~ +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c:2079:27: note: each undeclared identifier is reported only once for each function it appears in +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c: In function 'create_symbol_addr_search_index': +/home/buildroot/autobuild/run/instance-1/output-1/build/tcf-agent-1.8.0/agent/tcf/services/tcf_elf.c:2228:78: error: 'STT_ARM_16BIT' undeclared (first use in this function) + 2228 | if (type == STT_FUNC || type == STT_ARM_TFUNC || type == STT_ARM_16BIT) { + | ^~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/8388acf59689ed7e621bdf158483e3df1cf9bef7 + +Signed-off-by: Fabrice Fontaine +Upstream: https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/merge_requests/1 +--- + agent/tcf/services/tcf_elf.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/agent/tcf/services/tcf_elf.c b/agent/tcf/services/tcf_elf.c +index 1b3900ec..b0b948e4 100644 +--- a/agent/tcf/services/tcf_elf.c ++++ b/agent/tcf/services/tcf_elf.c +@@ -2076,10 +2076,12 @@ void unpack_elf_symbol_info(ELF_Section * sym_sec, U4_T index, ELF_SymbolInfo * + } + + if (file->machine == EM_ARM) { ++#ifdef STT_ARM_16BIT + if (info->type == STT_ARM_16BIT) { + info->type = STT_OBJECT; + info->type16bit = 1; + } ++#endif + if (info->type == STT_ARM_TFUNC) { + info->type = STT_FUNC; + info->type16bit = 1; +@@ -2225,7 +2227,11 @@ static void create_symbol_addr_search_index(ELF_Section * sec) { + } + add = add && type != STT_GNU_IFUNC; + if (add && file->machine == EM_ARM) { +- if (type == STT_FUNC || type == STT_ARM_TFUNC || type == STT_ARM_16BIT) { ++ if (type == STT_FUNC || type == STT_ARM_TFUNC ++#ifdef STT_ARM_16BIT ++ || type == STT_ARM_16BIT ++#endif ++ ) { + addr = addr & ~(U8_T)1; + } + } +-- +2.43.0 + diff --git a/package/tcf-agent/Config.in b/package/tcf-agent/Config.in index 8c7aab0c0bb..a016871e6d5 100644 --- a/package/tcf-agent/Config.in +++ b/package/tcf-agent/Config.in @@ -27,8 +27,8 @@ config BR2_PACKAGE_TCF_AGENT_ARCH default "i686" if BR2_i386 && BR2_ARCH="i686" default "i386" if BR2_i386 && !BR2_ARCH="i686" default "x86_64" if BR2_x86_64 - default "powerpc" if BR2_powerpc - default "ppc64" if BR2_powerpc64 || BR2_powerpc64le + default "powerpc" if BR2_powerpc || BR2_powerpc64 || \ + BR2_powerpc64le default "microblaze" if BR2_microblaze || BR2_microblazeel config BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS diff --git a/package/tcf-agent/tcf-agent.hash b/package/tcf-agent/tcf-agent.hash index 3ff4d9a546d..34893d280b8 100644 --- a/package/tcf-agent/tcf-agent.hash +++ b/package/tcf-agent/tcf-agent.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 2f8c7be8a0bf7c86c72fd5680bc19a9e8f98792d40c94a0fee30ceb6428b8f33 org.eclipse.tcf.agent-1.7.0.tar.gz +sha256 64131790c7d4636d4abff8516d5b4b6329e4d3e691f44dc604e2c30f55edb0dd org.eclipse.tcf.agent-1.8.0.tar.xz # Hash for license files: sha256 f82d01b74a513bd3504d08136026a5ac2a7e6ff62ebcde391fa74aa222d11ce0 agent/edl-v10.html diff --git a/package/tcf-agent/tcf-agent.mk b/package/tcf-agent/tcf-agent.mk index 2b8a61b66fa..9d955d4b6f2 100644 --- a/package/tcf-agent/tcf-agent.mk +++ b/package/tcf-agent/tcf-agent.mk @@ -4,9 +4,8 @@ # ################################################################################ -TCF_AGENT_VERSION = 1.7.0 -# the tar.xz link was broken the time this file got authored -TCF_AGENT_SOURCE = org.eclipse.tcf.agent-$(TCF_AGENT_VERSION).tar.gz +TCF_AGENT_VERSION = 1.8.0 +TCF_AGENT_SOURCE = org.eclipse.tcf.agent-$(TCF_AGENT_VERSION).tar.xz TCF_AGENT_SITE = http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/snapshot # see https://wiki.spdx.org/view/Legal_Team/License_List/Licenses_Under_Consideration TCF_AGENT_LICENSE = BSD-3-Clause diff --git a/package/tcl/0001-Disable-tcl-compatibility-layers.patch b/package/tcl/0001-Disable-tcl-compatibility-layers.patch new file mode 100644 index 00000000000..b7b776ad5dd --- /dev/null +++ b/package/tcl/0001-Disable-tcl-compatibility-layers.patch @@ -0,0 +1,35 @@ +From c829552921f0c7c8e522f911135ee100742b441b Mon Sep 17 00:00:00 2001 +From: Andrew Ruder +Date: Tue, 8 Apr 2014 15:54:04 -0500 +Subject: [PATCH] Disable tcl compatibility layers + +Turn off building compatibility layers for old/broken versions of +standard functions (strstr, strtoul, strtod) with the assumption that +anything buildroot is using as a standard C library will be good enough +to not have broken behavior. + +Signed-off-by: Andrew Ruder +[Fabrice: Update for 8.6.12] +Signed-off-by: Fabrice Fontaine +[Julien: Update for 8.6.13] +Signed-off-by: Julien Olivain +--- + unix/tcl.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/unix/tcl.m4 b/unix/tcl.m4 +index ca94abd4ad..42eb58d384 100644 +--- a/unix/tcl.m4 ++++ b/unix/tcl.m4 +@@ -2646,7 +2646,7 @@ AC_DEFUN([SC_TCL_CHECK_BROKEN_FUNC],[ + #include + #include + int main() {]$2[}]]])],[tcl_cv_$1_unbroken=ok], +- [tcl_cv_$1_unbroken=broken],[tcl_cv_$1_unbroken=unknown])) ++ [tcl_cv_$1_unbroken=broken],[tcl_cv_$1_unbroken=ok])) + if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then + tcl_ok=1 + else +-- +2.41.0 + diff --git a/package/tcl/0001-dont-build-compat.patch b/package/tcl/0001-dont-build-compat.patch deleted file mode 100644 index 7a7d959cd25..00000000000 --- a/package/tcl/0001-dont-build-compat.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Andrew Ruder -Subject: [PATCH] Disable tcl compatibility layers - -Turn off building compatibility layers for old/broken versions of -standard functions (strstr, strtoul, strtod) with the assumption that -anything buildroot is using as a standard C library will be good enough -to not have broken behavior. - -Signed-off-by: Andrew Ruder -[Fabrice: Update for 8.6.12] -Signed-off-by: Fabrice Fontaine ---- - -diff --git a/unix/tcl.m4 b/unix/tcl.m4 ---- a/unix/tcl.m4 -+++ b/unix/tcl.m4 -@@ -2725,7 +2725,7 @@ AC_DEFUN([SC_TCL_CHECK_BROKEN_FUNC],[ - #include - #include - int main() {]$2[}]]])],[tcl_cv_$1_unbroken=ok], -- [tcl_cv_$1_unbroken=broken],[tcl_cv_$1_unbroken=unknown])) -+ [tcl_cv_$1_unbroken=broken],[tcl_cv_$1_unbroken=unknown])) - if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then - tcl_ok=1 - else diff --git a/package/tcl/Config.in b/package/tcl/Config.in index f1fa0541a1b..adb9f224883 100644 --- a/package/tcl/Config.in +++ b/package/tcl/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_TCL # See this mailing list thread: # http://lists.busybox.net/pipermail/buildroot/2015-March/121198.html depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_ZLIB help TCL (Tool Command Language) is a simple textual language. diff --git a/package/tcl/tcl.hash b/package/tcl/tcl.hash index 2b82a1938b6..109ea3d79c9 100644 --- a/package/tcl/tcl.hash +++ b/package/tcl/tcl.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6 tcl8.6.12-src.tar.gz +sha256 43a1fae7412f61ff11de2cfd05d28cfc3a73762f354a417c62370a54e2caf066 tcl8.6.13-src.tar.gz sha256 c0a69a2bfd757361ec7e6143973b103c90409316b49e9c88db26ad6388e79f16 license.terms diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk index 97754b63d02..18171aebd72 100644 --- a/package/tcl/tcl.mk +++ b/package/tcl/tcl.mk @@ -5,7 +5,7 @@ ################################################################################ TCL_VERSION_MAJOR = 8.6 -TCL_VERSION = $(TCL_VERSION_MAJOR).12 +TCL_VERSION = $(TCL_VERSION_MAJOR).13 TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz TCL_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TCL_VERSION) TCL_LICENSE = TCL @@ -35,7 +35,7 @@ HOST_TCL_PRE_CONFIGURE_HOOKS += HOST_TCL_REMOVE_PACKAGES # We remove the bundled sqlite as we prefer to not use bundled stuff at all. define TCL_REMOVE_PACKAGES rm -fr $(@D)/pkgs/sqlite3* \ - $(if $(BR2_PACKAGE_MYSQL),,$(@D)/pkgs/tdbcmysql*) \ + $(if $(BR2_PACKAGE_MARIADB),,$(@D)/pkgs/tdbcmysql*) \ $(@D)/pkgs/tdbcodbc* \ $(if $(BR2_PACKAGE_POSTGRESQL),,$(@D)/pkgs/tdbcpostgres*) \ $(if $(BR2_PACKAGE_SQLITE),,$(@D)/pkgs/tdbcsqlite3*) @@ -74,8 +74,9 @@ endef TCL_POST_INSTALL_TARGET_HOOKS += TCL_REMOVE_EXTRA TCL_DEPENDENCIES = $(if $(BR2_PACKAGE_SQLITE),sqlite) \ - $(if $(BR2_PACKAGE_MYSQL),mysql) \ - $(if $(BR2_PACKAGE_POSTGRESQL),postgresql) + $(if $(BR2_PACKAGE_MARIADB),mariadb) \ + $(if $(BR2_PACKAGE_POSTGRESQL),postgresql) \ + zlib $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/tclap/tclap.mk b/package/tclap/tclap.mk index d7f96bd0345..665bec2d676 100644 --- a/package/tclap/tclap.mk +++ b/package/tclap/tclap.mk @@ -9,7 +9,7 @@ TCLAP_SITE = http://downloads.sourceforge.net/project/tclap TCLAP_LICENSE = MIT TCLAP_LICENSE_FILES = COPYING TCLAP_INSTALL_STAGING = YES -TCLAP_CPE_ID_VENDOR = tclap_project +TCLAP_CPE_ID_VALID = YES # This package is a pure C++ template library, only made of headers. TCLAP_INSTALL_TARGET = NO diff --git a/package/tcllib/tcllib.hash b/package/tcllib/tcllib.hash index fb80841998e..fe0ece238e5 100644 --- a/package/tcllib/tcllib.hash +++ b/package/tcllib/tcllib.hash @@ -1,5 +1,5 @@ -# From https://core.tcl-lang.org/tcllib/uv/tcllib-1.20.SHA256 -sha256 199e8ec7ee26220e8463bc84dd55c44965fc8ef4d4ac6e4684b2b1c03b1bd5b9 tcllib-1.20.tar.xz +# From https://core.tcl-lang.org/tcllib/uv/tcllib-1.21.SHA256 +sha256 10c7749e30fdd6092251930e8a1aa289b193a3b7f1abf17fee1d4fa89814762f tcllib-1.21.tar.xz # Locally computed: sha256 38e1f556213f4008cfd280457af57c76a1fe043dc026ece1c704c09b5f6e865c license.terms diff --git a/package/tcllib/tcllib.mk b/package/tcllib/tcllib.mk index 0f60eb8acaa..1f2b575b296 100644 --- a/package/tcllib/tcllib.mk +++ b/package/tcllib/tcllib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCLLIB_VERSION = 1.20 +TCLLIB_VERSION = 1.21 TCLLIB_SOURCE = tcllib-$(TCLLIB_VERSION).tar.xz TCLLIB_SITE = http://downloads.sourceforge.net/project/tcllib/tcllib/$(TCLLIB_VERSION) TCLLIB_LICENSE = TCL diff --git a/package/tcpdump/Config.in b/package/tcpdump/Config.in index 8b54c603dfa..74294713624 100644 --- a/package/tcpdump/Config.in +++ b/package/tcpdump/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_TCPDUMP help A tool for network monitoring and data acquisition. - http://www.tcpdump.org/ + https://www.tcpdump.org/ if BR2_PACKAGE_TCPDUMP diff --git a/package/tcpdump/tcpdump.hash b/package/tcpdump/tcpdump.hash index 1990aa797bc..1a22889851c 100644 --- a/package/tcpdump/tcpdump.hash +++ b/package/tcpdump/tcpdump.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature at -# https://www.tcpdump.org/release/tcpdump-4.99.1.tar.gz.sig +# https://www.tcpdump.org/release/tcpdump-4.99.3.tar.gz.sig # using key 1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D -sha256 79b36985fb2703146618d87c4acde3e068b91c553fb93f021a337f175fd10ebe tcpdump-4.99.1.tar.gz +sha256 0232231bb2f29d6bf2426e70a08a7e0c63a0d59a9b44863b7f5e2357a6e49fea tcpdump-4.99.4.tar.gz sha256 8a54594d257e14a5260ac770f1633516cb51e3fc28c40136ce2697014eda7afd LICENSE diff --git a/package/tcpdump/tcpdump.mk b/package/tcpdump/tcpdump.mk index 7741c3b58ed..91643e7beaa 100644 --- a/package/tcpdump/tcpdump.mk +++ b/package/tcpdump/tcpdump.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCPDUMP_VERSION = 4.99.1 +TCPDUMP_VERSION = 4.99.4 TCPDUMP_SITE = https://www.tcpdump.org/release TCPDUMP_LICENSE = BSD-3-Clause TCPDUMP_LICENSE_FILES = LICENSE diff --git a/package/tcping/tcping.hash b/package/tcping/tcping.hash index c97c0fa2a4c..f706599c2d3 100644 --- a/package/tcping/tcping.hash +++ b/package/tcping/tcping.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a731f0e48ff931d7b2a0e896e4db40867043740fe901dd225780f2164fdbdcf3 tcping-1.3.6.tar.gz +sha256 b8aa427420fe00173b5a2c0013d78e52b010350f5438bf5903c1942cba7c39c9 tcping-2.1.0.tar.gz sha256 4a35620e27ddb8de27898e4206c8f93633d877c1e128e98e95a035f760d94428 LICENSE diff --git a/package/tcping/tcping.mk b/package/tcping/tcping.mk index 5eaf702ef08..9a068f56684 100644 --- a/package/tcping/tcping.mk +++ b/package/tcping/tcping.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCPING_VERSION = 1.3.6 +TCPING_VERSION = 2.1.0 TCPING_SITE = $(call github,mkirchner,tcping,$(TCPING_VERSION)) TCPING_LICENSE = MIT TCPING_LICENSE_FILES = LICENSE diff --git a/package/tcpreplay/tcpreplay.hash b/package/tcpreplay/tcpreplay.hash index 97c2e7ee342..e73e2d2c574 100644 --- a/package/tcpreplay/tcpreplay.hash +++ b/package/tcpreplay/tcpreplay.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://github.com/appneta/tcpreplay/releases/download/v4.4.2/tcpreplay-4.4.2.tar.xz.asc +# https://github.com/appneta/tcpreplay/releases/download/v4.4.4/tcpreplay-4.4.4.tar.xz.asc # using key 84E4FA215C934A7D97DC76D5E9E2149793BDE17E -sha256 91585c247b108ed3c10d3546d18f6a467d44229c9988c97736f953af69a6f438 tcpreplay-4.4.2.tar.xz +sha256 3ff9753cc43bb15e77832cee657e3030dbcdd957fa247e6abacc605689e24051 tcpreplay-4.4.4.tar.xz sha256 07cf5e92d475287a7d1663b33097f40cae5adf03ed8920fcd4374e3dfb48c8ad docs/LICENSE diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk index 65eb9089323..c5b3f9baa4b 100644 --- a/package/tcpreplay/tcpreplay.mk +++ b/package/tcpreplay/tcpreplay.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCPREPLAY_VERSION = 4.4.2 +TCPREPLAY_VERSION = 4.4.4 TCPREPLAY_SITE = https://github.com/appneta/tcpreplay/releases/download/v$(TCPREPLAY_VERSION) TCPREPLAY_SOURCE = tcpreplay-$(TCPREPLAY_VERSION).tar.xz TCPREPLAY_LICENSE = GPL-3.0 diff --git a/package/tekui/tekui.mk b/package/tekui/tekui.mk index 13000edd3ea..3cb7ff51e52 100644 --- a/package/tekui/tekui.mk +++ b/package/tekui/tekui.mk @@ -59,11 +59,11 @@ endif endif define TEKUI_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TEKUI_MAKE_OPTS) PREFIX="/usr" -C $(@D) all + $(TARGET_MAKE_ENV) $(TEKUI_MAKE) $(TEKUI_MAKE_OPTS) PREFIX="/usr" -C $(@D) all endef define TEKUI_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TEKUI_MAKE_OPTS) PREFIX="$(TARGET_DIR)/usr" -C $(@D) install + $(TARGET_MAKE_ENV) $(TEKUI_MAKE) $(TEKUI_MAKE_OPTS) PREFIX="$(TARGET_DIR)/usr" -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/termcolor/Config.in b/package/termcolor/Config.in new file mode 100644 index 00000000000..979ad61d81f --- /dev/null +++ b/package/termcolor/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_TERMCOLOR + bool "termcolor" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + Termcolor is a header-only C++ library for printing colored + messages to the terminal. + + https://github.com/ikalnytskyi/termcolor + +comment "termcolor needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/termcolor/termcolor.hash b/package/termcolor/termcolor.hash new file mode 100644 index 00000000000..dede06c9b0b --- /dev/null +++ b/package/termcolor/termcolor.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 435994c32557674469404cb1527c283fdcf45746f7df75fd2996bb200d6a759f termcolor-2.1.0.tar.gz +sha256 bab0f53c36b248df22e2298ddf9eeea14b28783f187fcbff6a38f2c47b3a3a7d LICENSE diff --git a/package/termcolor/termcolor.mk b/package/termcolor/termcolor.mk new file mode 100644 index 00000000000..0374ce8b734 --- /dev/null +++ b/package/termcolor/termcolor.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# termcolor +# +################################################################################ + +TERMCOLOR_VERSION = 2.1.0 +TERMCOLOR_SITE = $(call github,ikalnytskyi,termcolor,v$(TERMCOLOR_VERSION)) +TERMCOLOR_LICENSE = BSD-3-Clause +TERMCOLOR_LICENSE_FILES = LICENSE +TERMCOLOR_INSTALL_STAGING = YES +TERMCOLOR_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch b/package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch deleted file mode 100644 index 5280f01aba4..00000000000 --- a/package/tesseract-ocr/0001-Check-if-platform-supports-feenableexcept.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 52484af83a58664c3cc91b8af07aeeea271f67ef Mon Sep 17 00:00:00 2001 -From: Gilles Talis -Date: Sun, 9 Jan 2022 10:58:36 +0100 -Subject: [PATCH] Check if platform supports feenableexcept - -Signed-off-by: Gilles Talis ---- - configure.ac | 4 ++++ - src/tesseract.cpp | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 9177d64..80cd735 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -188,6 +188,10 @@ case "${host_cpu}" in - - esac - -+# check whether feenableexcept is supported. some C libraries (e.g. uclibc) don't. -+AC_CHECK_FUNC(feenableexcept, [feenableexcept=true], [feenableexcept=false]) -+AM_CONDITIONAL([HAVE_FEENABLEEXCEPT], $feenableexcept) -+ - AX_CHECK_COMPILE_FLAG([-fopenmp-simd], [openmp_simd=true], [openmp_simd=false], [$WERROR]) - AM_CONDITIONAL([OPENMP_SIMD], $openmp_simd) - -diff --git a/src/tesseract.cpp b/src/tesseract.cpp -index 933116e..9154db8 100644 ---- a/src/tesseract.cpp -+++ b/src/tesseract.cpp -@@ -629,7 +629,7 @@ static void PreloadRenderers(tesseract::TessBaseAPI &api, - **********************************************************************/ - - int main(int argc, char **argv) { --#if defined(__USE_GNU) -+#if defined(__USE_GNU) && defined(HAVE_FEENABLEEXCEPT) - // Raise SIGFPE. - # if defined(__clang__) - // clang creates code which causes some FP exceptions, so don't enable those. --- -2.32.0 - diff --git a/package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch b/package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch deleted file mode 100644 index 20b8d5ce766..00000000000 --- a/package/tesseract-ocr/0002-configure.ac-fix-build-on-aarch64_be.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cffb8a36a987cd0d013d73501dd20c553ff69c77 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 21 Aug 2022 10:21:43 +0200 -Subject: [PATCH] configure.ac: fix build on aarch64_be - -Fix the following build failure on aarch64_be: - -/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/aarch64_be-none-linux-gnu/10.3.1/../../../../aarch64_be-none-linux-gnu/bin/ld: ./.libs/libtesseract.so: undefined reference to `tesseract::IntSimdMatrix::intSimdMatrixNEON' - -Fixes: - - http://autobuild.buildroot.org/results/b9246a37fcf6be4fabfc491daddadfb09e0a320a - -Signed-off-by: Fabrice Fontaine -[Retrieved (and backported) from: -https://github.com/tesseract-ocr/tesseract/commit/cffb8a36a987cd0d013d73501dd20c553ff69c77] ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 63579c954f..2b05052395 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -170,7 +170,7 @@ case "${host_cpu}" in - - ;; - -- aarch64) -+ aarch64*) - - # ARMv8 always has NEON and does not need special compiler flags. - AM_CONDITIONAL([HAVE_NEON], true) diff --git a/package/tesseract-ocr/tesseract-ocr.hash b/package/tesseract-ocr/tesseract-ocr.hash index 9e526423d3c..45b9def27fd 100644 --- a/package/tesseract-ocr/tesseract-ocr.hash +++ b/package/tesseract-ocr/tesseract-ocr.hash @@ -1,5 +1,5 @@ # locally computed -sha256 b5b0e561650ed67feb1e9de38d4746121d302ae4c876c95b99b8b6f9f89d5c58 tesseract-ocr-5.0.1.tar.gz +sha256 dc4329f85f41191b2d813b71b528ba6047745813474e583ccce8795ff2ff5681 tesseract-ocr-5.3.3.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE sha256 daa0c97d651c19fba3b25e81317cd697e9908c8208090c94c3905381c23fc047 eng.traineddata sha256 eac01c1d72540d6090facb7b2f42dd0a2ee8fc57c5be1b20548ae668e2761913 fra.traineddata diff --git a/package/tesseract-ocr/tesseract-ocr.mk b/package/tesseract-ocr/tesseract-ocr.mk index abe3d39ab66..d65111d4681 100644 --- a/package/tesseract-ocr/tesseract-ocr.mk +++ b/package/tesseract-ocr/tesseract-ocr.mk @@ -4,15 +4,13 @@ # ################################################################################ -TESSERACT_OCR_VERSION = 5.0.1 +TESSERACT_OCR_VERSION = 5.3.3 TESSERACT_OCR_DATA_VERSION = 4.1.0 TESSERACT_OCR_SITE = $(call github,tesseract-ocr,tesseract,$(TESSERACT_OCR_VERSION)) TESSERACT_OCR_LICENSE = Apache-2.0 TESSERACT_OCR_LICENSE_FILES = LICENSE # Source from github, no configure script provided -# 0001-Check-if-platform-supports-feenableexcept.patch -# 0002-configure.ac-fix-build-on-aarch64_be.patch TESSERACT_OCR_AUTORECONF = YES # cairo, pango and icu are optional dependencies, but only needed for diff --git a/package/thermald/thermald.hash b/package/thermald/thermald.hash index eceff77d373..9693813ca9f 100644 --- a/package/thermald/thermald.hash +++ b/package/thermald/thermald.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e6515678ce8ff37978a453e1617a087a40ba3a31809a42c1768b6f816e564cc9 thermald-2.5.tar.gz +sha256 75c165df45b3d09c904d314c8c19789158e9538f46e3d2b606457dc631eb3af5 thermald-2.5.1.tar.gz sha256 e98be8bc482e038a14bfbc01caf800bbd0024fff275ef14cd999db6560254a8d COPYING diff --git a/package/thermald/thermald.mk b/package/thermald/thermald.mk index 38f6b5a00fe..fd0246745f8 100644 --- a/package/thermald/thermald.mk +++ b/package/thermald/thermald.mk @@ -4,7 +4,7 @@ # ################################################################################ -THERMALD_VERSION = 2.5 +THERMALD_VERSION = 2.5.1 THERMALD_SITE = $(call github,intel,thermal_daemon,v$(THERMALD_VERSION)) # fetched from Github, with no configure script THERMALD_AUTORECONF = YES diff --git a/package/ti-sgx-km/Config.in b/package/ti-sgx-km/Config.in index 964889ff40a..3e8a41b7551 100644 --- a/package/ti-sgx-km/Config.in +++ b/package/ti-sgx-km/Config.in @@ -1,10 +1,10 @@ comment "ti-sgx-km needs a Linux kernel to be built" - depends on BR2_arm + depends on BR2_ARM_EABIHF depends on !BR2_LINUX_KERNEL config BR2_PACKAGE_TI_SGX_KM bool "ti-sgx-km" - depends on BR2_LINUX_KERNEL && BR2_arm + depends on BR2_LINUX_KERNEL && BR2_ARM_EABIHF select BR2_LINUX_NEEDS_MODULES help Kernel modules for TI CPUs with SGX GPU. diff --git a/package/tiff/Config.in b/package/tiff/Config.in index f842c2ead80..d357d084065 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -11,6 +11,11 @@ config BR2_PACKAGE_TIFF_CCITT bool "CCITT Group 3 & 4 support" default y +config BR2_PACKAGE_TIFF_LIBDEFLATE + bool "Libdeflate usage (still requires Zlib)" + select BR2_PACKAGE_LIBDEFLATE + select BR2_PACKAGE_TIFF_ZLIB + config BR2_PACKAGE_TIFF_PACKBITS bool "Macintosh PackBits algorithm" default y @@ -58,13 +63,13 @@ config BR2_PACKAGE_TIFF_OLD_JPEG bool "Old JPEG decompression" default y -config BR2_PACKAGE_TIFF_JBIG - bool "JBIG compression" - default y - config BR2_PACKAGE_TIFF_UTILITIES bool "tiff utilities" help Install all tiff utilities. +config BR2_PACKAGE_TIFF_ZSTD + bool "ZSTD compression" + select BR2_PACKAGE_ZSTD + endif diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 6bd28a0f597..3aae7dc4d5f 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed tiff-4.4.0.tar.gz -sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 COPYRIGHT +sha256 88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a tiff-4.6.0.tar.gz +sha256 0780558a8bfba0af1160ec1ff11ade4f41c0d7deafd6ecfc796b492a788e380d LICENSE.md diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index 525712c9e9b..0e5e0dd48a3 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,32 +4,55 @@ # ################################################################################ -TIFF_VERSION = 4.4.0 +TIFF_VERSION = 4.6.0 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license -TIFF_LICENSE_FILES = COPYRIGHT +TIFF_LICENSE_FILES = LICENSE.md TIFF_CPE_ID_VENDOR = libtiff TIFF_CPE_ID_PRODUCT = libtiff TIFF_INSTALL_STAGING = YES +# webp has a (optional) dependency on tiff, so we can't have webp +# support in tiff, or that would create a circular dependency. TIFF_CONF_OPTS = \ - --disable-cxx \ - --without-x + --disable-contrib \ + --disable-lerc \ + --disable-jbig \ + --disable-tests \ + --disable-webp TIFF_DEPENDENCIES = host-pkgconf HOST_TIFF_CONF_OPTS = \ --disable-cxx \ - --without-x \ --disable-zlib \ + --disable-lerc \ + --disable-libdeflate \ --disable-lzma \ - --disable-jpeg + --disable-jbig \ + --disable-jpeg \ + --disable-tests \ + --disable-webp \ + --disable-zstd HOST_TIFF_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +TIFF_CONF_OPTS += --enable-cxx +else +TIFF_CONF_OPTS += --disable-cxx +endif + ifneq ($(BR2_PACKAGE_TIFF_CCITT),y) TIFF_CONF_OPTS += --disable-ccitt endif +ifeq ($(BR2_PACKAGE_TIFF_LIBDEFLATE),y) +TIFF_CONF_OPTS += --enable-libdeflate +TIFF_DEPENDENCIES += libdeflate +else +TIFF_CONF_OPTS += --disable-libdeflate +endif + ifneq ($(BR2_PACKAGE_TIFF_PACKBITS),y) TIFF_CONF_OPTS += --disable-packbits endif @@ -80,16 +103,18 @@ ifneq ($(BR2_PACKAGE_TIFF_OLD_JPEG),y) TIFF_CONF_OPTS += --disable-old-jpeg endif -ifneq ($(BR2_PACKAGE_TIFF_JBIG),y) -TIFF_CONF_OPTS += --disable-jbig -endif - -TIFF_SUBDIRS = port libtiff ifeq ($(BR2_PACKAGE_TIFF_UTILITIES),y) -TIFF_SUBDIRS += tools +TIFF_CONF_OPTS += --enable-tools +else +TIFF_CONF_OPTS += --disable-tools endif -TIFF_MAKE = $(MAKE) SUBDIRS="$(TIFF_SUBDIRS)" +ifeq ($(BR2_PACKAGE_TIFF_ZSTD),y) +TIFF_CONF_OPTS += --enable-zstd +TIFF_DEPENDENCIES += zstd +else +TIFF_CONF_OPTS += --disable-zstd +endif $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/timescaledb/timescaledb.hash b/package/timescaledb/timescaledb.hash index f546b17d0a8..8d0fc125d62 100644 --- a/package/timescaledb/timescaledb.hash +++ b/package/timescaledb/timescaledb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 22a057c4472d23bf08778932e391f38f350ef0307cf99fb8e279c8245667d3e9 timescaledb-2.8.1.tar.gz +sha256 ca4f48147cb1bf3bf22af9f643822a5931e12a89909cc73c4a89ddae3c828ac1 timescaledb-2.13.1.tar.gz sha256 0378e0948feefd85f579319c74d6e2b671194037f550c7176ef26649d94c895b LICENSE diff --git a/package/timescaledb/timescaledb.mk b/package/timescaledb/timescaledb.mk index 659d07bd0c6..a5d77eda806 100644 --- a/package/timescaledb/timescaledb.mk +++ b/package/timescaledb/timescaledb.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIMESCALEDB_VERSION = 2.8.1 +TIMESCALEDB_VERSION = 2.13.1 TIMESCALEDB_SITE = $(call github,timescale,timescaledb,$(TIMESCALEDB_VERSION)) TIMESCALEDB_LICENSE = Apache-2.0 TIMESCALEDB_LICENSE_FILES = LICENSE diff --git a/package/tini/tini.mk b/package/tini/tini.mk index 9da54f8a250..83e86237d44 100644 --- a/package/tini/tini.mk +++ b/package/tini/tini.mk @@ -8,7 +8,7 @@ TINI_VERSION = 0.19.0 TINI_SITE = $(call github,krallin,tini,v$(TINI_VERSION)) TINI_LICENSE = MIT TINI_LICENSE_FILES = LICENSE -TINI_CPE_ID_VENDOR = tini_project +TINI_CPE_ID_VALID = YES TINI_CFLAGS = $(TARGET_CFLAGS) \ -static \ @@ -31,7 +31,8 @@ endef define TINI_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/bin/tini $(TARGET_DIR)/usr/bin/tini - ln -sf tini $(TARGET_DIR)/usr/bin/docker-init + mkdir -p $(TARGET_DIR)/usr/libexec/docker + ln -sf ../../bin/tini $(TARGET_DIR)/usr/libexec/docker/docker-init endef # Tini's CMakeLists.txt is not suitable for Buildroot. diff --git a/package/tinyalsa/Config.in b/package/tinyalsa/Config.in index d9ce22c8a7f..b4d4aeb276d 100644 --- a/package/tinyalsa/Config.in +++ b/package/tinyalsa/Config.in @@ -13,5 +13,14 @@ config BR2_PACKAGE_TINYALSA https://github.com/tinyalsa/tinyalsa +if BR2_PACKAGE_TINYALSA + +config BR2_PACKAGE_TINYALSA_TOOLS + bool "tinyalsa tools" + help + Build utility tools (tinyplay, tinycap, tinymix, tinypcminfo) + +endif #BR2_PACKAGE_TINYALSA + comment "tinyalsa needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/tinyalsa/tinyalsa.mk b/package/tinyalsa/tinyalsa.mk index b5c39e35d66..fe6d373ec81 100644 --- a/package/tinyalsa/tinyalsa.mk +++ b/package/tinyalsa/tinyalsa.mk @@ -9,6 +9,12 @@ TINYALSA_SITE = $(call github,tinyalsa,tinyalsa,v$(TINYALSA_VERSION)) TINYALSA_LICENSE = BSD-3-Clause TINYALSA_LICENSE_FILES = NOTICE TINYALSA_INSTALL_STAGING = YES -TINYALSA_CONF_OPTS = -Ddocs=disabled -Dexamples=disabled -Dutils=disabled +TINYALSA_CONF_OPTS = -Ddocs=disabled -Dexamples=disabled + +ifeq ($(BR2_PACKAGE_TINYALSA_TOOLS),y) +TINYALSA_CONF_OPTS += -Dutils=enabled +else +TINYALSA_CONF_OPTS += -Dutils=disabled +endif $(eval $(meson-package)) diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index cad50e633b4..d2fb583e675 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -16,7 +16,7 @@ ifeq ($(BR2_PACKAGE_CJSON),y) TINYCBOR_DEPENDENCIES += cjson endif -TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) DISABLE_WERROR=1 V=1 +TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) DISABLE_WERROR=1 V=1 prefix=/usr ifeq ($(BR2_STATIC_LIBS),y) TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=0 @@ -34,12 +34,12 @@ endef define TINYCBOR_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TINYCBOR_MAKE_OPTS) -C $(@D) \ - DESTDIR=$(STAGING_DIR) prefix=/usr install + DESTDIR=$(STAGING_DIR) install endef define TINYCBOR_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TINYCBOR_MAKE_OPTS) -C $(@D) \ - DESTDIR=$(TARGET_DIR) prefix=/usr install + DESTDIR=$(TARGET_DIR) install endef $(eval $(generic-package)) diff --git a/package/tinycompress/tinycompress.mk b/package/tinycompress/tinycompress.mk index 062233ec800..c9cfbb574bd 100644 --- a/package/tinycompress/tinycompress.mk +++ b/package/tinycompress/tinycompress.mk @@ -9,5 +9,6 @@ TINYCOMPRESS_SOURCE = tinycompress-$(TINYCOMPRESS_VERSION).tar.bz2 TINYCOMPRESS_SITE = https://www.alsa-project.org/files/pub/tinycompress TINYCOMPRESS_LICENSE = BSD-3-Clause and LGPL-2.1 TINYCOMPRESS_LICENSE_FILES = COPYING +TINYCOMPRESS_INSTALL_STAGING = YES $(eval $(autotools-package)) diff --git a/package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch b/package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch deleted file mode 100644 index 88559ec0120..00000000000 --- a/package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 034a3552e9700c6d424bd706db106f5bce1f5a5e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 11 Nov 2016 21:49:39 +0100 -Subject: [PATCH] arm: fix build on Thumb-only architectures - -Building tinymembench for ARM Cortex-M currently fails, because the -arm-neon.S file contains ARM code that doesn't build on Thumb-only -architectures. To account for this and fix the build for Cortex-M, -this patch adjusts the compile time condition to also verify that the -architecture supports the ARM instruction set, by testing the -__ARM_ARCH_ISA_ARM compiler define. - -Signed-off-by: Thomas Petazzoni ---- - arm-neon.S | 2 +- - asm-opt.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arm-neon.S b/arm-neon.S -index 4db78ce..19c30ad 100644 ---- a/arm-neon.S -+++ b/arm-neon.S -@@ -21,7 +21,7 @@ - * DEALINGS IN THE SOFTWARE. - */ - --#ifdef __arm__ -+#if defined(__arm__) && defined(__ARM_ARCH_ISA_ARM) - - .text - .fpu neon -diff --git a/asm-opt.c b/asm-opt.c -index 9da4596..eba1183 100644 ---- a/asm-opt.c -+++ b/asm-opt.c -@@ -202,7 +202,7 @@ bench_info *get_asm_framebuffer_benchmarks(void) - return empty; - } - --#elif defined(__arm__) -+#elif defined(__arm__) && defined(__ARM_ARCH_ISA_ARM) - - #include "arm-neon.h" - --- -2.7.4 - diff --git a/package/tinymembench/Config.in b/package/tinymembench/Config.in deleted file mode 100644 index 8f6e1a2b359..00000000000 --- a/package/tinymembench/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_TINYMEMBENCH - bool "tinymembench" - depends on !BR2_MIPS_NABI32 && !BR2_MIPS_NABI64 - help - Tinymembench is a simple memory benchmark program, which - tries to measure the peak bandwidth of sequential memory - accesses and the latency of random memory accesses. - Bandwidth is measured by running different assembly code for - the aligned memory blocks and attempting different prefetch - strategies. - - https://github.com/ssvb/tinymembench diff --git a/package/tinymembench/tinymembench.hash b/package/tinymembench/tinymembench.hash deleted file mode 100644 index 04dbd30f814..00000000000 --- a/package/tinymembench/tinymembench.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 e37a2682065b2778f2fa7f22bd59472f5ca2191be48503952ae020b8f023f23d tinymembench-0.4.tar.gz -sha256 8ba473aced4630aee2808efe17b53e904a9d68a9b3361de491717f9a4e75da39 LICENSE diff --git a/package/tinymembench/tinymembench.mk b/package/tinymembench/tinymembench.mk deleted file mode 100644 index 016d680ce73..00000000000 --- a/package/tinymembench/tinymembench.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# tinymembench -# -################################################################################ - -TINYMEMBENCH_VERSION = 0.4 -TINYMEMBENCH_SITE = $(call github,ssvb,tinymembench,v$(TINYMEMBENCH_VERSION)) -TINYMEMBENCH_LICENSE = MIT -TINYMEMBENCH_LICENSE_FILES = LICENSE - -define TINYMEMBENCH_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -endef - -define TINYMEMBENCH_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 -D $(@D)/tinymembench \ - $(TARGET_DIR)/usr/bin/tinymembench -endef - -$(eval $(generic-package)) diff --git a/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch b/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch deleted file mode 100644 index da9c21a41a1..00000000000 --- a/package/tinyproxy/0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3764b8551463b900b5b4e3ec0cd9bb9182191cb7 Mon Sep 17 00:00:00 2001 -From: rofl0r -Date: Thu, 8 Sep 2022 15:18:04 +0000 -Subject: [PATCH] prevent junk from showing up in error page in invalid - requests - -fixes #457 - -[Retrieved from: -https://github.com/tinyproxy/tinyproxy/commit/3764b8551463b900b5b4e3ec0cd9bb9182191cb7] -Signed-off-by: Fabrice Fontaine ---- - src/reqs.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/reqs.c b/src/reqs.c -index bce69819..45db118d 100644 ---- a/src/reqs.c -+++ b/src/reqs.c -@@ -343,8 +343,12 @@ static struct request_s *process_request (struct conn_s *connptr, - goto fail; - } - -+ /* zero-terminate the strings so they don't contain junk in error page */ -+ request->method[0] = url[0] = request->protocol[0] = 0; -+ - ret = sscanf (connptr->request_line, "%[^ ] %[^ ] %[^ ]", - request->method, url, request->protocol); -+ - if (ret == 2 && !strcasecmp (request->method, "GET")) { - request->protocol[0] = 0; - diff --git a/package/tinyproxy/tinyproxy.hash b/package/tinyproxy/tinyproxy.hash index 84e98a84ce7..8d4bb695370 100644 --- a/package/tinyproxy/tinyproxy.hash +++ b/package/tinyproxy/tinyproxy.hash @@ -1,4 +1,4 @@ -# From https://github.com/tinyproxy/tinyproxy/releases/tag/1.11.1 -sha512 2e3435bbfece3797c11ccce222eef494ed92e00dd82bea2c40a54e454b7e03c8abc8e09b244f2da7192209c39047369439d08974b79eebc996fb3095230d0374 tinyproxy-1.11.1.tar.xz +# From https://github.com/tinyproxy/tinyproxy/releases/tag/1.11.2 +sha512 008e43b770f946965d5a3fbad1881859e30b66a3a4a97cf9982e63d81139da7a8f23937601b72f32276166cd170008cafec9231b616fc840f05cae3c1329be35 tinyproxy-1.11.2.tar.xz # locally computed sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/tinyproxy/tinyproxy.mk b/package/tinyproxy/tinyproxy.mk index e91a886888a..6656a752a6d 100644 --- a/package/tinyproxy/tinyproxy.mk +++ b/package/tinyproxy/tinyproxy.mk @@ -4,14 +4,11 @@ # ################################################################################ -TINYPROXY_VERSION = 1.11.1 +TINYPROXY_VERSION = 1.11.2 TINYPROXY_SITE = https://github.com/tinyproxy/tinyproxy/releases/download/$(TINYPROXY_VERSION) TINYPROXY_SOURCE = tinyproxy-$(TINYPROXY_VERSION).tar.xz TINYPROXY_LICENSE = GPL-2.0+ TINYPROXY_LICENSE_FILES = COPYING -TINYPROXY_CPE_ID_VENDOR = tinyproxy_project - -# 0001-prevent-junk-from-showing-up-in-error-page-in-invalid-requests.patch -TINYPROXY_IGNORE_CVES += CVE-2022-40468 +TINYPROXY_CPE_ID_VALID = YES $(eval $(autotools-package)) diff --git a/package/tinyssh/tinyssh.hash b/package/tinyssh/tinyssh.hash index 462ffb90023..bdb15042347 100644 --- a/package/tinyssh/tinyssh.hash +++ b/package/tinyssh/tinyssh.hash @@ -1,3 +1,3 @@ # locally computed -sha256 234656fc8d369608eb5d0f3a26280e0e38e2e6b134cfc610b6e24bce176acd4f tinyssh-20220801.tar.gz -sha256 b5dc19477e29f4111e1c16cd89ec0782f5a07b1a30e3bdb7c155425b81b12c46 LICENCE +sha256 d2cd49d0e5e8bdb808d86f07f946a0cfbf2dc9a449a4b8243a82be267d852b62 tinyssh-20240101.tar.gz +sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 LICENCE diff --git a/package/tinyssh/tinyssh.mk b/package/tinyssh/tinyssh.mk index 1472f7ead13..80b6ccb8503 100644 --- a/package/tinyssh/tinyssh.mk +++ b/package/tinyssh/tinyssh.mk @@ -4,9 +4,9 @@ # ################################################################################ -TINYSSH_VERSION = 20220801 +TINYSSH_VERSION = 20240101 TINYSSH_SITE = $(call github,janmojzis,tinyssh,$(TINYSSH_VERSION)) -TINYSSH_LICENSE = Public Domain, CC0-1.0 +TINYSSH_LICENSE = CC0-1.0 TINYSSH_LICENSE_FILES = LICENCE define TINYSSH_BUILD_CMDS diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk index d173254e31b..01c25f7c1cc 100644 --- a/package/tinyxml/tinyxml.mk +++ b/package/tinyxml/tinyxml.mk @@ -12,7 +12,7 @@ TINYXML_AUTORECONF = YES TINYXML_INSTALL_STAGING = YES TINYXML_LICENSE = Zlib TINYXML_LICENSE_FILES = README -TINYXML_CPE_ID_VENDOT = tinyxml_project +TINYXML_CPE_ID_VALID = YES # 0001-In-stamp-always-advance-the-pointer-if-p-0xef.patch TINYXML_IGNORE_CVES += CVE-2021-42260 diff --git a/package/tinyxml2/tinyxml2.hash b/package/tinyxml2/tinyxml2.hash index ff799bc2eb7..a131b8624de 100644 --- a/package/tinyxml2/tinyxml2.hash +++ b/package/tinyxml2/tinyxml2.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 cc2f1417c308b1f6acc54f88eb70771a0bf65f76282ce5c40e54cfe52952702c tinyxml2-9.0.0.tar.gz +sha256 3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839 tinyxml2-10.0.0.tar.gz sha256 9332252e9b9e46db8285d4a3f0bf25f139bf1dca6781b956d57f2302efca6432 LICENSE.txt diff --git a/package/tinyxml2/tinyxml2.mk b/package/tinyxml2/tinyxml2.mk index 0a857e57329..044b8f82db2 100644 --- a/package/tinyxml2/tinyxml2.mk +++ b/package/tinyxml2/tinyxml2.mk @@ -4,15 +4,16 @@ # ################################################################################ -TINYXML2_VERSION = 9.0.0 +TINYXML2_VERSION = 10.0.0 TINYXML2_SITE = $(call github,leethomason,tinyxml2,$(TINYXML2_VERSION)) TINYXML2_LICENSE = Zlib TINYXML2_LICENSE_FILES = LICENSE.txt TINYXML2_INSTALL_STAGING = YES -TINYXML2_CPE_ID_VENDOR = tinyxml2_project +TINYXML2_CPE_ID_VALID = YES ifeq ($(BR2_STATIC_LIBS),y) TINYXML2_CONF_OPTS += -DBUILD_STATIC_LIBS=ON endif $(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/tio/Config.in b/package/tio/Config.in index a84daf8a244..e4241fa5e14 100644 --- a/package/tio/Config.in +++ b/package/tio/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_TIO bool "tio" depends on !BR2_sparc64 && !BR2_sparc + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_INIH help "tio" is a simple TTY terminal application which features a @@ -14,3 +15,7 @@ config BR2_PACKAGE_TIO # fix or workaround for now comment "tio is disabled for sparc and sparc64 architectures" depends on BR2_sparc64 || BR2_sparc + +comment "tio needs a toolchain w/ threads" + depends on !BR2_sparc64 && !BR2_sparc + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/tio/tio.hash b/package/tio/tio.hash index cb0311a752e..02699fdeb43 100644 --- a/package/tio/tio.hash +++ b/package/tio/tio.hash @@ -1,5 +1,5 @@ -# From https://github.com/tio/tio/releases/download/v1.47/tio-1.47.tar.xz.sha256sum: -sha256 6f39ac582de747feb9a64c14e6b378c61cb0c3bfa6639e62050022c1b7f5c544 tio-1.47.tar.xz +# From https://github.com/tio/tio/releases/download/v2.7/tio-2.7.tar.xz.sha256sum: +sha256 bf8fe434848c2c1b6540af0b42503c986068176ddc1a988cf02e521e7de5daa5 tio-2.7.tar.xz # Hash for license files: sha256 9248dee77ee136321f24556a96e07ff8f90461013941884a9defd0ac825ef131 LICENSE diff --git a/package/tio/tio.mk b/package/tio/tio.mk index 0035ce445ee..d7b554ee847 100644 --- a/package/tio/tio.mk +++ b/package/tio/tio.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIO_VERSION = 1.47 +TIO_VERSION = 2.7 TIO_SOURCE = tio-$(TIO_VERSION).tar.xz TIO_SITE = https://github.com/tio/tio/releases/download/v$(TIO_VERSION) TIO_LICENSE = GPL-2.0+ diff --git a/package/tk/tk.hash b/package/tk/tk.hash index acf5e451571..968b351b41d 100644 --- a/package/tk/tk.hash +++ b/package/tk/tk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630 tk8.6.12-src.tar.gz +sha256 2e65fa069a23365440a3c56c556b8673b5e32a283800d8d9b257e3f584ce0675 tk8.6.13-src.tar.gz sha256 2cde822b93ca16ae535c954b7dfe658b4ad10df2a193628d1b358f1765e8b198 license.terms diff --git a/package/tk/tk.mk b/package/tk/tk.mk index 830b241f74d..dfa7a7c694c 100644 --- a/package/tk/tk.mk +++ b/package/tk/tk.mk @@ -5,7 +5,7 @@ ################################################################################ TK_VERSION_MAJOR = 8.6 -TK_VERSION = $(TK_VERSION_MAJOR).12 +TK_VERSION = $(TK_VERSION_MAJOR).13 TK_SOURCE = tk$(TK_VERSION)-src.tar.gz TK_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TK_VERSION) TK_LICENSE = TCL diff --git a/package/tl-expected/Config.in b/package/tl-expected/Config.in new file mode 100644 index 00000000000..92758ffee55 --- /dev/null +++ b/package/tl-expected/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_TL_EXPECTED + bool "tl-expected" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + C++11/14/17 std::expected with functional-style extensions and + reference support. + + https://github.com/TartanLlama/expected + +comment "tl-expected needs a toolchain w/ C++, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/tl-expected/tl-expected.hash b/package/tl-expected/tl-expected.hash new file mode 100644 index 00000000000..e5c9cc2a3e0 --- /dev/null +++ b/package/tl-expected/tl-expected.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 2611769546cedcaef233ef587e71420d1f079a794eb7bb19b888dedf991ace7c tl-expected-v1.0.0-br1.tar.gz +sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 COPYING diff --git a/package/tl-expected/tl-expected.mk b/package/tl-expected/tl-expected.mk new file mode 100644 index 00000000000..8d62c75feaa --- /dev/null +++ b/package/tl-expected/tl-expected.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# tl-expected +# +################################################################################ + +TL_EXPECTED_VERSION = v1.0.0 +TL_EXPECTED_SITE = https://github.com/TartanLlama/expected +TL_EXPECTED_SITE_METHOD = git +TL_EXPECTED_GIT_SUBMODULES = YES +TL_EXPECTED_LICENSE = CC0-1.0 +TL_EXPECTED_LICENSE_FILES = COPYING +TL_EXPECTED_INSTALL_STAGING = YES +TL_EXPECTED_INSTALL_TARGET = NO +TL_EXPECTED_CONF_OPTS = \ + -DCMAKE_MODULE_PATH=$(TL_EXPECTED_DIR)/cmake/tl-cmake \ + -DEXPECTED_ENABLE_TESTS=OFF \ + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + +$(eval $(cmake-package)) diff --git a/package/tllist/Config.in b/package/tllist/Config.in new file mode 100644 index 00000000000..879119d13e2 --- /dev/null +++ b/package/tllist/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_TLLIST + bool "tllist" + help + A C header file only implementation of a typed linked list. + + https://codeberg.org/dnkl/tllist diff --git a/package/tllist/tllist.hash b/package/tllist/tllist.hash new file mode 100644 index 00000000000..2806d62355c --- /dev/null +++ b/package/tllist/tllist.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 3f3fe2f7433719cec816c63937a7aa36e566bd317763ef46d11562073ab6361d 1.1.0.tar.gz +sha256 d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a LICENSE diff --git a/package/tllist/tllist.mk b/package/tllist/tllist.mk new file mode 100644 index 00000000000..69a34a65ab8 --- /dev/null +++ b/package/tllist/tllist.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# tllist +# +################################################################################ + +TLLIST_VERSION = 1.1.0 +TLLIST_SOURCE = $(TLLIST_VERSION).tar.gz +TLLIST_SITE = https://codeberg.org/dnkl/tllist/archive +TLLIST_LICENSE = MIT +TLLIST_LICENSE_FILES = LICENSE +# header only +TLLIST_INSTALL_TARGET = NO +TLLIST_INSTALL_STAGING = YES +TLLIST_CFLAGS = $(TARGET_CFLAGS) -std=c99 + +$(eval $(meson-package)) diff --git a/package/tmux/tmux.hash b/package/tmux/tmux.hash index 75538e09ae3..b5c0fe58d08 100644 --- a/package/tmux/tmux.hash +++ b/package/tmux/tmux.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 918f7220447bef33a1902d4faff05317afd9db4ae1c9971bef5c787ac6c88386 tmux-3.1c.tar.gz +sha256 e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f tmux-3.3a.tar.gz sha256 c031bd37f464c534277814f6aa38686fa023d094261d57fd2545ad592bb53ccd COPYING diff --git a/package/tmux/tmux.mk b/package/tmux/tmux.mk index 281b7d8ee63..533a82bbadc 100644 --- a/package/tmux/tmux.mk +++ b/package/tmux/tmux.mk @@ -4,13 +4,33 @@ # ################################################################################ -TMUX_VERSION = 3.1c +TMUX_VERSION = 3.3a TMUX_SITE = https://github.com/tmux/tmux/releases/download/$(TMUX_VERSION) TMUX_LICENSE = ISC TMUX_LICENSE_FILES = COPYING -TMUX_CPE_ID_VENDOR = tmux_project +TMUX_CPE_ID_VALID = YES TMUX_DEPENDENCIES = libevent ncurses host-pkgconf +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +TMUX_DEPENDENCIES += systemd +TMUX_CONF_OPTS += --enable-systemd +else +TMUX_CONF_OPTS += --disable-systemd +endif + +ifeq ($(BR2_PACKAGE_UTF8PROC),y) +TMUX_DEPENDENCIES += utf8proc +TMUX_CONF_OPTS += --enable-utf8proc +else +TMUX_CONF_OPTS += --disable-utf8proc +endif + +# tmux uses custom --enable-static option, instead of standard libtool +# directive resulting in a build failure with systemd or utf8proc +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +TMUX_CONF_OPTS += --disable-static +endif + # Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear # can reject the user connection. See man shells. define TMUX_ADD_TMUX_TO_SHELLS diff --git a/package/tor/0001-crypt_openssl_mgt-define-DISABLE_ENGINES-after-OPENS.patch b/package/tor/0001-crypt_openssl_mgt-define-DISABLE_ENGINES-after-OPENS.patch new file mode 100644 index 00000000000..f8ad8032032 --- /dev/null +++ b/package/tor/0001-crypt_openssl_mgt-define-DISABLE_ENGINES-after-OPENS.patch @@ -0,0 +1,58 @@ +From 48f8d6918977673125d53a85d19d709136106739 Mon Sep 17 00:00:00 2001 +From: orbea +Date: Thu, 31 Aug 2023 14:35:52 -0700 +Subject: [PATCH] crypt_openssl_mgt: define DISABLE_ENGINES after + OPENSSL_NO_ENGINE + +With LibreSSL-3.8.1 these engines are no long available causing a build +failure, but LibreSSL correctly defines OPENSSL_NO_ENGINE as part of its +opensslfeatures.h. However Tor includes crypto_openssl_mgt.h before any +of the openssl includes which would define OPENSSL_NO_ENGINE and then +fails to define DISABLE_ENGINES. + +As the define is used in only a single .c file it is best to move it +there. + +Signed-off-by: orbea +Upstream: https://gitlab.torproject.org/tpo/core/tor/-/commit/48f8d6918977673125d53a85d19d709136106739 +Signed-off-by: Bernd Kuhls +--- + src/lib/crypt_ops/crypto_openssl_mgt.c | 5 +++++ + src/lib/crypt_ops/crypto_openssl_mgt.h | 5 ----- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c b/src/lib/crypt_ops/crypto_openssl_mgt.c +index 6c01cb6aa8..ca12a82518 100644 +--- a/src/lib/crypt_ops/crypto_openssl_mgt.c ++++ b/src/lib/crypt_ops/crypto_openssl_mgt.c +@@ -40,6 +40,11 @@ ENABLE_GCC_WARNING("-Wredundant-decls") + + #include + ++#ifdef OPENSSL_NO_ENGINE ++/* Android's OpenSSL seems to have removed all of its Engine support. */ ++#define DISABLE_ENGINES ++#endif ++ + #ifndef NEW_THREAD_API + /** A number of preallocated mutexes for use by OpenSSL. */ + static tor_mutex_t **openssl_mutexes_ = NULL; +diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.h b/src/lib/crypt_ops/crypto_openssl_mgt.h +index 96a37721dd..eac0ec1977 100644 +--- a/src/lib/crypt_ops/crypto_openssl_mgt.h ++++ b/src/lib/crypt_ops/crypto_openssl_mgt.h +@@ -49,11 +49,6 @@ + #define OPENSSL_V_SERIES(a,b,c) \ + OPENSSL_VER((a),(b),(c),0,0) + +-#ifdef OPENSSL_NO_ENGINE +-/* Android's OpenSSL seems to have removed all of its Engine support. */ +-#define DISABLE_ENGINES +-#endif +- + #if OPENSSL_VERSION_NUMBER >= OPENSSL_VER(1,1,0,0,5) + /* OpenSSL as of 1.1.0pre4 has an "new" thread API, which doesn't require + * setting up various callbacks. +-- +GitLab + diff --git a/package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch b/package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch deleted file mode 100644 index 2df7c6b6a78..00000000000 --- a/package/tor/0001-patch-src_lib_crypt_ops_crypto_dh_openssl_c.patch +++ /dev/null @@ -1,67 +0,0 @@ -Fix build with opaque structs in LibreSSL 3.5 - -Downloaded from OpenBSD ports: -http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tor/patches/patch-src_lib_crypt_ops_crypto_dh_openssl_c?rev=1.2&content-type=text/x-cvsweb-markup - -Patch series was sent upstream: -https://forum.torproject.net/t/tor-relays-openbsd-stable-net-tor-and-0-4-7-7/3244 - -Signed-off-by: Bernd Kuhls - -Index: src/lib/crypt_ops/crypto_dh_openssl.c ---- a/src/lib/crypt_ops/crypto_dh_openssl.c.orig -+++ b/src/lib/crypt_ops/crypto_dh_openssl.c -@@ -60,7 +60,7 @@ crypto_validate_dh_params(const BIGNUM *p, const BIGNU - /* Copy into a temporary DH object, just so that DH_check() can be called. */ - if (!(dh = DH_new())) - goto out; --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - BIGNUM *dh_p, *dh_g; - if (!(dh_p = BN_dup(p))) - goto out; -@@ -223,7 +223,7 @@ new_openssl_dh_from_params(BIGNUM *p, BIGNUM *g) - goto err; - } - --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - - if (!DH_set0_pqg(res_dh, dh_p, NULL, dh_g)) { - goto err; -@@ -276,7 +276,7 @@ crypto_dh_get_bytes(crypto_dh_t *dh) - int - crypto_dh_generate_public(crypto_dh_t *dh) - { --#ifndef OPENSSL_1_1_API -+#if !defined(OPENSSL_1_1_API) && !defined(LIBRESSL_VERSION_NUMBER) - again: - #endif - if (!DH_generate_key(dh->dh)) { -@@ -286,7 +286,7 @@ crypto_dh_generate_public(crypto_dh_t *dh) - return -1; - /* LCOV_EXCL_STOP */ - } --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - /* OpenSSL 1.1.x doesn't appear to let you regenerate a DH key, without - * recreating the DH object. I have no idea what sort of aliasing madness - * can occur here, so do the check, and just bail on failure. -@@ -327,7 +327,7 @@ crypto_dh_get_public(crypto_dh_t *dh, char *pubkey, si - - const BIGNUM *dh_pub; - --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - const BIGNUM *dh_priv; - DH_get0_key(dh->dh, &dh_pub, &dh_priv); - #else -@@ -338,7 +338,7 @@ crypto_dh_get_public(crypto_dh_t *dh, char *pubkey, si - if (crypto_dh_generate_public(dh)<0) - return -1; - else { --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - DH_get0_key(dh->dh, &dh_pub, &dh_priv); - #else - dh_pub = dh->dh->pub_key; diff --git a/package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch b/package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch deleted file mode 100644 index 1354a4221e0..00000000000 --- a/package/tor/0002-patch-src_lib_crypt_ops_crypto_rsa_openssl_c.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix build with opaque structs in LibreSSL 3.5 - -Downloaded from OpenBSD ports: -http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tor/patches/patch-src_lib_crypt_ops_crypto_rsa_openssl_c?rev=1.2&content-type=text/x-cvsweb-markup - -Patch series was sent upstream: -https://forum.torproject.net/t/tor-relays-openbsd-stable-net-tor-and-0-4-7-7/3244 - -Signed-off-by: Bernd Kuhls - -Index: src/lib/crypt_ops/crypto_rsa_openssl.c ---- a/src/lib/crypt_ops/crypto_rsa_openssl.c.orig -+++ b/src/lib/crypt_ops/crypto_rsa_openssl.c -@@ -47,7 +47,7 @@ struct crypto_pk_t - int - crypto_pk_key_is_private(const crypto_pk_t *k) - { --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - if (!k || !k->key) - return 0; - -@@ -212,7 +212,7 @@ crypto_pk_public_exponent_ok(const crypto_pk_t *env) - - const BIGNUM *e; - --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - const BIGNUM *n, *d; - RSA_get0_key(env->key, &n, &e, &d); - #else -@@ -242,7 +242,7 @@ crypto_pk_cmp_keys(const crypto_pk_t *a, const crypto_ - const BIGNUM *a_n, *a_e; - const BIGNUM *b_n, *b_e; - --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - const BIGNUM *a_d, *b_d; - RSA_get0_key(a->key, &a_n, &a_e, &a_d); - RSA_get0_key(b->key, &b_n, &b_e, &b_d); -@@ -279,7 +279,7 @@ crypto_pk_num_bits(crypto_pk_t *env) - tor_assert(env); - tor_assert(env->key); - --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - /* It's so stupid that there's no other way to check that n is valid - * before calling RSA_bits(). - */ -@@ -572,7 +572,7 @@ static bool - rsa_private_key_too_long(RSA *rsa, int max_bits) - { - const BIGNUM *n, *e, *p, *q, *d, *dmp1, *dmq1, *iqmp; --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - - #if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,1) - n = RSA_get0_n(rsa); diff --git a/package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch b/package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch deleted file mode 100644 index fe8586357a6..00000000000 --- a/package/tor/0003-patch-src_lib_tls_x509_openssl_c.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix build with opaque structs in LibreSSL 3.5 - -Downloaded from OpenBSD ports: -http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tor/patches/patch-src_lib_tls_x509_openssl_c?rev=1.2&content-type=text/x-cvsweb-markup - -Patch series was sent upstream: -https://forum.torproject.net/t/tor-relays-openbsd-stable-net-tor-and-0-4-7-7/3244 - -Signed-off-by: Bernd Kuhls - -Index: src/lib/tls/x509_openssl.c ---- a/src/lib/tls/x509_openssl.c.orig -+++ b/src/lib/tls/x509_openssl.c -@@ -329,7 +329,7 @@ tor_tls_cert_is_valid(int severity, - cert_key = X509_get_pubkey(cert->cert); - if (check_rsa_1024 && cert_key) { - RSA *rsa = EVP_PKEY_get1_RSA(cert_key); --#ifdef OPENSSL_1_1_API -+#if defined(OPENSSL_1_1_API) || defined(LIBRESSL_VERSION_NUMBER) - if (rsa && RSA_bits(rsa) == 1024) { - #else - if (rsa && BN_num_bits(rsa->n) == 1024) { diff --git a/package/tor/tor.hash b/package/tor/tor.hash index dba08f51b52..4052f11736c 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,4 +1,4 @@ -# From https://dist.torproject.org/tor-0.4.7.10.tar.gz.sha256sum -sha256 647e56dfa59ea36dab052027fcfc7663905c826c03509363c456900ecd435a5b tor-0.4.7.10.tar.gz +# From https://dist.torproject.org/tor-0.4.8.11.tar.gz.sha256sum +sha256 8f2bdf90e63380781235aa7d604e159570f283ecee674670873d8bb7052c8e07 tor-0.4.8.11.tar.gz # Locally computed sha256 47b54ed17e8fdcab3c44729a1789a09b208f9a63a845a7e50def9df729eebad0 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index ed3714f2db8..9986a5f472a 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.4.7.10 +TOR_VERSION = 0.4.8.11 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE diff --git a/package/tovid/0001-manpage.patch b/package/tovid/0001-manpage.patch deleted file mode 100644 index 21669c9d551..00000000000 --- a/package/tovid/0001-manpage.patch +++ /dev/null @@ -1,25 +0,0 @@ -setup.py: disable man page to kill txt2tags SVN checkout dependency - -Signed-off-by: Steve Kenton - -+diff -pruN tovid-3534.ori/setup.py tovid-3534/setup.py ---- tovid-3534.ori/setup.py 2013-04-14 09:52:08.000000000 -0500 -+++ tovid-3534/setup.py 2015-03-21 09:39:14.880173176 -0500 -@@ -186,7 +186,7 @@ class BuildTovidInit (Command): - - # Build tovid-init with regular 'build' command - build.sub_commands.append(('build_tovid_init', None)) --build.sub_commands.append(('build_docs', None)) -+#build.sub_commands.append(('build_docs', None)) - - # The actual setup - setup( -@@ -244,8 +244,6 @@ setup( - 'src/tovid.ini', - ]), - # Manual page -- ('share/man/man1', -- ['docs/man/tovid.1']), - # Desktop shortcut - ('share/applications', - ['tovidgui.desktop', diff --git a/package/tovid/Config.in b/package/tovid/Config.in deleted file mode 100644 index 3dbb0e229e0..00000000000 --- a/package/tovid/Config.in +++ /dev/null @@ -1,50 +0,0 @@ -config BR2_PACKAGE_TOVID - bool "tovid" - depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_WCHAR - depends on BR2_PACKAGE_PYTHON3 - depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # mpv - depends on BR2_TOOLCHAIN_HAS_ATOMIC # mpv - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mpv - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC # mpv - # The below dependencies are runtime dependencies only - select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # procps_ng - select BR2_PACKAGE_DVDAUTHOR - select BR2_PACKAGE_DVDRW_TOOLS - select BR2_PACKAGE_FFMPEG - select BR2_PACKAGE_IMAGEMAGICK - select BR2_PACKAGE_JPEG - select BR2_PACKAGE_MJPEGTOOLS - select BR2_PACKAGE_MPV - select BR2_PACKAGE_PROCPS_NG # pgrep and pkill - select BR2_PACKAGE_SOX - help - The tovid suite, also known simply as tovid, is a collection - of shell and Python scripts for creating DVDs and - (S)VCDs. It is pronounced "to vid" (because it converts to - video disc formats). - - http://tovid.wikia.com/wiki/Installing_tovid - -comment "tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9" - depends on BR2_USE_MMU - depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ - || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_USE_WCHAR - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - -comment "tovid depends on python3" - depends on !BR2_PACKAGE_PYTHON3 - depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC diff --git a/package/tovid/tovid.hash b/package/tovid/tovid.hash deleted file mode 100644 index 430ea52c1ba..00000000000 --- a/package/tovid/tovid.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 c03a746a3592a656bab0be4045da114a4231eb0f858d6c18503dac64049fbe48 tovid-87c676f4aadb7303d2cd921380b054bafa4b85bb.tar.gz -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/tovid/tovid.mk b/package/tovid/tovid.mk deleted file mode 100644 index 4c5c60aa7fc..00000000000 --- a/package/tovid/tovid.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# tovid -# -################################################################################ - -TOVID_VERSION = 87c676f4aadb7303d2cd921380b054bafa4b85bb -TOVID_SITE = $(call github,tovid-suite,tovid,$(TOVID_VERSION)) -TOVID_LICENSE = GPL-2.0+ -TOVID_LICENSE_FILES = COPYING -TOVID_SETUP_TYPE = distutils - -$(eval $(python-package)) diff --git a/package/tpm2-abrmd/tpm2-abrmd.mk b/package/tpm2-abrmd/tpm2-abrmd.mk index 8de233008e5..0e62cb176a1 100644 --- a/package/tpm2-abrmd/tpm2-abrmd.mk +++ b/package/tpm2-abrmd/tpm2-abrmd.mk @@ -29,8 +29,4 @@ define TPM2_ABRMD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80tpm2-abrmd endef -define TPM2_ABRMD_USERS - tss -1 tss -1 * - - - TPM2 Access Broker & Resource Management daemon -endef - $(eval $(autotools-package)) diff --git a/package/tpm2-pkcs11/tpm2-pkcs11.hash b/package/tpm2-pkcs11/tpm2-pkcs11.hash index b027bad72aa..797955a69b8 100644 --- a/package/tpm2-pkcs11/tpm2-pkcs11.hash +++ b/package/tpm2-pkcs11/tpm2-pkcs11.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 79f28899047defd6b4b72b7268dd56abf27774954022315f818c239af33e05bd tpm2-pkcs11-1.8.0.tar.gz +sha256 35bf06c30cfa76fc0eba2c5f503cf7dd0d34a66afb2d292fee896b90362f633b tpm2-pkcs11-1.9.0.tar.gz sha256 793aa007f793458434d7cc60b1c827053a399308658b32fcaa6023802adc22e1 LICENSE diff --git a/package/tpm2-pkcs11/tpm2-pkcs11.mk b/package/tpm2-pkcs11/tpm2-pkcs11.mk index 9d613407754..18f04157e30 100644 --- a/package/tpm2-pkcs11/tpm2-pkcs11.mk +++ b/package/tpm2-pkcs11/tpm2-pkcs11.mk @@ -4,7 +4,7 @@ # ################################################################################ -TPM2_PKCS11_VERSION = 1.8.0 +TPM2_PKCS11_VERSION = 1.9.0 TPM2_PKCS11_SITE = https://github.com/tpm2-software/tpm2-pkcs11/releases/download/$(TPM2_PKCS11_VERSION) TPM2_PKCS11_LICENSE = BSD-2-Clause TPM2_PKCS11_LICENSE_FILES = LICENSE diff --git a/package/tpm2-tools/tpm2-tools.mk b/package/tpm2-tools/tpm2-tools.mk index 01b029d9427..12f924eee53 100644 --- a/package/tpm2-tools/tpm2-tools.mk +++ b/package/tpm2-tools/tpm2-tools.mk @@ -8,7 +8,7 @@ TPM2_TOOLS_VERSION = 5.2 TPM2_TOOLS_SITE = https://github.com/tpm2-software/tpm2-tools/releases/download/$(TPM2_TOOLS_VERSION) TPM2_TOOLS_LICENSE = BSD-3-Clause TPM2_TOOLS_LICENSE_FILES = doc/LICENSE -TPM2_TOOLS_CPE_ID_VENDOR = tpm2-tools_project +TPM2_TOOLS_CPE_ID_VALID = YES TPM2_TOOLS_SELINUX_MODULES = tpm2 TPM2_TOOLS_DEPENDENCIES = libcurl openssl tpm2-tss host-pkgconf diff --git a/package/tpm2-totp/Config.in b/package/tpm2-totp/Config.in index dcadf5a5f28..a26604abb8b 100644 --- a/package/tpm2-totp/Config.in +++ b/package/tpm2-totp/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_TPM2_TOTP bool "tpm2-totp" depends on !BR2_STATIC_LIBS # tpm2-tss - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # glibc < 2.20 select BR2_PACKAGE_LIBQRENCODE select BR2_PACKAGE_TPM2_TSS help @@ -20,4 +19,3 @@ config BR2_PACKAGE_TPM2_TOTP comment "tpm2-totp needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM diff --git a/package/tpm2-tss/tpm2-tss.hash b/package/tpm2-tss/tpm2-tss.hash index b6eb3c1f976..c9fa4e6ae0f 100644 --- a/package/tpm2-tss/tpm2-tss.hash +++ b/package/tpm2-tss/tpm2-tss.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8900a6603f74310b749b65f23c3461cde6e2a23a5f61058b21004c25f9cf19e8 tpm2-tss-3.1.0.tar.gz +sha256 ba9e52117f254f357ff502e7d60fce652b3bfb26327d236bbf5ab634235e40f1 tpm2-tss-3.2.2.tar.gz sha256 18c1bf4b1ba1fb2c4ffa7398c234d83c0d55475298e470ae1e5e3a8a8bd2e448 LICENSE diff --git a/package/tpm2-tss/tpm2-tss.mk b/package/tpm2-tss/tpm2-tss.mk index 060883c377e..b76d16e71e9 100644 --- a/package/tpm2-tss/tpm2-tss.mk +++ b/package/tpm2-tss/tpm2-tss.mk @@ -4,7 +4,7 @@ # ################################################################################ -TPM2_TSS_VERSION = 3.1.0 +TPM2_TSS_VERSION = 3.2.2 TPM2_TSS_SITE = https://github.com/tpm2-software/tpm2-tss/releases/download/$(TPM2_TSS_VERSION) TPM2_TSS_LICENSE = BSD-2-Clause TPM2_TSS_LICENSE_FILES = LICENSE @@ -26,7 +26,8 @@ TPM2_TSS_CONF_OPTS = \ ac_cv_prog_result_setfacl=yes \ ac_cv_prog_systemd_sysusers=no \ ac_cv_prog_systemd_tmpfiles=no \ - ac_cv_prog_result_useradd=yes \ + ac_cv_prog_useradd=yes \ + ac_cv_prog_groupadd=yes \ --with-crypto=ossl \ --disable-doxygen-doc \ --disable-defaultflags @@ -41,4 +42,8 @@ else TPM2_TSS_CONF_OPTS += --disable-fapi endif +define TPM2_TSS_USERS + tss -1 tss -1 * - - - tss user for tpm2 +endef + $(eval $(autotools-package)) diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in index 2d0accd7aea..c47b1f57ca9 100644 --- a/package/trace-cmd/Config.in +++ b/package/trace-cmd/Config.in @@ -4,6 +4,9 @@ config BR2_PACKAGE_TRACE_CMD depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlopen() + depends on BR2_TOOLCHAIN_HAS_THREADS # libtracefs + select BR2_PACKAGE_LIBTRACEEVENT + select BR2_PACKAGE_LIBTRACEFS help Command line reader for ftrace. @@ -14,6 +17,7 @@ config BR2_PACKAGE_TRACE_CMD http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git -comment "trace-cmd needs a toolchain w/ NPTL, dynamic library" +comment "trace-cmd needs a toolchain w/ threads, NPTL, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/trace-cmd/trace-cmd.hash b/package/trace-cmd/trace-cmd.hash index 4d39e4d5ea3..30b0c48de60 100644 --- a/package/trace-cmd/trace-cmd.hash +++ b/package/trace-cmd/trace-cmd.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 a74d9ade2633b88d0ad199360d51996427e23f4835594133e456cd6e3bd3a651 trace-cmd-v2.9.7.tar.gz +sha256 62af2c6062eeb434925921bb5936774b0a0e17a5f86671fa2ea2f40704a080cd trace-cmd-v3.2.tar.gz sha256 b1d04b850c1c7471b0f0896f6c6f0fcfc9f07e2dd183a5f5826af269fe9e88fb COPYING sha256 70f297763149e72306919c924e164f83041d5e512868d4c8c1826c171b3e49f9 COPYING.LIB sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0 diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk index 52bb99036c4..e02eb79530c 100644 --- a/package/trace-cmd/trace-cmd.mk +++ b/package/trace-cmd/trace-cmd.mk @@ -4,14 +4,14 @@ # ################################################################################ -TRACE_CMD_VERSION = 2.9.7 +TRACE_CMD_VERSION = 3.2 TRACE_CMD_SOURCE = trace-cmd-v$(TRACE_CMD_VERSION).tar.gz TRACE_CMD_SITE = \ https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1 TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB LICENSES/GPL-2.0 LICENSES/LGPL-2.1 -TRACE_CMD_DEPENDENCIES = host-pkgconf +TRACE_CMD_DEPENDENCIES = host-pkgconf libtraceevent libtracefs TRACE_CMD_MAKE_OPTS = prefix=/usr etcdir=/etc ifeq ($(BR2_PACKAGE_AUDIT),y) @@ -34,6 +34,8 @@ ifeq ($(BR2_sparc64),y) TRACE_CMD_CFLAGS += -fPIC endif +TRACE_CMD_CFLAGS += $($(HOST_DIR)/bin/pkg-config --cflags libtracefs) + # trace-cmd use CPPFLAGS to add some extra flags. # But like for CFLAGS, $(TARGET_CPPFLAGS) contains _LARGEFILE64_SOURCE # that causes build problems. diff --git a/package/traceroute/traceroute.hash b/package/traceroute/traceroute.hash index 83791c18a43..cf2eb127a21 100644 --- a/package/traceroute/traceroute.hash +++ b/package/traceroute/traceroute.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6 traceroute-2.1.0.tar.gz +sha256 05ebc7aba28a9100f9bbae54ceecbf75c82ccf46bdfce8b5d64806459a7e0412 traceroute-2.1.3.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/traceroute/traceroute.mk b/package/traceroute/traceroute.mk index a02982a6b5f..133f8d3c3ee 100644 --- a/package/traceroute/traceroute.mk +++ b/package/traceroute/traceroute.mk @@ -4,11 +4,12 @@ # ################################################################################ -TRACEROUTE_VERSION = 2.1.0 +TRACEROUTE_VERSION = 2.1.3 TRACEROUTE_SITE = http://downloads.sourceforge.net/traceroute/traceroute/traceroute-$(TRACEROUTE_VERSION) TRACEROUTE_LICENSE = GPL-2.0+, LGPL-2.1+ TRACEROUTE_LICENSE_FILES = COPYING COPYING.LIB +TRACEROUTE_CPE_ID_VENDOR = buc define TRACEROUTE_BUILD_CMDS $(TARGET_MAKE_ENV) VPATH=$(STAGING_DIR)/usr/lib $(MAKE) $(TARGET_CONFIGURE_OPTS) \ diff --git a/package/transmission/0001-fix-utypes.patch b/package/transmission/0001-fix-utypes.patch deleted file mode 100644 index 81efa884a79..00000000000 --- a/package/transmission/0001-fix-utypes.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix build error "conflicting types for 'UTP_Write'" - -Fetch from: http://www.adminsehow.com/2012/10/how-to-install-transmission-2-71-on-debian-6-0-squeeze/ - -The corresponding upstream bug report (unfixed) can be found here: -https://trac.transmissionbt.com/ticket/5232 - -Signed-off-by: Bernd Kuhls -[Fabrice: adapt to 3.00, which always uses stdbool.h] -Signed-off-by: Fabrice Fontaine -[yann.morin.1998@free.fr: - - don't comment-out dropped code, just drop it - - use CR-LF in replacement code, as used by upstream -] -Signed-off-by: Yann E. MORIN - ---- transmission-2.82.org/third-party/libutp/utypes.h 2013-08-09 04:47:43.000000000 +0200 -+++ transmission-2.82/third-party/libutp/utypes.h 2014-01-02 20:17:18.000000000 +0100 -@@ -35,8 +35,8 @@ - typedef const char * cstr; - typedef char * str; - --#ifndef __cplusplus --typedef uint8 bool; --#endif -+#ifndef __cplusplus -+#include -+#endif - - #endif //__UTYPES_H__ diff --git a/package/transmission/0002-fix-utp-include.patch b/package/transmission/0002-fix-utp-include.patch deleted file mode 100644 index db8b5ab39b3..00000000000 --- a/package/transmission/0002-fix-utp-include.patch +++ /dev/null @@ -1,46 +0,0 @@ -Fix compilation when using system libminiupnpc with libutp disabled - -If transmission uses its own copy of libminiupnpc in third-party/ then -the configure script adds that path to CFLAGS: -https://trac.transmissionbt.com/browser/trunk/configure.ac#L455 - -This path is also added if transmission uses its own copy of libutp: -https://trac.transmissionbt.com/browser/trunk/configure.ac#L349 - -But if a system-provided libminiupnpc is used and utp-support is -disabled using --disable-utp the result is a build error, detected by -buildroot autobuilders: -http://autobuild.buildroot.net/results/b79/b79e51140cb0320554a58ce59dcb33f53cd9211a/build-end.log - -net.c:40:24: fatal error: libutp/utp.h: No such file or directory - -Patch proposed by Yann E. MORIN: -http://lists.busybox.net/pipermail/buildroot/2016-July/167896.html - -Patch sent upstream: https://trac.transmissionbt.com/ticket/6163 - -Signed-off-by: Bernd Kuhls - -diff -uNr transmission-2.92.org/configure.ac transmission-2.92/configure.ac ---- transmission-2.92.org/configure.ac 2016-03-06 21:23:45.336198393 +0100 -+++ transmission-2.92/configure.ac 2016-07-31 12:13:40.921660078 +0200 -@@ -358,6 +358,10 @@ - else - AC_MSG_ERROR("Unable to build uTP support -- C++ compiler not found") - fi -+else -+ # For the system libminiupnpc with UTC disabled, -+ # point to our bundled UTP headers -+ LIBUTP_CFLAGS="-I\$(top_srcdir)/third-party/" - fi - AC_SUBST(LIBUTP_CFLAGS) - AC_SUBST(LIBUTP_LIBS) -@@ -457,7 +461,7 @@ - LIBUPNP_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/miniupnp/libminiupnp.a" - else - AC_DEFINE([SYSTEM_MINIUPNP]) -- LIBUPNP_CFLAGS="" -+ LIBUPNP_CFLAGS="${LIBUTP_CFLAGS}" - LIBUPNP_LIBS="-lminiupnpc" - LIBUPNP_LIBS_QT="-lminiupnpc" - fi diff --git a/package/transmission/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch b/package/transmission/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch deleted file mode 100644 index bfb0084bc43..00000000000 --- a/package/transmission/0003-configure.ac-fix-autoreconf-with-autoconf-2.70.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 857ac91a03a096601f62b358fc61355d4cc25b9b Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 9 Oct 2021 18:51:13 +0200 -Subject: [PATCH] configure.ac: fix autoreconf with autoconf >= 2.70 - -Remove the whitespace before IT_PROG_INTLTOOL as suggested in -https://www.mail-archive.com/bug-autoconf@gnu.org/msg04851.html -to avoid the following build failure with autoconf >= 2.70: - -ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work. - -The problem has been introduced by upstream autoconf commit -http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=b3b3af821a0b9e82ebe56b77b1731d2fe58f52de - -Fixes: - - http://autobuild.buildroot.org/results/e8bea26f6b12adf16335b24836a7c5c31911af6a - -Signed-off-by: Fabrice Fontaine -[Upstream status: not upstreamable as upstream swicthed to cmake ( -https://github.com/transmission/transmission/issues/1573)] ---- - configure.ac | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index fd1132fda..04e0e19bb 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -555,9 +555,7 @@ dnl it should be safe to re-edit 0.40 back down to 0.23 - use_nls=no - if test "x$enable_nls" = "xyes" ; then - use_nls=yes -- m4_ifdef([IT_PROG_INTLTOOL], -- [IT_PROG_INTLTOOL([0.35.0],[no-xml])], -- [AC_MSG_ERROR("--enable-nls requires intltool to be installed.")]) -+IT_PROG_INTLTOOL([0.35.0],[no-xml]) - AC_CHECK_HEADERS([libintl.h]) - GETTEXT_PACKAGE=transmission-gtk - AC_SUBST(GETTEXT_PACKAGE) --- -2.33.0 - diff --git a/package/transmission/Config.in b/package/transmission/Config.in index 980b042e335..eeaa7890fbe 100644 --- a/package/transmission/Config.in +++ b/package/transmission/Config.in @@ -1,12 +1,23 @@ config BR2_PACKAGE_TRANSMISSION bool "transmission" + depends on !BR2_BINFMT_FLAT # libnatpmp + depends on BR2_INSTALL_LIBSTDCPP # libutp + depends on !BR2_STATIC_LIBS # libnatpmp + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL + depends on BR2_USE_WCHAR # libpsl + select BR2_PACKAGE_DHT + select BR2_PACKAGE_LIBB64 select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBDEFLATE select BR2_PACKAGE_LIBEVENT + select BR2_PACKAGE_LIBMINIUPNPC + select BR2_PACKAGE_LIBNATPMP + select BR2_PACKAGE_LIBPSL + select BR2_PACKAGE_LIBUTP + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZLIB help Transmission is a cross-platform BitTorrent client. @@ -14,15 +25,6 @@ config BR2_PACKAGE_TRANSMISSION if BR2_PACKAGE_TRANSMISSION -config BR2_PACKAGE_TRANSMISSION_UTP - bool "Transmission uTP support" - depends on BR2_INSTALL_LIBSTDCPP - help - Install support for uTorrent Transport Protocol - -comment "uTP needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP - config BR2_PACKAGE_TRANSMISSION_CLI bool "transmission-cli" help @@ -35,14 +37,21 @@ config BR2_PACKAGE_TRANSMISSION_DAEMON config BR2_PACKAGE_TRANSMISSION_GTK bool "transmission-gtk" + depends on !BR2_nios2 # gtkmm3 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pangomm, libgtk3 -> pango -> harfbuzz -> gtkmm3 depends on BR2_PACKAGE_LIBGTK3 && BR2_SYSTEM_ENABLE_NLS + select BR2_PACKAGE_GTKMM3 help Install transmission GTK-based GUI interface. -comment "transmission-gtk needs NLS enabled" +comment "transmission-gtk needs libgtk3 and a toolchain with NLS enabled" + depends on !BR2_nios2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGTK3 && !BR2_SYSTEM_ENABLE_NLS endif -comment "transmission needs a toolchain w/ threads" +comment "transmission needs a toolchain w/ dynamic library, threads, C++, gcc >= 7" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_BINFMT_FLAT + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || BR2_STATIC_LIBS diff --git a/package/transmission/transmission.hash b/package/transmission/transmission.hash index 13cbc969d34..ed600c7699e 100644 --- a/package/transmission/transmission.hash +++ b/package/transmission/transmission.hash @@ -1,3 +1,4 @@ +# From https://transmissionbt.com/download +sha256 fd68ff114a479200043c30c7e69dba4c1932f7af36ca4c5b5d2edcb5866e6357 transmission-4.0.5.tar.xz # Locally calculated -sha256 9144652fe742f7f7dd6657716e378da60b751aaeda8bef8344b3eefc4db255f2 transmission-3.00.tar.xz -sha256 2b16da5bd02790d1e4d332cfd42b9dfd7d1b0ed3a16a75dc7e76b6ed239fdba9 COPYING +sha256 f56732960a61ecf3b9637404eef1a39221d2006336a98792b7b65a79f155449c COPYING diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index 1660d2c2b98..f1130aeaddc 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -4,55 +4,54 @@ # ################################################################################ -TRANSMISSION_VERSION = 3.00 -TRANSMISSION_SITE = https://github.com/transmission/transmission-releases/raw/master +TRANSMISSION_VERSION = 4.0.5 TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.xz +TRANSMISSION_SITE = https://github.com/transmission/transmission/releases/download/$(TRANSMISSION_VERSION) TRANSMISSION_DEPENDENCIES = \ host-pkgconf \ - host-intltool \ + dht \ + libb64 \ libcurl \ + libdeflate \ libevent \ + libminiupnpc \ + libnatpmp \ + libpsl \ + libutp \ openssl \ zlib -TRANSMISSION_AUTORECONF = YES TRANSMISSION_CONF_OPTS = \ - --without-inotify \ - --enable-lightweight + -DENABLE_TESTS=OFF \ + -DRUN_CLANG_TIDY=OFF \ + -DUSE_SYSTEM_B64=ON \ + -DUSE_SYSTEM_DEFLATE=ON \ + -DUSE_SYSTEM_DHT=ON \ + -DUSE_SYSTEM_NATPMP=ON \ + -DUSE_SYSTEM_PSL=ON \ + -DWITH_INOTIFY=OFF TRANSMISSION_LICENSE = GPL-2.0 or GPL-3.0 with OpenSSL exception TRANSMISSION_LICENSE_FILES = COPYING TRANSMISSION_CPE_ID_VENDOR = transmissionbt -ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) -TRANSMISSION_DEPENDENCIES += libminiupnpc -endif - -ifeq ($(BR2_PACKAGE_LIBNATPMP),y) -TRANSMISSION_DEPENDENCIES += libnatpmp -TRANSMISSION_CONF_OPTS += --enable-external-natpmp -else -TRANSMISSION_CONF_OPTS += --disable-external-natpmp -endif - -ifeq ($(BR2_PACKAGE_TRANSMISSION_UTP),y) -TRANSMISSION_CONF_OPTS += --enable-utp -else -TRANSMISSION_CONF_OPTS += --disable-utp +# Uses __atomic_load_8 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +TRANSMISSION_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif ifeq ($(BR2_PACKAGE_TRANSMISSION_CLI),y) -TRANSMISSION_CONF_OPTS += --enable-cli +TRANSMISSION_CONF_OPTS += -DENABLE_CLI=ON else -TRANSMISSION_CONF_OPTS += --disable-cli +TRANSMISSION_CONF_OPTS += -DENABLE_CLI=OFF endif ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y) -TRANSMISSION_CONF_OPTS += --enable-daemon +TRANSMISSION_CONF_OPTS += -DENABLE_DAEMON=ON ifeq ($(BR2_PACKAGE_SYSTEMD),y) TRANSMISSION_DEPENDENCIES += systemd -TRANSMISSION_CONF_OPTS += --with-systemd +TRANSMISSION_CONF_OPTS += -DWITH_SYSTEMD=ON else -TRANSMISSION_CONF_OPTS += --without-systemd +TRANSMISSION_CONF_OPTS += -DWITH_SYSTEMD=OFF endif define TRANSMISSION_USERS @@ -70,14 +69,14 @@ define TRANSMISSION_INSTALL_INIT_SYSTEMD endef else -TRANSMISSION_CONF_OPTS += --disable-daemon +TRANSMISSION_CONF_OPTS += -DENABLE_DAEMON=OFF endif ifeq ($(BR2_PACKAGE_TRANSMISSION_GTK),y) -TRANSMISSION_CONF_OPTS += --with-gtk -TRANSMISSION_DEPENDENCIES += libgtk3 +TRANSMISSION_CONF_OPTS += -DENABLE_GTK=ON +TRANSMISSION_DEPENDENCIES += gtkmm3 libgtk3 else -TRANSMISSION_CONF_OPTS += --without-gtk +TRANSMISSION_CONF_OPTS += -DENABLE_GTK=OFF endif -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/tree/Config.in b/package/tree/Config.in index 234995f109f..4821b589609 100644 --- a/package/tree/Config.in +++ b/package/tree/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_TREE dircolors if the LS_COLORS environment variable is set and output is to tty. - http://mama.indstate.edu/users/ice/tree/ + http://oldmanprogrammer.net/source.php?dir=projects/tree comment "tree needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR diff --git a/package/tree/tree.hash b/package/tree/tree.hash index 298153c89c5..9ef48b1e775 100644 --- a/package/tree/tree.hash +++ b/package/tree/tree.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7d693a1d88d3c4e70a73e03b8dbbdc12c2945d482647494f2f5bd83a479eeeaf tree-2.0.2.tgz +sha256 d3c3d55f403af7c76556546325aa1eca90b918cbaaf6d3ab60a49d8367ab90d5 tree-2.1.1.tgz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 LICENSE diff --git a/package/tree/tree.mk b/package/tree/tree.mk index da0acbae49b..479a172a72b 100644 --- a/package/tree/tree.mk +++ b/package/tree/tree.mk @@ -4,9 +4,9 @@ # ################################################################################ -TREE_VERSION = 2.0.2 +TREE_VERSION = 2.1.1 TREE_SOURCE = tree-$(TREE_VERSION).tgz -TREE_SITE = http://mama.indstate.edu/users/ice/tree/src +TREE_SITE = http://oldmanprogrammer.net/tar/tree TREE_LICENSE = GPL-2.0+ TREE_LICENSE_FILES = LICENSE diff --git a/package/trinity/0004-drop-decnet.patch b/package/trinity/0004-drop-decnet.patch new file mode 100644 index 00000000000..15ba7f8e824 --- /dev/null +++ b/package/trinity/0004-drop-decnet.patch @@ -0,0 +1,130 @@ +From ec8dcc7faf13c57f5f6d785e4429818f1239a058 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 8 Jan 2023 20:50:18 +0100 +Subject: [PATCH] drop decnet + +Drop decnet as it has been removed since kernel 6.1 and +https://github.com/torvalds/linux/commit/1202cdd665315c525b5237e96e0bedc76d7e754f +resulting in the following build failure: + +net/proto-decnet.c:5:10: fatal error: linux/dn.h: No such file or directory + 5 | #include + | ^~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/47e0a5e0b6fcf33ab4f9848d5d8c2be9e5283950 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/kernelslacker/trinity/pull/41] +--- + include/net.h | 1 - + net/proto-decnet.c | 59 ---------------------------------------------- + net/proto-unix.c | 1 - + net/protocols.c | 1 - + 4 files changed, 62 deletions(-) + delete mode 100644 net/proto-decnet.c + +diff --git a/include/net.h b/include/net.h +index 99d55363..791e8090 100644 +--- a/include/net.h ++++ b/include/net.h +@@ -80,7 +80,6 @@ extern const struct netproto proto_atmpvc; + extern const struct netproto proto_atmsvc; + extern const struct netproto proto_x25; + extern const struct netproto proto_rose; +-extern const struct netproto proto_decnet; + extern const struct netproto proto_llc; + extern const struct netproto proto_netlink; + extern const struct netproto proto_packet; +diff --git a/net/proto-decnet.c b/net/proto-decnet.c +deleted file mode 100644 +index 7711cf00..00000000 +--- a/net/proto-decnet.c ++++ /dev/null +@@ -1,59 +0,0 @@ +-#include +-#include +-#include +-#include +-#include +-#include +-#include "net.h" +-#include "random.h" +-#include "utils.h" // RAND_ARRAY +-#include "compat.h" +- +-static void decnet_gen_sockaddr(struct sockaddr **addr, socklen_t *addrlen) +-{ +- struct sockaddr_dn *dn; +- unsigned int i; +- +- dn = zmalloc(sizeof(struct sockaddr_dn)); +- +- dn->sdn_family = PF_DECnet; +- dn->sdn_flags = rnd(); +- dn->sdn_objnum = rnd(); +- dn->sdn_objnamel = rnd() % 16; +- for (i = 0; i < dn->sdn_objnamel; i++) +- dn->sdn_objname[i] = rnd(); +- dn->sdn_add.a_len = RAND_BOOL(); +- dn->sdn_add.a_addr[0] = rnd(); +- dn->sdn_add.a_addr[1] = rnd(); +- *addr = (struct sockaddr *) dn; +- *addrlen = sizeof(struct sockaddr_dn); +-} +- +-static const unsigned int decnet_opts[] = { +- SO_CONDATA, SO_CONACCESS, SO_PROXYUSR, SO_LINKINFO, +- DSO_CONDATA, DSO_DISDATA, DSO_CONACCESS, DSO_ACCEPTMODE, +- DSO_CONACCEPT, DSO_CONREJECT, DSO_LINKINFO, DSO_STREAM, +- DSO_SEQPACKET, DSO_MAXWINDOW, DSO_NODELAY, DSO_CORK, +- DSO_SERVICES, DSO_INFO +-}; +- +-static void decnet_setsockopt(struct sockopt *so, __unused__ struct socket_triplet *triplet) +-{ +- so->level = SOL_DECNET; +- so->optname = RAND_ARRAY(decnet_opts); +- +- // TODO: set optlen correctly +-} +- +-static struct socket_triplet decnet_triplets[] = { +- { .family = PF_DECnet, .protocol = DNPROTO_NSP, .type = SOCK_SEQPACKET }, +- { .family = PF_DECnet, .protocol = DNPROTO_NSP, .type = SOCK_STREAM }, +-}; +- +-const struct netproto proto_decnet = { +- .name = "decnet", +- .setsockopt = decnet_setsockopt, +- .gen_sockaddr = decnet_gen_sockaddr, +- .valid_triplets = decnet_triplets, +- .nr_triplets = ARRAY_SIZE(decnet_triplets), +-}; +diff --git a/net/proto-unix.c b/net/proto-unix.c +index f7427a22..119c1429 100644 +--- a/net/proto-unix.c ++++ b/net/proto-unix.c +@@ -2,7 +2,6 @@ + #include + #include + #include +-#include + #include + #include "net.h" + #include "random.h" +diff --git a/net/protocols.c b/net/protocols.c +index ea64d5f5..278f08b5 100644 +--- a/net/protocols.c ++++ b/net/protocols.c +@@ -18,7 +18,6 @@ const struct protoptr net_protocols[TRINITY_PF_MAX] = { + #ifdef USE_IPV6 + [PF_INET6] = { .proto = &proto_inet6 }, + #endif +- [PF_DECnet] = { .proto = &proto_decnet }, + [PF_PACKET] = { .proto = &proto_packet }, + #ifdef USE_NETECONET + [PF_ECONET] = { .proto = &proto_econet }, +-- +2.39.0 + diff --git a/package/trinity/0005-ioctls-drm-check-i810-mga-r128-and-savage-support-44.patch b/package/trinity/0005-ioctls-drm-check-i810-mga-r128-and-savage-support-44.patch new file mode 100644 index 00000000000..b91fddb20b3 --- /dev/null +++ b/package/trinity/0005-ioctls-drm-check-i810-mga-r128-and-savage-support-44.patch @@ -0,0 +1,113 @@ +From 6823bacb3c2564bff5da3175c574fd6a6af4d8b2 Mon Sep 17 00:00:00 2001 +From: chuhu +Date: Sat, 1 Jul 2023 01:02:37 +0800 +Subject: [PATCH] ioctls/drm: check i810,mga,r128 and savage support (#44) + +kernel v6.3-rc1 removed some drm drivers, so add the extra check to make +the compile succeed. + +7872bc2cb13e drm: Remove the obsolete driver-savage +28483b8666bf drm: Remove the obsolete driver-r128 +96ed7db55bef drm: Remove the obsolete driver-mga +cab18866fead drm: Remove the obsolete driver-i810 + +Signed-off-by: Chunyu Hu +Signed-off-by: Waldemar Brodkorb +Upstream: https://github.com/kernelslacker/trinity/commit/6823bacb3c2564bff5da3175c574fd6a6af4d8b2 +--- + configure | 4 ++++ + ioctls/drm.c | 14 ++++++++++++++ + 2 files changed, 18 insertions(+) + +diff --git a/configure b/configure +index 944c8cf7..bbaf9afc 100755 +--- a/configure ++++ b/configure +@@ -320,6 +320,10 @@ check_header linux/irda.h USE_IRDA + check_header linux/rds.h USE_RDS + check_header linux/vfio.h USE_VFIO + check_header drm/drm.h USE_DRM ++check_header drm/i810_drm.h USE_DRM_I810 ++check_header drm/mga_drm.h USE_DRM_MGA ++check_header drm/r128_drm.h USE_DRM_R128 ++check_header drm/savage_drm.h USE_DRM_SAVAGE + check_header drm/exynos_drm.h USE_DRM_EXYNOS + check_header sound/compress_offload.h USE_SNDDRV_COMPRESS_OFFLOAD + check_header linux/kvm.h USE_KVM +diff --git a/ioctls/drm.c b/ioctls/drm.c +index 81ed3682..a07a8436 100644 +--- a/ioctls/drm.c ++++ b/ioctls/drm.c +@@ -8,13 +8,21 @@ + #ifdef USE_DRM_EXYNOS + #include + #endif ++#ifdef USE_DRM_I810 + #include ++#endif + #include ++#ifdef USE_DRM_MGA + #include ++#endif + #include ++#ifdef USE_DRM_R128 + #include ++#endif + #include ++#ifdef USE_DRM_SAVAGE + #include ++#endif + + #include "ioctls.h" + #include "utils.h" +@@ -293,6 +301,7 @@ static const struct ioctl drm_ioctls[] = { + #endif + #endif + ++#ifdef USE_DRM_I810 + /* i810_drm.h */ + IOCTL(DRM_IOCTL_I810_INIT), + IOCTL(DRM_IOCTL_I810_VERTEX), +@@ -309,6 +318,7 @@ static const struct ioctl drm_ioctls[] = { + IOCTL(DRM_IOCTL_I810_MC), + IOCTL(DRM_IOCTL_I810_RSTATUS), + IOCTL(DRM_IOCTL_I810_FLIP), ++#endif + + /* i915_drm.h */ + IOCTL(DRM_IOCTL_I915_INIT), +@@ -378,6 +388,7 @@ static const struct ioctl drm_ioctls[] = { + IOCTL(DRM_IOCTL_I915_REG_READ), + #endif + ++#ifdef USE_DRM_MGA + /* mga_drm.h */ + IOCTL(DRM_IOCTL_MGA_INIT), + IOCTL(DRM_IOCTL_MGA_FLUSH), +@@ -401,6 +412,7 @@ static const struct ioctl drm_ioctls[] = { + IOCTL(DRM_IOCTL_NOUVEAU_GROBJ_ALLOC), + IOCTL(DRM_IOCTL_NOUVEAU_NOTIFIEROBJ_ALLOC), + IOCTL(DRM_IOCTL_NOUVEAU_GPUOBJ_FREE), ++#endif + #ifdef DRM_IOCTL_NOUVEAU_GEM_NEW + IOCTL(DRM_IOCTL_NOUVEAU_GEM_NEW), + #endif +@@ -417,6 +429,7 @@ static const struct ioctl drm_ioctls[] = { + IOCTL(DRM_IOCTL_NOUVEAU_GEM_INFO), + #endif + ++#ifdef USE_DRM_R128 + /* r128_drm.h */ + IOCTL(DRM_IOCTL_R128_INIT), + IOCTL(DRM_IOCTL_R128_CCE_START), +@@ -435,6 +448,7 @@ static const struct ioctl drm_ioctls[] = { + IOCTL(DRM_IOCTL_R128_FULLSCREEN), + IOCTL(DRM_IOCTL_R128_GETPARAM), + IOCTL(DRM_IOCTL_R128_FLIP), ++#endif + + /* radeon_drm.h */ + IOCTL(DRM_IOCTL_RADEON_CP_INIT), +-- +2.39.2 + diff --git a/package/trinity/0006-kvm-drop-KVM_SET_MEMORY_REGION-42.patch b/package/trinity/0006-kvm-drop-KVM_SET_MEMORY_REGION-42.patch new file mode 100644 index 00000000000..42779836949 --- /dev/null +++ b/package/trinity/0006-kvm-drop-KVM_SET_MEMORY_REGION-42.patch @@ -0,0 +1,30 @@ +From ca07c86b2aeeb91213922eaf481c9e224679a7fd Mon Sep 17 00:00:00 2001 +From: Jiri Slaby +Date: Fri, 17 Mar 2023 20:28:24 +0100 +Subject: [PATCH] kvm: drop KVM_SET_MEMORY_REGION (#42) + +It was dropped in upstream in commit 61e15f871241 (KVM: Delete all +references to removed KVM_SET_MEMORY_REGION ioctl). + +Co-authored-by: Jiri Slaby +Signed-off-by: Waldemar Brodkorb +Upstream: https://github.com/kernelslacker/trinity/commit/ca07c86b2aeeb91213922eaf481c9e224679a7fd +--- + ioctls/kvm.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/ioctls/kvm.c b/ioctls/kvm.c +index 14c55ef1..30aeed7a 100644 +--- a/ioctls/kvm.c ++++ b/ioctls/kvm.c +@@ -8,7 +8,6 @@ + #include "utils.h" + + static const struct ioctl kvm_ioctls[] = { +- IOCTL(KVM_SET_MEMORY_REGION), + IOCTL(KVM_CREATE_VCPU), + IOCTL(KVM_GET_DIRTY_LOG), + IOCTL(KVM_SET_NR_MMU_PAGES), +-- +2.39.2 + diff --git a/package/trinity/trinity.mk b/package/trinity/trinity.mk index 4dca50c0b6d..f6b56f62415 100644 --- a/package/trinity/trinity.mk +++ b/package/trinity/trinity.mk @@ -9,7 +9,7 @@ TRINITY_SITE = http://codemonkey.org.uk/projects/trinity TRINITY_SOURCE = trinity-$(TRINITY_VERSION).tar.xz TRINITY_LICENSE = GPL-2.0 TRINITY_LICENSE_FILES = COPYING -TRINITY_CPE_ID_VENDOR = trinity_project +TRINITY_CPE_ID_VALID = YES TRINITY_LDFLAGS = $(TARGET_LDFLAGS) diff --git a/package/tslib/tslib.hash b/package/tslib/tslib.hash index 762fbebb262..6fe35633aa3 100644 --- a/package/tslib/tslib.hash +++ b/package/tslib/tslib.hash @@ -1,5 +1,5 @@ -# https://github.com/libts/tslib/releases/download/1.22/tslib-1.22.tar.xz.sha256 -sha256 aaf0aed410a268d7b51385d07fe4d9d64312038e87c447ec8a24c8db0a15617a tslib-1.22.tar.xz +# https://github.com/libts/tslib/releases/download/1.23/tslib-1.23.tar.xz.sha256 +sha256 9b489a54d48006201f2fe955a88c3f857535ac93b6cf8e5a16c7b166c8991dac tslib-1.23.tar.xz # Locally computed sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING diff --git a/package/tslib/tslib.mk b/package/tslib/tslib.mk index 45e29808bd2..e8eb3beeaf5 100644 --- a/package/tslib/tslib.mk +++ b/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.22 +TSLIB_VERSION = 1.23 TSLIB_SITE = https://github.com/libts/tslib/releases/download/$(TSLIB_VERSION) TSLIB_SOURCE = tslib-$(TSLIB_VERSION).tar.xz TSLIB_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) @@ -29,7 +29,8 @@ TSLIB_CONF_OPTS += \ --enable-skip=static \ --enable-lowpass=static \ --enable-invert=static \ - --enable-evthres=static + --enable-evthres=static \ + --enable-crop=static endif $(eval $(autotools-package)) diff --git a/package/ttyd/Config.in b/package/ttyd/Config.in index ecc705b17e9..103a4ac4aa8 100644 --- a/package/ttyd/Config.in +++ b/package/ttyd/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_TTYD depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv, json-c depends on BR2_USE_MMU # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv select BR2_PACKAGE_JSON_C select BR2_PACKAGE_LIBUV select BR2_PACKAGE_LIBWEBSOCKETS @@ -15,7 +16,8 @@ config BR2_PACKAGE_TTYD https://github.com/tsl0922/ttyd -comment "ttyd needs a toolchain w/ NPTL, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS +comment "ttyd needs a toolchain w/ NPTL, dynamic library, gcc >= 4.9" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/ttyd/ttyd.hash b/package/ttyd/ttyd.hash index a2a933b63a5..85bd71ba2d8 100644 --- a/package/ttyd/ttyd.hash +++ b/package/ttyd/ttyd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 edc44cd5319c0c9d0858081496cae36fc5c54ee7722e0a547dde39537dfb63de ttyd-1.7.2.tar.gz +sha256 c9cf5eece52d27c5d728000f11315d36cb400c6948d1964a34a7eae74b454099 ttyd-1.7.3.tar.gz sha256 8b7e100f8311cb428c57609164d93099bada2599f948359045d1ac876a7a625b LICENSE diff --git a/package/ttyd/ttyd.mk b/package/ttyd/ttyd.mk index 085511b5fd7..b629e5a29c0 100644 --- a/package/ttyd/ttyd.mk +++ b/package/ttyd/ttyd.mk @@ -4,10 +4,11 @@ # ################################################################################ -TTYD_VERSION = 1.7.2 +TTYD_VERSION = 1.7.3 TTYD_SITE = $(call github,tsl0922,ttyd,$(TTYD_VERSION)) TTYD_LICENSE = MIT TTYD_LICENSE_FILES = LICENSE TTYD_DEPENDENCIES = json-c libuv libwebsockets openssl zlib +TTYD_CPE_ID_VALID = YES $(eval $(cmake-package)) diff --git a/package/tvheadend/0001-no-check_config.patch b/package/tvheadend/0001-no-check_config.patch index 9261e5fff6d..45c862d3007 100644 --- a/package/tvheadend/0001-no-check_config.patch +++ b/package/tvheadend/0001-no-check_config.patch @@ -12,7 +12,7 @@ Signed-off-by: "Yann E. MORIN" diff -durN tvheadend-c84bc2b72b462ef2dbed305f3fd0bb3fa5046fc3.orig/Makefile tvheadend-c84bc2b72b462ef2dbed305f3fd0bb3fa5046fc3/Makefile --- tvheadend-c84bc2b72b462ef2dbed305f3fd0bb3fa5046fc3.orig/Makefile 2014-03-09 14:47:43.780025330 +0100 +++ tvheadend-c84bc2b72b462ef2dbed305f3fd0bb3fa5046fc3/Makefile 2014-03-09 14:48:40.836539093 +0100 -@@ -708,7 +708,7 @@ +@@ -710,7 +710,7 @@ $(ROOTDIR)/configure $(CONFIGURE_ARGS) # Binary diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in index 99a24ec0110..fa06f345e9d 100644 --- a/package/tvheadend/Config.in +++ b/package/tvheadend/Config.in @@ -1,14 +1,14 @@ comment "tvheadend needs a toolchain w/ NPTL, headers >= 3.2, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || BR2_STATIC_LIBS - depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_SYNC_8 menuconfig BR2_PACKAGE_TVHEADEND bool "tvheadend" depends on !BR2_STATIC_LIBS # dladdr() depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_SYNC_8 select BR2_PACKAGE_DTV_SCAN_TABLES select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_OPENSSL @@ -63,7 +63,6 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING bool "transcoding support" depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS select BR2_PACKAGE_FFMPEG - select BR2_PACKAGE_FFMPEG_AVRESAMPLE select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support select BR2_PACKAGE_FFMPEG_SWSCALE # vp8 encoder needs c++ diff --git a/package/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index 98499eb9556..62c954234da 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ed32401d1ed85f9e2d28d122a046c3f2c01b6ca5c0da1a7d78fa8f400e858107 tvheadend-fbc94aee8bfdd25baba87ab62a39234da20e8dd2.tar.gz -sha256 54dc3cbc00bf126bcba43e2af7f3ad1dc00f335985da1409fa943c7b7256d942 LICENSE.md +sha256 99a2fd954d8e620029759f5a65dc09271c168cd047a6a152a0fe643de64823cf tvheadend-b40a62b31e809523d2fe2f7f3f331cc55dfdbd0f.tar.gz +sha256 16aaf037a2d00e6e7804de64619887fc7539f1ede99e3282c86dfbc61c2af63e LICENSE.md diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index 8ceb7493c83..816ec6e161f 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = fbc94aee8bfdd25baba87ab62a39234da20e8dd2 +TVHEADEND_VERSION = b40a62b31e809523d2fe2f7f3f331cc55dfdbd0f TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md diff --git a/package/tzdata/tzdata.hash b/package/tzdata/tzdata.hash index aadd320063d..d353bc4410f 100644 --- a/package/tzdata/tzdata.hash +++ b/package/tzdata/tzdata.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2022-October/000075.html -sha512 72d05d05be999075cdf57b896c0f4238b1b862d4d0ed92cc611736592a4ada14d47bd7f0fc8be39e7938a7f5940a903c8af41e87859482bcfab787d889d429f6 tzdata2022f.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2024-February/000081.html +sha512 1f09f1b2327cc9e1afc7e9045e83ee3377918dafe1bee2f282b6991828d03b3c70a4d3a17f9207dfb1361bb25bc214a8922a756e84fa114e9ba476226db57236 tzdata2024a.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk index 45bd7cf6e6d..e3672052771 100644 --- a/package/tzdata/tzdata.mk +++ b/package/tzdata/tzdata.mk @@ -4,9 +4,10 @@ # ################################################################################ -TZDATA_VERSION = 2022f +TZDATA_VERSION = 2024a TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = https://www.iana.org/time-zones/repository/releases +TZDATA_SELINUX_MODULES = tzdata TZDATA_STRIP_COMPONENTS = 0 TZDATA_DEPENDENCIES = host-tzdata HOST_TZDATA_DEPENDENCIES = host-zic diff --git a/package/uacme/0001-Fix-cross-compilation.patch b/package/uacme/0001-Fix-cross-compilation.patch new file mode 100644 index 00000000000..cc384f2c369 --- /dev/null +++ b/package/uacme/0001-Fix-cross-compilation.patch @@ -0,0 +1,29 @@ +From cdf63e24dc475a558400c68714e32d32904e4c57 Mon Sep 17 00:00:00 2001 +From: Nicola Di Lieto +Date: Tue, 20 Feb 2024 01:05:00 +0100 +Subject: [PATCH] Fix cross compilation + +Commit fe826f4b1931ae508047d8b2693b5b6ac2cb21fd broke cross compilation + +Closes https://github.com/ndilieto/uacme/issues/79 + +Upstream: https://github.com/ndilieto/uacme/commit/cdf63e24dc475a558400c68714e32d32904e4c57 +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 77d1230..3bec75b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -355,7 +355,8 @@ if test "x$OPT_UALPN" != "xno"; then + AC_DEFINE(HAVE_MAP_DEVZERO, 1, [if mmap("/dev/zero", MAP_SHARED) works]) + AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no]) +- AC_MSG_ERROR([ualpn requires MAP_ANON or mmap("/dev/zero", MAP_SHARED)])), ++ AC_MSG_ERROR([ualpn requires MAP_ANON or mmap("/dev/zero", MAP_SHARED)])) ++ ], [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([#include + int main() {return mmap(0, 4096, PROT_READ|PROT_WRITE, + MAP_ANON|MAP_SHARED, -1, 0) == MAP_FAILED;}])], diff --git a/package/uacme/uacme.hash b/package/uacme/uacme.hash index 6c71f6b94d6..9a274bf394c 100644 --- a/package/uacme/uacme.hash +++ b/package/uacme/uacme.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 0ec8e5bcb8ed2b532572ca4878d30b2a794f607b995348ebc176d566b64d73f9 uacme-1.7.3.tar.gz +sha256 596b2fba75fedc7a410dd71583c828642ecd486dfdcfde109dfebb82a374abbe uacme-1.7.5.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/uacme/uacme.mk b/package/uacme/uacme.mk index a70ec3a6359..0fcb5c5c343 100644 --- a/package/uacme/uacme.mk +++ b/package/uacme/uacme.mk @@ -4,7 +4,7 @@ # ################################################################################ -UACME_VERSION = 1.7.3 +UACME_VERSION = 1.7.5 # Released versions are on branch upstream/latest, tagged as # upstream/X.Y.Z Do not use vX.Y.Z tags from master, as they do not # include .tarball-version @@ -13,12 +13,18 @@ UACME_LICENSE = GPL-3.0+ UACME_LICENSE_FILES = COPYING UACME_DEPENDENCIES = libcurl -UACME_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' +# 0001-Fix-cross-compilation.patch touches configure.ac +UACME_AUTORECONF = YES + +UACME_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBS="$(UACME_LIBS)" ifeq ($(BR2_PACKAGE_GNUTLS),y) UACME_CONF_OPTS += --with-gnutls UACME_DEPENDENCIES += gnutls else ifeq ($(BR2_PACKAGE_MBEDTLS),y) +ifeq ($(BR2_PACKAGE_MBEDTLS_COMPRESSION),y) + UACME_LIBS += -lz +endif UACME_CONF_OPTS += --with-mbedtls UACME_DEPENDENCIES += mbedtls else ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/package/uboot-bootcount/Config.in b/package/uboot-bootcount/Config.in new file mode 100644 index 00000000000..ae936b424a1 --- /dev/null +++ b/package/uboot-bootcount/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_UBOOT_BOOTCOUNT + bool "uboot-bootcount" + help + U-Boot implements a boot count scheme that can be used to + detect multiple failed attempts to boot Linux. This tool + allows to read and write bootcount from userspace for some + platforms (TI AM335X or STM32MP1) or from I2C EEPROM. + + https://github.com/VoltServer/uboot-bootcount diff --git a/package/uboot-bootcount/uboot-bootcount.hash b/package/uboot-bootcount/uboot-bootcount.hash new file mode 100644 index 00000000000..7f46da22ebe --- /dev/null +++ b/package/uboot-bootcount/uboot-bootcount.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 b26b9135716afb2ea967edc2327d1d307cdd15a643bd105dc223d062e18f2dda uboot-bootcount-3.0.0.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/uboot-bootcount/uboot-bootcount.mk b/package/uboot-bootcount/uboot-bootcount.mk new file mode 100644 index 00000000000..48a45b91aae --- /dev/null +++ b/package/uboot-bootcount/uboot-bootcount.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# uboot-bootcount +# +################################################################################ + +UBOOT_BOOTCOUNT_VERSION = 3.0.0 +UBOOT_BOOTCOUNT_SITE = $(call github,VoltServer,uboot-bootcount,v$(UBOOT_BOOTCOUNT_VERSION)) +UBOOT_BOOTCOUNT_LICENSE = GPL-3.0 +UBOOT_BOOTCOUNT_LICENSE_FILES = COPYING + +# sources fetched from github, no configure script +UBOOT_BOOTCOUNT_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index d884a010fb8..e9c7edb2185 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -6,7 +6,7 @@ UBOOT_TOOLS_VERSION = 2021.07 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 -UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot +UBOOT_TOOLS_SITE = https://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPL-2.0+ UBOOT_TOOLS_LICENSE_FILES = Licenses/gpl-2.0.txt UBOOT_TOOLS_CPE_ID_VENDOR = denx @@ -130,6 +130,9 @@ endif ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT),y) HOST_UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT_SIGNATURE=y CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 HOST_UBOOT_TOOLS_DEPENDENCIES += host-openssl +define HOST_UBOOT_TOOLS_INSTALL_FIT_CHECK_SIGN + $(INSTALL) -m 0755 -D $(@D)/tools/fit_check_sign $(HOST_DIR)/bin/fit_check_sign +endef endif ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE),y) @@ -215,6 +218,7 @@ define HOST_UBOOT_TOOLS_INSTALL_CMDS $(INSTALL) -m 0755 -D $(@D)/tools/mkeficapsule $(HOST_DIR)/bin/mkeficapsule $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/bin/mkenvimage $(INSTALL) -m 0755 -D $(@D)/tools/dumpimage $(HOST_DIR)/bin/dumpimage + $(HOST_UBOOT_TOOLS_INSTALL_FIT_CHECK_SIGN) $(INSTALL) -m 0755 -D $(@D)/tools/env/fw_printenv $(HOST_DIR)/bin/fw_printenv ln -sf $(HOST_DIR)/bin/fw_printenv $(HOST_DIR)/bin/fw_setenv $(HOST_UBOOT_TOOLS_INSTALL_ENVIMAGE) diff --git a/package/ubus/ubus.hash b/package/ubus/ubus.hash index 2b7181e5d23..faa2e2626e2 100644 --- a/package/ubus/ubus.hash +++ b/package/ubus/ubus.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 275d184006f2f60c9b0172d8fd0ccc8952f182960c0d3d0945be640873c1bef6 ubus-a72457b61df045d3c499a6211362b751710590d7-br1.tar.gz +sha256 e3022aa3cf6c38a4d3c0d798d9a9c7069ada063a0a5fe6894b466b71b17ce9cc ubus-f787c97b34894a38b15599886cacbca01271684f-br1.tar.gz sha256 a3caa6c0e90c87b7c97c2ac3d0c0d416082ef777215faec2e9b24ea6e68f6988 ubusd_acl.h diff --git a/package/ubus/ubus.mk b/package/ubus/ubus.mk index fa856fb36ac..1f9891411ac 100644 --- a/package/ubus/ubus.mk +++ b/package/ubus/ubus.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBUS_VERSION = a72457b61df045d3c499a6211362b751710590d7 +UBUS_VERSION = f787c97b34894a38b15599886cacbca01271684f UBUS_SITE = https://git.openwrt.org/project/ubus.git UBUS_SITE_METHOD = git diff --git a/package/uccp420wlan/Config.in b/package/uccp420wlan/Config.in deleted file mode 100644 index ef6a9db8653..00000000000 --- a/package/uccp420wlan/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -config BR2_PACKAGE_UCCP420WLAN - bool "uccp420wlan" - depends on BR2_LINUX_KERNEL - help - SoftMAC (mac80211) based WiFi driver for Imagination's - Explorer RPU uccp420. This supports Dual Band WiFi with - 2.4GHz - 2x2 b/g/n 40MHz, 5GHz - 2x2 a/n/11ac 80MHz modes - - Used in creator ci40 board. - - This module needs a Linux kernel >= v4.2. - - https://github.com/CreatorDev/uccp420wlan - -comment "uccp420wlan needs a Linux kernel >= 4.2 to be built" - depends on !BR2_LINUX_KERNEL diff --git a/package/uccp420wlan/uccp420wlan.hash b/package/uccp420wlan/uccp420wlan.hash deleted file mode 100644 index 905fa4299d2..00000000000 --- a/package/uccp420wlan/uccp420wlan.hash +++ /dev/null @@ -1,4 +0,0 @@ -# locally computed hash -sha256 1d4de62fc842dbab739708cf0d9ebce270fcdf63c1c13ac676cbc253acdaa3bb uccp420wlan-6.9.1.tar.gz -sha256 af8067302947c01fd9eee72befa54c7e3ef8a48fecde7fd71277f2290b2bf0f7 COPYING -sha256 9ac431585fddfe624b08cf7464876a5e96061047ff26a9e926da3d89d21a2a73 firmware/LICENSE.imagination diff --git a/package/uccp420wlan/uccp420wlan.mk b/package/uccp420wlan/uccp420wlan.mk deleted file mode 100644 index 7256b92774d..00000000000 --- a/package/uccp420wlan/uccp420wlan.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# uccp420wlan -# -################################################################################ - -UCCP420WLAN_VERSION = 6.9.1 -UCCP420WLAN_SITE = $(call github,CreatorDev,uccp420wlan,v$(UCCP420WLAN_VERSION)) -UCCP420WLAN_LICENSE = GPL-2.0 (kernel module), proprietary (firmware blob) -UCCP420WLAN_LICENSE_FILES = COPYING firmware/LICENSE.imagination - -define UCCP420WLAN_INSTALL_TARGET_CMDS - mkdir -p $(TARGET_DIR)/lib/firmware/img/uccp420wlan - cp $(@D)/firmware/*.ldr $(TARGET_DIR)/lib/firmware/img/uccp420wlan -endef - -$(eval $(kernel-module)) -$(eval $(generic-package)) diff --git a/package/ucl/ucl.hash b/package/ucl/ucl.hash deleted file mode 100644 index 0252f692974..00000000000 --- a/package/ucl/ucl.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348 ucl-1.03.tar.gz -sha256 70439f6e2b47057a408d2390ed6663b9875f5a08066a06a060a357ef1df89a8c COPYING diff --git a/package/ucl/ucl.mk b/package/ucl/ucl.mk deleted file mode 100644 index aac068ef607..00000000000 --- a/package/ucl/ucl.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# ucl -# -################################################################################ - -UCL_VERSION = 1.03 -UCL_SITE = http://www.oberhumer.com/opensource/ucl/download -UCL_LICENSE = GPL-2.0+ -UCL_LICENSE_FILES = COPYING - -# Fix ACC conformance test failure for host gcc 6.x -HOST_UCL_CONF_ENV += CPPFLAGS="$(HOST_CPPFLAGS) -std=iso9899:1990" - -$(eval $(host-autotools-package)) diff --git a/package/uclibc-ng-test/uclibc-ng-test.hash b/package/uclibc-ng-test/uclibc-ng-test.hash index 4028bada4c0..c4db6ebf832 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.hash +++ b/package/uclibc-ng-test/uclibc-ng-test.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 655c9d9732cf24d8230defac7ef4d6bd92ad05c070ab02fe99c1fb47c7a40039 uclibc-ng-test-6790eafe897b3a8c19a2caf50a5ecccf06647adf-br1.tar.gz +sha256 f261229c43c026e39178aca48f4f3caacd0bbe373ccd06d27954e7a5fa768fe8 uclibc-ng-test-0f303c63fab7f4038515ced6f2659242cf60ac19-br1.tar.gz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/uclibc-ng-test/uclibc-ng-test.mk b/package/uclibc-ng-test/uclibc-ng-test.mk index a678bcf7f00..7d624012449 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/package/uclibc-ng-test/uclibc-ng-test.mk @@ -4,8 +4,9 @@ # ################################################################################ -UCLIBC_NG_TEST_VERSION = 6790eafe897b3a8c19a2caf50a5ecccf06647adf -UCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test +UCLIBC_NG_TEST_VERSION = 0f303c63fab7f4038515ced6f2659242cf60ac19 +UCLIBC_NG_TEST_SITE = https://git.uclibc-ng.org/git/uclibc-ng-test.git +UCLIBC_NG_TEST_SITE_METHOD = git UCLIBC_NG_TEST_LICENSE = LGPL-2.1+ UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index 0122d08789e..ae1f3178d96 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,4 +1,4 @@ -# From https://downloads.uclibc-ng.org/releases/1.0.42/uClibc-ng-1.0.42.tar.xz.sha256 -sha256 ec6dae44ce86558885e56bc3bef6bd4d082397114e6e1fc15795f71e804d7016 uClibc-ng-1.0.42.tar.xz +# From https://downloads.uclibc-ng.org/releases/1.0.44/uClibc-ng-1.0.45.tar.xz.sha256 +sha256 c2f4c6b6e19d7c9c226992a3746efd7ab932040463c15ee0bc8f4132b5777ac4 uClibc-ng-1.0.45.tar.xz # Locally calculated sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 0ddf7dfa6dc..88623840bf6 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.42 +UCLIBC_VERSION = 1.0.45 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz UCLIBC_SITE = https://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ @@ -22,6 +22,7 @@ UCLIBC_DEPENDENCIES = host-gcc-initial linux-headers # specifying UCLIBC_CONFIG_FILE on the command-line overrides the .config # setting. +# check-package disable Ifdef ifndef UCLIBC_CONFIG_FILE UCLIBC_CONFIG_FILE = $(call qstrip,$(BR2_UCLIBC_CONFIG)) endif @@ -216,7 +217,7 @@ endif # # Debug # -ifeq ($(BR2_ENABLE_DEBUG),y) +ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y) define UCLIBC_DEBUG_CONFIG $(call KCONFIG_ENABLE_OPT,DODEBUG) endef @@ -374,7 +375,7 @@ endif # Commands # -UCLIBC_EXTRA_CFLAGS = $(TARGET_ABI) +UCLIBC_EXTRA_CFLAGS = $(TARGET_ABI) $(TARGET_DEBUGGING) # uClibc-ng does not build with LTO, so explicitly disable it # when using a compiler that may have support for LTO @@ -396,6 +397,7 @@ define UCLIBC_KCONFIG_FIXUP_CMDS $(call KCONFIG_SET_OPT,RUNTIME_PREFIX,"/") $(call KCONFIG_SET_OPT,DEVEL_PREFIX,"/usr") $(call KCONFIG_SET_OPT,SHARED_LIB_LOADER_PREFIX,"/lib") + $(call KCONFIG_DISABLE_OPT,DOSTRIP) $(UCLIBC_MMU_CONFIG) $(UCLIBC_BINFMT_CONFIG) $(UCLIBC_AARCH64_PAGE_SIZE_CONFIG) diff --git a/package/udev/udev.mk b/package/udev/udev.mk index d70d13ebb3d..21c1a71f5a6 100644 --- a/package/udev/udev.mk +++ b/package/udev/udev.mk @@ -8,6 +8,7 @@ define UDEV_USERS - - input -1 * - - - Input device group - - kvm -1 * - - - kvm nodes + - - sgx -1 * - - - SGX device nodes endef $(eval $(virtual-package)) diff --git a/package/udisks/Config.in b/package/udisks/Config.in index 253d5cdc6b5..23eec1d79e2 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_UDISKS bool "udisks" - depends on BR2_ENABLE_LOCALE # parted + depends on BR2_ENABLE_LOCALE # libblockdev, parted depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> C++17 depends on BR2_TOOLCHAIN_HAS_THREADS # polkit @@ -16,6 +16,7 @@ config BR2_PACKAGE_UDISKS select BR2_PACKAGE_LIBBLOCKDEV_FS select BR2_PACKAGE_LIBBLOCKDEV_LOOP select BR2_PACKAGE_LIBBLOCKDEV_MDRAID + select BR2_PACKAGE_LIBBLOCKDEV_NVME select BR2_PACKAGE_LIBBLOCKDEV_PART select BR2_PACKAGE_LIBBLOCKDEV_SWAP select BR2_PACKAGE_LIBGUDEV diff --git a/package/udisks/udisks.hash b/package/udisks/udisks.hash index ade4982a0b2..66f4be5e1f5 100644 --- a/package/udisks/udisks.hash +++ b/package/udisks/udisks.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b6b60ebab0d5e09624120c5d158882e87d8c2473db60783b63deeba74cb18d1c udisks-2.9.4.tar.bz2 +sha256 b75734ccf602540dedb4068bec206adcb508a4c003725e117ae8f994d92d8ece udisks-2.10.1.tar.bz2 sha256 98046e932dc6c739001e79d7079a3bd958fc55475dcd917d27f884c0c93525cc COPYING diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk index 840f552b045..0d63532d8a6 100644 --- a/package/udisks/udisks.mk +++ b/package/udisks/udisks.mk @@ -4,7 +4,7 @@ # ################################################################################ -UDISKS_VERSION = 2.9.4 +UDISKS_VERSION = 2.10.1 UDISKS_SOURCE = udisks-$(UDISKS_VERSION).tar.bz2 UDISKS_SITE = https://github.com/storaged-project/udisks/releases/download/udisks-$(UDISKS_VERSION) UDISKS_LICENSE = GPL-2.0+ diff --git a/package/udpcast/udpcast.hash b/package/udpcast/udpcast.hash index 9ce91330fd8..aca098d982f 100644 --- a/package/udpcast/udpcast.hash +++ b/package/udpcast/udpcast.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 a3cebee7a87ecf1bca0645f125be78fbd7b37846a4da82fecef96b92cc64d050 udpcast-20211207.tar.gz +sha256 17b5cd8b1e54f7e2e53357ac02ee86e4198bf704096987a03a3b5c402a0ecea1 udpcast-20230924.tar.gz sha256 422befd3503b1f39a6027017f639874c1f274e37ec60ba3174894646b584ccbc COPYING diff --git a/package/udpcast/udpcast.mk b/package/udpcast/udpcast.mk index 4ea73e20c75..64a0bfbd371 100644 --- a/package/udpcast/udpcast.mk +++ b/package/udpcast/udpcast.mk @@ -4,7 +4,7 @@ # ################################################################################ -UDPCAST_VERSION = 20211207 +UDPCAST_VERSION = 20230924 UDPCAST_SITE = http://www.udpcast.linux.lu/download UDPCAST_DEPENDENCIES = host-m4 UDPCAST_LICENSE = BSD-2-Clause, GPL-2.0+ diff --git a/package/uftp/uftp.hash b/package/uftp/uftp.hash index e47cba93940..d4d3450d1a8 100644 --- a/package/uftp/uftp.hash +++ b/package/uftp/uftp.hash @@ -1,3 +1,3 @@ # Locally computed sha256 -sha256 f0435fbc8e9ffa125e05600cb6c7fc933d7d587f5bae41b257267be4f2ce0e61 uftp-5.0.1.tar.gz +sha256 cb8668c19b1f10bc63a16ffa893e205dc3ec86361037d477d8003260ebc40080 uftp-5.0.3.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.txt diff --git a/package/uftp/uftp.mk b/package/uftp/uftp.mk index ce865c20ec4..3dcd8646c01 100644 --- a/package/uftp/uftp.mk +++ b/package/uftp/uftp.mk @@ -4,8 +4,8 @@ # ################################################################################ -UFTP_VERSION = 5.0.1 -UFTP_SITE = http://sourceforge.net/projects/uftp-multicast/files/source-tar +UFTP_VERSION = 5.0.3 +UFTP_SITE = https://downloads.sourceforge.net/project/uftp-multicast/source-tar UFTP_LICENSE = GPL-3.0+ UFTP_LICENSE_FILES = LICENSE.txt diff --git a/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch b/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch index 6913012c3b4..2855be0d9ed 100644 --- a/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch +++ b/package/uftrace/0001-cmds-records-replace-ADDR_NO_RANDOMIZE-by-its-value.patch @@ -11,6 +11,7 @@ Using a #ifdef ... #endif test doesn't work as this value is defined through an enum in glibc. Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/namhyung/uftrace/pull/1389 --- cmds/record.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/uftrace/uftrace.hash b/package/uftrace/uftrace.hash index 195f0605c8b..c4aad39016b 100644 --- a/package/uftrace/uftrace.hash +++ b/package/uftrace/uftrace.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 2aad01f27d4f18717b681824c7a28ac3e1efd5e7bbed3ec888a3ea5af60e3700 uftrace-0.12.tar.gz +sha256 b81255bc288e79e96a5b158d4875fa6425ad51c85f4c4c8523c1defb9366ad12 uftrace-0.14.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/uftrace/uftrace.mk b/package/uftrace/uftrace.mk index d36c3bd8f53..c005a32b760 100644 --- a/package/uftrace/uftrace.mk +++ b/package/uftrace/uftrace.mk @@ -4,7 +4,7 @@ # ################################################################################ -UFTRACE_VERSION = 0.12 +UFTRACE_VERSION = 0.14 UFTRACE_SITE = $(call github,namhyung,uftrace,v$(UFTRACE_VERSION)) UFTRACE_LICENSE = GPL-2.0 UFTRACE_LICENSE_FILES = COPYING diff --git a/package/uhd/0002-Fix-build-with-GCC-13-add-missing-cstdint-include.patch b/package/uhd/0002-Fix-build-with-GCC-13-add-missing-cstdint-include.patch new file mode 100644 index 00000000000..acf720a15d6 --- /dev/null +++ b/package/uhd/0002-Fix-build-with-GCC-13-add-missing-cstdint-include.patch @@ -0,0 +1,117 @@ +From 3acf784e988608cbce34cd0be0a8703ba53ea515 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Tue, 3 Jan 2023 23:04:52 +0000 +Subject: [PATCH] Fix build with GCC 13 (add missing include) + +GCC 13 (as usual for new compiler releases) shuffles around some +internal includes and so is no longer transitively included. + +Explicitly include for uint8_t. + +``` +/var/tmp/portage/net-wireless/uhd-4.3.0.0/work/uhd-4.3.0.0/host/include/uhd/rfnoc/defaults.hpp:43:14: error: 'uint32_t' does not name a type + 43 | static const uint32_t DEFAULT_NOC_ID = 0xFFFFFFFF; + | ^~~~~~~~ +/var/tmp/portage/net-wireless/uhd-4.3.0.0/work/uhd-4.3.0.0/host/include/uhd/rfnoc/defaults.hpp:1:1: note: 'uint32_t' is defined in header ''; did you forget to '#include '? + +++ |+#include + 1 | // +``` + +Signed-off-by: Sam James + +Upstream: https://github.com/EttusResearch/uhd/commit/3acf784e988608cbce34cd0be0a8703ba53ea515 +Signed-off-by: Fabrice Fontaine +--- + host/include/uhd/cal/database.hpp | 1 + + host/include/uhd/rfnoc/defaults.hpp | 1 + + host/include/uhd/types/eeprom.hpp | 1 + + host/include/uhd/usrp/zbx_tune_map_item.hpp | 1 + + host/lib/usrp/dboard/magnesium/magnesium_constants.hpp | 1 + + host/lib/usrp/dboard/rhodium/rhodium_constants.hpp | 1 + + host/lib/utils/serial_number.cpp | 1 + + 7 files changed, 7 insertions(+) + +diff --git a/host/include/uhd/cal/database.hpp b/host/include/uhd/cal/database.hpp +index b6abbb6df7..9d47febedd 100644 +--- a/host/include/uhd/cal/database.hpp ++++ b/host/include/uhd/cal/database.hpp +@@ -8,6 +8,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/host/include/uhd/rfnoc/defaults.hpp b/host/include/uhd/rfnoc/defaults.hpp +index aa7778aacf..6c878a8d70 100644 +--- a/host/include/uhd/rfnoc/defaults.hpp ++++ b/host/include/uhd/rfnoc/defaults.hpp +@@ -8,6 +8,7 @@ + + #pragma once + ++#include + #include + + namespace uhd { namespace rfnoc { +diff --git a/host/include/uhd/types/eeprom.hpp b/host/include/uhd/types/eeprom.hpp +index 3a7605d3cb..420440aa64 100644 +--- a/host/include/uhd/types/eeprom.hpp ++++ b/host/include/uhd/types/eeprom.hpp +@@ -6,6 +6,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/host/include/uhd/usrp/zbx_tune_map_item.hpp b/host/include/uhd/usrp/zbx_tune_map_item.hpp +index e49f49f785..ce95623de2 100644 +--- a/host/include/uhd/usrp/zbx_tune_map_item.hpp ++++ b/host/include/uhd/usrp/zbx_tune_map_item.hpp +@@ -6,6 +6,7 @@ + + #pragma once + #include ++#include + #include + #include + #include +diff --git a/host/lib/usrp/dboard/magnesium/magnesium_constants.hpp b/host/lib/usrp/dboard/magnesium/magnesium_constants.hpp +index 99f2b910c6..99f5a4933f 100644 +--- a/host/lib/usrp/dboard/magnesium/magnesium_constants.hpp ++++ b/host/lib/usrp/dboard/magnesium/magnesium_constants.hpp +@@ -9,6 +9,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/host/lib/usrp/dboard/rhodium/rhodium_constants.hpp b/host/lib/usrp/dboard/rhodium/rhodium_constants.hpp +index 591d02d305..1577e02d9e 100644 +--- a/host/lib/usrp/dboard/rhodium/rhodium_constants.hpp ++++ b/host/lib/usrp/dboard/rhodium/rhodium_constants.hpp +@@ -9,6 +9,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/host/lib/utils/serial_number.cpp b/host/lib/utils/serial_number.cpp +index 61296a9139..c07730e24d 100644 +--- a/host/lib/utils/serial_number.cpp ++++ b/host/lib/utils/serial_number.cpp +@@ -5,6 +5,7 @@ + // + + #include ++#include + #include + #include + diff --git a/package/uhd/Config.in b/package/uhd/Config.in index 75554259d0e..2ccfe3ccb88 100644 --- a/package/uhd/Config.in +++ b/package/uhd/Config.in @@ -1,8 +1,9 @@ -comment "uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library" +comment "uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 5" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 comment "uhd needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 @@ -16,6 +17,7 @@ config BR2_PACKAGE_UHD depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() depends on BR2_USE_WCHAR # boost + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # boost-math select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_ATOMIC select BR2_PACKAGE_BOOST_CHRONO @@ -92,16 +94,20 @@ config BR2_PACKAGE_UHD_OCTOCLOCK help enable OctoClock support -comment "uhd python API needs python3 and a toolchain w/ glibc or musl" +comment "uhd python API needs python3 and a glibc or musl toolchain w/ gcc >= 9, host gcc >= 9" depends on !BR2_PACKAGE_PYTHON3 depends on !BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS - depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_TOOLCHAIN_USES_MUSL) # python-numpy + depends on !BR2_HOST_GCC_AT_LEAST_9 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \ + !(BR2_TOOLCHAIN_USES_GLIBC && BR2_TOOLCHAIN_USES_MUSL) # python-numpy config BR2_PACKAGE_UHD_PYTHON bool "python API support" depends on BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy + depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy select BR2_PACKAGE_PYTHON_NUMPY select BR2_PACKAGE_PYTHON_REQUESTS help diff --git a/package/ulogd/Config.in b/package/ulogd/Config.in index e0e199961ac..6631076ae70 100644 --- a/package/ulogd/Config.in +++ b/package/ulogd/Config.in @@ -11,7 +11,7 @@ config BR2_PACKAGE_ULOGD ulogd is a userspace logging daemon for netfilter/iptables related logging. - http://www.netfilter.org/projects/ulogd/ + https://www.netfilter.org/projects/ulogd/ comment "ulogd needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/package/ulogd/ulogd.hash b/package/ulogd/ulogd.hash index 35b518b9ced..8d729aeb8af 100644 --- a/package/ulogd/ulogd.hash +++ b/package/ulogd/ulogd.hash @@ -1,4 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/ulogd/ulogd-2.0.8.tar.bz2.sha256sum +# From https://www.netfilter.org/projects/ulogd/files/ulogd-2.0.8.tar.bz2.sha256sum sha256 4ead6c3970c3f57fa1e89fe2d7cc483ba6fe2bd1b08701521e0b3afd667df291 ulogd-2.0.8.tar.bz2 # Locally calculated diff --git a/package/ulogd/ulogd.mk b/package/ulogd/ulogd.mk index 65280a2ba61..8ef8ec57013 100644 --- a/package/ulogd/ulogd.mk +++ b/package/ulogd/ulogd.mk @@ -6,8 +6,7 @@ ULOGD_VERSION = 2.0.8 ULOGD_SOURCE = ulogd-$(ULOGD_VERSION).tar.bz2 -ULOGD_SITE = http://www.netfilter.org/projects/ulogd/files -ULOGD_CONF_OPTS = --disable-dbi +ULOGD_SITE = https://www.netfilter.org/projects/ulogd/files ULOGD_DEPENDENCIES = host-pkgconf \ libmnl libnetfilter_acct libnetfilter_conntrack libnetfilter_log \ libnfnetlink @@ -17,9 +16,17 @@ ULOGD_SELINUX_MODULES = ulogd # DB backends need threads ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -ifeq ($(BR2_PACKAGE_MYSQL),y) -ULOGD_CONF_OPTS += --enable-mysql -ULOGD_DEPENDENCIES += mysql +ifeq ($(BR2_PACKAGE_LIBDBI),y) +ULOGD_CONF_OPTS += --enable-dbi +ULOGD_DEPENDENCIES += libdbi +else +ULOGD_CONF_OPTS += --disable-dbi +endif +ifeq ($(BR2_PACKAGE_MARIADB),y) +ULOGD_CONF_OPTS += \ + --enable-mysql \ + --with-mysql-config=$(STAGING_DIR)/usr/bin/mysql_config +ULOGD_DEPENDENCIES += mariadb else ULOGD_CONF_OPTS += --disable-mysql endif @@ -36,7 +43,11 @@ else ULOGD_CONF_OPTS += --disable-sqlite3 endif else -ULOGD_CONF_OPTS += --disable-mysql --disable-pgsql --disable-sqlite3 +ULOGD_CONF_OPTS += \ + --disable-dbi \ + --disable-mysql \ + --disable-pgsql \ + --disable-sqlite3 endif ifeq ($(BR2_PACKAGE_LIBPCAP),y) diff --git a/package/unbound/unbound.hash b/package/unbound/unbound.hash index 147ac7b13a0..843026abc78 100644 --- a/package/unbound/unbound.hash +++ b/package/unbound/unbound.hash @@ -1,5 +1,5 @@ -# From https://nlnetlabs.nl/downloads/unbound/unbound-1.17.0.tar.gz.sha256 -sha256 dcbc95d7891d9f910c66e4edc9f1f2fde4dea2eec18e3af9f75aed44a02f1341 unbound-1.17.0.tar.gz +# From https://nlnetlabs.nl/downloads/unbound/unbound-1.19.1.tar.gz.sha256 +sha256 bc1d576f3dd846a0739adc41ffaa702404c6767d2b6082deb9f2f97cbb24a3a9 unbound-1.19.1.tar.gz # Locally calculated sha256 8eb9a16cbfb8703090bbfa3a2028fd46bb351509a2f90dc1001e51fbe6fd45db LICENSE diff --git a/package/unbound/unbound.mk b/package/unbound/unbound.mk index 7b62522727a..5128d0e420e 100644 --- a/package/unbound/unbound.mk +++ b/package/unbound/unbound.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNBOUND_VERSION = 1.17.0 +UNBOUND_VERSION = 1.19.1 UNBOUND_SITE = https://www.unbound.net/downloads UNBOUND_INSTALL_STAGING = YES UNBOUND_DEPENDENCIES = host-pkgconf expat libevent openssl diff --git a/package/unifdef/0001-Makefile-fix-error-on-install.patch b/package/unifdef/0001-Makefile-fix-error-on-install.patch new file mode 100644 index 00000000000..c959a41c5a1 --- /dev/null +++ b/package/unifdef/0001-Makefile-fix-error-on-install.patch @@ -0,0 +1,31 @@ +From b5e4229918c13bc0c11a523105cdb3a464337b37 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt +Date: Mon, 12 Dec 2022 12:59:59 +0100 +Subject: [PATCH] Makefile: fix error on install + +ln: failed to create symbolic link '/home/thomas/Documents/buildroot/output/host/share/man/man1/unifdefall.1': File exists + +Seen while trying to add this package to buildroot.org. + +(upstream: https://github.com/fanf2/unifdef/pull/16) +Signed-off-by: Thomas Devoogdt +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 36c7028..485927a 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,7 +28,7 @@ install: unifdef unifdefall.sh unifdef.1 + : manual + install -m 755 -d ${man1dest} + install -m 644 unifdef.1 ${man1dest}/ +- ln -s unifdef.1 ${man1dest}/unifdefall.1 ++ ln -f -s unifdef.1 ${man1dest}/unifdefall.1 + + clean: + rm -f unifdef version.h +-- +2.38.1 + diff --git a/package/unifdef/Config.in b/package/unifdef/Config.in new file mode 100644 index 00000000000..a1a44d9f5a3 --- /dev/null +++ b/package/unifdef/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_UNIFDEF + bool "unifdef" + help + The unifdef utility selectively processes conditional C + preprocessor #if and #ifdef directives. It removes from a file + both the #directives and the additional text that they + delimit, while otherwise leaving the file alone. + + http://dotat.at/prog/unifdef/ diff --git a/package/unifdef/unifdef.hash b/package/unifdef/unifdef.hash new file mode 100644 index 00000000000..c3a6b7465c7 --- /dev/null +++ b/package/unifdef/unifdef.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 fba564a24db7b97ebe9329713ac970627b902e5e9e8b14e19e024eb6e278d10b unifdef-2.12.tar.gz +sha256 37ed46a39446b15b08af418fda23b75c27a769d5aad236d817ee7522cc9caeee COPYING diff --git a/package/unifdef/unifdef.mk b/package/unifdef/unifdef.mk new file mode 100644 index 00000000000..6761e32b694 --- /dev/null +++ b/package/unifdef/unifdef.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# unifdef +# +################################################################################ + +UNIFDEF_VERSION = 2.12 +UNIFDEF_SITE = https://dotat.at/prog/unifdef +UNIFDEF_LICENSE = BSD-2-Clause, BSD-3-Clause +UNIFDEF_LICENSE_FILES = COPYING + +define UNIFDEF_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define UNIFDEF_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) prefix=$(TARGET_DIR) install +endef + +define HOST_UNIFDEF_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define HOST_UNIFDEF_INSTALL_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) prefix=$(HOST_DIR) install +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/package/unixodbc/0001-DriverManager-drivermanager.h-fix-build-without-thre.patch b/package/unixodbc/0001-DriverManager-drivermanager.h-fix-build-without-thre.patch deleted file mode 100644 index 9d54bbf5efd..00000000000 --- a/package/unixodbc/0001-DriverManager-drivermanager.h-fix-build-without-thre.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 119cab666646cd9210439d4696a4bfa18343a2c6 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 12 Jul 2022 00:29:28 +0200 -Subject: [PATCH] DriverManager/drivermanager.h: fix build without threads - -Fix the following build failure without threads raised since version -2.3.10 and commit 6df155fb213896b9507b421c58856e4376647ae1: - -/home/buildroot/autobuild/run/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabihf/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabihf/bin/ld: ../DriverManager/.libs/libodbc.so: undefined reference to `pool_timedwait' -/home/buildroot/autobuild/run/instance-2/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabihf/9.3.0/../../../../arm-buildroot-linux-uclibcgnueabihf/bin/ld: ../DriverManager/.libs/libodbc.so: undefined reference to `pool_signal' - -Fixes: - - http://autobuild.buildroot.org/results/131eafaddfc956c7d54c81ed72a31baf28ab1ab6 - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/lurcher/unixODBC/commit/119cab666646cd9210439d4696a4bfa18343a2c6] ---- - DriverManager/drivermanager.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/DriverManager/drivermanager.h b/DriverManager/drivermanager.h -index 9528fae..abd324b 100644 ---- a/DriverManager/drivermanager.h -+++ b/DriverManager/drivermanager.h -@@ -808,6 +808,8 @@ void pool_signal(); - - #define thread_protect(a,b) - #define thread_release(a,b) -+#define pool_timedwait(a) -+#define pool_signal() - - #endif - diff --git a/package/unixodbc/unixodbc.hash b/package/unixodbc/unixodbc.hash index 9e5401c2b38..6262dab5aec 100644 --- a/package/unixodbc/unixodbc.hash +++ b/package/unixodbc/unixodbc.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 d9e55c8e7118347e3c66c87338856dad1516b490fb7c756c1562a2c267c73b5c unixODBC-2.3.11.tar.gz +sha256 f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec unixODBC-2.3.12.tar.gz sha256 a6b9aa1e9bfade121164c06fd975e9b913a8e38bf33d25ff967dfa3ed07d12f8 COPYING sha256 1e594f4c7fd6d099eca4bd1340b39d871ce0298331d8ebd4b68935548ee45cf4 exe/COPYING diff --git a/package/unixodbc/unixodbc.mk b/package/unixodbc/unixodbc.mk index 650e3b3b366..28f1e5bc94f 100644 --- a/package/unixodbc/unixodbc.mk +++ b/package/unixodbc/unixodbc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNIXODBC_VERSION = 2.3.11 +UNIXODBC_VERSION = 2.3.12 UNIXODBC_SOURCE = unixODBC-$(UNIXODBC_VERSION).tar.gz UNIXODBC_SITE = http://www.unixodbc.org UNIXODBC_INSTALL_STAGING = YES diff --git a/package/unrar/Config.in b/package/unrar/Config.in index 29696c35aa9..8a3def699b5 100644 --- a/package/unrar/Config.in +++ b/package/unrar/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_UNRAR bool "unrar" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR help @@ -8,6 +9,7 @@ config BR2_PACKAGE_UNRAR http://www.rarlab.com/rar_add.htm -comment "unrar needs a toolchain w/ C++, wchar, threads" +comment "unrar needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/unrar/unrar.hash b/package/unrar/unrar.hash index 40e05a1a320..c9a5f521a43 100644 --- a/package/unrar/unrar.hash +++ b/package/unrar/unrar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 de75b6136958173fdfc530d38a0145b72342cf0d3842bf7bb120d336602d88ed unrarsrc-6.1.7.tar.gz +sha256 a008b5f949bca9bb4ffa1bebbfc8b3c14b89df10a10354809b845232d5f582e5 unrarsrc-6.2.12.tar.gz sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a license.txt diff --git a/package/unrar/unrar.mk b/package/unrar/unrar.mk index fee9fb753bb..0a61bcfcbad 100644 --- a/package/unrar/unrar.mk +++ b/package/unrar/unrar.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNRAR_VERSION = 6.1.7 +UNRAR_VERSION = 6.2.12 UNRAR_SOURCE = unrarsrc-$(UNRAR_VERSION).tar.gz UNRAR_SITE = https://www.rarlab.com/rar UNRAR_LICENSE = unrar @@ -13,7 +13,7 @@ UNRAR_CPE_ID_VENDOR = rarlab define UNRAR_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) CXX="$(TARGET_CXX)" STRIP="/bin/true" \ - CXXFLAGS="$(TARGET_CXXFLAGS) -pthread" \ + CXXFLAGS="$(TARGET_CXXFLAGS) -pthread -std=c++11" \ LDFLAGS="$(TARGET_LDFLAGS) -pthread" -C $(@D) endef diff --git a/package/unzip/unzip.mk b/package/unzip/unzip.mk index 44cc2013fbc..5effebee4a6 100644 --- a/package/unzip/unzip.mk +++ b/package/unzip/unzip.mk @@ -10,7 +10,7 @@ UNZIP_PATCH = unzip_$(UNZIP_VERSION)-27.debian.tar.xz UNZIP_SITE = https://snapshot.debian.org/archive/debian/20220916T090657Z/pool/main/u/unzip UNZIP_LICENSE = Info-ZIP UNZIP_LICENSE_FILES = LICENSE -UNZIP_CPE_ID_VENDOR = unzip_project +UNZIP_CPE_ID_VALID = YES # unzip_$(UNZIP_VERSION)-27.debian.tar.xz has patches to fix: UNZIP_IGNORE_CVES = \ @@ -28,4 +28,18 @@ UNZIP_IGNORE_CVES = \ CVE-2022-0529 \ CVE-2022-0530 +# unzip already defines _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE when +# necessary, redefining it on the command line causes some warnings. +UNZIP_TARGET_CFLAGS = \ + $(filter-out -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE,$(TARGET_CFLAGS)) + +# unzip already defines _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE when +# necessary, redefining it on the command line causes some warnings. +UNZIP_TARGET_CXXFLAGS = \ + $(filter-out -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE,$(TARGET_CXXFLAGS)) + +UNZIP_CONF_OPTS += \ + -DCMAKE_C_FLAGS="$(UNZIP_TARGET_CFLAGS) -DLARGE_FILE_SUPPORT" \ + -DCMAKE_CXX_FLAGS="$(UNZIP_TARGET_CXXFLAGS) -DLARGE_FILE_SUPPORT" + $(eval $(cmake-package)) diff --git a/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch b/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch deleted file mode 100644 index 6fae9cac0ee..00000000000 --- a/package/upx/0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 3781df9da23840e596d5e9e8493f22666802fe6c Mon Sep 17 00:00:00 2001 -From: John Reiser -Date: Fri, 11 Dec 2020 13:38:18 -0800 -Subject: [PATCH] Check DT_REL/DT_RELA, DT_RELSZ/DT_RELASZ - -https://github.com/upx/upx/issues/421 - modified: p_lx_elf.cpp - -[Retrieved from: -https://github.com/upx/upx/commit/3781df9da23840e596d5e9e8493f22666802fe6c] -Signed-off-by: Fabrice Fontaine ---- - src/p_lx_elf.cpp | 34 +++++++++++++++++++++++++++++----- - 1 file changed, 29 insertions(+), 5 deletions(-) - -diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp -index 182db192f..3a4101cf7 100644 ---- a/src/p_lx_elf.cpp -+++ b/src/p_lx_elf.cpp -@@ -2222,8 +2222,20 @@ bool PackLinuxElf32::canPack() - int z_rsz = dt_table[Elf32_Dyn::DT_RELSZ]; - if (z_rel && z_rsz) { - unsigned rel_off = get_te32(&dynseg[-1+ z_rel].d_val); -+ if ((unsigned)file_size <= rel_off) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf32_Dynamic[DT_REL] %#x\n", -+ rel_off); -+ throwCantPack(msg); -+ } - Elf32_Rel *rp = (Elf32_Rel *)&file_image[rel_off]; - unsigned relsz = get_te32(&dynseg[-1+ z_rsz].d_val); -+ if ((unsigned)file_size <= relsz) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf32_Dynamic[DT_RELSZ] %#x\n", -+ relsz); -+ throwCantPack(msg); -+ } - Elf32_Rel *last = (Elf32_Rel *)(relsz + (char *)rp); - for (; rp < last; ++rp) { - unsigned r_va = get_te32(&rp->r_offset); -@@ -2562,14 +2574,26 @@ PackLinuxElf64::canPack() - int z_rel = dt_table[Elf64_Dyn::DT_RELA]; - int z_rsz = dt_table[Elf64_Dyn::DT_RELASZ]; - if (z_rel && z_rsz) { -- unsigned rel_off = get_te64(&dynseg[-1+ z_rel].d_val); -+ upx_uint64_t rel_off = get_te64(&dynseg[-1+ z_rel].d_val); -+ if ((u64_t)file_size <= rel_off) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf64_Dynamic[DT_RELA] %#llx\n", -+ rel_off); -+ throwCantPack(msg); -+ } - Elf64_Rela *rp = (Elf64_Rela *)&file_image[rel_off]; -- unsigned relsz = get_te64(&dynseg[-1+ z_rsz].d_val); -+ upx_uint64_t relsz = get_te64(&dynseg[-1+ z_rsz].d_val); -+ if ((u64_t)file_size <= relsz) { -+ char msg[70]; snprintf(msg, sizeof(msg), -+ "bad Elf64_Dynamic[DT_RELASZ] %#llx\n", -+ relsz); -+ throwCantPack(msg); -+ } - Elf64_Rela *last = (Elf64_Rela *)(relsz + (char *)rp); - for (; rp < last; ++rp) { -- unsigned r_va = get_te64(&rp->r_offset); -+ upx_uint64_t r_va = get_te64(&rp->r_offset); - if (r_va == user_init_ava) { // found the Elf64_Rela -- unsigned r_info = get_te64(&rp->r_info); -+ upx_uint64_t r_info = get_te64(&rp->r_info); - unsigned r_type = ELF64_R_TYPE(r_info); - if (Elf64_Ehdr::EM_AARCH64 == e_machine - && R_AARCH64_RELATIVE == r_type) { -@@ -2581,7 +2605,7 @@ PackLinuxElf64::canPack() - } - else { - char msg[50]; snprintf(msg, sizeof(msg), -- "bad relocation %#x DT_INIT_ARRAY[0]", -+ "bad relocation %#llx DT_INIT_ARRAY[0]", - r_info); - throwCantPack(msg); - } diff --git a/package/upx/upx.hash b/package/upx/upx.hash index 7f3698ca0dc..545eb29af97 100644 --- a/package/upx/upx.hash +++ b/package/upx/upx.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 47774df5c958f2868ef550fb258b97c73272cb1f44fe776b798e393465993714 upx-3.96-src.tar.xz +sha256 cc562ea7dbd8cec4505edea68736e04030ec5891c1e2a300e3c0d0eac6364479 upx-4.2.1-src.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/upx/upx.mk b/package/upx/upx.mk index e693a70db1d..65f4bac517e 100644 --- a/package/upx/upx.mk +++ b/package/upx/upx.mk @@ -4,28 +4,12 @@ # ################################################################################ -UPX_VERSION = 3.96 +UPX_VERSION = 4.2.1 UPX_SITE = https://github.com/upx/upx/releases/download/v$(UPX_VERSION) UPX_SOURCE = upx-$(UPX_VERSION)-src.tar.xz UPX_LICENSE = GPL-2.0+ UPX_LICENSE_FILES = COPYING -UPX_CPE_ID_VENDOR = upx_project +UPX_CPE_ID_VALID = YES +UPX_SUPPORTS_IN_SOURCE_BUILD = NO -# 0001-Check-DT_REL-DT_RELA-DT_RELSZ-DT_RELASZ.patch -UPX_IGNORE_CVES += CVE-2021-20285 - -HOST_UPX_DEPENDENCIES = host-ucl host-zlib - -# We need to specify all, otherwise the default target only prints a message -# stating to "please choose a target for 'make'"... :-( -define HOST_UPX_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ - UPX_UCLDIR=$(HOST_DIR) CXXFLAGS_WERROR= -C $(@D) all -endef - -# UPX has no install procedure, so install it manually. -define HOST_UPX_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(@D)/src/upx.out $(HOST_DIR)/bin/upx -endef - -$(eval $(host-generic-package)) +$(eval $(host-cmake-package)) diff --git a/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch b/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch new file mode 100644 index 00000000000..e2199228b9a --- /dev/null +++ b/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch @@ -0,0 +1,57 @@ +From 63ab887be90c7fe37d537ea75e60eb95d6d87d3f Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 5 Mar 2023 22:08:13 +0100 +Subject: [PATCH] uqmi: avoid gcc-12.x false error reporting (storing the + address of local variable 'complete' in '*req.complete') + +Avoid gcc-12.x false error reporting (req->complete is later reset to NULL +in case of use of local complete): + + dev.c:217:23: error: storing the address of local variable 'complete' in '*req.complete' [-Werror=dangling-pointer=] + 217 | req->complete = &complete; + | ~~~~~~~~~~~~~~^~~~~~~~~~~ + +Signed-off-by: Peter Seiderer +[Upstream: http://lists.openwrt.org/pipermail/openwrt-devel/2023-March/040667.html] +Signed-off-by: Peter Seiderer +--- +Changes v1 -> v2: + - apply pragma ignored only for gcc >= 12.x (as the warning + '-Wdangling-pointer' was introduced with gcc-12.x) +--- + dev.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/dev.c b/dev.c +index bd10207..dbd42d4 100644 +--- a/dev.c ++++ b/dev.c +@@ -203,6 +203,15 @@ void qmi_request_cancel(struct qmi_dev *qmi, struct qmi_request *req) + __qmi_request_complete(qmi, req, NULL); + } + ++/* avoid gcc-12.x false error reporting: ++ * dev.c:217:23: error: storing the address of local variable ‘complete’ in ‘*req.complete’ [-Werror=dangling-pointer=] ++ * 217 | req->complete = &complete; ++ * | ~~~~~~~~~~~~~~^~~~~~~~~~~ ++ */ ++#if __GNUC__ >= 12 ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wdangling-pointer" ++#endif + int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req) + { + bool complete = false; +@@ -231,6 +240,9 @@ int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req) + + return req->ret; + } ++#if __GNUC__ >= 12 ++#pragma GCC diagnostic pop ++#endif + + struct qmi_connect_request { + struct qmi_request req; +-- +2.39.2 + diff --git a/package/urandom-scripts/Config.in b/package/urandom-scripts/Config.in index 987e442e222..6b4a609f953 100644 --- a/package/urandom-scripts/Config.in +++ b/package/urandom-scripts/Config.in @@ -1,10 +1,7 @@ config BR2_PACKAGE_URANDOM_SCRIPTS bool "urandom-initscripts" default y if BR2_PACKAGE_INITSCRIPTS + depends on BR2_PACKAGE_BUSYBOX depends on !BR2_PACKAGE_SYSTEMD help Initscript to preserve the random seed between reboots. - - WARNING: this is a poor fit to try and get high-quality - entropy at boot. There are better ways, like haveged, or - rng-tools. diff --git a/package/urandom-scripts/S01seedrng b/package/urandom-scripts/S01seedrng new file mode 100644 index 00000000000..0fea0bea833 --- /dev/null +++ b/package/urandom-scripts/S01seedrng @@ -0,0 +1,40 @@ +#! /bin/sh +# +# Preserve the random seed between reboots. See urandom(4). +# +# This script can be called multiple times during operation (e.g. with +# "reload" argument) to refresh the seed. + +# The following arguments can be added to SEEDRNG_ARGS in +# /etc/default/seedrng: +# --seed-dir=/path/to/seed/directory +# Path to the directory where the seed and the lock files are stored. +# for optimal operation, this should be a persistent, writeable +# location. Default is /var/lib/seedrng +# +# --skip-credit +# Set this to true only if you do not want seed files to actually +# credit the RNG, for example if you plan to replicate this file +# system image and do not have the wherewithal to first delete the +# contents of /var/lib/seedrng. +# +# Example: +# SEEDRNG_ARGS="--seed-dir=/data/seedrng --skip-credit" +# + +DAEMON="seedrng" +SEEDRNG_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +case "$1" in + start|stop|restart|reload) + # Never fail, as this isn't worth making a fuss + # over if it doesn't go as planned. + # shellcheck disable=SC2086 # we need the word splitting + seedrng $SEEDRNG_ARGS || true;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/urandom-scripts/S20urandom b/package/urandom-scripts/S20urandom deleted file mode 100644 index 6c6aea9eee1..00000000000 --- a/package/urandom-scripts/S20urandom +++ /dev/null @@ -1,70 +0,0 @@ -#! /bin/sh -# -# Preserve the random seed between reboots. See urandom(4). -# - -# Quietly do nothing if /dev/urandom does not exist -[ -c /dev/urandom ] || exit 0 - -URANDOM_SEED="/var/lib/random-seed" - -# shellcheck source=/dev/null -[ -r "/etc/default/urandom" ] && . "/etc/default/urandom" - -if pool_bits=$(cat /proc/sys/kernel/random/poolsize 2> /dev/null); then - pool_size=$((pool_bits/8)) -else - pool_size=512 -fi - -init_rng() { - [ -f "$URANDOM_SEED" ] || return 0 - printf 'Initializing random number generator: ' - dd if="$URANDOM_SEED" bs="$pool_size" of=/dev/urandom count=1 2> /dev/null - status=$? - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - return "$status" -} - -save_random_seed() { - printf 'Saving random seed: ' - status=1 - if touch "$URANDOM_SEED.new" 2> /dev/null; then - old_umask=$(umask) - umask 077 - dd if=/dev/urandom of="$URANDOM_SEED.tmp" bs="$pool_size" count=1 2> /dev/null - cat "$URANDOM_SEED" "$URANDOM_SEED.tmp" 2>/dev/null \ - | sha256sum \ - | cut -d ' ' -f 1 > "$URANDOM_SEED.new" && \ - mv "$URANDOM_SEED.new" "$URANDOM_SEED" && status=0 - rm -f "$URANDOM_SEED.tmp" - umask "$old_umask" - if [ "$status" -eq 0 ]; then - echo "OK" - else - echo "FAIL" - fi - - else - echo "SKIP (read-only file system detected)" - fi - return "$status" -} - -case "$1" in - start|restart|reload) - # Carry a random seed from start-up to start-up - # Load and then save the whole entropy pool - init_rng && save_random_seed;; - stop) - # Carry a random seed from shut-down to start-up - # Save the whole entropy pool - save_random_seed;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac diff --git a/package/urandom-scripts/urandom-scripts.mk b/package/urandom-scripts/urandom-scripts.mk index 2c09728c465..89abdfff727 100644 --- a/package/urandom-scripts/urandom-scripts.mk +++ b/package/urandom-scripts/urandom-scripts.mk @@ -5,8 +5,8 @@ ################################################################################ define URANDOM_SCRIPTS_INSTALL_INIT_SYSV - $(INSTALL) -D -m 0755 $(URANDOM_SCRIPTS_PKGDIR)/S20urandom \ - $(TARGET_DIR)/etc/init.d/S20urandom + $(INSTALL) -D -m 0755 $(URANDOM_SCRIPTS_PKGDIR)/S01seedrng \ + $(TARGET_DIR)/etc/init.d/S01seedrng endef $(eval $(generic-package)) diff --git a/package/usbguard/0001-Fix-build-for-GCC-13-make-GitHub-Actions-cover-build-with-GCC-13.patch b/package/usbguard/0001-Fix-build-for-GCC-13-make-GitHub-Actions-cover-build-with-GCC-13.patch new file mode 100644 index 00000000000..415b8e1dd1f --- /dev/null +++ b/package/usbguard/0001-Fix-build-for-GCC-13-make-GitHub-Actions-cover-build-with-GCC-13.patch @@ -0,0 +1,114 @@ +From 22b1e0897af977cc96af926c730ff948bd120bb5 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping +Date: Fri, 31 Mar 2023 09:39:49 +0200 +Subject: [PATCH] Fix build for GCC 13 + make GitHub Actions cover build with + GCC 13 (#586) + +* include missing + +gcc 13 moved some includes around and as a result is no +longer transitively included [1]. Explicitly include it for +uint8_t. + +[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes + +Signed-off-by: Khem Raj + +* docker.yml: Cover openSUSE Tumbleweed with GCC 13+ + +Based on scripts/docker/build_on_centos_8_2.Dockerfile . + +--------- + +Signed-off-by: Khem Raj +Co-authored-by: Khem Raj +Upstream: https://github.com/USBGuard/usbguard/commit/22b1e0897af977cc96af926c730ff948bd120bb5 +Signed-off-by: Fabrice Fontaine +--- + .github/workflows/docker.yml | 1 + + .../build_on_opensuse_tumbleweed.Dockerfile | 50 +++++++++++++++++++ + src/Library/Base64.cpp | 1 - + src/Library/Base64.hpp | 1 + + 4 files changed, 52 insertions(+), 1 deletion(-) + create mode 100644 scripts/docker/build_on_opensuse_tumbleweed.Dockerfile + +diff --git a/scripts/docker/build_on_opensuse_tumbleweed.Dockerfile b/scripts/docker/build_on_opensuse_tumbleweed.Dockerfile +new file mode 100644 +index 00000000..d0993d8c +--- /dev/null ++++ b/scripts/docker/build_on_opensuse_tumbleweed.Dockerfile +@@ -0,0 +1,50 @@ ++## ++## Copyright (c) 2023 Sebastian Pipping ++## ++## This program is free software; you can redistribute it and/or modify ++## it under the terms of the GNU General Public License as published by ++## the Free Software Foundation; either version 2 of the License, or ++## (at your option) any later version. ++## ++## This program is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++## ++## You should have received a copy of the GNU General Public License ++## along with this program. If not, see . ++ ++FROM opensuse/tumbleweed:latest ++RUN zypper --non-interactive install dnf rpm-repos-openSUSE-Tumbleweed \ ++ && \ ++ dnf install -y \ ++ asciidoc \ ++ autoconf \ ++ automake \ ++ dbus-1-glib-devel \ ++ diffutils \ ++ file \ ++ gcc-c++ \ ++ git \ ++ libgcrypt-devel \ ++ libqb-devel \ ++ libsodium-devel \ ++ libtool \ ++ libxslt \ ++ make \ ++ polkit-devel \ ++ protobuf-devel ++ADD usbguard.tar usbguard/ ++ADD catch.tar usbguard/src/ThirdParty/Catch/ ++ADD pegtl.tar usbguard/src/ThirdParty/PEGTL/ ++WORKDIR usbguard ++RUN git init &>/dev/null && ./autogen.sh ++RUN ./configure --with-bundled-catch --with-bundled-pegtl || ! cat config.log ++RUN make dist ++RUN tar xf usbguard-*.tar.gz ++RUN mv -v usbguard-*.*.*/ usbguard-release/ ++RUN mkdir usbguard-release/build/ ++WORKDIR usbguard-release/build/ ++RUN ../configure --with-bundled-catch --with-bundled-pegtl || ! cat config.log ++RUN bash -c 'set -o pipefail; make V=1 "-j$(nproc)" |& tee build.log' ++RUN ! grep -F 'include file not found' build.log +diff --git a/src/Library/Base64.cpp b/src/Library/Base64.cpp +index ddb28dce..0246a134 100644 +--- a/src/Library/Base64.cpp ++++ b/src/Library/Base64.cpp +@@ -22,7 +22,6 @@ + + #include "Base64.hpp" + #include +-#include + + namespace usbguard + { +diff --git a/src/Library/Base64.hpp b/src/Library/Base64.hpp +index 0947f214..e0c745cb 100644 +--- a/src/Library/Base64.hpp ++++ b/src/Library/Base64.hpp +@@ -23,6 +23,7 @@ + #endif + + #include ++#include + #include + + namespace usbguard diff --git a/package/usbguard/usbguard.mk b/package/usbguard/usbguard.mk index 60b69df3be1..4a5028f5091 100644 --- a/package/usbguard/usbguard.mk +++ b/package/usbguard/usbguard.mk @@ -8,7 +8,7 @@ USBGUARD_VERSION = 1.1.2 USBGUARD_SITE = https://github.com/USBGuard/usbguard/releases/download/usbguard-$(USBGUARD_VERSION) USBGUARD_LICENSE = GPL-2.0+ USBGUARD_LICENSE_FILES = LICENSE -USBGUARD_CPE_ID_VENDOR = usbguard_project +USBGUARD_CPE_ID_VALID = YES USBGUARD_SELINUX_MODULES = usbguard USBGUARD_CONF_ENV = ac_cv_prog_A2X="" USBGUARD_CONF_OPTS = \ diff --git a/package/usbutils/usbutils.hash b/package/usbutils/usbutils.hash index caedf5fd807..2c863543f67 100644 --- a/package/usbutils/usbutils.hash +++ b/package/usbutils/usbutils.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/usb/usbutils/sha256sums.asc -sha256 c3b451bb1f4ff9f6356cac5a6956a9ac8e85d81651af56a29e689f94fa6fda6e usbutils-015.tar.xz +sha256 a6a25ffdcf9103e38d7a44732aca17073f4e602b92e4ae55625231a82702e05b usbutils-017.tar.xz # Locally calculated sha256 91412672119c72352b76c1d48fa1a8b7cdc7f70be7929e468c8805db468e23e4 LICENSES/GPL-2.0-only.txt sha256 4631da83311d27f99078d0d102e31bd34a4fcbcc2dae2aa40f1454a5b48125dc LICENSES/GPL-3.0-only.txt diff --git a/package/usbutils/usbutils.mk b/package/usbutils/usbutils.mk index 84a6a625cfa..c2073df3b3d 100644 --- a/package/usbutils/usbutils.mk +++ b/package/usbutils/usbutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -USBUTILS_VERSION = 015 +USBUTILS_VERSION = 017 USBUTILS_SOURCE = usbutils-$(USBUTILS_VERSION).tar.xz USBUTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/usb/usbutils USBUTILS_DEPENDENCIES = host-pkgconf libusb udev diff --git a/package/utf8proc/utf8proc.hash b/package/utf8proc/utf8proc.hash index 658ffa1f7c2..7fee89968dc 100644 --- a/package/utf8proc/utf8proc.hash +++ b/package/utf8proc/utf8proc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a0a60a79fe6f6d54e7d411facbfcc867a6e198608f2cd992490e46f04b1bcecc utf8proc-2.8.0.tar.gz +sha256 bd215d04313b5bc42c1abedbcb0a6574667e31acee1085543a232204e36384c4 utf8proc-2.9.0.tar.gz sha256 3b510150d34f248a221bb88e1d811238d6c6c18b51231822c42974c39bb07256 LICENSE.md diff --git a/package/utf8proc/utf8proc.mk b/package/utf8proc/utf8proc.mk index b08c6e71098..42ec48e0a8e 100644 --- a/package/utf8proc/utf8proc.mk +++ b/package/utf8proc/utf8proc.mk @@ -4,8 +4,8 @@ # ################################################################################ -UTF8PROC_VERSION = 2.8.0 -UTF8PROC_SITE = $(call github,JuliaStrings,utf8proc,v$(UTF8PROC_VERSION)) +UTF8PROC_VERSION = 2.9.0 +UTF8PROC_SITE = https://github.com/JuliaStrings/utf8proc/releases/download/v$(UTF8PROC_VERSION) UTF8PROC_LICENSE = MIT UTF8PROC_LICENSE_FILES = LICENSE.md UTF8PROC_INSTALL_STAGING = YES diff --git a/package/util-linux/0001-lsns-improve-dependence-on-NS_GET_-ioctls.patch b/package/util-linux/0001-lsns-improve-dependence-on-NS_GET_-ioctls.patch deleted file mode 100644 index 8e79b8d4d39..00000000000 --- a/package/util-linux/0001-lsns-improve-dependence-on-NS_GET_-ioctls.patch +++ /dev/null @@ -1,34 +0,0 @@ -From fc686823b008bc95e2ebe904c706a117a03e2754 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 6 Apr 2022 10:38:43 +0200 -Subject: lsns: improve dependence on NS_GET_ ioctls - -Fixes: http://autobuild.buildroot.org/results/572ecf8e37ac733a4e4265f4f78f35230337278e -Reported-by: Fabrice Fontaine -Signed-off-by: Karel Zak - -[Retrieved from: -https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=fc686823b008bc95e2ebe904c706a117a03e2754] -Signed-off-by: Fabrice Fontaine ---- - sys-utils/lsns.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c -index 1a7e9f333..75625b3a6 100644 ---- a/sys-utils/lsns.c -+++ b/sys-utils/lsns.c -@@ -40,7 +40,9 @@ - - #ifdef HAVE_LINUX_NSFS_H - # include --# define USE_NS_GET_API 1 -+# if defined(NS_GET_NSTYPE) && defined(NS_GET_OWNER_UID) -+# define USE_NS_GET_API 1 -+# endif - #endif - - #include "pathnames.h" --- -cgit - diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index 917f1bc2b41..73fa11380e8 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -88,13 +88,15 @@ config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM help Change login shell, real user name and information -comment "chfn/chsh needs a toolchain w/ wchar, locale, dynamic library" +comment "chfn/chsh needs a toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS + || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_UTIL_LINUX_CHMEM bool "chmem" @@ -161,6 +163,14 @@ config BR2_PACKAGE_UTIL_LINUX_IPCS help Show information on IPC facilities +config BR2_PACKAGE_UTIL_LINUX_IRQTOP + bool "irqtop" + depends on BR2_USE_MMU # libsmartcols + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS + help + Show information on IRQs + config BR2_PACKAGE_UTIL_LINUX_KILL bool "kill" help @@ -188,13 +198,16 @@ config BR2_PACKAGE_UTIL_LINUX_LOGIN depends on !BR2_STATIC_LIBS # linux-pam depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam depends on BR2_USE_MMU # fork(), linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM help Begin a session on the system -comment "login needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" +comment "login needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + || BR2_STATIC_LIBS \ + || BR2_TOOLCHAIN_USES_MUSL \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_UTIL_LINUX_LOSETUP bool "losetup" @@ -335,15 +348,18 @@ config BR2_PACKAGE_UTIL_LINUX_RUNUSER depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam depends on BR2_USE_MMU # fork(), linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM help Run a command with substitute user and group ID (does not need to ask for a password, because it may be executed by the root user only) -comment "runuser needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" +comment "runuser needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + || BR2_STATIC_LIBS \ + || BR2_TOOLCHAIN_USES_MUSL \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS bool "scheduling utilities" @@ -372,13 +388,16 @@ config BR2_PACKAGE_UTIL_LINUX_SU depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam depends on BR2_USE_MMU # fork(), linux-pam + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # linux-pam select BR2_PACKAGE_LINUX_PAM help Run a command with substitute user and group ID -comment "su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" +comment "su needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library, gcc >= 4.9" depends on !(BR2_ENABLE_LOCALE && BR2_USE_WCHAR) \ - || BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + || BR2_STATIC_LIBS \ + || BR2_TOOLCHAIN_USES_MUSL \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_PACKAGE_UTIL_LINUX_SULOGIN bool "sulogin" @@ -428,6 +447,17 @@ config BR2_PACKAGE_UTIL_LINUX_VIPW help Edit the password, group, shadow-password or shadow-group file +config BR2_PACKAGE_UTIL_LINUX_WAITPID + bool "waitpid" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3 # pidfd_open + help + Utility to wait for arbitrary processes + +comment "waitpid needs a toolchain w/ headers >= 5.3" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3 + config BR2_PACKAGE_UTIL_LINUX_WALL bool "wall" depends on BR2_USE_MMU # fork() diff --git a/package/util-linux/util-linux-libs/util-linux-libs.mk b/package/util-linux/util-linux-libs/util-linux-libs.mk index 20566345c63..e1fe1ec1912 100644 --- a/package/util-linux/util-linux-libs/util-linux-libs.mk +++ b/package/util-linux/util-linux-libs/util-linux-libs.mk @@ -52,6 +52,9 @@ UTIL_LINUX_LIBS_CONF_OPTS += --disable-widechar # No libs use ncurses UTIL_LINUX_LIBS_CONF_OPTS += --without-ncursesw --without-ncurses +# workaround for static_assert on uclibc-ng < 1.0.42 +UTIL_LINUX_LIBS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -Dstatic_assert=_Static_assert" + # Unfortunately, the util-linux does LIBS="" at the end of its # configure script. So we have to pass the proper LIBS value when # calling the configure script to make configure tests pass properly, diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash index 6f1bb74ecbb..d47f47fdbae 100644 --- a/package/util-linux/util-linux.hash +++ b/package/util-linux/util-linux.hash @@ -1,7 +1,7 @@ -# From https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.38/sha256sums.asc -sha256 6d111cbe4d55b336db2f1fbeffbc65b89908704c01136371d32aa9bec373eb64 util-linux-2.38.tar.xz +# From https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/sha256sums.asc +sha256 7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f util-linux-2.39.3.tar.xz # License files, locally calculated -sha256 869660b5269f4f40a8a679da7f403ea3a6e71d46087aab5e14871b09bcb55955 README.licensing +sha256 13f0ea46d12d798c095a6ad39d7ddc988e2e4d274c6494115f6b463f7bc4f702 README.licensing sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.BSD-4-Clause-UC sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPL-2.0-or-later diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index b53b94ec315..a9e5b0bf685 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -7,15 +7,21 @@ # When making changes to this file, please check if # util-linux-libs/util-linux-libs.mk needs to be updated accordingly as well. -UTIL_LINUX_VERSION_MAJOR = 2.38 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) +UTIL_LINUX_VERSION_MAJOR = 2.39 +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).3 UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) # README.licensing claims that some files are GPL-2.0 only, but this is not # true. Some files are GPL-3.0+ but only in tests and optionally in hwclock # (but we disable that option). rfkill uses an ISC-style license. -UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid), ISC (rfkill) +UTIL_LINUX_LICENSE = \ + GPL-2.0+, \ + BSD-4-Clause, \ + LGPL-2.1+ (libblkid, libfdisk, libmount), \ + BSD-3-Clause (libuuid), \ + BSD-2-Clause (xxhash), \ + ISC (rfkill) UTIL_LINUX_LICENSE_FILES = README.licensing \ Documentation/licenses/COPYING.BSD-3-Clause \ Documentation/licenses/COPYING.BSD-4-Clause-UC \ @@ -24,6 +30,10 @@ UTIL_LINUX_LICENSE_FILES = README.licensing \ Documentation/licenses/COPYING.LGPL-2.1-or-later UTIL_LINUX_CPE_ID_VENDOR = kernel + +# 0001-libmount-ifdef-statx-call.patch +UTIL_LINUX_AUTORECONF = YES + UTIL_LINUX_INSTALL_STAGING = YES UTIL_LINUX_DEPENDENCIES = \ host-pkgconf \ @@ -86,6 +96,9 @@ endif UTIL_LINUX_CONF_OPTS += --without-ncursesw --without-ncurses endif +# workaround for static_assert on uclibc-ng < 1.0.42 +UTIL_LINUX_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -Dstatic_assert=_Static_assert" + # Unfortunately, the util-linux does LIBS="" at the end of its # configure script. So we have to pass the proper LIBS value when # calling the configure script to make configure tests pass properly, @@ -136,6 +149,7 @@ UTIL_LINUX_CONF_OPTS += \ $(if $(BR2_PACKAGE_UTIL_LINUX_IPCMK),--enable-ipcmk,--disable-ipcmk) \ $(if $(BR2_PACKAGE_UTIL_LINUX_IPCRM),--enable-ipcrm,--disable-ipcrm) \ $(if $(BR2_PACKAGE_UTIL_LINUX_IPCS),--enable-ipcs,--disable-ipcs) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_IRQTOP),--enable-irqtop,--disable-irqtop) \ $(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \ $(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \ @@ -177,6 +191,7 @@ UTIL_LINUX_CONF_OPTS += \ $(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \ $(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \ $(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \ + $(if $(BR2_PACKAGE_UTIL_LINUX_WAITPID),--enable-waitpid,--disable-waitpid) \ $(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \ $(if $(BR2_PACKAGE_UTIL_LINUX_WDCTL),--enable-wdctl,--disable-wdctl) \ $(if $(BR2_PACKAGE_UTIL_LINUX_WIPEFS),--enable-wipefs,--disable-wipefs) \ diff --git a/package/uuu/uuu.hash b/package/uuu/uuu.hash index cc1cd832667..0f746a76338 100644 --- a/package/uuu/uuu.hash +++ b/package/uuu/uuu.hash @@ -1,4 +1,3 @@ # locally computed -sha256 932c0a4acde0f52b907f5693c6d133c83142c4ca6e9df05a38b3ac1e50628883 uuu_source-1.5.11.tar.gz +sha256 fac38e93714181fbfb0ff52b9cd29395c7eb342def5c3857da87e5429beb3927 uuu_source-uuu_1.5.177.tar.gz sha256 cc8d47f7b9260f6669ecd41c24554c552f17581d81ee8fc602c6d23edb8bf495 LICENSE -sha256 584bfbb18b4c08b872d48b80419dd453307212a144134fb516bd6ddc0700c2e8 README.md diff --git a/package/uuu/uuu.mk b/package/uuu/uuu.mk index 647015e2dd8..b6611dc3d40 100644 --- a/package/uuu/uuu.mk +++ b/package/uuu/uuu.mk @@ -4,11 +4,17 @@ # ################################################################################ -UUU_VERSION = 1.5.11 -UUU_SOURCE = uuu_source-$(UUU_VERSION).tar.gz +UUU_VERSION = 1.5.177 +UUU_SOURCE = uuu_source-uuu_$(UUU_VERSION).tar.gz UUU_SITE = https://github.com/NXPmicro/mfgtools/releases/download/uuu_$(UUU_VERSION) UUU_LICENSE = BSD 3-Clause "New" or "Revised" License -UUU_LICENSE_FILES = LICENSE README.md -HOST_UUU_DEPENDENCIES = host-bzip2 host-openssl host-zlib host-libusb host-zstd +UUU_LICENSE_FILES = LICENSE +HOST_UUU_DEPENDENCIES = \ + host-bzip2 \ + host-libusb \ + host-openssl \ + host-tinyxml2 \ + host-zlib \ + host-zstd $(eval $(host-cmake-package)) diff --git a/package/uvw/uvw.hash b/package/uvw/uvw.hash index a0c74bbe052..2dc6e879e1f 100644 --- a/package/uvw/uvw.hash +++ b/package/uvw/uvw.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3460842778e91e7d2fae4201e49e4521e9d94fbbf3891ae6c52d3c9fc0673598 uvw-2.12.1_libuv_v1.44.tar.gz -sha256 1e3b8fb895c0396aaa2138ff82c02968524e220645b21b0a4ac765858a898732 LICENSE +sha256 bd5aed741765950074b1ea2507291dce81e528abdf56c406991ad4a27d8d1714 uvw-3.2.0_libuv_v1.46.tar.gz +sha256 e2a4062818ab05e2a0908737ad49b7c01202247364e900167ac81105de8713f3 LICENSE diff --git a/package/uvw/uvw.mk b/package/uvw/uvw.mk index b6c2135d6f0..12149d43ca5 100644 --- a/package/uvw/uvw.mk +++ b/package/uvw/uvw.mk @@ -4,7 +4,7 @@ # ################################################################################ -UVW_VERSION = 2.12.1_libuv_v1.44 +UVW_VERSION = 3.2.0_libuv_v1.46 UVW_SITE = $(call github,skypjack,uvw,v$(UVW_VERSION)) UVW_INSTALL_STAGING = YES UVW_INSTALL_TARGET = NO diff --git a/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk index 84e1927ce32..50a168fcab7 100644 --- a/package/v4l2loopback/v4l2loopback.mk +++ b/package/v4l2loopback/v4l2loopback.mk @@ -8,7 +8,6 @@ V4L2LOOPBACK_VERSION = 0.12.7 V4L2LOOPBACK_SITE = $(call github,umlaeute,v4l2loopback,v$(V4L2LOOPBACK_VERSION)) V4L2LOOPBACK_LICENSE = GPL-2.0+ V4L2LOOPBACK_LICENSE_FILES = COPYING -V4L2LOOPBACK_CPE_ID_VENDOR = v4l2loopback_project V4L2LOOPBACK_CPE_ID_PREFIX = cpe:2.3:o ifeq ($(BR2_PACKAGE_V4L2LOOPBACK_UTILS),y) diff --git a/package/vala/vala.hash b/package/vala/vala.hash index 7f3a0999409..a16875ac6a6 100644 --- a/package/vala/vala.hash +++ b/package/vala/vala.hash @@ -1,4 +1,4 @@ -# From https://download.gnome.org/sources/vala/0.52/vala-0.52.4.sha256sum -sha256 ecde520e5160e659ee699f8b1cdc96065edbd44bbd08eb48ef5f2506751fdf31 vala-0.52.4.tar.xz +# From https://download.gnome.org/sources/vala/0.56/vala-0.56.17.sha256sum +sha256 26100c4e4ef0049c619275f140d97cf565883d00c7543c82bcce5a426934ed6a vala-0.56.17.tar.xz # Locally computed sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/package/vala/vala.mk b/package/vala/vala.mk index 94e18d349b0..85f928202a6 100644 --- a/package/vala/vala.mk +++ b/package/vala/vala.mk @@ -4,8 +4,8 @@ # ################################################################################ -VALA_VERSION_MAJOR = 0.52 -VALA_VERSION = $(VALA_VERSION_MAJOR).4 +VALA_VERSION_MAJOR = 0.56 +VALA_VERSION = $(VALA_VERSION_MAJOR).17 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR) VALA_SOURCE = vala-$(VALA_VERSION).tar.xz VALA_LICENSE = LGPL-2.1+ @@ -15,7 +15,9 @@ VALA_CPE_ID_VENDOR = gnome HOST_VALA_DEPENDENCIES = host-bison host-flex host-libglib2 # Yes, the autoconf script understands ':' as "xsltproc is not # available". -HOST_VALA_CONF_ENV = ac_cv_path_XSLTPROC=: +HOST_VALA_CONF_ENV = \ + ac_cv_path_XSLTPROC=: \ + GI_GIRDIR="$(STAGING_DIR)/usr/share/gir-1.0" HOST_VALA_CONF_OPTS += --disable-valadoc # We wrap vala, valac and vapigen to point to the proper gir and vapi data dirs diff --git a/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch b/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch deleted file mode 100644 index ff8dc974d83..00000000000 --- a/package/valgrind/0003-coregrind-fix-compilation-for-uclibc.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 9c9fd9ae24b45f915f0759d32f662835c26d37c3 Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Fri, 8 Apr 2022 12:36:33 +0200 -Subject: [PATCH] coregrind: fix compilation for uclibc - -It fixes a known iusse whose details are described at [1] and more -generally it guarantees that Valgrind is properly compiled for ulibc. - -[1] https://www.mail-archive.com/valgrind-users@lists.sourceforge.net/msg05295.html - -Suggested-by Michael Trimarchi -Co-developed-by: Michael Trimarchi -Signed-off-by: Dario Binacchi ---- - configure.ac | 2 ++ - coregrind/m_debuginfo/minilzo-inl.c | 4 ++++ - coregrind/vg_preloaded.c | 4 ++++ - 3 files changed, 10 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 6f51dfd9f8fb..c627a9c17a4a 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -1204,6 +1204,8 @@ AC_SUBST(DEFAULT_SUPP) - AC_CHECK_HEADER([features.h]) - - if test x$ac_cv_header_features_h = xyes; then -+ AC_DEFINE([HAVE_HEADER_FEATURES_H], 1, -+ [Define to 1 if you have the `features.h' header.]) - rm -f conftest.$ac_ext - cat <<_ACEOF >conftest.$ac_ext - #include -diff --git a/coregrind/m_debuginfo/minilzo-inl.c b/coregrind/m_debuginfo/minilzo-inl.c -index 153d008fd44f..b45ec92eaa85 100644 ---- a/coregrind/m_debuginfo/minilzo-inl.c -+++ b/coregrind/m_debuginfo/minilzo-inl.c -@@ -1875,6 +1875,10 @@ extern "C" { - - #endif - -+#ifdef HAVE_HEADER_FEATURES_H -+#include -+#endif -+ - #undef LZO_HAVE_CONFIG_H - #include "minilzo.h" - -diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c -index 5e2098390847..3809811aede7 100644 ---- a/coregrind/vg_preloaded.c -+++ b/coregrind/vg_preloaded.c -@@ -45,6 +45,10 @@ - #include "pub_core_debuginfo.h" // Needed for pub_core_redir.h - #include "pub_core_redir.h" // For VG_NOTIFY_ON_LOAD - -+#ifdef HAVE_HEADER_FEATURES_H -+#include -+#endif -+ - #if defined(VGO_linux) || defined(VGO_solaris) || defined(VGO_freebsd) - - /* --------------------------------------------------------------------- --- -2.32.0 - diff --git a/package/valgrind/valgrind.hash b/package/valgrind/valgrind.hash index 8487c07e42c..d236c7b4a0f 100644 --- a/package/valgrind/valgrind.hash +++ b/package/valgrind/valgrind.hash @@ -1,7 +1,7 @@ # From https://valgrind.org/downloads/current.html -md5 4687a4990585a038c52f842448ef4e63 valgrind-3.19.0.tar.bz2 +sha1 60894cbf59d480c1794674da24a8406518a8df59 valgrind-3.22.0.tar.bz2 # locally computed -sha256 dd5e34486f1a483ff7be7300cc16b4d6b24690987877c3278d797534d6738f02 valgrind-3.19.0.tar.bz2 +sha256 c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c valgrind-3.22.0.tar.bz2 # License files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index 17b131c3ec6..97a955bd3bd 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -4,7 +4,7 @@ # ################################################################################ -VALGRIND_VERSION = 3.19.0 +VALGRIND_VERSION = 3.22.0 VALGRIND_SITE = https://sourceware.org/pub/valgrind VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2 VALGRIND_LICENSE = GPL-2.0, GFDL-1.2 @@ -14,8 +14,6 @@ VALGRIND_CONF_OPTS = \ --disable-ubsan \ --without-mpicc VALGRIND_INSTALL_STAGING = YES -# 0003-coregrind-fix-compilation-for-uclibc.patch -VALGRIND_AUTORECONF=YES # Valgrind must be compiled with no stack protection, so forcefully # pass -fno-stack-protector to override what Buildroot may have in diff --git a/package/valijson/valijson.hash b/package/valijson/valijson.hash index aacdf7dedcd..592d2c900ef 100644 --- a/package/valijson/valijson.hash +++ b/package/valijson/valijson.hash @@ -1,3 +1,3 @@ # Locally Computed: -sha256 bc24736709acfb252a5fdcb5145f1f2670c7aecaba3356f6f8ba54903800fa5c valijson-0.7.tar.gz -sha256 1a0f99926a2dbec30eba3db820236d9953fbe3048976923ac24980e655fbe991 LICENSE +sha256 35d86e54fc727f1265226434dc996e33000a570f833537a25c8b702b0b824431 valijson-1.0.2.tar.gz +sha256 61b5766db38eaa3f320c366357956d7743424bfbf90fd78f5943866ba237589e LICENSE diff --git a/package/valijson/valijson.mk b/package/valijson/valijson.mk index 51a93539609..df640577ac8 100644 --- a/package/valijson/valijson.mk +++ b/package/valijson/valijson.mk @@ -4,13 +4,13 @@ # ################################################################################ -VALIJSON_VERSION = 0.7 +VALIJSON_VERSION = 1.0.2 VALIJSON_SITE = $(call github,tristanpenman,valijson,v$(VALIJSON_VERSION)) VALIJSON_LICENSE = BSD-2-Clause VALIJSON_LICENSE_FILES = LICENSE -VALIJSON_CPE_ID_VENDOR = valijson_project +VALIJSON_CPE_ID_VALID = YES VALIJSON_INSTALL_STAGING = YES VALIJSON_INSTALL_TARGET = NO -VALIJSON_CONF_OPTS = -Dvalijson_INSTALL_HEADERS=TRUE -Dvalijson_BUILD_TESTS=FALSE +VALIJSON_CONF_OPTS = -Dvalijson_BUILD_TESTS=FALSE $(eval $(cmake-package)) diff --git a/package/vde2/0001-no-cxx.patch b/package/vde2/0001-no-cxx.patch deleted file mode 100644 index 67cefa2bb8f..00000000000 --- a/package/vde2/0001-no-cxx.patch +++ /dev/null @@ -1,22 +0,0 @@ -configure: do not test for CXX, it's not needed - -There is no C++ source file, so no reason to require a C++ compiler. - -Reported-by: Peter Korsgaard -Signed-off-by: "Yann E. MORIN" - ---- -Patch sent upstream -( not yet in archives, awaits moderator approval... :-/ ) - -diff -durN vde2-2.3.2.orig/configure.ac vde2-2.3.2/configure.ac ---- vde2-2.3.2.orig/configure.ac 2011-11-23 17:41:19.000000000 +0100 -+++ vde2-2.3.2/configure.ac 2012-12-14 21:56:47.146319686 +0100 -@@ -11,7 +11,6 @@ - AC_CONFIG_LIBOBJ_DIR(src/common) - - # Checks for programs. --AC_PROG_CXX - AC_PROG_CC - AC_PROG_INSTALL - AC_PROG_LN_S diff --git a/package/vde2/0002-fstp-Add-static-to-inline-functions.patch b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch deleted file mode 100644 index 0dbe083d068..00000000000 --- a/package/vde2/0002-fstp-Add-static-to-inline-functions.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 67bc8443ac7e8144a78d84dee30a5cac3b5c99a4 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 27 Aug 2017 23:56:05 +0200 -Subject: [PATCH] fstp: Add static to inline functions - -From [1] -"This is needed to avoid a link error where the inline functions appear -missing at link time. -From c99 standard inline function should either be declared static or -have an extern instance in a c file for linking. -This fix is necessary to build with gcc 7; for some reason it was not -trigerred before." - -[1] https://git.buildroot.net/buildroot/commit/?id=21133ada326c87627f7bdee4493d8086587c3cca - -Signed-off-by: Romain Naour ---- - src/vde_switch/fstp.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/vde_switch/fstp.c b/src/vde_switch/fstp.c -index aab7324..b1e7ee8 100644 ---- a/src/vde_switch/fstp.c -+++ b/src/vde_switch/fstp.c -@@ -30,14 +30,14 @@ static int numports; - #ifdef FSTP - #include - /*********************** sending macro used by FSTP & Core ******************/ --void inline ltonstring(unsigned long l,unsigned char *s) { -+static void inline ltonstring(unsigned long l,unsigned char *s) { - s[3]=l; l>>=8; - s[2]=l; l>>=8; - s[1]=l; l>>=8; - s[0]=l; - } - --unsigned long inline nstringtol(unsigned char *s) { -+static unsigned long inline nstringtol(unsigned char *s) { - return (s[0]<<24)+(s[1]<<16)+(s[2]<<8)+s[3]; - } - --- -2.9.5 - diff --git a/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch b/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch deleted file mode 100644 index 7f771dfc7eb..00000000000 --- a/package/vde2/0003-vde_l3-Add-static-to-inline-functions.patch +++ /dev/null @@ -1,37 +0,0 @@ -vde_l3: Add static to inline functions - -Add static to inline functions to avoid the following build failure -with BR2_OPTIMIZE_0: - -/home/autobuild/autobuild/instance-11/output-1/host/lib/gcc/mips64-buildroot-linux-uclibc/10.3.0/../../../../mips64-buildroot-linux-uclibc/bin/ld: vde_l3.o: in function `ip_output_ready': -vde_l3.c:(.text+0xb30): undefined reference to `iphead' - -Fixes: - - http://autobuild.buildroot.org/results/5eeefcdac0b8974a424a885fdc2e82f7cb4b617d - -Signed-off-by: Fabrice Fontaine - -diff -Nura vde2-2.3.2.orig/src/vde_l3/vde_l3.c vde2-2.3.2/src/vde_l3/vde_l3.c ---- vde2-2.3.2.orig/src/vde_l3/vde_l3.c 2022-04-21 11:05:17.393452698 +0200 -+++ vde2-2.3.2/src/vde_l3/vde_l3.c 2022-04-21 11:10:36.509804404 +0200 -@@ -100,17 +100,17 @@ - }; - - --inline struct vde_ethernet_header *ethhead(struct vde_buff *vdb) -+static inline struct vde_ethernet_header *ethhead(struct vde_buff *vdb) - { - return (struct vde_ethernet_header*)(vdb->data); - } - --inline struct iphdr *iphead(struct vde_buff *vdb) -+static inline struct iphdr *iphead(struct vde_buff *vdb) - { - return (struct iphdr*)(vdb->data + 14); - } - --inline void *payload(struct vde_buff *vdb) -+static inline void *payload(struct vde_buff *vdb) - { - return (uint8_t*)(vdb->data + 14 + sizeof(struct iphdr)); - } diff --git a/package/vde2/Config.in b/package/vde2/Config.in index f640a4ae2a9..44bdf50de0c 100644 --- a/package/vde2/Config.in +++ b/package/vde2/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_VDE2 spawned over a set of physical computers over the Internet. VDE is part of the virtualsquare project. - http://vde.sourceforge.net/ + https://github.com/virtualsquare/vde-2/ comment "vde2 needs a toolchain w/ dynamic library" depends on BR2_USE_MMU diff --git a/package/vde2/vde2.hash b/package/vde2/vde2.hash index a9e1ea22630..11d6a282792 100644 --- a/package/vde2/vde2.hash +++ b/package/vde2/vde2.hash @@ -1,5 +1,4 @@ # Locally computed: -sha256 cbea9b7e03097f87a6b5e98b07890d2275848f1fe4b9fcda77b8994148bc9542 vde2-2.3.2.tar.bz2 +sha256 a7d2cc4c3d0c0ffe6aff7eb0029212f2b098313029126dcd12dc542723972379 vde2-2.3.3.tar.gz sha256 fb295d0c24b8ef4b39017ac68e772e8e6e839612ce10da12b9f48d1e8e512e2e COPYING sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.libvdeplug -sha256 d5ac74315b2d2f9c53f5839e311484f4646a9401b68d02d36f3dab386352e74d COPYING.slirpvde diff --git a/package/vde2/vde2.mk b/package/vde2/vde2.mk index 76d6f352b7b..ab4c32143d0 100644 --- a/package/vde2/vde2.mk +++ b/package/vde2/vde2.mk @@ -4,24 +4,21 @@ # ################################################################################ -VDE2_VERSION = 2.3.2 -VDE2_SOURCE = vde2-$(VDE2_VERSION).tar.bz2 -VDE2_SITE = http://downloads.sourceforge.net/project/vde/vde2/$(VDE2_VERSION) -VDE2_LICENSE = GPL-2.0+, LGPL-2.1+, BSD-3-Clause -VDE2_LICENSE_FILES = COPYING COPYING.libvdeplug COPYING.slirpvde +VDE2_VERSION = 2.3.3 +VDE2_SITE = $(call github,virtualsquare,vde-2,v$(VDE2_VERSION)) +VDE2_LICENSE = GPL-2.0+, LGPL-2.1+ +VDE2_LICENSE_FILES = COPYING COPYING.libvdeplug VDE2_CPE_ID_VENDOR = vde_project VDE2_CPE_ID_PRODUCT = vde VDE2_INSTALL_STAGING = YES -# We touch configure.ac, so we need to autoreconf +# From git VDE2_AUTORECONF = YES # Reasons for enabling/disabling stuff: # - tuntap is enabled in the hope we're using a recent-enough toolchain # that does have if_tun.h (virtually everything these days) -# - kvde_switch is disabled because it requires a patched kernel -# - cryptcab is disabled to not depend on openSSL -# - python is disabled to not depend on Python +# - cryptcab is disabled to not depend on wolfssl # - pcap is disabled to not depend on libpcap # - profiling is disabled because we do not want to debug/profile # @@ -30,25 +27,16 @@ VDE2_AUTORECONF = YES VDE2_CONF_OPTS = \ --disable-cryptcab \ --disable-experimental \ - --disable-kernel-switch \ --disable-pcap \ --disable-profile \ - --disable-python \ --enable-tuntap -# Package does not build in parallel due to improper make rules -VDE2_MAKE = $(MAKE1) - HOST_VDE2_CONF_OPTS = \ --disable-cryptcab \ --disable-experimental \ - --disable-kernel-switch \ --disable-pcap \ --disable-profile \ - --disable-python \ --enable-tuntap -HOST_VDE2_MAKE = $(MAKE1) - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/vdr/0001-getloadavg.patch b/package/vdr/0001-getloadavg.patch index 9e6316e2842..f6ba84c9e51 100644 --- a/package/vdr/0001-getloadavg.patch +++ b/package/vdr/0001-getloadavg.patch @@ -14,7 +14,7 @@ diff -uwNr vdr-2.3.1.org/skinlcars.c vdr-2.3.1/skinlcars.c +/* uclibc and dietlibc do not have this junk -ReneR */ +#if defined (__UCLIBC__) || defined (__dietlibc__) -+static int getloadavg (double loadavg[], int nelem) ++int getloadavg (double loadavg[], int nelem) +{ + int fd; + diff --git a/package/vdr/0002-Fix-musl-build.patch b/package/vdr/0002-Fix-musl-build.patch new file mode 100644 index 00000000000..8c0b8d663bc --- /dev/null +++ b/package/vdr/0002-Fix-musl-build.patch @@ -0,0 +1,159 @@ +From fb44386acc2497ac250364bc08cebc26ded816cf Mon Sep 17 00:00:00 2001 +From: Carlo Landmeter +Date: Tue, 16 May 2023 19:57:39 +0200 +Subject: [PATCH] Fix musl build + +Downloaded from +https://git.alpinelinux.org/aports/tree/community/vdr/musl-compat.patch + +Initial commit: +https://git.alpinelinux.org/aports/commit/?id=140248605cee4a0160f80b47ce77a823be2f740a + +Upstream: https://www.linuxtv.org/pipermail/vdr/2023-May/029744.html + +Signed-off-by: Bernd Kuhls +--- + i18n.h | 2 +- + osd.c | 2 +- + thread.c | 4 +++- + tools.c | 4 ++-- + tools.h | 14 ++++++++++++-- + vdr.c | 6 ++++++ + 6 files changed, 25 insertions(+), 7 deletions(-) + +diff --git a/i18n.h b/i18n.h +index 03deb6f2..85ce4077 100644 +--- a/i18n.h ++++ b/i18n.h +@@ -46,7 +46,7 @@ const cStringList *I18nLanguages(void); + ///< have an actual locale installed. The rest are just dummy entries + ///< to allow having three letter language codes for other languages + ///< that have no actual locale on this system. +-const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1); ++const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute__((__format_arg__ (1))); + ///< Translates the given string (with optional Plugin context) into + ///< the current language. If no translation is available, the original + ///< string will be returned. +diff --git a/osd.c b/osd.c +index 47bda686..0d360c81 100644 +--- a/osd.c ++++ b/osd.c +@@ -12,7 +12,7 @@ + #include + #include + #include +-#include ++#include + #include "device.h" + #include "tools.h" + +diff --git a/thread.c b/thread.c +index 93eb8c0d..6e854541 100644 +--- a/thread.c ++++ b/thread.c +@@ -160,7 +160,9 @@ cRwLock::cRwLock(bool PreferWriter) + writeLockThreadId = 0; + pthread_rwlockattr_t attr; + pthread_rwlockattr_init(&attr); ++#if defined(__GLIBC__) + pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP); ++#endif + pthread_rwlock_init(&rwlock, &attr); + } + +@@ -210,7 +212,7 @@ cMutex::cMutex(void) + locked = 0; + pthread_mutexattr_t attr; + pthread_mutexattr_init(&attr); +- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); + pthread_mutex_init(&mutex, &attr); + } + +diff --git a/tools.c b/tools.c +index d04033b1..8b161eec 100644 +--- a/tools.c ++++ b/tools.c +@@ -672,7 +672,7 @@ char *ReadLink(const char *FileName) + { + if (!FileName) + return NULL; +- char *TargetName = canonicalize_file_name(FileName); ++ char *TargetName = realpath(FileName, NULL); + if (!TargetName) { + if (errno == ENOENT) // file doesn't exist + TargetName = strdup(FileName); +@@ -1562,7 +1562,7 @@ cReadDir::~cReadDir() + struct dirent *cReadDir::Next(void) + { + if (directory) { +-#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 ++#if __GLIBC__ + while (readdir_r(directory, &u.d, &result) == 0 && result) { + #else + while ((result = readdir(directory)) != NULL) { +diff --git a/tools.h b/tools.h +index ff6169ee..60eda179 100644 +--- a/tools.h ++++ b/tools.h +@@ -28,6 +28,16 @@ + #include + #include "thread.h" + ++#ifndef ACCESSPERMS ++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ ++#endif ++#ifndef ALLPERMS ++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ ++#endif ++#ifndef DEFFILEMODE ++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ ++#endif ++ + typedef unsigned char uchar; + + extern int SysLogLevel; +@@ -444,7 +454,7 @@ class cReadDir { + private: + DIR *directory; + struct dirent *result; +-#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 ++#if __GLIBC__ + union { // according to "The GNU C Library Reference Manual" + struct dirent d; + char b[offsetof(struct dirent, d_name) + NAME_MAX + 1]; +@@ -818,7 +828,7 @@ public: + data[i] = T(0); + size = 0; + } +- void Sort(__compar_fn_t Compare) ++ void Sort(int (*Compare)(const void *, const void *)) + { + qsort(data, size, sizeof(T), Compare); + } +diff --git a/vdr.c b/vdr.c +index 1bdc51ab..0f426e61 100644 +--- a/vdr.c ++++ b/vdr.c +@@ -661,12 +661,18 @@ int main(int argc, char *argv[]) + } + } + else if (Terminal) { ++#ifdef __GLIBC__ + // Claim new controlling terminal + stdin = freopen(Terminal, "r", stdin); + stdout = freopen(Terminal, "w", stdout); + stderr = freopen(Terminal, "w", stderr); + HasStdin = true; + tcgetattr(STDIN_FILENO, &savedTm); ++#else ++ // stdin, stdout, stderr are declared FILE const* by musl C library ++ fprintf(stderr, "Option '-t' is only supported if VDR has been built against glibc.\n"); ++ return 2; ++#endif + } + + // Set user id in case we were started as root: +-- +2.39.2 + diff --git a/package/vdr/0002-musl-compat.patch b/package/vdr/0002-musl-compat.patch deleted file mode 100644 index b6f8f414a96..00000000000 --- a/package/vdr/0002-musl-compat.patch +++ /dev/null @@ -1,140 +0,0 @@ -Fix musl build - -Downloaded from -https://git.alpinelinux.org/aports/tree/community/vdr/musl-compat.patch - -Signed-off-by: Bernd Kuhls - -diff --git a/i18n.h b/i18n.h -index f8ad9de..b002bbf 100644 ---- a/i18n.h -+++ b/i18n.h -@@ -46,7 +46,7 @@ const cStringList *I18nLanguages(void); - ///< have an actual locale installed. The rest are just dummy entries - ///< to allow having three letter language codes for other languages - ///< that have no actual locale on this system. --const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1); -+const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute__((__format_arg__ (1))); - ///< Translates the given string (with optional Plugin context) into - ///< the current language. If no translation is available, the original - ///< string will be returned. -diff --git a/osd.c b/osd.c -index 524700a..ef975f5 100644 ---- a/osd.c -+++ b/osd.c -@@ -12,7 +12,7 @@ - #include - #include - #include --#include -+#include - #include "device.h" - #include "tools.h" - -diff --git a/thread.c b/thread.c -index 47eb977..58dba43 100644 ---- a/thread.c -+++ b/thread.c -@@ -155,7 +155,9 @@ cRwLock::cRwLock(bool PreferWriter) - writeLockThreadId = 0; - pthread_rwlockattr_t attr; - pthread_rwlockattr_init(&attr); -+#if defined(__GLIBC__) - pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP); -+#endif - pthread_rwlock_init(&rwlock, &attr); - } - -@@ -205,7 +207,7 @@ cMutex::cMutex(void) - locked = 0; - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); -- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP); -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); - pthread_mutex_init(&mutex, &attr); - } - -diff --git a/tools.c b/tools.c -index 754673d..fef9d2d 100644 ---- a/tools.c -+++ b/tools.c -@@ -640,7 +640,7 @@ char *ReadLink(const char *FileName) - { - if (!FileName) - return NULL; -- char *TargetName = canonicalize_file_name(FileName); -+ char *TargetName = realpath(FileName, NULL); - if (!TargetName) { - if (errno == ENOENT) // file doesn't exist - TargetName = strdup(FileName); -@@ -1528,7 +1528,7 @@ - struct dirent *cReadDir::Next(void) - { - if (directory) { --#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 -+#if __GLIBC__ - while (readdir_r(directory, &u.d, &result) == 0 && result) { - #else - while ((result = readdir(directory)) != NULL) { -diff --git a/tools.h b/tools.h -index 73cca5a..03f5fd1 100644 ---- a/tools.h -+++ b/tools.h -@@ -28,6 +28,16 @@ - #include - #include "thread.h" - -+#ifndef ACCESSPERMS -+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ -+#endif -+#ifndef ALLPERMS -+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ -+#endif -+#ifndef DEFFILEMODE -+# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ -+#endif -+ - typedef unsigned char uchar; - - extern int SysLogLevel; -@@ -400,7 +410,7 @@ - private: - DIR *directory; - struct dirent *result; --#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 -+#if __GLIBC__ - union { // according to "The GNU C Library Reference Manual" - struct dirent d; - char b[offsetof(struct dirent, d_name) + NAME_MAX + 1]; -@@ -738,7 +748,7 @@ public: - data[i] = T(0); - size = 0; - } -- void Sort(__compar_fn_t Compare) -+ void Sort(int (*Compare)(const void *, const void *)) - { - qsort(data, size, sizeof(T), Compare); - } -diff --git a/vdr.c b/vdr.c -index 8a49471..c2a82aa 100644 ---- a/vdr.c -+++ b/vdr.c -@@ -670,12 +670,18 @@ int main(int argc, char *argv[]) - } - } - else if (Terminal) { -+#ifdef __GLIBC__ - // Claim new controlling terminal - stdin = freopen(Terminal, "r", stdin); - stdout = freopen(Terminal, "w", stdout); - stderr = freopen(Terminal, "w", stderr); - HasStdin = true; - tcgetattr(STDIN_FILENO, &savedTm); -+#else -+ // stdin, stdout, stderr are declared FILE const* by musl C library -+ fprintf(stderr, "Option '-t' is only supported if VDR has been built against glibc.\n"); -+ return 2; -+#endif - } - - isyslog("VDR version %s started", VDRVERSION); diff --git a/package/vdr/0003-Include-limits.h.patch b/package/vdr/0003-Include-limits.h.patch new file mode 100644 index 00000000000..7ddfd1703c5 --- /dev/null +++ b/package/vdr/0003-Include-limits.h.patch @@ -0,0 +1,51 @@ +From a4a3d9b012c12cd8aaa2526f0eacdcffcdd9f8f1 Mon Sep 17 00:00:00 2001 +From: Roberto Oliveira +Date: Tue, 16 May 2023 20:01:18 +0200 +Subject: [PATCH] Include limits.h + +vdr package uses some macros like HOST_NAME_MAX, NAME_MAX, which are defined +in limits.h. +Needs to be explicitly included on ppc64le and for all archs for debug build. + +Downloaded from +https://git.alpinelinux.org/aports/tree/community/vdr/include-missing-limits.patch + +Initial commits: +https://git.alpinelinux.org/aports/commit/?id=c9d8942ccf4825fd734b5f37157a49fc4f0b4339 +https://git.alpinelinux.org/aports/commit/?id=47965644c390b1be1117769b1e08b31858267e9a + +Upstream: https://www.linuxtv.org/pipermail/vdr/2023-May/029743.html + +Signed-off-by: Bernd Kuhls +--- + config.h | 1 + + tools.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/config.h b/config.h +index 72dd3d2a..b9ea769f 100644 +--- a/config.h ++++ b/config.h +@@ -19,6 +19,7 @@ + #include "i18n.h" + #include "font.h" + #include "tools.h" ++#include + + // VDR's own version number: + +diff --git a/tools.c b/tools.c +index 8b161eec..56a2e0dd 100644 +--- a/tools.c ++++ b/tools.c +@@ -27,6 +27,7 @@ extern "C" { + #include + #include "i18n.h" + #include "thread.h" ++#include + + int SysLogLevel = 3; + +-- +2.39.2 + diff --git a/package/vdr/0003-include-missing-limits.patch b/package/vdr/0003-include-missing-limits.patch deleted file mode 100644 index c2efe291e6a..00000000000 --- a/package/vdr/0003-include-missing-limits.patch +++ /dev/null @@ -1,30 +0,0 @@ -vdr package uses some macros like HOST_NAME_MAX, NAME_MAX, which are defined -in limits.h. -Needs to be explicitly included on ppc64le and for all archs for debug build. - -Downloaded from -https://git.alpinelinux.org/aports/tree/community/vdr/include-missing-limits.patch - -Signed-off-by: Bernd Kuhls ----- - ---- a/config.h -+++ b/config.h -@@ -19,6 +19,7 @@ - #include "i18n.h" - #include "font.h" - #include "tools.h" -+#include - - // VDR's own version number: - ---- a/tools.c -+++ b/tools.c -@@ -27,6 +27,7 @@ - #include - #include "i18n.h" - #include "thread.h" -+#include - - int SysLogLevel = 3; - diff --git a/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch b/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch index 9cc45a96c16..7b1a4c2c05e 100644 --- a/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch +++ b/package/vdr/0004-i18n.c-_nl_msg_cat_cntr-is-an-internal-symbol-of-som.patch @@ -10,6 +10,8 @@ anything because musl has a basic NLS implementation. Even gettext-tiny defines _nl_msg_cat_cntr as a dummy symbol in its stub libintl-musl implementation. +Upstream: https://www.linuxtv.org/pipermail/vdr/2023-May/029745.html + Signed-off-by: Thomas Petazzoni --- i18n.c | 2 ++ diff --git a/package/vdr/0005-Fix-musl-build.patch b/package/vdr/0005-Fix-musl-build.patch new file mode 100644 index 00000000000..390e78eab56 --- /dev/null +++ b/package/vdr/0005-Fix-musl-build.patch @@ -0,0 +1,37 @@ +From 075472ec580e03cc89971f0c118cb363776a304d Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 16 May 2023 20:22:12 +0200 +Subject: [PATCH] Fix musl build + +malloc_trim is a GNU extension and therefore not present in non-glibc C +libraries such as musl. Wrapping this in an ifdef fixes musl builds. + +Upstream: https://www.linuxtv.org/pipermail/vdr/2023-May/029742.html + +Signed-off-by: Bernd Kuhls +--- + vdr.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/vdr.c b/vdr.c +index 0f426e61..bc4902de 100644 +--- a/vdr.c ++++ b/vdr.c +@@ -1588,12 +1588,14 @@ int main(int argc, char *argv[]) + cSchedules::Cleanup(); + // Plugins housekeeping: + PluginManager.Housekeeping(); ++#if defined(__GLIBC__) + // Memory cleanup: + static time_t LastMemoryCleanup = 0; + if ((Now - LastMemoryCleanup) > MEMCLEANUPDELTA) { + malloc_trim(0); + LastMemoryCleanup = Now; + } ++#endif + } + } + +-- +2.39.2 + diff --git a/package/vdr/vdr.hash b/package/vdr/vdr.hash index 2216e317fe1..47179a9907f 100644 --- a/package/vdr/vdr.hash +++ b/package/vdr/vdr.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 dfb252a0466e95071ca16707914d14c7e5c2e45020e4dc530ea85b7b3c3ea17e vdr-2.6.1.tar.gz +sha256 293e355b2cc22e6152dae9c315d5b8903f3e647a2e60b6217d306ff4bceb83e1 vdr-2.6.5.tar.gz sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 COPYING diff --git a/package/vdr/vdr.mk b/package/vdr/vdr.mk index 61acb9971f0..c717d40e024 100644 --- a/package/vdr/vdr.mk +++ b/package/vdr/vdr.mk @@ -4,7 +4,7 @@ # ################################################################################ -VDR_VERSION = 2.6.1 +VDR_VERSION = 2.6.5 VDR_SITE = $(call github,vdr-projects,vdr,$(VDR_VERSION)) VDR_LICENSE = GPL-2.0+ VDR_LICENSE_FILES = COPYING diff --git a/package/versal-firmware/Config.in b/package/versal-firmware/Config.in index 8d138161495..01daefd2040 100644 --- a/package/versal-firmware/Config.in +++ b/package/versal-firmware/Config.in @@ -4,13 +4,13 @@ config BR2_PACKAGE_VERSAL_FIRMWARE help Pre-built firmware files for Xilinx Versal boards. - https://github.com/nealfrager/buildroot-firmware + https://github.com/Xilinx/soc-prebuilt-firmware if BR2_PACKAGE_VERSAL_FIRMWARE config BR2_PACKAGE_VERSAL_FIRMWARE_VERSION string "firmware version" - default "v2022.2" + default "xilinx_v2023.1" help Release version of Versal firmware. diff --git a/package/versal-firmware/versal-firmware.mk b/package/versal-firmware/versal-firmware.mk index 3e4b9e558da..1ced259be10 100644 --- a/package/versal-firmware/versal-firmware.mk +++ b/package/versal-firmware/versal-firmware.mk @@ -5,16 +5,16 @@ ################################################################################ VERSAL_FIRMWARE_VERSION = $(call qstrip,$(BR2_PACKAGE_VERSAL_FIRMWARE_VERSION)) -VERSAL_FIRMWARE_SITE = $(call github,nealfrager,buildroot-firmware,$(VERSAL_FIRMWARE_VERSION)) -VERSAL_FIRMWARE_LICENSE = Xilinx-Binary-Only +VERSAL_FIRMWARE_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(VERSAL_FIRMWARE_VERSION)) +VERSAL_FIRMWARE_LICENSE = MIT VERSAL_FIRMWARE_LICENSE_FILES = LICENSE VERSAL_FIRMWARE_INSTALL_TARGET = NO VERSAL_FIRMWARE_INSTALL_IMAGES = YES define VERSAL_FIRMWARE_INSTALL_IMAGES_CMDS $(foreach f,plm.elf psmfw.elf vpl_gen_fixed.pdi,\ - $(INSTALL) -D -m 0755 $(@D)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)_$(f) \ - $(BINARIES_DIR)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)_$(f) + $(INSTALL) -D -m 0755 $(@D)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)-versal/$(f) \ + $(BINARIES_DIR)/$(f) ) endef diff --git a/package/vim/vim.hash b/package/vim/vim.hash index 03ee908db46..194bcb4378d 100644 --- a/package/vim/vim.hash +++ b/package/vim/vim.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 c95c9abcf024bd6293ad199e4efa1c09452a9c6456c9cbaf53d896cf7b9f4d08 vim-9.0.0951.tar.gz -sha256 0bcab3b635dd39208c42b496568d1e8171dad247cf3da5bab3d750c9d5883499 LICENSE -sha256 de04910387a62ad4f9b36b91457c8d5ef32733ac5d768a128071b93f4821fcd1 README.txt +sha256 0056537cb57190aa41c12ba6c2ad04ce10e7f714cde4c1fe7193a37e1c44db46 vim-9.1.0145.tar.gz +sha256 0b3f1f330cb1b179bb17c7c687d4cec601e0aa3462bc7f890ad4c3888d37d720 LICENSE +sha256 7a2f621c8496396dae5eecdcc4dccff9d534dff4627193d3ebf7fa6d2cb27042 README.txt diff --git a/package/vim/vim.mk b/package/vim/vim.mk index d814c68630f..fb8062e1fa9 100644 --- a/package/vim/vim.mk +++ b/package/vim/vim.mk @@ -4,7 +4,7 @@ # ################################################################################ -VIM_VERSION = 9.0.0951 +VIM_VERSION = 9.1.0145 VIM_SITE = $(call github,vim,vim,v$(VIM_VERSION)) VIM_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) VIM_SUBDIR = src diff --git a/package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch b/package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch index 4fc639e2229..5211ef882b6 100644 --- a/package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch +++ b/package/vlc/0006-posix-remove-ancient-run-time-fallback-to-real-time-.patch @@ -23,6 +23,7 @@ posix/thread.c: In function ‘vlc_clock_setup_once’: posix/thread.c:88:18: error: lvalue required as left operand of assignment vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; +[Bernd: rebased for 3.0.19] Signed-off-by: Bernd Kuhls --- src/posix/thread.c | 96 +++++++----------------------------------------------- @@ -93,7 +94,7 @@ index dab8b71f97..8878941913 100644 -# warning Monotonic clock not available. Expect timing issues. -#endif /* _POSIX_TIMERS */ - - static struct timespec mtime_to_ts (mtime_t date) + static struct timespec mtime_to_ts (vlc_tick_t date) { lldiv_t d = lldiv (date, CLOCK_FREQ); @@ -233,14 +187,11 @@ void vlc_cond_init (vlc_cond_t *p_condvar) @@ -117,7 +118,7 @@ index dab8b71f97..8878941913 100644 @@ -625,44 +576,27 @@ void vlc_control_cancel (int cmd, ...) - mtime_t mdate (void) + vlc_tick_t mdate (void) { -#if (_POSIX_TIMERS > 0) struct timespec ts; @@ -140,7 +141,7 @@ index dab8b71f97..8878941913 100644 } #undef mwait - void mwait (mtime_t deadline) + void mwait (vlc_tick_t deadline) { -#if (_POSIX_CLOCK_SELECTION > 0) - vlc_clock_setup (); @@ -165,7 +166,7 @@ index dab8b71f97..8878941913 100644 } #undef msleep -@@ -670,15 +604,7 @@ void msleep (mtime_t delay) +@@ -670,15 +604,7 @@ void msleep (vlc_tick_t delay) { struct timespec ts = mtime_to_ts (delay); diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index 4b9940df33f..40529bd6648 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,7 +1,7 @@ -# From https://get.videolan.org/vlc/3.0.18/vlc-3.0.18.tar.xz.sha256 -sha256 57094439c365d8aa8b9b41fa3080cc0eef2befe6025bb5cef722accc625aedec vlc-3.0.18.tar.xz -# From https://get.videolan.org/vlc/3.0.18/vlc-3.0.18.tar.xz.sha1 -sha1 b11ccaa0f5ee15a550564817d60458eb0946f80e vlc-3.0.18.tar.xz +# From https://get.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz.sha256 +sha256 adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5 vlc-3.0.20.tar.xz +# From https://get.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz.sha1 +sha1 b834516ab701bf6311980ed5d67b77c834fdebe7 vlc-3.0.20.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index c6ae46f4694..d0fc1744c01 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 3.0.18 +VLC_VERSION = 3.0.20 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/package/vnstat/vnstat.hash b/package/vnstat/vnstat.hash index bad4325d90f..87d2a6d6874 100644 --- a/package/vnstat/vnstat.hash +++ b/package/vnstat/vnstat.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a9c61744e5cd8c366e2db4d282badc74021ddb614bd65b41240937997e457d25 vnstat-2.10.tar.gz +sha256 babc3f1583cc40e4e8ffb2f53296d93d308cb5a5043e85054f6eaf7b4ae57856 vnstat-2.11.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/vnstat/vnstat.mk b/package/vnstat/vnstat.mk index 3b2951b8c90..665c0feaf39 100644 --- a/package/vnstat/vnstat.mk +++ b/package/vnstat/vnstat.mk @@ -4,7 +4,7 @@ # ################################################################################ -VNSTAT_VERSION = 2.10 +VNSTAT_VERSION = 2.11 VNSTAT_SITE = http://humdi.net/vnstat VNSTAT_LICENSE = GPL-2.0 VNSTAT_LICENSE_FILES = COPYING diff --git a/package/volk/volk.hash b/package/volk/volk.hash index 4c62c6d3151..8047a68bab2 100644 --- a/package/volk/volk.hash +++ b/package/volk/volk.hash @@ -1,4 +1,3 @@ # Locally computed -sha256 eff53206cd1ec3314755e0b2bde3c7aaea21dd0f0ad8d753bff07d98e93ddee2 volk-2.5.2.tar.xz -sha256 6dcdafa9e750545f5f65c2e6f53820184822db728ac2b8bfe1d4a47da09ec0d6 COPYING -sha256 258f450f060a161fb9f9e2e7c07c6b1ee73e5142297e6792dc1ee76b028cf0ca COPYING-LGPL +sha256 88fd80638a3683f23a8cae6c551a8cfe9ea55735c701846f3eeeeeea8a14f6a3 volk-3.0.0.tar.xz +sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 COPYING diff --git a/package/volk/volk.mk b/package/volk/volk.mk index af5bd4306b5..67475d5c907 100644 --- a/package/volk/volk.mk +++ b/package/volk/volk.mk @@ -4,13 +4,11 @@ # ################################################################################ -VOLK_VERSION = 2.5.2 +VOLK_VERSION = 3.0.0 VOLK_SITE = https://github.com/gnuradio/volk/releases/download/v$(VOLK_VERSION) VOLK_SOURCE = volk-$(VOLK_VERSION).tar.xz -# See https://github.com/gnuradio/volk/tree/v2.5.1#license for some -# details on the licensing. -VOLK_LICENSE = GPL-3.0+, LGPL-3.0+ -VOLK_LICENSE_FILES = COPYING COPYING-LGPL +VOLK_LICENSE = LGPL-3.0+ +VOLK_LICENSE_FILES = COPYING VOLK_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk index 3e7b233e484..6742843c19e 100644 --- a/package/vsftpd/vsftpd.mk +++ b/package/vsftpd/vsftpd.mk @@ -9,7 +9,7 @@ VSFTPD_SITE = https://security.appspot.com/downloads VSFTPD_LIBS = -lcrypt VSFTPD_LICENSE = GPL-2.0 VSFTPD_LICENSE_FILES = COPYING -VSFTPD_CPE_ID_VENDOR = vsftpd_project +VSFTPD_CPE_ID_VALID = YES VSFTPD_SELINUX_MODULES = ftp define VSFTPD_DISABLE_UTMPX diff --git a/package/vte/vte.hash b/package/vte/vte.hash index 90818d31f39..8c84dfce1aa 100644 --- a/package/vte/vte.hash +++ b/package/vte/vte.hash @@ -1,4 +1,4 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/vte/0.66/vte-0.66.2.sha256sum +# Hash from: https://download.gnome.org/sources/vte/0.66/vte-0.66.2.sha256sum sha256 e89974673a72a0a06edac6d17830b82bb124decf0cb3b52cebc92ec3ff04d976 vte-0.66.2.tar.xz # Hash for license file: diff --git a/package/vte/vte.mk b/package/vte/vte.mk index ceb2f09d678..a68d96aa120 100644 --- a/package/vte/vte.mk +++ b/package/vte/vte.mk @@ -7,7 +7,7 @@ VTE_VERSION_MAJOR = 0.66 VTE_VERSION = $(VTE_VERSION_MAJOR).2 VTE_SOURCE = vte-$(VTE_VERSION).tar.xz -VTE_SITE = http://ftp.gnome.org/pub/gnome/sources/vte/$(VTE_VERSION_MAJOR) +VTE_SITE = https://download.gnome.org/sources/vte/$(VTE_VERSION_MAJOR) VTE_DEPENDENCIES = host-pkgconf libgtk3 pcre2 $(TARGET_NLS_DEPENDENCIES) VTE_LICENSE = LGPL-3.0+ VTE_LICENSE_FILES = COPYING.LGPL3 diff --git a/package/vuejs-router/vuejs-router.hash b/package/vuejs-router/vuejs-router.hash index 147e730f202..f87d18f7ed9 100644 --- a/package/vuejs-router/vuejs-router.hash +++ b/package/vuejs-router/vuejs-router.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 437558a84b99d0d89743d4897ec16a90a96a1d3a6786e697a8808a044bcb9b8f vue-router-4.1.6.tgz -sha256 9c0015250f592a09d7787efc07152afcf661fff6bda2554359f6d00987828c02 LICENSE +sha256 61dc033860c42a2f3af046d461ef14348b1fe9094b27d107f7be6d1420d39b11 vue-router-4.2.5.tgz +sha256 91a2845c4db44e7497b514b98634a674c737986ad0db81599307cf733bf850b2 LICENSE diff --git a/package/vuejs-router/vuejs-router.mk b/package/vuejs-router/vuejs-router.mk index de7e9c30c51..7f73fed5d52 100644 --- a/package/vuejs-router/vuejs-router.mk +++ b/package/vuejs-router/vuejs-router.mk @@ -4,7 +4,7 @@ # ################################################################################ -VUEJS_ROUTER_VERSION = 4.1.6 +VUEJS_ROUTER_VERSION = 4.2.5 VUEJS_ROUTER_SOURCE = vue-router-$(VUEJS_ROUTER_VERSION).tgz VUEJS_ROUTER_SITE = https://registry.npmjs.org/vue-router/- VUEJS_ROUTER_LICENSE = MIT diff --git a/package/vuejs/vuejs.hash b/package/vuejs/vuejs.hash index e66bee06d3f..d3bca468034 100644 --- a/package/vuejs/vuejs.hash +++ b/package/vuejs/vuejs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 968e71a707a4a1961faa6e513b6bba162ef04c3413d7edaba0abc1a5996ae71b vue-3.2.45.tgz +sha256 5d3ab0144d5b8eaf28ccfbf27500669a91463226c4767041c7293ce76065171a vue-3.3.4.tgz sha256 1bb85cc9b13b81ef41c81c51866172fc345e0503c86726a6755b796590b70175 LICENSE diff --git a/package/vuejs/vuejs.mk b/package/vuejs/vuejs.mk index 8f7d0cd3d41..29bf3bc66bc 100644 --- a/package/vuejs/vuejs.mk +++ b/package/vuejs/vuejs.mk @@ -4,7 +4,7 @@ # ################################################################################ -VUEJS_VERSION = 3.2.45 +VUEJS_VERSION = 3.3.4 VUEJS_SOURCE = vue-$(VUEJS_VERSION).tgz VUEJS_SITE = https://registry.npmjs.org/vue/- VUEJS_LICENSE = MIT diff --git a/package/vulkan-headers/vulkan-headers.hash b/package/vulkan-headers/vulkan-headers.hash index c43736405cb..b38bfcff47a 100644 --- a/package/vulkan-headers/vulkan-headers.hash +++ b/package/vulkan-headers/vulkan-headers.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7239108c372f1fbe365bd8d1610ca2bb4e72b73b2151f2551bf9df54dd539639 vulkan-headers-1.2.203.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt +sha256 317e467a5fb2eaa6a18b984ec70fdbfaccd93595a3e6f4bcceca7d3fab280505 vulkan-headers-1.3.262.tar.gz +sha256 ac24e5ea920e4318e4d02c4086ae51f53cfb03feed06c18df1019e7ada1ec7bc LICENSE.md diff --git a/package/vulkan-headers/vulkan-headers.mk b/package/vulkan-headers/vulkan-headers.mk index 13cae1e6855..20b248364d5 100644 --- a/package/vulkan-headers/vulkan-headers.mk +++ b/package/vulkan-headers/vulkan-headers.mk @@ -4,10 +4,12 @@ # ################################################################################ -VULKAN_HEADERS_VERSION = 1.2.203 +# Note: changing this version will also affect vulkan-loader and +# vulkan-tools, so please update those packages as well. +VULKAN_HEADERS_VERSION = 1.3.262 VULKAN_HEADERS_SITE = $(call github,KhronosGroup,Vulkan-Headers,v$(VULKAN_HEADERS_VERSION)) -VULKAN_HEADERS_LICENSE = Apache-2.0 -VULKAN_HEADERS_LICENSE_FILES = LICENSE.txt +VULKAN_HEADERS_LICENSE = Apache-2.0, MIT +VULKAN_HEADERS_LICENSE_FILES = LICENSE.md VULKAN_HEADERS_INSTALL_STAGING = YES $(eval $(cmake-package)) diff --git a/package/vulkan-loader/Config.in b/package/vulkan-loader/Config.in new file mode 100644 index 00000000000..9c215dc9ce8 --- /dev/null +++ b/package/vulkan-loader/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_VULKAN_LOADER + bool "vulkan-loader" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_VULKAN_HEADERS + help + The Khronos official Vulkan ICD desktop loader. + + https://github.com/KhronosGroup/Vulkan-Loader + +comment "vulkan-loader needs a toolchain w/ C++, dynamic library, threads" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/vulkan-loader/vulkan-loader.hash b/package/vulkan-loader/vulkan-loader.hash new file mode 100644 index 00000000000..e09ecda8a9d --- /dev/null +++ b/package/vulkan-loader/vulkan-loader.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 3bbaa5ee64058a89949eb777de66ce94bfe3141892514172cfc9451c756802d5 vulkan-loader-1.3.262.tar.gz +sha256 43c0a37e6a0fa7ff3c843b3ec5a4fac84b712558ddac103fbd4c1649662a9ece LICENSE.txt diff --git a/package/vulkan-loader/vulkan-loader.mk b/package/vulkan-loader/vulkan-loader.mk new file mode 100644 index 00000000000..b1545a49724 --- /dev/null +++ b/package/vulkan-loader/vulkan-loader.mk @@ -0,0 +1,48 @@ +################################################################################ +# +# vulkan-loader +# +################################################################################ + +VULKAN_LOADER_VERSION = $(VULKAN_HEADERS_VERSION) +VULKAN_LOADER_SITE = $(call github,KhronosGroup,Vulkan-Loader,v$(VULKAN_LOADER_VERSION)) +VULKAN_LOADER_LICENSE = Apache-2.0 +VULKAN_LOADER_LICENSE_FILES = LICENSE.txt +VULKAN_LOADER_INSTALL_STAGING = YES + +VULKAN_LOADER_DEPENDENCIES = host-pkgconf vulkan-headers + +VULKAN_LOADER_CONF_OPTS += \ + -DASSEMBLER_WORKS=FALSE \ + -DBUILD_WSI_SCREEN_QNX_SUPPORT=OFF \ + -DLOADER_CODEGEN=OFF + +ifeq ($(BR2_PACKAGE_DIRECTFB),y) +VULKAN_LOADER_DEPENDENCIES += directfb +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=ON +else +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBXCB),y) +VULKAN_LOADER_DEPENDENCIES += libxcb +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=ON +else +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XCB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBX11)$(BR2_PACKAGE_XLIB_LIBXRANDR),yy) +VULKAN_LOADER_DEPENDENCIES += xlib_libX11 xlib_libXrandr +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XLIB_SUPPORT=ON +else +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_XLIB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +VULKAN_LOADER_DEPENDENCIES += wayland +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=ON +else +VULKAN_LOADER_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/vulkan-tools/Config.in b/package/vulkan-tools/Config.in new file mode 100644 index 00000000000..54fa539dabf --- /dev/null +++ b/package/vulkan-tools/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_VULKAN_TOOLS + bool "vulkan-tools" + depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader + depends on !BR2_STATIC_LIBS # vullan-loader + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader + select BR2_PACKAGE_VULKAN_HEADERS + select BR2_PACKAGE_VULKAN_LOADER + + help + The Khronos official Vulkan Tools and Utilities. + + https://github.com/KhronosGroup/Vulkan-Tools + +comment "vulkan-tools needs a toolchain w/ C++, dynamic library, threads, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/vulkan-tools/vulkan-tools.hash b/package/vulkan-tools/vulkan-tools.hash new file mode 100644 index 00000000000..24c06977840 --- /dev/null +++ b/package/vulkan-tools/vulkan-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8c77d02694d0516ae2ba3f3718745647e87e788ef93faabb2e3674ff32608010 vulkan-tools-1.3.262.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/vulkan-tools/vulkan-tools.mk b/package/vulkan-tools/vulkan-tools.mk new file mode 100644 index 00000000000..68f7c1c04d9 --- /dev/null +++ b/package/vulkan-tools/vulkan-tools.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# vulkan-tools +# +################################################################################ + +VULKAN_TOOLS_VERSION = $(VULKAN_HEADERS_VERSION) +VULKAN_TOOLS_SITE = $(call github,KhronosGroup,Vulkan-Tools,v$(VULKAN_TOOLS_VERSION)) +VULKAN_TOOLS_LICENSE = Apache-2.0 +VULKAN_TOOLS_LICENSE_FILES = LICENSE.txt + +VULKAN_TOOLS_DEPENDENCIES = \ + vulkan-headers \ + vulkan-loader + +VULKAN_TOOLS_CONF_OPTS += \ + -DBUILD_CUBE=OFF \ + -DBUILD_ICD=OFF \ + -DBUILD_VULKANINFO=ON \ + -DINSTALL_ICD=OFF + +ifeq ($(BR2_PACKAGE_DIRECTFB),y) +VULKAN_TOOLS_DEPENDENCIES += directfb +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=ON +else +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_DIRECTFB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBXCB),y) +VULKAN_TOOLS_DEPENDENCIES += libxcb +VULKAN_TOOLS_CONF_OPTS += \ + -DBUILD_WSI_XCB_SUPPORT=ON \ + -DBUILD_WSI_XLIB_SUPPORT=ON +else +VULKAN_TOOLS_CONF_OPTS += \ + -DBUILD_WSI_XCB_SUPPORT=OFF \ + -DBUILD_WSI_XLIB_SUPPORT=OFF +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +VULKAN_TOOLS_DEPENDENCIES += wayland +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=ON +else +VULKAN_TOOLS_CONF_OPTS += -DBUILD_WSI_WAYLAND_SUPPORT=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/waf/waf.hash b/package/waf/waf.hash index c8d464ebfbf..1ad535febb4 100644 --- a/package/waf/waf.hash +++ b/package/waf/waf.hash @@ -1,7 +1,7 @@ # Locally computed -sha1 9cc6db88ecda57067024f368722ecbf48a3bba1a waf-2.0.24 -sha256 93909bca823a675f9f40af7c65b24887c3a3c0efdf411ff1978ba827194bdeb0 waf-2.0.24 +sha1 e310e29a44f23f80591f2aa6c2d4c30e5f1a26a8 waf-2.0.26 +sha256 dcec3e179f9c33a66544f1b3d7d91f20f6373530510fa6a858cddb6bfdcde14b waf-2.0.26 # The waf script also contains its license, but is renamed `waf` in the extract # step, so this is a synonym for the above, to check WAF_LICENSE -sha256 93909bca823a675f9f40af7c65b24887c3a3c0efdf411ff1978ba827194bdeb0 waf +sha256 dcec3e179f9c33a66544f1b3d7d91f20f6373530510fa6a858cddb6bfdcde14b waf diff --git a/package/waf/waf.mk b/package/waf/waf.mk index d98ab489ca5..bffa27a926c 100644 --- a/package/waf/waf.mk +++ b/package/waf/waf.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAF_VERSION = 2.0.24 +WAF_VERSION = 2.0.26 WAF_SOURCE = waf-$(WAF_VERSION) WAF_SITE = https://waf.io WAF_LICENSE = BSD-3-Clause diff --git a/package/wampcc/Config.in b/package/wampcc/Config.in index 92abc9cb25a..41919361136 100644 --- a/package/wampcc/Config.in +++ b/package/wampcc/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_WAMPCC depends on !BR2_STATIC_LIBS # libuv depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future select BR2_PACKAGE_LIBUV select BR2_PACKAGE_JANSSON @@ -16,12 +17,13 @@ config BR2_PACKAGE_WAMPCC https://github.com/darrenjs/wampcc -comment "wampcc needs a toolchain w/ C++, NPTL, dynamic library" +comment "wampcc needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 comment "wampcc needs a toolchain not affected by GCC bug 64735" depends on BR2_USE_MMU diff --git a/package/watchdog/watchdog.mk b/package/watchdog/watchdog.mk index 2699fb474f7..c5066ad5b1c 100644 --- a/package/watchdog/watchdog.mk +++ b/package/watchdog/watchdog.mk @@ -6,6 +6,7 @@ WATCHDOG_VERSION = 5.16 WATCHDOG_SITE = http://downloads.sourceforge.net/sourceforge/watchdog +WATCHDOG_SELINUX_MODULES = watchdog WATCHDOG_LICENSE = GPL-2.0+ WATCHDOG_LICENSE_FILES = COPYING # By default installs binaries in /usr/sbin/, but we want them in diff --git a/package/watchdogd/Config.in b/package/watchdogd/Config.in index ca5933848d7..0aeaad165f8 100644 --- a/package/watchdogd/Config.in +++ b/package/watchdogd/Config.in @@ -27,32 +27,38 @@ config BR2_PACKAGE_WATCHDOGD_TEST_SUITE They can be used to verify correct operation of watchdogd and the kernel watchdog driver. -config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL - int "Generic script monitor poll interval (sec)" - default "300" +config BR2_PACKAGE_WATCHDOGD_GENERIC + bool "Generic script monitor" + default y if BR2_PACKAGE_WATCHDOGD_GENERIC_POLL_WRAP # legacy 2024.02 help - Poll interval for generic script monitor, in seconds. A value - of zero (0) disables the monitor. + Enable generic script monitor. -config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL - int "CPU load average monitor poll interval (sec)" - default "300" +config BR2_PACKAGE_WATCHDOGD_LOADAVG + bool "CPU load average monitor" + default y if BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL_WRAP # legacy 2024.02 help - Poll interval for CPU load average monitor, in seconds. A - value of zero (0) disables the monitor. + Enable CPU load average monitor. -config BR2_PACKAGE_WATCHDOGD_FILENR_POLL - int "File descriptor leak monitor poll interval (sec)" - default "300" +config BR2_PACKAGE_WATCHDOGD_FILENR + bool "File descriptor leak monitor" + default y if BR2_PACKAGE_WATCHDOGD_FILENR_POLL_WRAP # legacy 2024.02 help - Poll interval for file descriptor leak monitor, in seconds. A - value of zero (0) disables the monitor. + Enable file descriptor leak monitor. -config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL - int "Memory leak monitor poll interval (sec)" - default "300" +config BR2_PACKAGE_WATCHDOGD_MEMINFO + bool "Memory leak monitor" + default y if BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL_WRAP # legacy 2024.02 help - Poll interval for memory leak monitor, in seconds. A value of - zero (0) disables the monitor. + Enable memory leak monitor. + +config BR2_PACKAGE_WATCHDOGD_FSMON + bool "File system monitor" + help + Enable file system monitor. + +config BR2_PACKAGE_WATCHDOGD_TEMPMON + bool "Temperature monitor" + help + Enable temperature monitor. endif diff --git a/package/watchdogd/watchdogd.hash b/package/watchdogd/watchdogd.hash index 4ff1a3485b9..0c228666bdd 100644 --- a/package/watchdogd/watchdogd.hash +++ b/package/watchdogd/watchdogd.hash @@ -1,5 +1,5 @@ # Upstream .sha256 from GitHub -sha256 33ec4edc8cb4ada7a4d8324a27d897d33aae5e83257ed64d3d37508825c11237 watchdogd-3.5.tar.gz +sha256 7f38bc691353a51fc6feb2ccab60417c0284dd3f4d55c50d8b1781fda70d8101 watchdogd-4.0.tar.gz # Locally calculated -sha256 fd685e20931174308c45a26418a7ce34d66704c4e4b92ab1d8299deb255cd676 LICENSE +sha256 e233c56d807c74c67f2eff47ad03c216144cdd374d8d7578b996c28c260eadda LICENSE diff --git a/package/watchdogd/watchdogd.mk b/package/watchdogd/watchdogd.mk index ea033b4e715..189efc81d4b 100644 --- a/package/watchdogd/watchdogd.mk +++ b/package/watchdogd/watchdogd.mk @@ -4,44 +4,60 @@ # ################################################################################ -WATCHDOGD_VERSION = 3.5 +WATCHDOGD_VERSION = 4.0 WATCHDOGD_SITE = https://github.com/troglobit/watchdogd/releases/download/$(WATCHDOGD_VERSION) WATCHDOGD_LICENSE = ISC WATCHDOGD_LICENSE_FILES = LICENSE WATCHDOGD_CPE_ID_VENDOR = troglobit WATCHDOGD_INSTALL_STAGING = YES WATCHDOGD_DEPENDENCIES = host-pkgconf libconfuse libite libuev -WATCHDOGD_CONF_OPTS = --disable-compat --disable-examples --disable-test-mode WATCHDOGD_SELINUX_MODULES = watchdog +WATCHDOGD_CONF_OPTS = \ + --disable-compat \ + --disable-examples \ + --disable-test-mode + ifneq ($(BR2_PACKAGE_WATCHDOGD_TEST_SUITE),y) WATCHDOGD_CONF_OPTS += --disable-builtin-tests else WATCHDOGD_CONF_OPTS += --enable-builtin-tests endif -ifeq ($(BR2_PACKAGE_WATCHDOGD_GENERIC_POLL),0) +ifneq ($(BR2_PACKAGE_WATCHDOGD_GENERIC),y) WATCHDOGD_CONF_OPTS += --without-generic else -WATCHDOGD_CONF_OPTS += --with-generic=$(BR2_PACKAGE_WATCHDOGD_GENERIC_POLL) +WATCHDOGD_CONF_OPTS += --with-generic endif -ifeq ($(BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL),0) +ifneq ($(BR2_PACKAGE_WATCHDOGD_LOADAVG),y) WATCHDOGD_CONF_OPTS += --without-loadavg else -WATCHDOGD_CONF_OPTS += --with-loadavg=$(BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL) +WATCHDOGD_CONF_OPTS += --with-loadavg endif -ifeq ($(BR2_PACKAGE_WATCHDOGD_FILENR_POLL),0) +ifneq ($(BR2_PACKAGE_WATCHDOGD_FILENR),y) WATCHDOGD_CONF_OPTS += --without-filenr else -WATCHDOGD_CONF_OPTS += --with-filenr=$(BR2_PACKAGE_WATCHDOGD_FILENR_POLL) +WATCHDOGD_CONF_OPTS += --with-filenr endif -ifeq ($(BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL),0) +ifneq ($(BR2_PACKAGE_WATCHDOGD_MEMINFO),y) WATCHDOGD_CONF_OPTS += --without-meminfo else -WATCHDOGD_CONF_OPTS += --with-meminfo=$(BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL) +WATCHDOGD_CONF_OPTS += --with-meminfo +endif + +ifneq ($(BR2_PACKAGE_WATCHDOGD_FSMON),y) +WATCHDOGD_CONF_OPTS += --without-fsmon +else +WATCHDOGD_CONF_OPTS += --with-fsmon +endif + +ifneq ($(BR2_PACKAGE_WATCHDOGD_TEMPMON),y) +WATCHDOGD_CONF_OPTS += --without-tempmon +else +WATCHDOGD_CONF_OPTS += --with-tempmon endif define WATCHDOGD_INSTALL_INIT_SYSV diff --git a/package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch b/package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch deleted file mode 100644 index 95f54e4b7ff..00000000000 --- a/package/wavemon/0001-iw_if.h-don-t-include-linux-if.h.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4ac1482bb40376e47805c3737dfed60abb1dd3b4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 22 Dec 2021 00:39:35 +0100 -Subject: [PATCH] iw_if.h: don't include linux/if.h (#109) - -Don't include linux/if.h to avoid the following build failure: - -In file included from iw_if.h:31:0, - from conf.c:19: -/home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h: At top level: -/home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/if.h:143:8: error: redefinition of 'struct ifmap' - struct ifmap { - ^ -In file included from iw_if.h:26:0, - from conf.c:19: -/home/buildroot/autobuild/instance-3/output-1/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/net/if.h:111:8: note: originally defined here - struct ifmap - ^ - -Fixes: - - http://autobuild.buildroot.org/results/a6ee162cf04b70b144b54e1ca4b7b2421071c50c - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/uoaerg/wavemon/commit/4ac1482bb40376e47805c3737dfed60abb1dd3b4] ---- - iw_if.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/iw_if.h b/iw_if.h -index 9e7fa89..6607e0b 100644 ---- a/iw_if.h -+++ b/iw_if.h -@@ -28,7 +28,6 @@ - #include - #include - #include --#include - - /* Definitions from linux/ieee80211.h (not necessarily part of distro headers) */ - #define WLAN_CAPABILITY_ESS (1<<0) diff --git a/package/wavemon/wavemon.hash b/package/wavemon/wavemon.hash index 7c685f65009..342f2f7d910 100644 --- a/package/wavemon/wavemon.hash +++ b/package/wavemon/wavemon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e7e4167292136ca7ff12ddeb880904c10f33e97620ea6aa5f7838e859fdb40ed wavemon-0.9.4.tar.gz +sha256 f84c55a40b470f2b98908d20cd0b38ffef6f587daed23b50281c9592df3331c6 wavemon-0.9.5.tar.gz sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE diff --git a/package/wavemon/wavemon.mk b/package/wavemon/wavemon.mk index 50e3fd275e4..74917e8392c 100644 --- a/package/wavemon/wavemon.mk +++ b/package/wavemon/wavemon.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAVEMON_VERSION = 0.9.4 +WAVEMON_VERSION = 0.9.5 WAVEMON_SITE = $(call github,uoaerg,wavemon,v$(WAVEMON_VERSION)) WAVEMON_LICENSE = GPL-3.0+ WAVEMON_LICENSE_FILES = LICENSE diff --git a/package/wavpack/wavpack.hash b/package/wavpack/wavpack.hash index 021703df74d..2a2317a86cd 100644 --- a/package/wavpack/wavpack.hash +++ b/package/wavpack/wavpack.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 ef749d98df46925bc2916993e601cc7ee9114d99653e63e0e304f031ba73b8e6 wavpack-5.5.0.tar.xz +sha256 af8035f457509c3d338b895875228a9b81de276c88c79bb2d3e31d9b605da9a9 wavpack-5.6.0.tar.xz sha256 275d65ec11a78d552d078b9c26d950e3075892bca895a415ceaaec33bcfabff9 COPYING diff --git a/package/wavpack/wavpack.mk b/package/wavpack/wavpack.mk index a3d952e29b0..b393a751974 100644 --- a/package/wavpack/wavpack.mk +++ b/package/wavpack/wavpack.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAVPACK_VERSION = 5.5.0 +WAVPACK_VERSION = 5.6.0 WAVPACK_SITE = \ https://github.com/dbry/WavPack/releases/download/$(WAVPACK_VERSION) WAVPACK_SOURCE = wavpack-$(WAVPACK_VERSION).tar.xz diff --git a/package/wayland-protocols/wayland-protocols.hash b/package/wayland-protocols/wayland-protocols.hash index 8884babbc04..d039cd6fba2 100644 --- a/package/wayland-protocols/wayland-protocols.hash +++ b/package/wayland-protocols/wayland-protocols.hash @@ -1,4 +1,4 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2022-November/042490.html -sha256 c7659fb6bf14905e68ef605f898de60d1c066bf66dbea92798573dddec1535b6 wayland-protocols-1.28.tar.xz -sha512 092454c6a7e5cc47729de49e9061fb91dfdc5610859e17c495642806ca14dcfb3850a5d3a7459ddb70b2adb08d2590d4b0f92c3a97600e48598682d59adb102f wayland-protocols-1.28.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2023-July/042836.html +sha256 7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11 wayland-protocols-1.32.tar.xz +sha512 90bbd52daf342b98823ddeed04e349ae242d2eaf925ab8d603cceb36c980c83b5681bb890961e0d49584cb5c2e60a33abf8821770c6ab87956383630bd5b7966 wayland-protocols-1.32.tar.xz sha256 f1a2b233e8a9a71c40f4aa885be08a0842ac85bb8588703c1dd7e6e6502e3124 COPYING diff --git a/package/wayland-protocols/wayland-protocols.mk b/package/wayland-protocols/wayland-protocols.mk index 830136ce06c..2cfaa830e58 100644 --- a/package/wayland-protocols/wayland-protocols.mk +++ b/package/wayland-protocols/wayland-protocols.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_PROTOCOLS_VERSION = 1.28 +WAYLAND_PROTOCOLS_VERSION = 1.32 WAYLAND_PROTOCOLS_SITE = https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/$(WAYLAND_PROTOCOLS_VERSION)/downloads WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz WAYLAND_PROTOCOLS_LICENSE = MIT diff --git a/package/wayland-utils/0001-wayland-info-Fix-build-without-libdrm.patch b/package/wayland-utils/0001-wayland-info-Fix-build-without-libdrm.patch deleted file mode 100644 index 2d4591f785a..00000000000 --- a/package/wayland-utils/0001-wayland-info-Fix-build-without-libdrm.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3657a11d45f133776b50c716d99f37965eb07ed1 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan -Date: Wed, 14 Sep 2022 09:07:10 +0200 -Subject: [PATCH] wayland-info: Fix build without libdrm - -wayland-info can optionally use libdrm to provide a description of the -dmabuf format modifiers. - -When not using libdrm however, the build fails because "dev_t" is not -defined. - -The definition of "dev_t" comes from which is included -from , which is not included without libdrm support, hence the -build failure. - -Simply include unconditionally to make sure "dev_t" is -defined regardless of libdrm support, to fix the build failure. - -Closes: https://gitlab.freedesktop.org/wayland/wayland-utils/-/issues/6 -Signed-off-by: Olivier Fourdan -Fixes: 240cb739 - "Add support for linux_dmabuf version 4" -Reviewed-by: Simon Ser -Reviewed-by: Pekka Paalanen -(cherry picked from commit baa65ba9f62e6a05c32b9202b524158a21f24245) -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -3657a11d45f133776b50c716d99f37965eb07ed1] ---- - wayland-info/wayland-info.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/wayland-info/wayland-info.c b/wayland-info/wayland-info.c -index 53cd04b..98ff205 100644 ---- a/wayland-info/wayland-info.c -+++ b/wayland-info/wayland-info.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - - #include - #if HAVE_HUMAN_FORMAT_MODIFIER --- -2.34.1 - diff --git a/package/wayland-utils/wayland-utils.hash b/package/wayland-utils/wayland-utils.hash index c9b16e05350..fd14b986bc9 100644 --- a/package/wayland-utils/wayland-utils.hash +++ b/package/wayland-utils/wayland-utils.hash @@ -1,6 +1,4 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2022-September/042399.html -md5 1a398cbb75c3ac1ac231b2a8f84bd6d6 wayland-utils-1.1.0.tar.xz -sha1 38e5c37f5b35b86a84289659b4b0796811eb66cd wayland-utils-1.1.0.tar.xz -sha256 9e685863025b4feade36d53bbc8e31b43e26498be743dea84c7a84912959410a wayland-utils-1.1.0.tar.xz -sha512 5b841ecb9b534a9b353e104dda9410961495495380fa65e32ef40855750609b03942a87c2fd66339aab57c05b3b8699e2bee055cfd44151f9609a5f6c53349df wayland-utils-1.1.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2023-June/042736.html +sha256 d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4 wayland-utils-1.2.0.tar.xz +sha512 dc69a2d88215b54486954bd9f6e91cd158b0c0b94dccd2c863477cf6b1e83a83db4466f0718aa7d2be4de8d06484c0672c79318bc5c2b1f082f893fe795c2c00 wayland-utils-1.2.0.tar.xz sha256 1eba39c11640014a5841dd3017e5245fc31f47e1cf43a3287a286dd6a8de8a1a COPYING diff --git a/package/wayland-utils/wayland-utils.mk b/package/wayland-utils/wayland-utils.mk index bc648a69040..efeb7e57a82 100644 --- a/package/wayland-utils/wayland-utils.mk +++ b/package/wayland-utils/wayland-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_UTILS_VERSION = 1.1.0 +WAYLAND_UTILS_VERSION = 1.2.0 WAYLAND_UTILS_SITE = https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/$(WAYLAND_UTILS_VERSION)/downloads WAYLAND_UTILS_SOURCE = wayland-utils-$(WAYLAND_UTILS_VERSION).tar.xz WAYLAND_UTILS_LICENSE = MIT diff --git a/package/wayland/wayland.hash b/package/wayland/wayland.hash index 1c7fe705e16..5da527e3188 100644 --- a/package/wayland/wayland.hash +++ b/package/wayland/wayland.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2022-June/042268.html -sha256 6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac wayland-1.21.0.tar.xz -sha512 5575216d30fdf5c63caa6bcad071e15f2a4f3acb12df776806073f65db37a50b5b5b3cc7957c5497636f4ac01893e2eaab26e453ded44b287acde01762f5fdc3 wayland-1.21.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2023-April/042647.html +sha256 1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842 wayland-1.22.0.tar.xz +sha512 fb1974efc8433e97254eb83fe28974198f2b4d8246418eb3d34ce657055461e0c97bc06dd52e5066ae91bbe05bac611dc49a0937ba226ac6388d5a47241efb12 wayland-1.22.0.tar.xz # Locally calculated sha256 6eefcb023622a463168a5c20add95fd24a38c7482622a9254a23b99b7c153061 COPYING diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk index 0a6e5e9ec77..1a764d55802 100644 --- a/package/wayland/wayland.mk +++ b/package/wayland/wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_VERSION = 1.21.0 +WAYLAND_VERSION = 1.22.0 WAYLAND_SITE = https://gitlab.freedesktop.org/wayland/wayland/-/releases/$(WAYLAND_VERSION)/downloads WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz WAYLAND_LICENSE = MIT diff --git a/package/waylandpp/0001-add-missing-cstdint-include.patch b/package/waylandpp/0001-add-missing-cstdint-include.patch new file mode 100644 index 00000000000..13b0ce49ad4 --- /dev/null +++ b/package/waylandpp/0001-add-missing-cstdint-include.patch @@ -0,0 +1,61 @@ +From 3c441910aa25f57df2a4db55f75f5d99cea86620 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sun, 8 Jan 2023 18:24:53 +0000 +Subject: [PATCH] add missing include + +Upcoming `gcc-13` made `` leaner and does not include `` +implicitly anymore. As a result build fails without the change as: + + [ 2%] Building CXX object CMakeFiles/wayland-scanner++.dir/scanner/scanner.cpp.o + scanner/scanner.cpp:378:3: error: 'uint32_t' does not name a type + 378 | uint32_t width = 0; + | ^~~~~~~~ + +Upstream: https://github.com/NilsBrause/waylandpp/pull/71 + +Signed-off-by: Bernd Kuhls +--- + include/wayland-client.hpp | 1 + + scanner/scanner.cpp | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/include/wayland-client.hpp b/include/wayland-client.hpp +index a3f782b..4598a0e 100644 +--- a/include/wayland-client.hpp ++++ b/include/wayland-client.hpp +@@ -29,6 +29,7 @@ + /** \file */ + + #include ++#include + #include + #include + #include +diff --git a/scanner/scanner.cpp b/scanner/scanner.cpp +index bebd71e..37cf7ff 100644 +--- a/scanner/scanner.cpp ++++ b/scanner/scanner.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + + #include "pugixml.hpp" +@@ -1106,6 +1107,7 @@ int main(int argc, char *argv[]) + wayland_hpp << "#pragma once" << std::endl + << std::endl + << "#include " << std::endl ++ << "#include " << std::endl + << "#include " << std::endl + << "#include " << std::endl + << "#include " << std::endl +@@ -1125,6 +1127,7 @@ int main(int argc, char *argv[]) + wayland_server_hpp << "#pragma once" << std::endl + << std::endl + << "#include " << std::endl ++ << "#include " << std::endl + << "#include " << std::endl + << "#include " << std::endl + << "#include " << std::endl diff --git a/package/waylandpp/waylandpp.hash b/package/waylandpp/waylandpp.hash index 1b806af9b02..a3eb5379afb 100644 --- a/package/waylandpp/waylandpp.hash +++ b/package/waylandpp/waylandpp.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 e7f486165d3568c3558b5c7099133aea4a285b82820eeafad329fc10271c654d waylandpp-0.2.8.tar.gz -sha256 8ff91f682a38f8a603b173222a60e8dc71754a79a522a316fb6b76ce138c542c LICENSE +sha256 b20b45917382c6b87e9380130c9a1a1c563da2f498de5830df12fbce326dd9f5 waylandpp-1.0.0.tar.gz +sha256 3eee5022ce84ead344e1c51b9d00c7f450f53003fe096fe460d66c616fe56782 LICENSE sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 scanner/gpl-3.0.txt diff --git a/package/waylandpp/waylandpp.mk b/package/waylandpp/waylandpp.mk index 45d9ccd5285..4a0d58ba505 100644 --- a/package/waylandpp/waylandpp.mk +++ b/package/waylandpp/waylandpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLANDPP_VERSION = 0.2.8 +WAYLANDPP_VERSION = 1.0.0 WAYLANDPP_SITE = $(call github,NilsBrause,waylandpp,$(WAYLANDPP_VERSION)) WAYLANDPP_LICENSE = MIT, GPL-3.0+ (wayland_scanner) WAYLANDPP_LICENSE_FILES = LICENSE scanner/gpl-3.0.txt diff --git a/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch new file mode 100644 index 00000000000..c9667fedbdd --- /dev/null +++ b/package/webkitgtk/0001-GTK-2.42.5-LowLevelInterpreter.cpp-339-21-error-t6-w.patch @@ -0,0 +1,39 @@ +From 3d5373575695b293b8559155431d0079a6153aff Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Mon, 5 Feb 2024 11:00:49 -0600 +Subject: [PATCH] =?UTF-8?q?[GTK]=20[2.42.5]=20LowLevelInterpreter.cpp:339:?= + =?UTF-8?q?21:=20error:=20=E2=80=98t6=E2=80=99=20was=20not=20declared=20in?= + =?UTF-8?q?=20this=20scope=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid?= + =?UTF-8?q?=3D268739?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Unreviewed build fix. Seems a backport went badly, and we didn't notice +because the code is architecture-specific. + +* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: +(JSC::CLoop::execute): + +Upstream: https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff +Signed-off-by: Peter Korsgaard +--- + Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp +index 5064ead6cd2e..9a2e2653b121 100644 +--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp ++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp +@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, + UNUSED_VARIABLE(t2); + UNUSED_VARIABLE(t3); + UNUSED_VARIABLE(t5); +- UNUSED_VARIABLE(t6); +- UNUSED_VARIABLE(t7); + + struct StackPointerScope { + StackPointerScope(CLoopStack& stack) +-- +2.39.2 + diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index cafe497491f..ace1b8739f9 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -16,12 +16,12 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU @@ -31,9 +31,9 @@ config BR2_PACKAGE_WEBKITGTK depends on !BR2_BINFMT_FLAT # icu depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 - depends on BR2_USE_WCHAR # icu, libsoup + depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on BR2_USE_WCHAR # icu, libsoup3 depends on BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO @@ -44,7 +44,7 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBSECRET - select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_LIBSOUP3 select BR2_PACKAGE_LIBTASN1 select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBXSLT @@ -53,6 +53,7 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_WEBP select BR2_PACKAGE_WEBP_DEMUX select BR2_PACKAGE_WOFF2 + select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11 @@ -82,9 +83,9 @@ comment "sandboxing support needs a toolchain w/ headers >= 3.12" config BR2_PACKAGE_WEBKITGTK_HTTPS bool "HTTPS support" - depends on !BR2_STATIC_LIBS # libsoup -> glib-networking, gnutls + depends on !BR2_STATIC_LIBS # libsoup3 -> glib-networking, gnutls select BR2_PACKAGE_CA_CERTIFICATES # runtime - select BR2_PACKAGE_LIBSOUP_SSL + select BR2_PACKAGE_LIBSOUP3_SSL help Enable HTTPS protocol support. @@ -104,8 +105,7 @@ config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK - select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT - select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME select BR2_PACKAGE_GST1_PLUGINS_GOOD select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index c2512be9c6e..ac4799d4cf9 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,6 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.38.0.tar.xz.sums -md5 a69cd8fc05f7299458b4faf1bc99b875 webkitgtk-2.38.0.tar.xz -sha1 6dcb65b8dc56c52f086bfeecfca7920e9cc78348 webkitgtk-2.38.0.tar.xz -sha256 f9ce6375a3b6e1329b0b609f46921e2627dc7ad6224b37b967ab2ea643bc0fbd webkitgtk-2.38.0.tar.xz +# From https://www.webkitgtk.org/releases/webkitgtk-2.42.5.tar.xz.sums +sha1 c3ffb2beaac56f1089029f2254482f48d9e3db37 webkitgtk-2.42.5.tar.xz +sha256 b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749 webkitgtk-2.42.5.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index 336744954e1..075a36654f6 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.38.0 +WEBKITGTK_VERSION = 2.42.5 WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -13,9 +13,12 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-APPLE \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk -WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf \ - enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ +WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ + enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup3 \ libtasn1 libxml2 libxslt openjpeg sqlite webp woff2 + +WEBKITGTK_CMAKE_BACKEND = ninja + WEBKITGTK_CONF_OPTS = \ -DENABLE_API_TESTS=OFF \ -DENABLE_DOCUMENTATION=OFF \ @@ -24,9 +27,9 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_SPELLCHECK=ON \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ + -DUSE_AVIF=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_OPENJPEG=ON \ - -DUSE_SOUP2=ON \ -DUSE_WOFF2=ON ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) @@ -70,6 +73,13 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF endif +ifeq ($(BR2_PACKAGE_LIBJXL),y) +WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON +WEBKITGTK_DEPENDENCIES += libjxl +else +WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=OFF +endif + ifeq ($(BR2_PACKAGE_LIBMANETTE),y) WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=ON WEBKITGTK_DEPENDENCIES += libmanette @@ -77,35 +87,41 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF endif -# Only one target platform can be built, assume X11 > Wayland +ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) +WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=ON +WEBKITGTK_DEPENDENCIES += libgles +else +WEBKITGTK_CONF_OPTS += -DUSE_OPENGL_OR_ES=OFF +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y) +WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON +WEBKITGTK_DEPENDENCIES += libgbm +else +WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF +endif -# GTK3-X11 target gives OpenGL from newer libgtk3 versions -# Consider this better than EGL + maybe GLESv2 since both can't be built -# 2D CANVAS acceleration requires OpenGL proper with cairo-gl ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) -WEBKITGTK_CONF_OPTS += \ - -DENABLE_GLES2=OFF \ - -DENABLE_X11_TARGET=ON +WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt -else # !X11 -# GTK3-BROADWAY/WAYLAND needs at least EGL -WEBKITGTK_DEPENDENCIES += libegl -# GLESv2 support is optional though -ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) -WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=ON -WEBKITGTK_DEPENDENCIES += libgles else -# Disable general OpenGL (shading) if there's no GLESv2 -WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF +WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF endif -# We must explicitly state the wayland target + ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON +WEBKITGTK_DEPENDENCIES += libegl +else +WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF endif + +# If only the GTK Broadway backend is enabled, EGL is still needed. +ifeq ($(BR2_PACKAGE_LIBGTK3_X11):$(BR2_PACKAGE_LIBGTK3_WAYLAND):$(BR2_PACKAGE_LIBGTK3_BROADWAY),::y) +WEBKITGTK_DEPENDENCIES += libegl endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND)$(BR2_PACKAGE_WPEBACKEND_FDO),yy) +ifeq ($(BR2_PACKAGE_WPEBACKEND_FDO),y) WEBKITGTK_CONF_OPTS += -DUSE_WPE_RENDERER=ON WEBKITGTK_DEPENDENCIES += wpebackend-fdo else diff --git a/package/webp/webp.hash b/package/webp/webp.hash index 969e4cd3d7b..adc543059b6 100644 --- a/package/webp/webp.hash +++ b/package/webp/webp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df libwebp-1.2.4.tar.gz +sha256 2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4 libwebp-1.3.2.tar.gz sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf COPYING diff --git a/package/webp/webp.mk b/package/webp/webp.mk index 38a1564a637..33cb4bd5072 100644 --- a/package/webp/webp.mk +++ b/package/webp/webp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBP_VERSION = 1.2.4 +WEBP_VERSION = 1.3.2 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp WEBP_LICENSE = BSD-3-Clause diff --git a/package/webrtc-audio-processing/0001-Proper-detection-of-cxxabi.h-and-execinfo.h.patch b/package/webrtc-audio-processing/0001-Proper-detection-of-cxxabi.h-and-execinfo.h.patch deleted file mode 100644 index a0332db8e78..00000000000 --- a/package/webrtc-audio-processing/0001-Proper-detection-of-cxxabi.h-and-execinfo.h.patch +++ /dev/null @@ -1,63 +0,0 @@ -From b7a166acaddc4c78afa2b653e25114d9114699f3 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 6 Aug 2016 11:24:50 +0200 -Subject: [PATCH] Proper detection of cxxabi.h and execinfo.h - -The current code in webrtc/base/checks.cc assumes that if __GLIBCXX__ is -defined and __UCLIBC__ is not defined, then both cxxabi.h and execinfo.h -will be available. - -Unfortunately, this is not correct with the musl C library: - - - It defines __GLIBCXX__ - - It does not define __UCLIBC__ (it's not uClibc after all!) - - But it also doesn't provide execinfo.h - -Therefore, in order to make things work properly, we switch to proper -autoconf checks for cxxabi.h and execinfo.h, and only use the backtrace -functionality if both are provided. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 ++ - webrtc/base/checks.cc | 4 ++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index acbb3e2..ff4c752 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -45,6 +45,8 @@ AC_SUBST(GNUSTL_CFLAGS) - # Borrowed from gst-plugins-bad - AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-]) - -+AC_CHECK_HEADERS([cxxabi.h execinfo.h]) -+ - # Based on gst-plugins-bad configure.ac and defines in - # /build/config/BUILDCONFIG.gn and - # webrtc/BUILD.gn -diff --git a/webrtc/base/checks.cc b/webrtc/base/checks.cc -index 49a31f2..05d23a6 100644 ---- a/webrtc/base/checks.cc -+++ b/webrtc/base/checks.cc -@@ -16,7 +16,7 @@ - #include - #include - --#if defined(__GLIBCXX__) && !defined(__UCLIBC__) -+#if defined(HAVE_CXX_ABI_H) && defined(HAVE_EXECINFO_H) - #include - #include - #endif -@@ -55,7 +55,7 @@ void PrintError(const char* format, ...) { - // to get usable symbols on Linux. This is copied from V8. Chromium has a more - // advanced stace trace system; also more difficult to copy. - void DumpBacktrace() { --#if defined(__GLIBCXX__) && !defined(__UCLIBC__) -+#if defined(HAVE_CXX_ABI_H) && defined(HAVE_EXECINFO_H) - void* trace[100]; - int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); - char** symbols = backtrace_symbols(trace, size); --- -2.7.4 - diff --git a/package/webrtc-audio-processing/Config.in b/package/webrtc-audio-processing/Config.in index 64138269b55..cb3b21367b7 100644 --- a/package/webrtc-audio-processing/Config.in +++ b/package/webrtc-audio-processing/Config.in @@ -5,17 +5,21 @@ config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING bool "webrtc-audio-processing" depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # libabseil-cpp # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_STATIC_LIBS # libabseil-cpp + select BR2_PACKAGE_LIBABSEIL_CPP help AudioProcessing library based on Google's implementation of WebRTC. http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/ -comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, gcc >= 4.8" +comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 8" depends on BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 diff --git a/package/webrtc-audio-processing/webrtc-audio-processing.hash b/package/webrtc-audio-processing/webrtc-audio-processing.hash index 18b8ea6410a..eb2229360cb 100644 --- a/package/webrtc-audio-processing/webrtc-audio-processing.hash +++ b/package/webrtc-audio-processing/webrtc-audio-processing.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf webrtc-audio-processing-0.3.1.tar.xz +sha256 2365e93e778d7b61b5d6e02d21c47d97222e9c7deff9e1d0838ad6ec2e86f1b9 webrtc-audio-processing-1.3.tar.xz sha256 9b79539028e216e813e152d45f5c1ed5fdd0554426ad50270fb03134e7082dac COPYING diff --git a/package/webrtc-audio-processing/webrtc-audio-processing.mk b/package/webrtc-audio-processing/webrtc-audio-processing.mk index ff84a802d1a..8aa5ee46b8f 100644 --- a/package/webrtc-audio-processing/webrtc-audio-processing.mk +++ b/package/webrtc-audio-processing/webrtc-audio-processing.mk @@ -4,18 +4,12 @@ # ################################################################################ -WEBRTC_AUDIO_PROCESSING_VERSION = 0.3.1 +WEBRTC_AUDIO_PROCESSING_VERSION = 1.3 WEBRTC_AUDIO_PROCESSING_SOURCE = webrtc-audio-processing-$(WEBRTC_AUDIO_PROCESSING_VERSION).tar.xz WEBRTC_AUDIO_PROCESSING_SITE = http://freedesktop.org/software/pulseaudio/webrtc-audio-processing WEBRTC_AUDIO_PROCESSING_INSTALL_STAGING = YES WEBRTC_AUDIO_PROCESSING_LICENSE = BSD-3-Clause WEBRTC_AUDIO_PROCESSING_LICENSE_FILES = COPYING -WEBRTC_AUDIO_PROCESSING_DEPENDENCIES = host-pkgconf -# 0001-Proper-detection-of-cxxabi.h-and-execinfo.h.patch -WEBRTC_AUDIO_PROCESSING_AUTORECONF = YES +WEBRTC_AUDIO_PROCESSING_DEPENDENCIES = host-pkgconf libabseil-cpp -ifeq ($(BR2_SOFT_FLOAT),y) -WEBRTC_AUDIO_PROCESSING_CONF_OPTS += --with-ns-mode=fixed -endif - -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/websocketpp/0001-fix_cpp20_build.patch b/package/websocketpp/0001-fix_cpp20_build.patch new file mode 100644 index 00000000000..77b22920517 --- /dev/null +++ b/package/websocketpp/0001-fix_cpp20_build.patch @@ -0,0 +1,108 @@ +From 3197a520eb4c1e4754860441918a5930160373eb Mon Sep 17 00:00:00 2001 +From: Peter Thorson +Date: Tue, 29 Jun 2021 09:13:12 -0500 +Subject: [PATCH] [core] Remove the use of simple template ids as they have + been removed in c++20. + https://timsong-cpp.github.io/cppwp/n4861/diff.cpp17.class#2 references #991 + +Signed-off-by: Michael Nosthoff +Upstream: https://github.com/zaphoyd/websocketpp/commit/3197a520eb4c1e4754860441918a5930160373eb +--- + websocketpp/endpoint.hpp | 2 +- + websocketpp/logger/basic.hpp | 14 +++++++------- + websocketpp/roles/server_endpoint.hpp | 6 +++--- + 3 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/websocketpp/endpoint.hpp b/websocketpp/endpoint.hpp +index 825eaa46d..10f525689 100644 +--- a/websocketpp/endpoint.hpp ++++ b/websocketpp/endpoint.hpp +@@ -111,7 +111,7 @@ class endpoint : public config::transport_type, public config::endpoint_base { + + + /// Destructor +- ~endpoint() {} ++ ~endpoint() {} + + #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_ + // no copy constructor because endpoints are not copyable +diff --git a/websocketpp/logger/basic.hpp b/websocketpp/logger/basic.hpp +index 84514130e..4c9d83649 100644 +--- a/websocketpp/logger/basic.hpp ++++ b/websocketpp/logger/basic.hpp +@@ -58,33 +58,33 @@ namespace log { + template + class basic { + public: +- basic(channel_type_hint::value h = ++ basic(channel_type_hint::value h = + channel_type_hint::access) + : m_static_channels(0xffffffff) + , m_dynamic_channels(0) + , m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {} + +- basic(std::ostream * out) ++ basic(std::ostream * out) + : m_static_channels(0xffffffff) + , m_dynamic_channels(0) + , m_out(out) {} + +- basic(level c, channel_type_hint::value h = ++ basic(level c, channel_type_hint::value h = + channel_type_hint::access) + : m_static_channels(c) + , m_dynamic_channels(0) + , m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {} + +- basic(level c, std::ostream * out) ++ basic(level c, std::ostream * out) + : m_static_channels(c) + , m_dynamic_channels(0) + , m_out(out) {} + + /// Destructor +- ~basic() {} ++ ~basic() {} + + /// Copy constructor +- basic(basic const & other) ++ basic(basic const & other) + : m_static_channels(other.m_static_channels) + , m_dynamic_channels(other.m_dynamic_channels) + , m_out(other.m_out) +@@ -97,7 +97,7 @@ class basic { + + #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_ + /// Move constructor +- basic(basic && other) ++ basic(basic && other) + : m_static_channels(other.m_static_channels) + , m_dynamic_channels(other.m_dynamic_channels) + , m_out(other.m_out) +diff --git a/websocketpp/roles/server_endpoint.hpp b/websocketpp/roles/server_endpoint.hpp +index 4a5865eff..04fee18f9 100644 +--- a/websocketpp/roles/server_endpoint.hpp ++++ b/websocketpp/roles/server_endpoint.hpp +@@ -75,11 +75,11 @@ class server : public endpoint,config> { + } + + /// Destructor +- ~server() {} ++ ~server() {} + + #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_ + // no copy constructor because endpoints are not copyable +- server(server &) = delete; ++ server(server &) = delete; + + // no copy assignment operator because endpoints are not copyable + server & operator=(server const &) = delete; +@@ -87,7 +87,7 @@ class server : public endpoint,config> { + + #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_ + /// Move constructor +- server(server && o) : endpoint,config>(std::move(o)) {} ++ server(server && o) : endpoint,config>(std::move(o)) {} + + #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_ + // no move assignment operator because of const member variables diff --git a/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch b/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch deleted file mode 100644 index 927215380e5..00000000000 --- a/package/weston/0001-tests-Add-dependency-on-screenshooter-client-protocol.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2ac6b6b084a877adde64db7faff2ed22eb3ea97a Mon Sep 17 00:00:00 2001 -From: Daniel Stone -Date: Tue, 8 Feb 2022 22:39:42 +0000 -Subject: [PATCH] tests: Add dependency on screenshooter client protocol - -Given that the test-helper code relies on the screenshooter protocol, -make sure it's available for us to build, and the dependency ensures we -build in order. - -Fixes: #588 - -Signed-off-by: Daniel Stone - -[Retrieved from: -https://gitlab.freedesktop.org/wayland/weston/-/commit/2ac6b6b084a877adde64db7faff2ed22eb3ea97a] -Signed-off-by: Fabrice Fontaine ---- - tests/meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tests/meson.build b/tests/meson.build -index 2d464ddcc..222091cd1 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -29,8 +29,9 @@ lib_test_client = static_library( - 'weston-test-client-helper.c', - 'weston-test-fixture-compositor.c', - weston_test_client_protocol_h, -- weston_screenshooter_protocol_c, - weston_test_protocol_c, -+ weston_screenshooter_client_protocol_h, -+ weston_screenshooter_protocol_c, - viewporter_client_protocol_h, - viewporter_protocol_c, - 'color_util.h', --- -GitLab - diff --git a/package/weston/Config.in b/package/weston/Config.in index 3b4e932b7d1..385f712a408 100644 --- a/package/weston/Config.in +++ b/package/weston/Config.in @@ -18,6 +18,8 @@ config BR2_PACKAGE_WESTON select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_SEATD + select BR2_PACKAGE_SEATD_DAEMON if !BR2_PACKAGE_SYSTEMD_LOGIND # Runtime dependency select BR2_PACKAGE_XKEYBOARD_CONFIG select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL @@ -42,6 +44,15 @@ config BR2_PACKAGE_WESTON_DEFAULT_HEADLESS bool "headless" select BR2_PACKAGE_WESTON_HEADLESS +config BR2_PACKAGE_WESTON_DEFAULT_RDP + bool "rdp" + depends on BR2_USE_MMU # freerdp, libglib2 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_WCHAR # freerdp + depends on BR2_INSTALL_LIBSTDCPP # freerdp + depends on BR2_PACKAGE_XORG7 # freerdp-server + select BR2_PACKAGE_WESTON_RDP + config BR2_PACKAGE_WESTON_DEFAULT_WAYLAND bool "wayland (nested)" select BR2_PACKAGE_WESTON_WAYLAND @@ -60,6 +71,7 @@ config BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR string default "drm" if BR2_PACKAGE_WESTON_DEFAULT_DRM default "headless" if BR2_PACKAGE_WESTON_DEFAULT_HEADLESS + default "rdp" if BR2_PACKAGE_WESTON_DEFAULT_RDP default "wayland" if BR2_PACKAGE_WESTON_DEFAULT_WAYLAND default "x11" if BR2_PACKAGE_WESTON_DEFAULT_X11 @@ -73,7 +85,9 @@ config BR2_PACKAGE_WESTON_RDP depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_WCHAR # freerdp depends on BR2_INSTALL_LIBSTDCPP # freerdp + depends on BR2_PACKAGE_XORG7 # freerdp-server select BR2_PACKAGE_FREERDP + select BR2_PACKAGE_FREERDP_SERVER help This enables the RDP backend, which allows accessing weston through the network with any RDP-compliant client. @@ -87,10 +101,11 @@ config BR2_PACKAGE_WESTON_RDP /etc/freerdp/server/ so you may want to change them in a post-build script or a rootfs overlay. -comment "RDP compositor needs a toolchain w/ wchar, C++" +comment "RDP compositor needs a toolchain w/ wchar, C++, X.org" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP + depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_PACKAGE_XORG7 config BR2_PACKAGE_WESTON_HEADLESS bool "headless (testing) compositor" @@ -109,16 +124,29 @@ comment "X11 (nested) compositor needs X.org enabled" config BR2_PACKAGE_WESTON_XWAYLAND bool "XWayland support" - depends on BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_LIBEPOXY + depends on BR2_PACKAGE_XORG7 # xwayland + depends on BR2_USE_MMU # xwayland + depends on !BR2_STATIC_LIBS # xwayland + depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland + depends on !BR2_RISCV_32 # xwayland -> xlib_libxshmfence + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence select BR2_PACKAGE_CAIRO select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_CURSOR select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XWAYLAND comment "XWayland support needs libepoxy and X.org enabled" depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY +comment "XWayland support needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_RISCV_32 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + # Weston needs at least one shell; this can be one of the bundled ones, # below, of from a third-party package, which should then select this. config BR2_PACKAGE_WESTON_HAS_SHELL @@ -143,6 +171,22 @@ config BR2_PACKAGE_WESTON_SHELL_KIOSK default y select BR2_PACKAGE_WESTON_HAS_SHELL +config BR2_PACKAGE_WESTON_SCREENSHARE + bool "screenshare" + default y + +config BR2_PACKAGE_WESTON_SIMPLE_CLIENTS + bool "simple clients" + help + Simple clients includes application such as: + damage, dmabuf-feedback, dmabuf-egl, dmabuf-v4l, egl + + In the target filesystem, simple client program binaries are + prefixed with "weston-simple-". + + Note: Weston has two sets of clients. See also the weston + "demo clients" option. + config BR2_PACKAGE_WESTON_DEMO_CLIENTS bool "demo clients" depends on BR2_USE_MMU # pango @@ -157,6 +201,18 @@ config BR2_PACKAGE_WESTON_DEMO_CLIENTS help This enables the installation of Weston's demo clients. + Demo clients includes application such as: + clickdot, confine, content_protection, dnd, editor, + eventdemo, flower, fullscreen, image, multi-resource, + presentation-shm, resizor, scaler, smoke, stacking, + subsurfaces, tablet, transformed... + + In the target filesystem, demo client program binaries are + prefixed with "weston-". + + Note: Weston has two sets of clients. See also the weston + "simple clients" option. + comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 diff --git a/package/weston/weston.hash b/package/weston/weston.hash index d58ca1ef70b..0ecbaa4168b 100644 --- a/package/weston/weston.hash +++ b/package/weston/weston.hash @@ -1,4 +1,4 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2022-June/042260.html -sha256 8a9e52506a865a7410981b04f8341b89b84106db8531ab1f9fdd37b5dc034115 weston-10.0.1.tar.xz -sha512 688d843096a95b463161b98e85ca3443b31ba2ee49fc8d456a2780cc96f576e9d097054e9f361997a66e9cc8373cf29e406a742dae3884b3b50b26acf1710c8c weston-10.0.1.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2023-May/042725.html +sha256 b18591eab278bc191720f6c09158040b795e7118af1d5ddca6acd9a8e2039535 weston-12.0.1.tar.xz +sha512 3dcfa1a2a6b9a605d3ecd597bf7ac0f87b0fd1971845b6e5c44b5e34296943ac146dae6e1cfea9be14ad7a9a8b6d30dc765f9289ef80920d7c516ebba1ba4688 weston-12.0.1.tar.xz sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 COPYING diff --git a/package/weston/weston.mk b/package/weston/weston.mk index 5e714736402..b2d54b71b49 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -4,7 +4,7 @@ # ################################################################################ -WESTON_VERSION = 10.0.1 +WESTON_VERSION = 12.0.1 WESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/-/releases/$(WESTON_VERSION)/downloads WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT @@ -13,35 +13,28 @@ WESTON_CPE_ID_VENDOR = wayland WESTON_INSTALL_STAGING = YES WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \ - libxkbcommon pixman libpng udev cairo libinput libdrm + libxkbcommon pixman libpng udev cairo libinput libdrm seatd WESTON_CONF_OPTS = \ - -Dbackend-headless=false \ - -Dcolor-management-colord=false \ -Ddoc=false \ -Dremoting=false \ + -Dbackend-vnc=false \ + -Dlauncher-libseat=true \ -Dtools=calibrator,debug,info,terminal,touch-calibrator -# Uses VIDIOC_EXPBUF, only available from 3.8+ -ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y) -WESTON_CONF_OPTS += -Dsimple-clients=dmabuf-v4l -else -WESTON_CONF_OPTS += -Dsimple-clients= -endif - -ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_SYSTEMD),yy) -WESTON_CONF_OPTS += -Dlauncher-logind=true -WESTON_DEPENDENCIES += dbus systemd -else -WESTON_CONF_OPTS += -Dlauncher-logind=false -endif +ifeq ($(BR2_PACKAGE_WESTON_SIMPLE_CLIENTS),y) +# Note: some clients are conditional, see further for the others. +WESTON_SIMPLE_CLIENTS = \ + damage \ + im \ + shm \ + touch -ifeq ($(BR2_PACKAGE_SEATD),y) -WESTON_CONF_OPTS += -Dlauncher-libseat=true -WESTON_DEPENDENCIES += seatd -else -WESTON_CONF_OPTS += -Dlauncher-libseat=false +ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y) +# dmabuf-v4l uses VIDIOC_EXPBUF, only available from 3.8+ +WESTON_SIMPLE_CLIENTS += dmabuf-v4l endif +endif # BR2_PACKAGE_WESTON_SIMPLE_CLIENTS ifeq ($(BR2_PACKAGE_JPEG),y) WESTON_CONF_OPTS += -Dimage-jpeg=true @@ -57,35 +50,27 @@ else WESTON_CONF_OPTS += -Dimage-webp=false endif -# weston-launch must be u+s root in order to work properly -ifeq ($(BR2_PACKAGE_LINUX_PAM),y) -define WESTON_PERMISSIONS - /usr/bin/weston-launch f 4755 0 0 - - - - - -endef -define WESTON_USERS - - - weston-launch -1 - - - - Weston launcher group -endef -WESTON_CONF_OPTS += -Ddeprecated-weston-launch=true -WESTON_DEPENDENCIES += linux-pam -else -WESTON_CONF_OPTS += -Ddeprecated-weston-launch=false -endif - -ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy) +ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGBM)$(BR2_PACKAGE_HAS_LIBGLES),yyy) WESTON_CONF_OPTS += -Drenderer-gl=true -WESTON_DEPENDENCIES += libegl libgles +WESTON_DEPENDENCIES += libegl libgbm libgles +ifeq ($(BR2_PACKAGE_WESTON_SIMPLE_CLIENTS),y) +WESTON_SIMPLE_CLIENTS += dmabuf-egl dmabuf-feedback egl +endif ifeq ($(BR2_PACKAGE_PIPEWIRE)$(BR2_PACKAGE_WESTON_DRM),yy) -WESTON_CONF_OPTS += -Dpipewire=true +WESTON_CONF_OPTS += -Dpipewire=true -Dbackend-pipewire=true WESTON_DEPENDENCIES += pipewire else -WESTON_CONF_OPTS += -Dpipewire=false +WESTON_CONF_OPTS += -Dpipewire=false -Dbackend-pipewire=false endif else WESTON_CONF_OPTS += \ -Drenderer-gl=false \ - -Dpipewire=false + -Dpipewire=false \ + -Dbackend-pipewire=false endif +WESTON_CONF_OPTS += -Dsimple-clients=$(subst $(space),$(comma),$(strip $(WESTON_SIMPLE_CLIENTS))) + ifeq ($(BR2_PACKAGE_WESTON_RDP),y) WESTON_DEPENDENCIES += freerdp WESTON_CONF_OPTS += -Dbackend-rdp=true @@ -123,7 +108,7 @@ WESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT ifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y) WESTON_CONF_OPTS += -Dxwayland=true -WESTON_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor +WESTON_DEPENDENCIES += cairo libepoxy libxcb xcb-util-cursor xlib_libX11 xlib_libXcursor xwayland else WESTON_CONF_OPTS += -Dxwayland=false endif @@ -180,6 +165,12 @@ else WESTON_CONF_OPTS += -Dshell-kiosk=false endif +ifeq ($(BR2_PACKAGE_WESTON_SCREENSHARE),y) +WESTON_CONF_OPTS += -Dscreenshare=true +else +WESTON_CONF_OPTS += -Dscreenshare=false +endif + ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y) WESTON_CONF_OPTS += -Ddemo-clients=true WESTON_DEPENDENCIES += pango diff --git a/package/wget/wget.hash b/package/wget/wget.hash index 22674650a27..75c3a913dc0 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,6 +1,8 @@ +# From https://lists.gnu.org/archive/html/bug-wget/2023-05/msg00004.html +sha1 42384273c1937458c9db3766a5509afa636a2f00 wget-1.21.4.tar.lz # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.21.3.tar.lz.sig +# https://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.lz.sig # with key 6B98F637D879C5236E277C5C64FF90AAE8C70AF9 -sha256 dbd2fb5e47149d4752d0eaa0dac68cc49cf20d46df4f8e326ffc8f18b2af4ea5 wget-1.21.3.tar.lz +sha256 3683619a5f50edcbccb1720a79006fa37bf9b9a255a8c5b48048bc3c7a874bd9 wget-1.21.4.tar.lz # Locally calculated -sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING +sha256 f7dc7522e7e1be9227f3dc8de8b39a4d1d2471968c893af15f00c1a2076a0eec COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index 455faaed126..d2d30879614 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.21.3 +WGET_VERSION = 1.21.4 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf diff --git a/package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch b/package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch new file mode 100644 index 00000000000..2f106273017 --- /dev/null +++ b/package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch @@ -0,0 +1,34 @@ +From f80e4343fa0a4d8b22933d1704c85a771fe234a4 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Dec 2022 19:56:46 +0100 +Subject: [PATCH] cfg80211.c: fix missing prandom_u32() with Linux >= 6.1.0 + +prandom_u32() previously was only calling get_random_u32() so it's been +dropped with Linux 6.1.0. So let's directly call get_random_u32() if Linux +version >= 6.1.0. + +[Upstream status: https://github.com/embeddedTS/wilc3000-external-module/pull/2] +Signed-off-by: Giulio Benetti +--- + cfg80211.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/cfg80211.c b/cfg80211.c +index 016aa06..41edd02 100644 +--- a/cfg80211.c ++++ b/cfg80211.c +@@ -1422,7 +1422,11 @@ static int mgmt_tx(struct wiphy *wiphy, + const u8 *vendor_ie; + int ret = 0; + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ *cookie = get_random_u32(); ++#else + *cookie = prandom_u32(); ++#endif + priv->tx_cookie = *cookie; + mgmt = (const struct ieee80211_mgmt *)buf; + +-- +2.34.1 + diff --git a/package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch b/package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch new file mode 100644 index 00000000000..87306dfa12c --- /dev/null +++ b/package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch @@ -0,0 +1,44 @@ +From a88819bd63f977b5a33d72a2b9e264ce104726bd Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Dec 2022 21:02:12 +0100 +Subject: [PATCH] spi.c: fix build failure on remove callback + +Starting from Linux 5.18 remove callback returns void, so let's deal with +it depending on Linux version >= 5.18. + +[Upstream status: https://github.com/embeddedTS/wilc3000-external-module/pull/2] +Signed-off-by: Giulio Benetti +--- + spi.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/spi.c b/spi.c +index 96c51fe..f7b43e2 100644 +--- a/spi.c ++++ b/spi.c +@@ -211,7 +211,11 @@ free: + return ret; + } + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,18,0)) ++static void wilc_bus_remove(struct spi_device *spi) ++#else + static int wilc_bus_remove(struct spi_device *spi) ++#endif + { + struct wilc *wilc = spi_get_drvdata(spi); + +@@ -220,7 +224,10 @@ static int wilc_bus_remove(struct spi_device *spi) + + wilc_netdev_cleanup(wilc); + wilc_bt_deinit(); ++ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,18,0)) + return 0; ++#endif + } + + static int wilc_spi_suspend(struct device *dev) +-- +2.34.1 + diff --git a/package/wilc-driver/0003-cfg80211.c-fix-build-failure-with-Linux-5.19-and-6.1.patch b/package/wilc-driver/0003-cfg80211.c-fix-build-failure-with-Linux-5.19-and-6.1.patch new file mode 100644 index 00000000000..785b8904b2f --- /dev/null +++ b/package/wilc-driver/0003-cfg80211.c-fix-build-failure-with-Linux-5.19-and-6.1.patch @@ -0,0 +1,98 @@ +From a608cdd7903505217529317c04b5b58cb7e25081 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Dec 2022 21:06:43 +0100 +Subject: [PATCH] cfg80211.c: fix build failure with Linux 5.19 and 6.1 + +Starting from Linux 5.19 stop_ap() requires unsigned int link_id as +parameter. Then from Linux 6.1 on lot of other cfg80211 APIs require +int link_id to deal with MLO, so let's add that parameter too. + +[Upstream status: https://github.com/embeddedTS/wilc3000-external-module/pull/2] +Signed-off-by: Giulio Benetti +--- + cfg80211.c | 35 +++++++++++++++++++++++++++++------ + 1 file changed, 29 insertions(+), 6 deletions(-) + +diff --git a/cfg80211.c b/cfg80211.c +index 41edd02..57c777d 100644 +--- a/cfg80211.c ++++ b/cfg80211.c +@@ -674,8 +674,12 @@ static int wilc_wfi_cfg_copy_wpa_info(struct wilc_wfi_key *key_info, + return 0; + } + +-static int add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index, +- bool pairwise, const u8 *mac_addr, struct key_params *params) ++static int add_key(struct wiphy *wiphy, struct net_device *netdev, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)) ++ int link_id, ++#endif ++ u8 key_index, bool pairwise, const u8 *mac_addr, ++ struct key_params *params) + + { + int ret = 0, keylen = params->key_len, seqlen = params->seq_len; +@@ -792,6 +796,9 @@ static int add_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index, + } + + static int del_key(struct wiphy *wiphy, struct net_device *netdev, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)) ++ int link_id, ++#endif + u8 key_index, + bool pairwise, + const u8 *mac_addr) +@@ -833,9 +840,13 @@ static int del_key(struct wiphy *wiphy, struct net_device *netdev, + return ret; + } + +-static int get_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index, +- bool pairwise, const u8 *mac_addr, void *cookie, +- void (*callback)(void *cookie, struct key_params *)) ++static int get_key(struct wiphy *wiphy, struct net_device *netdev, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)) ++ int link_id, ++#endif ++ u8 key_index, bool pairwise, const u8 *mac_addr, ++ void *cookie, void (*callback)(void *cookie, ++ struct key_params *)) + { + struct wilc_vif *vif = netdev_priv(netdev); + struct wilc_priv *priv = &vif->priv; +@@ -877,12 +888,18 @@ static int get_key(struct wiphy *wiphy, struct net_device *netdev, u8 key_index, + + /* wiphy_new() will WARN if not present*/ + static int set_default_key(struct wiphy *wiphy, struct net_device *netdev, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)) ++ int link_id, ++#endif + u8 key_index, bool unicast, bool multicast) + { + return 0; + } + + static int set_default_mgmt_key (struct wiphy *wiphy,struct net_device *netdev, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)) ++ int link_id, ++#endif + u8 key_index) + { + return 0; +@@ -1814,7 +1831,13 @@ static int change_beacon(struct wiphy *wiphy, struct net_device *dev, + return wilc_add_beacon(vif, 0, 0, beacon); + } + +-static int stop_ap(struct wiphy *wiphy, struct net_device *dev) ++static int stop_ap(struct wiphy *wiphy, struct net_device *dev ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,19,0)) ++ , unsigned int link_id ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)) ++ , int link_id ++#endif ++ ) + { + int ret; + struct wilc_vif *vif = netdev_priv(dev); +-- +2.34.1 + diff --git a/package/wilc-driver/0004-Fix-struct-station_parameters-Linux-6.1-build-failur.patch b/package/wilc-driver/0004-Fix-struct-station_parameters-Linux-6.1-build-failur.patch new file mode 100644 index 00000000000..faee805b5a7 --- /dev/null +++ b/package/wilc-driver/0004-Fix-struct-station_parameters-Linux-6.1-build-failur.patch @@ -0,0 +1,216 @@ +From 5f022c4d3be32493d500be82f51032ef4fb3cdc0 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Dec 2022 21:08:45 +0100 +Subject: [PATCH] Fix struct station_parameters Linux 6.1 build failure + +Starting from Linux 6.1 struct station_parameters has changed by moving +some member to its child struct link_station_parameters. Let's extract the +values of the needed members into local values at the beginning of +functions and substitute the member access with the local variables. + +[Upstream status: https://github.com/embeddedTS/wilc3000-external-module/pull/2] +Signed-off-by: Giulio Benetti +--- + cfg80211.c | 48 ++++++++++++++++++++++++++++++++---------------- + hif.c | 44 ++++++++++++++++++++++++++++++++------------ + 2 files changed, 64 insertions(+), 28 deletions(-) + +diff --git a/cfg80211.c b/cfg80211.c +index 57c777d..bdd480c 100644 +--- a/cfg80211.c ++++ b/cfg80211.c +@@ -1866,6 +1866,14 @@ static int add_station(struct wiphy *wiphy, struct net_device *dev, + struct wilc_vif *vif = netdev_priv(dev); + struct wilc_priv *priv = &vif->priv; + u8 *assoc_bss = priv->assoc_stainfo.sta_associated_bss[params->aid]; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ struct link_station_parameters *link_sta_params = ¶ms->link_sta_params; ++ const struct ieee80211_ht_cap *ht_capa = link_sta_params->ht_capa; ++ u8 supported_rates_len = link_sta_params->supported_rates_len; ++#else ++ const struct ieee80211_ht_cap *ht_capa = params->ht_capa; ++ u8 supported_rates_len = params->supported_rates_len; ++#endif + + if (vif->iftype == WILC_AP_MODE || vif->iftype == WILC_GO_MODE) { + memcpy(assoc_bss, mac, ETH_ALEN); +@@ -1879,27 +1887,27 @@ static int add_station(struct wiphy *wiphy, struct net_device *dev, + params->aid); + PRINT_INFO(vif->ndev, HOSTAPD_DBG, + "Number of supported rates = %d\n", +- params->supported_rates_len); ++ supported_rates_len); + + PRINT_INFO(vif->ndev, CFG80211_DBG, "IS HT supported = %d\n", +- (!params->ht_capa) ? false : true); ++ (!ht_capa) ? false : true); + +- if (params->ht_capa) { ++ if (ht_capa) { + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Capability Info = %d\n", +- params->ht_capa->cap_info); ++ ht_capa->cap_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "AMPDU Params = %d\n", +- params->ht_capa->ampdu_params_info); ++ ht_capa->ampdu_params_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "HT Extended params= %d\n", +- params->ht_capa->extended_ht_cap_info); ++ ht_capa->extended_ht_cap_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Tx Beamforming Cap= %d\n", +- params->ht_capa->tx_BF_cap_info); ++ ht_capa->tx_BF_cap_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Antenna selection info = %d\n", +- params->ht_capa->antenna_selection_info); ++ ht_capa->antenna_selection_info); + } + + PRINT_INFO(vif->ndev, CFG80211_DBG, "Flag Mask = %d\n", +@@ -1966,6 +1974,14 @@ static int change_station(struct wiphy *wiphy, struct net_device *dev, + { + int ret = 0; + struct wilc_vif *vif = netdev_priv(dev); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ struct link_station_parameters *link_sta_params = ¶ms->link_sta_params; ++ const struct ieee80211_ht_cap *ht_capa = link_sta_params->ht_capa; ++ u8 supported_rates_len = link_sta_params->supported_rates_len; ++#else ++ const struct ieee80211_ht_cap *ht_capa = params->ht_capa; ++ u8 supported_rates_len = params->supported_rates_len; ++#endif + + PRINT_D(vif->ndev, CFG80211_DBG, "Change station parameters\n"); + +@@ -1976,25 +1992,25 @@ static int change_station(struct wiphy *wiphy, struct net_device *dev, + params->aid); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Number of supported rates = %d\n", +- params->supported_rates_len); ++ supported_rates_len); + PRINT_INFO(vif->ndev, CFG80211_DBG, "IS HT supported = %d\n", +- (!params->ht_capa) ? false : true); +- if (params->ht_capa) { ++ (!ht_capa) ? false : true); ++ if (ht_capa) { + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Capability Info = %d\n", +- params->ht_capa->cap_info); ++ ht_capa->cap_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "AMPDU Params = %d\n", +- params->ht_capa->ampdu_params_info); ++ ht_capa->ampdu_params_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "HT Extended params= %d\n", +- params->ht_capa->extended_ht_cap_info); ++ ht_capa->extended_ht_cap_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Tx Beamforming Cap= %d\n", +- params->ht_capa->tx_BF_cap_info); ++ ht_capa->tx_BF_cap_info); + PRINT_INFO(vif->ndev, CFG80211_DBG, + "Antenna selection info = %d\n", +- params->ht_capa->antenna_selection_info); ++ ht_capa->antenna_selection_info); + } + PRINT_INFO(vif->ndev, CFG80211_DBG, "Flag Mask = %d\n", + params->sta_flags_mask); +diff --git a/hif.c b/hif.c +index 3f672a0..1a7365b 100644 +--- a/hif.c ++++ b/hif.c +@@ -2249,6 +2249,16 @@ int wilc_add_station(struct wilc_vif *vif, const u8 *mac, + int result; + struct host_if_msg *msg; + struct add_sta_param *sta_params; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ struct link_station_parameters *link_sta_params = ¶ms->link_sta_params; ++ const struct ieee80211_ht_cap *ht_capa = link_sta_params->ht_capa; ++ u8 supported_rates_len = link_sta_params->supported_rates_len; ++ const u8 *supported_rates = link_sta_params->supported_rates; ++#else ++ const struct ieee80211_ht_cap *ht_capa = params->ht_capa; ++ u8 supported_rates_len = params->supported_rates_len; ++ const u8 *supported_rates = params->supported_rates; ++#endif + + PRINT_INFO(vif->ndev, HOSTINF_DBG, + "Setting adding station message queue params\n"); +@@ -2260,20 +2270,20 @@ int wilc_add_station(struct wilc_vif *vif, const u8 *mac, + sta_params = &msg->body.add_sta_info; + memcpy(sta_params->bssid, mac, ETH_ALEN); + sta_params->aid = params->aid; +- if (!params->ht_capa) { ++ if (!ht_capa) { + sta_params->ht_supported = false; + } else { + sta_params->ht_supported = true; +- memcpy(&sta_params->ht_capa, params->ht_capa, ++ memcpy(&sta_params->ht_capa, ht_capa, + sizeof(struct ieee80211_ht_cap)); + } + sta_params->flags_mask = params->sta_flags_mask; + sta_params->flags_set = params->sta_flags_set; + +- sta_params->supported_rates_len = params->supported_rates_len; +- if (params->supported_rates_len > 0) { +- sta_params->supported_rates = kmemdup(params->supported_rates, +- params->supported_rates_len, ++ sta_params->supported_rates_len = supported_rates_len; ++ if (supported_rates_len > 0) { ++ sta_params->supported_rates = kmemdup(supported_rates, ++ supported_rates_len, + GFP_KERNEL); + if (!sta_params->supported_rates) { + kfree(msg); +@@ -2397,6 +2407,16 @@ int wilc_edit_station(struct wilc_vif *vif, const u8 *mac, + int result; + struct host_if_msg *msg; + struct add_sta_param *sta_params; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ struct link_station_parameters *link_sta_params = ¶ms->link_sta_params; ++ const struct ieee80211_ht_cap *ht_capa = link_sta_params->ht_capa; ++ u8 supported_rates_len = link_sta_params->supported_rates_len; ++ const u8 *supported_rates = link_sta_params->supported_rates; ++#else ++ const struct ieee80211_ht_cap *ht_capa = params->ht_capa; ++ u8 supported_rates_len = params->supported_rates_len; ++ const u8 *supported_rates = params->supported_rates; ++#endif + + PRINT_INFO(vif->ndev, HOSTINF_DBG, + "Setting editing station message queue params\n"); +@@ -2408,20 +2428,20 @@ int wilc_edit_station(struct wilc_vif *vif, const u8 *mac, + sta_params = &msg->body.edit_sta_info; + memcpy(sta_params->bssid, mac, ETH_ALEN); + sta_params->aid = params->aid; +- if (!params->ht_capa) { ++ if (!ht_capa) { + sta_params->ht_supported = false; + } else { + sta_params->ht_supported = true; +- memcpy(&sta_params->ht_capa, params->ht_capa, ++ memcpy(&sta_params->ht_capa, ht_capa, + sizeof(struct ieee80211_ht_cap)); + } + sta_params->flags_mask = params->sta_flags_mask; + sta_params->flags_set = params->sta_flags_set; + +- sta_params->supported_rates_len = params->supported_rates_len; +- if (params->supported_rates_len > 0) { +- sta_params->supported_rates = kmemdup(params->supported_rates, +- params->supported_rates_len, ++ sta_params->supported_rates_len = supported_rates_len; ++ if (supported_rates_len > 0) { ++ sta_params->supported_rates = kmemdup(supported_rates, ++ supported_rates_len, + GFP_KERNEL); + if (!sta_params->supported_rates) { + kfree(msg); +-- +2.34.1 + diff --git a/package/wilc-driver/0005-Fix-cast-warnings.patch b/package/wilc-driver/0005-Fix-cast-warnings.patch new file mode 100644 index 00000000000..713a15e667e --- /dev/null +++ b/package/wilc-driver/0005-Fix-cast-warnings.patch @@ -0,0 +1,43 @@ +From ebd083223883d479b2dd6f8a0da272797f90d236 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sat, 31 Dec 2022 18:38:33 +0100 +Subject: [PATCH] Fix cast warnings + +Signed-off-by: Giulio Benetti +--- + cfg80211.c | 2 +- + netdev.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/cfg80211.c b/cfg80211.c +index 016aa06..2f40c9d 100644 +--- a/cfg80211.c ++++ b/cfg80211.c +@@ -1794,7 +1794,7 @@ static int start_ap(struct wiphy *wiphy, struct net_device *dev, + if (ret != 0) + netdev_err(dev, "Error in setting channel\n"); + +- wilc_wlan_set_bssid(dev, dev->dev_addr, WILC_AP_MODE); ++ wilc_wlan_set_bssid(dev, (u8 *)dev->dev_addr, WILC_AP_MODE); + + return wilc_add_beacon(vif, settings->beacon_interval, + settings->dtim_period, &settings->beacon); +diff --git a/netdev.c b/netdev.c +index 824afea..5a1a51d 100644 +--- a/netdev.c ++++ b/netdev.c +@@ -899,9 +899,9 @@ static int wilc_mac_open(struct net_device *ndev) + vif->idx); + + if (is_valid_ether_addr(ndev->dev_addr)) +- wilc_set_mac_address(vif, ndev->dev_addr); ++ wilc_set_mac_address(vif, (u8 *)ndev->dev_addr); + else +- wilc_get_mac_address(vif, ndev->dev_addr); ++ wilc_get_mac_address(vif, (u8 *)ndev->dev_addr); + netdev_dbg(ndev, "Mac address: %pM\n", ndev->dev_addr); + + if (!is_valid_ether_addr(ndev->dev_addr)) { +-- +2.34.1 + diff --git a/package/wilc-driver/0006-Support-Linux-6.3.patch b/package/wilc-driver/0006-Support-Linux-6.3.patch new file mode 100644 index 00000000000..f5a92027da6 --- /dev/null +++ b/package/wilc-driver/0006-Support-Linux-6.3.patch @@ -0,0 +1,43 @@ +From 14b5eccf4145e7a5afc8bc65a15f26ac691f98d8 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 27 Sep 2023 10:54:18 +0200 +Subject: [PATCH] Support Linux 6.3 + +With Linux 6.3 commit: +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=40fc56ee608cdb20022c225ac6f1e4b7ba63f8f1 +function of_get_named_gpio_flags() has been dropped but it was only a +wrapper to call of_get_named_gpio() if the flags passed was NULL and this +is the case. So let's use of_get_named_gpio() in place of +of_get_named_gpio_flags() since of_get_named_gpio() never changed +after its adding in Linux version 3.1. + +Upstream: https://github.com/embeddedTS/wilc3000-external-module/pull/4 + +Signed-off-by: Giulio Benetti +--- + power.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/power.c b/power.c +index 6c59e0b..6ab8d63 100644 +--- a/power.c ++++ b/power.c +@@ -25,13 +25,11 @@ int wilc_of_parse_power_pins(struct wilc *wilc) + const struct wilc_power_gpios *gpios = &default_gpios[0]; + int ret; + +- power->gpios.reset = of_get_named_gpio_flags(of, "reset-gpios", 0, +- NULL); ++ power->gpios.reset = of_get_named_gpio(of, "reset-gpios", 0); + if (!gpio_is_valid(power->gpios.reset)) + power->gpios.reset = gpios->reset; + +- power->gpios.chip_en = of_get_named_gpio_flags(of, "chip_en-gpios", 0, +- NULL); ++ power->gpios.chip_en = of_get_named_gpio(of, "chip_en-gpios", 0); + if (!gpio_is_valid(power->gpios.chip_en)) + power->gpios.chip_en = gpios->chip_en; + +-- +2.34.1 + diff --git a/package/wilc-driver/0007-Support-Linux-6.4.patch b/package/wilc-driver/0007-Support-Linux-6.4.patch new file mode 100644 index 00000000000..8339cc3cb66 --- /dev/null +++ b/package/wilc-driver/0007-Support-Linux-6.4.patch @@ -0,0 +1,36 @@ +From 94fc4594659494b8c5cbdf1a719aea4d66d3398d Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 27 Sep 2023 11:20:50 +0200 +Subject: [PATCH] Support Linux 6.4 + +With Linux 6.4 commit: +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1aaba11da9aa7d7d6b52a74d45b31cac118295a1 +class_create() doesn't require first argument THIS_MODULE anymore so let's +drop first argument if Linux version >= 6.4 + +Upstream: https://github.com/embeddedTS/wilc3000-external-module/pull/5 + +Signed-off-by: Giulio Benetti +--- + bt.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/bt.c b/bt.c +index 48a5302..a752457 100644 +--- a/bt.c ++++ b/bt.c +@@ -135,7 +135,11 @@ static void wilc_bt_create_device(void) + ret = alloc_chrdev_region(&chc_dev_no, 0, 1, "atmel"); + if (ret < 0) + return; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0) ++ chc_dev_class = class_create("atmel"); ++#else + chc_dev_class = class_create(THIS_MODULE, "atmel"); ++#endif + if (IS_ERR(chc_dev_class)) { + unregister_chrdev_region(chc_dev_no, 1); + return; +-- +2.34.1 + diff --git a/package/wilc-firmware/wilc-firmware.hash b/package/wilc-firmware/wilc-firmware.hash index 6e7850df16d..8a7957a1d2f 100644 --- a/package/wilc-firmware/wilc-firmware.hash +++ b/package/wilc-firmware/wilc-firmware.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2c2e2927a65fe4d7ec2f9872fca35c6b7bf12090ac62116d63c5f17b95a3a786 wilc-firmware-wilc_linux_15_7.tar.gz +sha256 6cd5fc52150520bedb736f58124063041b4d9849ea33481a8b075f51aec64f8e wilc-firmware-wilc_linux_16_1_2.tar.gz sha256 71355eee947a312594dbdaac039827544f93d23949b65c356b7b0ce09e2600fb LICENSE.wilc_fw diff --git a/package/wilc-firmware/wilc-firmware.mk b/package/wilc-firmware/wilc-firmware.mk index e31829d4301..3381162bbd1 100644 --- a/package/wilc-firmware/wilc-firmware.mk +++ b/package/wilc-firmware/wilc-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -WILC_FIRMWARE_VERSION = wilc_linux_15_7 +WILC_FIRMWARE_VERSION = wilc_linux_16_1_2 WILC_FIRMWARE_SITE = $(call github,linux4wilc,firmware,$(WILC_FIRMWARE_VERSION)) WILC_FIRMWARE_LICENSE = PROPRIETARY diff --git a/package/wine/0001-l3codeca-avoid-mpg123-functions-with-suffix.patch b/package/wine/0001-l3codeca-avoid-mpg123-functions-with-suffix.patch deleted file mode 100644 index 8332db4b381..00000000000 --- a/package/wine/0001-l3codeca-avoid-mpg123-functions-with-suffix.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 75b70efdaa2d4baa064271098878b79f66df155f -Author: André Zwing -Date: Sat May 21 17:53:07 2022 +0200 - - l3codeca.acm: Avoid mpg123 functions with suffix. - -[Upstream commit: https://source.winehq.org/git/wine.git/commit/75b70efdaa2d4baa064271098878b79f66df155f] -Signed-off-by: André Zwing - -diff --git a/dlls/l3codeca.acm/Makefile.in b/dlls/l3codeca.acm/Makefile.in -index 451794b2624..31765766d4e 100644 ---- a/dlls/l3codeca.acm/Makefile.in -+++ b/dlls/l3codeca.acm/Makefile.in -@@ -1,6 +1,7 @@ - MODULE = l3codeca.acm - IMPORTS = $(MPG123_PE_LIBS) winmm user32 kernelbase - EXTRAINCL = $(MPG123_PE_CFLAGS) -+EXTRADEFS = -DMPG123_NO_LARGENAME - - C_SRCS = \ - mpegl3.c diff --git a/package/wine/0002-mp3dmod-avoid-mpg123-functions-with-suffix.patch b/package/wine/0002-mp3dmod-avoid-mpg123-functions-with-suffix.patch deleted file mode 100644 index 16f2ba2898c..00000000000 --- a/package/wine/0002-mp3dmod-avoid-mpg123-functions-with-suffix.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 8d441659f7c7ae359e06a99e7abaae57792356a0 -Author: André Zwing -Date: Sat May 21 17:53:07 2022 +0200 - - mp3dmod: Avoid mpg123 functions with suffix. - -[Upstream commit: https://source.winehq.org/git/wine.git/commit/8d441659f7c7ae359e06a99e7abaae57792356a0] -Signed-off-by: André Zwing - -diff --git a/dlls/mp3dmod/Makefile.in b/dlls/mp3dmod/Makefile.in -index dabbb1dfeae..3ba343a4d34 100644 ---- a/dlls/mp3dmod/Makefile.in -+++ b/dlls/mp3dmod/Makefile.in -@@ -1,6 +1,7 @@ - MODULE = mp3dmod.dll - IMPORTS = $(MPG123_PE_LIBS) dmoguids msdmo ole32 uuid wmcodecdspuuid kernelbase - EXTRAINCL = $(MPG123_PE_CFLAGS) -+EXTRADEFS = -DMPG123_NO_LARGENAME - - C_SRCS = \ - mp3dmod.c diff --git a/package/wine/wine.hash b/package/wine/wine.hash index 9a7a1c342af..756859c8442 100644 --- a/package/wine/wine.hash +++ b/package/wine/wine.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 5b43e27d5c085cb18f97394e46180310d5eef7c1d91c6895432a3889b2de086b wine-7.0.tar.xz +sha256 6ec8fb6f2c72d576cb11f52b2f8d59af64404802154651d122b98466d91dc847 wine-8.0.2.tar.xz # Locally calculated sha256 e237fa56668030e928551ddd60f05df5fe957f75eab874bbd017e085ed722e7c COPYING.LIB -sha256 7c360930e51d56c8fa12fe1df8ed348ac77a9ad73f9582a303919469399b3ce4 LICENSE +sha256 793d045546467c8f49e35fbd6e02859e57e78f8bb53571e8200bffd0e966dfa8 LICENSE diff --git a/package/wine/wine.mk b/package/wine/wine.mk index a1c65bef4e0..f47922dc70a 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -4,9 +4,9 @@ # ################################################################################ -WINE_VERSION = 7.0 +WINE_VERSION = 8.0.2 WINE_SOURCE = wine-$(WINE_VERSION).tar.xz -WINE_SITE = https://dl.winehq.org/wine/source/7.0 +WINE_SITE = https://dl.winehq.org/wine/source/8.0 WINE_LICENSE = LGPL-2.1+ WINE_LICENSE_FILES = COPYING.LIB LICENSE WINE_CPE_ID_VENDOR = winehq @@ -27,7 +27,6 @@ WINE_CONF_OPTS = \ --without-mingw \ --without-opencl \ --without-oss \ - --without-vkd3d \ --without-vulkan # Wine uses a wrapper around gcc, and uses the value of --host to @@ -131,20 +130,6 @@ else WINE_CONF_OPTS += --without-v4l2 endif -ifeq ($(BR2_PACKAGE_OPENAL),y) -WINE_CONF_OPTS += --with-openal -WINE_DEPENDENCIES += openal -else -WINE_CONF_OPTS += --without-openal -endif - -ifeq ($(BR2_PACKAGE_OPENLDAP),y) -WINE_CONF_OPTS += --with-ldap -WINE_DEPENDENCIES += openldap -else -WINE_CONF_OPTS += --without-ldap -endif - ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y) WINE_CONF_OPTS += --with-osmesa WINE_DEPENDENCIES += mesa3d @@ -266,19 +251,8 @@ endif # Wine only needs the host tools to be built, so cut-down the # build time by building just what we need. -HOST_WINE_TOOLS = \ - tools \ - tools/sfnt2fon \ - tools/widl \ - tools/winebuild \ - tools/winegcc \ - tools/wmc \ - tools/wrc - define HOST_WINE_BUILD_CMDS - $(foreach t, $(HOST_WINE_TOOLS), - $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/$(t) - ) + $(HOST_MAKE_ENV) $(MAKE) -C $(@D) __tooldeps__ endef # Wine only needs its host variant to be built, not that it is @@ -304,10 +278,8 @@ HOST_WINE_CONF_OPTS += \ --without-gssapi \ --without-gstreamer \ --without-krb5 \ - --without-ldap \ --without-mingw \ --without-netapi \ - --without-openal \ --without-opencl \ --without-opengl \ --without-osmesa \ @@ -318,7 +290,6 @@ HOST_WINE_CONF_OPTS += \ --without-sdl \ --without-usb \ --without-v4l2 \ - --without-vkd3d \ --without-vulkan \ --without-x \ --without-xcomposite \ diff --git a/package/wireless-regdb/wireless-regdb.hash b/package/wireless-regdb/wireless-regdb.hash index 91fcb320d20..71f92aaf916 100644 --- a/package/wireless-regdb/wireless-regdb.hash +++ b/package/wireless-regdb/wireless-regdb.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 8828c25a4ee25020044004f57374bb9deac852809fad70f8d3d01770bf9ac97f wireless-regdb-2022.02.18.tar.xz +sha256 26d4c2a727cc59239b84735aad856b7c7d0b04e30aa5c235c4f7f47f5f053491 wireless-regdb-2023.09.01.tar.xz # Locally computed sha256 678b0df753c86198fc496d1f1033429bbd57f101472132ee7eaaf9f5e0a7fae1 LICENSE diff --git a/package/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk index 35a8c6686d2..5c8ef963983 100644 --- a/package/wireless-regdb/wireless-regdb.mk +++ b/package/wireless-regdb/wireless-regdb.mk @@ -4,12 +4,11 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2022.02.18 +WIRELESS_REGDB_VERSION = 2023.09.01 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz WIRELESS_REGDB_SITE = $(BR2_KERNEL_MIRROR)/software/network/wireless-regdb WIRELESS_REGDB_LICENSE = ISC WIRELESS_REGDB_LICENSE_FILES = LICENSE -WIRELESS_REGDB_CPE_ID_VENDOR = kernel ifeq ($(BR2_PACKAGE_CRDA),y) define WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS diff --git a/package/wireless_tools/Config.in b/package/wireless_tools/Config.in index 349908dbde6..1d83cb5a5a7 100644 --- a/package/wireless_tools/Config.in +++ b/package/wireless_tools/Config.in @@ -1,5 +1,8 @@ config BR2_PACKAGE_WIRELESS_TOOLS bool "wireless tools" + select BR2_PACKAGE_WIRELESS_TOOLS_IWCONFIG if \ + !BR2_PACKAGE_WIRELESS_TOOLS_IFRENAME && \ + !BR2_PACKAGE_WIRELESS_TOOLS_LIB help A collection of tools to configure wireless lan cards. @@ -7,6 +10,18 @@ config BR2_PACKAGE_WIRELESS_TOOLS if BR2_PACKAGE_WIRELESS_TOOLS +config BR2_PACKAGE_WIRELESS_TOOLS_IWCONFIG + bool "Install tools" + default y + help + Build and install the iwconfig, iwlist, iwspy, iwpriv, and + iwgetid tools. + +config BR2_PACKAGE_WIRELESS_TOOLS_IFRENAME + bool "Install ifrename" + help + Build and install the ifrename tool + config BR2_PACKAGE_WIRELESS_TOOLS_LIB bool "Install shared library" depends on !BR2_STATIC_LIBS diff --git a/package/wireless_tools/wireless_tools.mk b/package/wireless_tools/wireless_tools.mk index 1d29c3b102d..90c92866881 100644 --- a/package/wireless_tools/wireless_tools.mk +++ b/package/wireless_tools/wireless_tools.mk @@ -14,8 +14,14 @@ WIRELESS_TOOLS_CPE_ID_VERSION = $(WIRELESS_TOOLS_VERSION_MAJOR) WIRELESS_TOOLS_CPE_ID_UPDATE = pre9 WIRELESS_TOOLS_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_WIRELESS_TOOLS_IWCONFIG),y) WIRELESS_TOOLS_BUILD_TARGETS = iwmulticall WIRELESS_TOOLS_INSTALL_TARGETS = install-iwmulticall +endif + +ifeq ($(BR2_PACKAGE_WIRELESS_TOOLS_IFRENAME),y) +WIRELESS_TOOLS_BUILD_TARGETS += ifrename +endif ifeq ($(BR2_PACKAGE_WIRELESS_TOOLS_LIB),y) WIRELESS_TOOLS_BUILD_TARGETS += libiw.so.$(WIRELESS_TOOLS_VERSION_MAJOR) @@ -35,8 +41,11 @@ define WIRELESS_TOOLS_BUILD_CMDS endef define WIRELESS_TOOLS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX="$(TARGET_DIR)" LDCONFIG=/bin/true \ - $(WIRELESS_TOOLS_INSTALL_TARGETS) + $(if $(WIRELESS_TOOLS_INSTALL_TARGETS), + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX="$(TARGET_DIR)" \ + LDCONFIG=/bin/true $(WIRELESS_TOOLS_INSTALL_TARGETS)) + $(if $(BR2_PACKAGE_WIRELESS_TOOLS_IFRENAME), + $(INSTALL) -D -m 755 $(@D)/ifrename $(TARGET_DIR)/sbin/ifrename) endef $(eval $(generic-package)) diff --git a/package/wireshark/Config.in b/package/wireshark/Config.in index cd92beb1d1d..8b05599ecb2 100644 --- a/package/wireshark/Config.in +++ b/package/wireshark/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_WIRESHARK select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_PCRE2 select BR2_PACKAGE_SPEEXDSP help Network traffic sniffer and protocol decoder. diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index db1f71e9ef2..6610eb7781a 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,6 +1,7 @@ -# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-3.4.12.txt -sha1 91ca69b0029e58b9c824266237ab392a62f0a248 wireshark-3.4.12.tar.xz -sha256 881a13303e263b7dc7fe337534c8a541d4914552287879bed30bbe76c5bf68ca wireshark-3.4.12.tar.xz +# From https://www.wireshark.org/download/src/all-versions/SIGNATURES-4.0.12.txt +sha1 e00d90769995bf786b05c05bdd9a2c6c8e372e70 wireshark-4.0.12.tar.xz +sha256 e4e3d618ba11e159fb163f0dc4716a8b72a065aafd1111db9405332552a5a115 wireshark-4.0.12.tar.xz # Locally calculated -sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 fce67c1558e448fac784ce9a30cb47956488bc3ef6ec16316c38b0668b3cad2e README.md diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index e5d5e6f6772..3759f9bf941 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,11 +4,11 @@ # ################################################################################ -WIRESHARK_VERSION = 3.4.12 +WIRESHARK_VERSION = 4.0.12 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license -WIRESHARK_LICENSE_FILES = COPYING +WIRESHARK_LICENSE_FILES = COPYING README.md WIRESHARK_CPE_ID_VENDOR = wireshark WIRESHARK_SELINUX_MODULES = wireshark WIRESHARK_DEPENDENCIES = \ @@ -18,13 +18,15 @@ WIRESHARK_DEPENDENCIES = \ libgcrypt \ libglib2 \ libpcap \ + pcre2 \ speexdsp WIRESHARK_CONF_OPTS = \ - -DDISABLE_WERROR=ON \ -DENABLE_ILBC=OFF \ -DENABLE_PCAP=ON \ -DENABLE_SMI=OFF \ + -DENABLE_WERROR=OFF \ + -DHAVE_C99_VSNPRINTF=ON \ -DLEMON_C_COMPILER=$(HOSTCC_NOCCACHE) ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) @@ -65,6 +67,13 @@ else WIRESHARK_CONF_OPTS += -DENABLE_GNUTLS=OFF endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +WIRESHARK_CONF_OPTS += -DENABLE_CAP=ON +WIRESHARK_DEPENDENCIES += libcap +else +WIRESHARK_CONF_OPTS += -DENABLE_CAP=OFF +endif + ifeq ($(BR2_PACKAGE_LIBKRB5),y) WIRESHARK_CONF_OPTS += -DENABLE_KERBEROS=ON WIRESHARK_DEPENDENCIES += libkrb5 @@ -115,6 +124,13 @@ else WIRESHARK_CONF_OPTS += -DENABLE_LZ4=OFF endif +ifeq ($(BR2_PACKAGE_MINIZIP_ZLIB),y) +WIRESHARK_CONF_OPTS += -DENABLE_MINIZIP=ON +WIRESHARK_DEPENDENCIES += minizip-zlib +else +WIRESHARK_CONF_OPTS += -DENABLE_MINIZIP=OFF +endif + ifeq ($(BR2_PACKAGE_NGHTTP2),y) WIRESHARK_CONF_OPTS += -DENABLE_NGHTTP2=ON WIRESHARK_DEPENDENCIES += nghttp2 @@ -157,6 +173,13 @@ else WIRESHARK_CONF_OPTS += -DBUILD_sdjournal=OFF endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +WIRESHARK_CONF_OPTS += -DENABLE_ZLIB=ON +WIRESHARK_DEPENDENCIES += zlib +else +WIRESHARK_CONF_OPTS += -DENABLE_ZLIB=OFF +endif + ifeq ($(BR2_PACKAGE_ZSTD),y) WIRESHARK_CONF_OPTS += -DENABLE_ZSTD=ON WIRESHARK_DEPENDENCIES += zstd diff --git a/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch b/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch index 0ba078708a3..0e1ae9d87aa 100644 --- a/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch +++ b/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch @@ -5,8 +5,10 @@ Subject: [PATCH] Add feature macros to more C files These source files use "struct timespec", which is POSIX 1993.09. -Signed-off-by: Paul Cercueil +Upstream: Rejected (Upstream does not want these workarounds) +see: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2493 +Signed-off-by: Paul Cercueil [Retrieved from: https://github.com/swaywm/wlroots/pull/2493] Signed-off-by: Fabrice Fontaine --- diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in index 84a4ef846e5..7622a3033bd 100644 --- a/package/wlroots/Config.in +++ b/package/wlroots/Config.in @@ -16,6 +16,8 @@ config BR2_PACKAGE_WLROOTS depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND depends on BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HWDATA + select BR2_PACKAGE_HWDATA_PNP_IDS select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON @@ -41,4 +43,27 @@ config BR2_PACKAGE_WLROOTS_X11 help Support Wayland sessions nested inside a X11 window +config BR2_PACKAGE_WLROOTS_XWAYLAND + bool "XWayland support" + depends on BR2_PACKAGE_XORG7 # libxcb, xcb-util-wm, xwayland + depends on BR2_USE_MMU # xwayland + depends on !BR2_STATIC_LIBS # xwayland + depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland + depends on !BR2_RISCV_32 # xwayland -> xlib_libxshmfence + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence + select BR2_PACKAGE_LIBXCB + select BR2_PACKAGE_XCB_UTIL_WM + select BR2_PACKAGE_XWAYLAND + help + Support for running X11 applications under wayland + +comment "XWayland support needs X.org enabled" + depends on !BR2_PACKAGE_XORG7 + +comment "XWayland support needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_RISCV_32 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + endif diff --git a/package/wlroots/wlroots.hash b/package/wlroots/wlroots.hash index 04bbd65e430..8ab05393b15 100644 --- a/package/wlroots/wlroots.hash +++ b/package/wlroots/wlroots.hash @@ -1,5 +1,5 @@ -# Generated locally, after checking https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.15.1/downloads/wlroots-0.15.1.tar.gz.sig -sha256 5b92f11a52d978919ed1306e0d54c9d59f1762b28d44f0a2da3ef3b351305373 wlroots-0.15.1.tar.gz +# Generated locally, after checking https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.16.2/downloads/wlroots-0.16.2.tar.gz.sig +sha256 83e9a11605f23d4bf781ab1947089483d9ec3f7e9ba65398e0609593b77d44aa wlroots-0.16.2.tar.gz # Hashes for license files: sha256 ffd3737a478b83a8b51b42757d3bf909ef36694508355879722e11fc1fa6736b LICENSE diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk index 4f14d20b11b..fdd2fb8250b 100644 --- a/package/wlroots/wlroots.mk +++ b/package/wlroots/wlroots.mk @@ -4,7 +4,7 @@ # ################################################################################ -WLROOTS_VERSION = 0.15.1 +WLROOTS_VERSION = 0.16.2 WLROOTS_SITE = https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/$(WLROOTS_VERSION)/downloads WLROOTS_LICENSE = MIT WLROOTS_LICENSE_FILES = LICENSE @@ -13,6 +13,7 @@ WLROOTS_INSTALL_STAGING = YES WLROOTS_DEPENDENCIES = \ host-pkgconf \ host-wayland \ + hwdata \ libinput \ libxkbcommon \ libegl \ @@ -30,15 +31,19 @@ WLROOTS_BACKENDS = libinput drm ifeq ($(BR2_PACKAGE_WLROOTS_X11),y) WLROOTS_BACKENDS += x11 -WLROOTS_CONF_OPTS += -Dxwayland=enabled WLROOTS_DEPENDENCIES += libxcb xcb-util-wm xcb-util-renderutil xlib_libX11 +endif + +ifeq ($(BR2_PACKAGE_WLROOTS_XWAYLAND),y) +WLROOTS_CONF_OPTS += -Dxwayland=enabled +WLROOTS_DEPENDENCIES += libxcb xcb-util-wm xwayland else WLROOTS_CONF_OPTS += -Dxwayland=disabled endif -ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y) +ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER)$(BR2_PACKAGE_VULKAN_LOADER),yy) WLROOTS_RENDERERS += vulkan -WLROOTS_DEPENDENCIES += mesa3d +WLROOTS_DEPENDENCIES += mesa3d vulkan-loader endif WLROOTS_CONF_OPTS += \ diff --git a/package/wolfssl/Config.in b/package/wolfssl/Config.in index 3a97125e8d9..9d173412fed 100644 --- a/package/wolfssl/Config.in +++ b/package/wolfssl/Config.in @@ -1,3 +1,15 @@ +config BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS + bool + default y if BR2_aarch64 + default y if (BR2_arm || BR2_armeb) && !BR2_ARM_CPU_ARMV4 # clz + default y if BR2_powerpc + default y if BR2_powerpc64 || BR2_powerpc64le + default y if BR2_mips64 && !BR2_MIPS_CPU_MIPS32R6 + default y if BR2_mips64el && !BR2_MIPS_CPU_MIPS32R6 + default y if BR2_mips || BR2_mipsel + default y if BR2_riscv && BR2_RISCV_ISA_RVM + default y if BR2_s390x + config BR2_PACKAGE_WOLFSSL bool "wolfssl" depends on BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/wolfssl/wolfssl.hash b/package/wolfssl/wolfssl.hash index 08262113a0b..e705bba9fd7 100644 --- a/package/wolfssl/wolfssl.hash +++ b/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 fd3135b8657d09fb96a8aad16585da850b96ea420ae8ce5ac4d5fdfc614c2683 wolfssl-5.5.3.tar.gz +sha256 2de93e8af588ee856fe67a6d7fce23fc1b226b74d710b0e3946bc8061f6aa18f wolfssl-5.7.0.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wolfssl/wolfssl.mk b/package/wolfssl/wolfssl.mk index cd3acd9411c..893408eca41 100644 --- a/package/wolfssl/wolfssl.mk +++ b/package/wolfssl/wolfssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -WOLFSSL_VERSION = 5.5.3 +WOLFSSL_VERSION = 5.7.0 WOLFSSL_SITE = $(call github,wolfSSL,wolfssl,v$(WOLFSSL_VERSION)-stable) WOLFSSL_INSTALL_STAGING = YES @@ -12,11 +12,9 @@ WOLFSSL_LICENSE = GPL-2.0+ WOLFSSL_LICENSE_FILES = COPYING LICENSING WOLFSSL_CPE_ID_VENDOR = wolfssl WOLFSSL_CONFIG_SCRIPTS = wolfssl-config -WOLFSSL_DEPENDENCIES = host-pkgconf - -# wolfssl's source code is released without a configure -# script, so we need autoreconf +# From git WOLFSSL_AUTORECONF = YES +WOLFSSL_DEPENDENCIES = host-pkgconf WOLFSSL_CONF_OPTS = --disable-examples --disable-crypttests @@ -32,17 +30,25 @@ else WOLFSSL_CONF_OPTS += --disable-sslv3 endif +ifeq ($(BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS),y) +WOLFSSL_CONF_OPTS += --enable-asm +else +WOLFSSL_CONF_OPTS += --disable-asm +endif + # enable ARMv8 hardware acceleration -ifeq ($(BR2_ARM_CPU_ARMV8A),y) +ifeq ($(BR2_aarch64),y) WOLFSSL_CONF_OPTS += --enable-armasm # the flag -mstrict-align is needed to prevent build errors caused by # some inline assembly in parts of the AES structure using the "m" # constraint -ifeq ($(BR2_aarch64),y) WOLFSSL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -mstrict-align" -endif else WOLFSSL_CONF_OPTS += --disable-armasm endif +ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) +WOLFSSL_CONF_OPTS += --with-arm-target=thumb +endif + $(eval $(autotools-package)) diff --git a/package/wolftpm/wolftpm.hash b/package/wolftpm/wolftpm.hash index 735c731a53f..33d0aa24143 100644 --- a/package/wolftpm/wolftpm.hash +++ b/package/wolftpm/wolftpm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 78331cc2d98339247857f5ceb3e7cd3c4f5773e3d81bf1d73e8df9446e37472b wolftpm-2.6.0.tar.gz +sha256 b4f6c090cad7fdbd4fd976f1bd8f271694669459b240fa14bec60a89b749dc1b wolftpm-3.1.0.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/wolftpm/wolftpm.mk b/package/wolftpm/wolftpm.mk index 398fa668afe..4d1d4598012 100644 --- a/package/wolftpm/wolftpm.mk +++ b/package/wolftpm/wolftpm.mk @@ -4,7 +4,7 @@ # ################################################################################ -WOLFTPM_VERSION = 2.6.0 +WOLFTPM_VERSION = 3.1.0 WOLFTPM_SITE = $(call github,wolfSSL,wolfTPM,v$(WOLFTPM_VERSION)) WOLFTPM_INSTALL_STAGING = YES WOLFTPM_LICENSE = GPL-2.0+ diff --git a/package/wpa_supplicant/0003-Include-HMAC-SHA384-512-KDF-for-SAE-if-SHA384-512-is.patch b/package/wpa_supplicant/0003-Include-HMAC-SHA384-512-KDF-for-SAE-if-SHA384-512-is.patch new file mode 100644 index 00000000000..98df56e5406 --- /dev/null +++ b/package/wpa_supplicant/0003-Include-HMAC-SHA384-512-KDF-for-SAE-if-SHA384-512-is.patch @@ -0,0 +1,64 @@ +From c7f71fb8679c4cdd2607dbaac467a1d5efe9f0f9 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Sun, 17 Apr 2022 12:28:41 +0300 +Subject: [PATCH] Include HMAC-SHA384/512 KDF for SAE if SHA384/512 is included + +It was possible to miss the HMAC functions if some other build +configuration parameters ended up setting NEED_SHA384/512=y. + +Upstream: https://w1.fi/cgit/hostap/commit/?id=c7f71fb8679c4cdd2607dbaac467a1d5efe9f0f9 + +Signed-off-by: Jouni Malinen +Signed-off-by: Sergey Matyukevich +--- + wpa_supplicant/Android.mk | 11 +++++++++++ + wpa_supplicant/Makefile | 11 +++++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk +index 0e0ce467c..bcdbd6c90 100644 +--- a/wpa_supplicant/Android.mk ++++ b/wpa_supplicant/Android.mk +@@ -1361,6 +1361,17 @@ endif + endif + endif + ++ifdef CONFIG_SAE ++ifdef NEED_SHA384 ++# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled. ++NEED_HMAC_SHA384_KDF=y ++endif ++ifdef NEED_SHA512 ++# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled. ++NEED_HMAC_SHA512_KDF=y ++endif ++endif ++ + SHA256OBJS = # none by default + L_CFLAGS += -DCONFIG_SHA256 + ifneq ($(CONFIG_TLS), openssl) +diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile +index ed49aa972..69c80121c 100644 +--- a/wpa_supplicant/Makefile ++++ b/wpa_supplicant/Makefile +@@ -1475,6 +1475,17 @@ endif + endif + endif + ++ifdef CONFIG_SAE ++ifdef NEED_SHA384 ++# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled. ++NEED_HMAC_SHA384_KDF=y ++endif ++ifdef NEED_SHA512 ++# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled. ++NEED_HMAC_SHA512_KDF=y ++endif ++endif ++ + SHA256OBJS = # none by default + CFLAGS += -DCONFIG_SHA256 + ifneq ($(CONFIG_TLS), openssl) +-- +2.39.2 + diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index e5e3938be12..42c6f772acb 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -13,7 +13,6 @@ WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config WPA_SUPPLICANT_SUBDIR = wpa_supplicant WPA_SUPPLICANT_DBUS_SERVICE = fi.w1.wpa_supplicant1 WPA_SUPPLICANT_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/ -WPA_SUPPLICANT_LDFLAGS = $(TARGET_LDFLAGS) WPA_SUPPLICANT_SELINUX_MODULES = networkmanager # install the wpa_client library @@ -157,9 +156,6 @@ endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_DBUS),y) WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf dbus -WPA_SUPPLICANT_MAKE_ENV = \ - PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ - PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_CTRL_IFACE_DBUS_NEW define WPA_SUPPLICANT_INSTALL_DBUS_NEW $(INSTALL) -m 0644 -D \ diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash b/package/wpebackend-fdo/wpebackend-fdo.hash index 49c60fce0f2..26ba1217271 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.hash +++ b/package/wpebackend-fdo/wpebackend-fdo.hash @@ -1,7 +1,6 @@ -# From https://wpewebkit.org/releases/wpebackend-fdo-1.12.1.tar.xz.sums -md5 494f4a5b2bd89dacef37b69534b2e1ce wpebackend-fdo-1.12.1.tar.xz -sha1 72a85e4615e085926f7ad8fc8414f9c6a878ef28 wpebackend-fdo-1.12.1.tar.xz -sha256 45aa833c44ec292f31fa943b01b8cc75e54eb623ad7ba6a66fc2f118fe69e629 wpebackend-fdo-1.12.1.tar.xz +# From https://wpewebkit.org/releases/wpebackend-fdo-1.14.2.tar.xz.sums +sha1 f453f8d77e93f4ac6ac81c1874d4d6bdcb45c253 wpebackend-fdo-1.14.2.tar.xz +sha256 93c9766ae9864eeaeaee2b0a74f22cbca08df42c1a1bdb55b086f2528e380d38 wpebackend-fdo-1.14.2.tar.xz # Hashes for license files: sha256 c9f6803371047fad3e72200ec6cd226329a5ee08ac61104c8211c2761fb46825 COPYING diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk b/package/wpebackend-fdo/wpebackend-fdo.mk index 2e2bdee94ec..7ef347b6221 100644 --- a/package/wpebackend-fdo/wpebackend-fdo.mk +++ b/package/wpebackend-fdo/wpebackend-fdo.mk @@ -4,7 +4,7 @@ # ################################################################################ -WPEBACKEND_FDO_VERSION = 1.12.1 +WPEBACKEND_FDO_VERSION = 1.14.2 WPEBACKEND_FDO_SITE = https://wpewebkit.org/releases WPEBACKEND_FDO_SOURCE = wpebackend-fdo-$(WPEBACKEND_FDO_VERSION).tar.xz WPEBACKEND_FDO_INSTALL_STAGING = YES diff --git a/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch b/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch deleted file mode 100644 index b61909b2acd..00000000000 --- a/package/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch +++ /dev/null @@ -1,314 +0,0 @@ -From 59c9e3a4aeb4753be97b3817d106816d9a4ebe73 Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Thu, 2 Jun 2022 11:19:06 +0300 -Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems - unused https://bugs.webkit.org/show_bug.cgi?id=241182 - -Reviewed by NOBODY (OOPS!). - -Move the NEON fast path for the SVG lighting filter effects into -FELightingSoftwareApplier, and arrange to actually use them by -forwarding calls to applyPlatformGeneric() into applyPlatformNeon(). - -Some changes were needed to adapt platformApplyNeon() to the current -state of filters after r286140. This was not detected because the code -bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does -not get used much these days: CPU(ARM_THUMB2) is more common. It should -be possible to use the NEON fast paths also in Thumb mode, but that is -left for a follow-up fix. - -* Source/WebCore/Sources.txt: -* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp: -(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker): -(WebCore::FELightingSoftwareApplier::getPowerCoefficients): -(WebCore::FELighting::platformApplyNeonWorker): Deleted. -(WebCore::FELighting::getPowerCoefficients): Deleted. -* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h: -(WebCore::FELightingSoftwareApplier::applyPlatformNeon): -(WebCore::FELighting::platformApplyNeon): Deleted. -* Source/WebCore/platform/graphics/filters/DistantLightSource.h: -* Source/WebCore/platform/graphics/filters/FELighting.h: -* Source/WebCore/platform/graphics/filters/PointLightSource.h: -* Source/WebCore/platform/graphics/filters/SpotLightSource.h: -* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h: - -Signed-off-by: Adrian Perez de Castro -[Upstream status: https://bugs.webkit.org/show_bug.cgi?id=241182] ---- - .../cpu/arm/filters/FELightingNEON.cpp | 4 +- - .../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++---------- - .../graphics/filters/DistantLightSource.h | 4 ++ - .../platform/graphics/filters/FELighting.h | 7 --- - .../graphics/filters/PointLightSource.h | 4 ++ - .../graphics/filters/SpotLightSource.h | 4 ++ - .../software/FELightingSoftwareApplier.h | 16 ++++++ - 7 files changed, 56 insertions(+), 35 deletions(-) - -diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp -index f6ff8c20a5a8..42a97ffc5372 100644 ---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp -+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp -@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon() - return s_FELightingConstantsForNeon; - } - --void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) -+void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) - { - neonDrawLighting(parameters); - } -@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL - "b .lightStrengthCalculated" NL - ); // NOLINT - --int FELighting::getPowerCoefficients(float exponent) -+int FELightingSoftwareApplier::getPowerCoefficients(float exponent) - { - // Calling a powf function from the assembly code would require to save - // and reload a lot of NEON registers. Since the base is in range [0..1] -diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -index b17c603d40d3..e4629cda0b7c 100644 ---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -@@ -24,14 +24,15 @@ - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#ifndef FELightingNEON_h --#define FELightingNEON_h -+#pragma once - - #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) - --#include "FELighting.h" -+#include "FELightingSoftwareApplier.h" -+#include "ImageBuffer.h" - #include "PointLightSource.h" - #include "SpotLightSource.h" -+#include - #include - - namespace WebCore { -@@ -93,14 +94,14 @@ extern "C" { - void neonDrawLighting(FELightingPaintingDataForNeon*); - } - --inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData) -+inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData) - { -- alignas(16) FELightingFloatArgumentsForNeon floatArguments; -- FELightingPaintingDataForNeon neonData = { -+ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments; -+ WebCore::FELightingPaintingDataForNeon neonData = { - data.pixels->data(), - 1, -- data.widthDecreasedByOne - 1, -- data.heightDecreasedByOne - 1, -+ data.width - 2, -+ data.height - 2, - 0, - 0, - 0, -@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - // Set light source arguments. - floatArguments.constOne = 1; - -- auto color = m_lightingColor.toColorTypeLossy>().resolved(); -+ auto color = data.lightingColor.toColorTypeLossy>().resolved(); - - floatArguments.colorRed = color.red; - floatArguments.colorGreen = color.green; - floatArguments.colorBlue = color.blue; - floatArguments.padding4 = 0; - -- if (m_lightSource->type() == LS_POINT) { -+ if (data.lightSource->type() == LS_POINT) { - neonData.flags |= FLAG_POINT_LIGHT; -- PointLightSource& pointLightSource = static_cast(m_lightSource.get()); -+ const auto& pointLightSource = *static_cast(data.lightSource); - floatArguments.lightX = pointLightSource.position().x(); - floatArguments.lightY = pointLightSource.position().y(); - floatArguments.lightZ = pointLightSource.position().z(); - floatArguments.padding2 = 0; -- } else if (m_lightSource->type() == LS_SPOT) { -+ } else if (data.lightSource->type() == LS_SPOT) { - neonData.flags |= FLAG_SPOT_LIGHT; -- SpotLightSource& spotLightSource = static_cast(m_lightSource.get()); -+ const auto& spotLightSource = *static_cast(data.lightSource); - floatArguments.lightX = spotLightSource.position().x(); - floatArguments.lightY = spotLightSource.position().y(); - floatArguments.lightZ = spotLightSource.position().z(); -@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - if (spotLightSource.specularExponent() == 1) - neonData.flags |= FLAG_CONE_EXPONENT_IS_1; - } else { -- ASSERT(m_lightSource->type() == LS_DISTANT); -+ ASSERT(data.lightSource->type() == LS_DISTANT); - floatArguments.lightX = paintingData.initialLightingData.lightVector.x(); - floatArguments.lightY = paintingData.initialLightingData.lightVector.y(); - floatArguments.lightZ = paintingData.initialLightingData.lightVector.z(); -@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - // Set lighting arguments. - floatArguments.surfaceScale = data.surfaceScale; - floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4; -- if (m_lightingType == FELighting::DiffuseLighting) -- floatArguments.diffuseConstant = m_diffuseConstant; -+ if (data.filterType == FilterEffect::Type::FEDiffuseLighting) -+ floatArguments.diffuseConstant = data.diffuseConstant; - else { - neonData.flags |= FLAG_SPECULAR_LIGHT; -- floatArguments.diffuseConstant = m_specularConstant; -- neonData.specularExponent = getPowerCoefficients(m_specularExponent); -- if (m_specularExponent == 1) -+ floatArguments.diffuseConstant = data.specularConstant; -+ neonData.specularExponent = getPowerCoefficients(data.specularExponent); -+ if (data.specularExponent == 1) - neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1; - } - if (floatArguments.diffuseConstant == 1) - neonData.flags |= FLAG_DIFFUSE_CONST_IS_1; - -- int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension; -+ static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs -+ int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension; - if (optimalThreadNumber > 1) { - // Initialize parallel jobs -- ParallelJobs parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber); -+ ParallelJobs parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber); - - // Fill the parameter array - int job = parallelJobs.numberOfJobs(); - if (job > 1) { - int yStart = 1; -- int yStep = (data.heightDecreasedByOne - 1) / job; -+ int yStep = (data.height - 2) / job; - for (--job; job >= 0; --job) { - FELightingPaintingDataForNeon& params = parallelJobs.parameter(job); - params = neonData; - params.yStart = yStart; -- params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4; -+ params.pixels += (yStart - 1) * data.width * 4; - if (job > 0) { - params.absoluteHeight = yStep; - yStart += yStep; - } else -- params.absoluteHeight = data.heightDecreasedByOne - yStart; -+ params.absoluteHeight = (data.height - 1) - yStart; - } - parallelJobs.execute(); - return; -@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - } // namespace WebCore - - #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE) -- --#endif // FELightingNEON_h -diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h -index 0660143fc1cf..2b1e86d99fa4 100644 ---- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h -+++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h -@@ -25,6 +25,10 @@ - #include "LightSource.h" - #include - -+namespace WTF { -+class TextStream; -+} // namespace WTF -+ - namespace WebCore { - - class DistantLightSource : public LightSource { -diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h -index 0c073bc13f8c..e0db00545c17 100644 ---- a/Source/WebCore/platform/graphics/filters/FELighting.h -+++ b/Source/WebCore/platform/graphics/filters/FELighting.h -@@ -35,8 +35,6 @@ - - namespace WebCore { - --struct FELightingPaintingDataForNeon; -- - class FELighting : public FilterEffect { - public: - const Color& lightingColor() const { return m_lightingColor; } -@@ -67,11 +65,6 @@ protected: - - std::unique_ptr createSoftwareApplier() const override; - --#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) -- static int getPowerCoefficients(float exponent); -- inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&); --#endif -- - Color m_lightingColor; - float m_surfaceScale; - float m_diffuseConstant; -diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h -index 5c9c7fb783e6..e53aa012ac1c 100644 ---- a/Source/WebCore/platform/graphics/filters/PointLightSource.h -+++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h -@@ -26,6 +26,10 @@ - #include "LightSource.h" - #include - -+namespace WTF { -+class TextStream; -+} // namespace WTF -+ - namespace WebCore { - - class PointLightSource : public LightSource { -diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h -index 04e331ec4ec0..763c8d400b00 100644 ---- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h -+++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h -@@ -26,6 +26,10 @@ - #include "LightSource.h" - #include - -+namespace WTF { -+class TextStream; -+} // namespace WTF -+ - namespace WebCore { - - class SpotLightSource : public LightSource { -diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h -index 3875b0a4b5de..6d3864aafb9a 100644 ---- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h -+++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h -@@ -36,6 +36,7 @@ - namespace WebCore { - - class FELighting; -+struct FELightingPaintingDataForNeon; - - class FELightingSoftwareApplier final : public FilterEffectConcreteApplier { - WTF_MAKE_FAST_ALLOCATED; -@@ -132,8 +133,23 @@ private: - - static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY); - static void applyPlatformGenericWorker(ApplyParameters*); -+ -+#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) -+ static int getPowerCoefficients(float exponent); -+ static void platformApplyNeonWorker(FELightingPaintingDataForNeon*); -+ inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&); -+ -+ inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData) -+ { -+ applyPlatformNeon(data, paintingData); -+ } -+#else - static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&); -+#endif -+ - static void applyPlatform(const LightingData&); - }; - - } // namespace WebCore -+ -+#include "FELightingNEON.h" --- -2.37.3 - diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in index 04ed40bd925..e4b0320e1da 100644 --- a/package/wpewebkit/Config.in +++ b/package/wpewebkit/Config.in @@ -16,12 +16,12 @@ config BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 4.9" +comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \ || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_10 \ || !BR2_HOST_GCC_AT_LEAST_4_9 comment "wpewebkit needs an OpenGL ES w/ EGL-capable Wayland backend" @@ -36,9 +36,9 @@ config BR2_PACKAGE_WPEWEBKIT depends on !BR2_BINFMT_FLAT # icu depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby depends on BR2_INSTALL_LIBSTDCPP # harfbuzz, icu - depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 - depends on BR2_USE_WCHAR # icu, libsoup + depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on BR2_USE_WCHAR # icu, libsoup3 depends on BR2_PACKAGE_HAS_LIBGLES # libepoxy depends on BR2_PACKAGE_HAS_LIBEGL # libepoxy depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wpebackend-fdo @@ -51,10 +51,9 @@ config BR2_PACKAGE_WPEWEBKIT select BR2_PACKAGE_LIBEPOXY select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBPNG - select BR2_PACKAGE_LIBSOUP + select BR2_PACKAGE_LIBSOUP3 select BR2_PACKAGE_LIBTASN1 select BR2_PACKAGE_LIBXSLT - select BR2_PACKAGE_OPENJPEG select BR2_PACKAGE_WAYLAND select BR2_PACKAGE_WAYLAND_PROTOCOLS select BR2_PACKAGE_WEBP @@ -97,8 +96,7 @@ config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK - select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT - select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME select BR2_PACKAGE_GST1_PLUGINS_GOOD select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX diff --git a/package/wpewebkit/wpewebkit.hash b/package/wpewebkit/wpewebkit.hash index 9c8beecf2e8..790adbb0d4e 100644 --- a/package/wpewebkit/wpewebkit.hash +++ b/package/wpewebkit/wpewebkit.hash @@ -1,7 +1,7 @@ -# From https://wpewebkit.org/releases/wpewebkit-2.36.8.tar.xz.sums -md5 939dc646bb6652fde9a5b6512c17fc58 wpewebkit-2.36.8.tar.xz -sha1 f45936c578f7dcfbb6064e87da6c098efe093e68 wpewebkit-2.36.8.tar.xz -sha256 8d42a349c910b2d0961b8d34fecef29cec3d21e3af5977346c90026692dc75eb wpewebkit-2.36.8.tar.xz +# From https://wpewebkit.org/releases/wpewebkit-2.44.2.tar.xz.sums +md5 0e2a6d05b000e79c51c537ab3261b171 wpewebkit-2.44.2.tar.xz +sha1 5bded217fab25aea776e41158fcdbd72d69a612e wpewebkit-2.44.2.tar.xz +sha256 2a3d23cb4fb071ca0db3a09c5a85f27b8bcc6094a2026d3b7407bed4f99218f7 wpewebkit-2.44.2.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/wpewebkit/wpewebkit.mk b/package/wpewebkit/wpewebkit.mk index 0ff82045195..ecb3b3e352b 100644 --- a/package/wpewebkit/wpewebkit.mk +++ b/package/wpewebkit/wpewebkit.mk @@ -4,8 +4,9 @@ # ################################################################################ -WPEWEBKIT_VERSION = 2.36.8 -WPEWEBKIT_SITE = http://www.wpewebkit.org/releases +# The middle number is even for stable releases, odd for development ones. +WPEWEBKIT_VERSION = 2.44.2 +WPEWEBKIT_SITE = https://wpewebkit.org/releases WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz WPEWEBKIT_INSTALL_STAGING = YES WPEWEBKIT_LICENSE = LGPL-2.1+, BSD-2-Clause @@ -14,17 +15,21 @@ WPEWEBKIT_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WPEWEBKIT_CPE_ID_VENDOR = wpewebkit WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit -WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby \ - harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \ - libpng libxslt openjpeg wayland-protocols webp wpebackend-fdo +WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby host-unifdef \ + harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup3 libtasn1 \ + libpng libxslt wayland-protocols webp wpebackend-fdo + +WPEWEBKIT_CMAKE_BACKEND = ninja WPEWEBKIT_CONF_OPTS = \ -DPORT=WPE \ - -DENABLE_ACCESSIBILITY=OFF \ -DENABLE_API_TESTS=OFF \ + -DENABLE_DOCUMENTATION=OFF \ + -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=OFF \ - -DUSE_SOUP2=ON \ - -DSILENCE_CROSS_COMPILATION_NOTICES=ON + -DENABLE_WEB_RTC=OFF \ + -DUSE_ATK=OFF \ + -DUSE_AVIF=OFF ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y) WPEWEBKIT_CONF_OPTS += \ @@ -39,12 +44,14 @@ endif ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y) WPEWEBKIT_CONF_OPTS += \ -DENABLE_VIDEO=ON \ - -DENABLE_WEB_AUDIO=ON + -DENABLE_WEB_AUDIO=ON \ + -DENABLE_WEB_CODECS=ON WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base else WPEWEBKIT_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ - -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_AUDIO=OFF \ + -DENABLE_WEB_CODECS=OFF endif ifeq ($(BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM),y) @@ -73,6 +80,13 @@ else WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=OFF endif +ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y) +WPEWEBKIT_CONF_OPTS += -DUSE_LIBBACKTRACE=ON +WPEWEBKIT_DEPENDENCIES += libbacktrace +else +WPEWEBKIT_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF +endif + ifeq ($(BR2_PACKAGE_WOFF2),y) WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON WPEWEBKIT_DEPENDENCIES += woff2 @@ -80,6 +94,13 @@ else WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF endif +ifeq ($(BR2_PACKAGE_LIBJXL),y) +WPEWEBKIT_CONF_OPTS += -DUSE_JPEGXL=ON +WPEWEBKIT_DEPENDENCIES += libjxl +else +WPEWEBKIT_CONF_OPTS += -DUSE_JPEGXL=OFF +endif + ifeq ($(BR2_INIT_SYSTEMD),y) WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON WPEWEBKIT_DEPENDENCIES += systemd @@ -87,18 +108,30 @@ else WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF endif +ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y) +WPEWEBKIT_CONF_OPTS += -DUSE_GBM=ON +WPEWEBKIT_DEPENDENCIES += libgbm +else +WPEWEBKIT_CONF_OPTS += -DUSE_GBM=OFF +endif + # JIT is not supported for MIPS r6, but the WebKit build system does not # have a check for these processors. The same goes for ARMv5 and ARMv6. # Disable JIT forcibly here and use the CLoop interpreter instead. # -# Also, we have to disable the sampling profiler, which does NOT work -# with ENABLE_C_LOOP. +# Also, we have to disable the sampling profiler and WebAssembly, which +# do NOT work with ENABLE_C_LOOP. # # Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258 # https://bugs.webkit.org/show_bug.cgi?id=172765 +# https://bugs.webkit.org/show_bug.cgi?id=265218 # ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y) -WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF +WPEWEBKIT_CONF_OPTS += \ + -DENABLE_JIT=OFF \ + -DENABLE_C_LOOP=ON \ + -DENABLE_SAMPLING_PROFILER=OFF \ + -DENABLE_WEBASSEMBLY=OFF endif $(eval $(cmake-package)) diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in index da79c4e851f..0002dfe598e 100644 --- a/package/x11r7/Config.in +++ b/package/x11r7/Config.in @@ -11,232 +11,232 @@ menuconfig BR2_PACKAGE_XORG7 if BR2_PACKAGE_XORG7 menu "X11R7 Servers" - source package/x11r7/xserver_xorg-server/Config.in + source "package/x11r7/xserver_xorg-server/Config.in" + source "package/x11r7/xwayland/Config.in" endmenu menu "X11R7 Libraries" - source package/x11r7/libxcb/Config.in - source package/x11r7/xcb-util/Config.in - source package/x11r7/xcb-util-cursor/Config.in - source package/x11r7/xcb-util-image/Config.in - source package/x11r7/xcb-util-keysyms/Config.in - source package/x11r7/xcb-util-renderutil/Config.in - source package/x11r7/xcb-util-wm/Config.in - source package/x11r7/xlib_libFS/Config.in - source package/x11r7/xlib_libICE/Config.in - source package/x11r7/xlib_libSM/Config.in - source package/x11r7/xlib_libX11/Config.in - source package/x11r7/xlib_libXScrnSaver/Config.in - source package/x11r7/xlib_libXau/Config.in - source package/x11r7/xlib_libXaw/Config.in - source package/x11r7/xlib_libXcomposite/Config.in - source package/x11r7/xlib_libXcursor/Config.in - source package/x11r7/xlib_libXdamage/Config.in - source package/x11r7/xlib_libXdmcp/Config.in - source package/x11r7/xlib_libXext/Config.in - source package/x11r7/xlib_libXfixes/Config.in - source package/x11r7/xlib_libXfont/Config.in - source package/x11r7/xlib_libXfont2/Config.in - source package/x11r7/xlib_libXft/Config.in - source package/x11r7/xlib_libXi/Config.in - source package/x11r7/xlib_libXinerama/Config.in - source package/x11r7/xlib_libXmu/Config.in - source package/x11r7/xlib_libXpm/Config.in - source package/x11r7/xlib_libXrandr/Config.in - source package/x11r7/xlib_libXrender/Config.in - source package/x11r7/xlib_libXres/Config.in - source package/x11r7/xlib_libXt/Config.in - source package/x11r7/xlib_libXtst/Config.in - source package/x11r7/xlib_libXv/Config.in - source package/x11r7/xlib_libXvMC/Config.in - source package/x11r7/xlib_libXxf86dga/Config.in - source package/x11r7/xlib_libXxf86vm/Config.in - source package/x11r7/xlib_libdmx/Config.in - source package/x11r7/xlib_libfontenc/Config.in - source package/x11r7/xlib_libxcvt/Config.in - source package/x11r7/xlib_libxkbfile/Config.in - source package/x11r7/xlib_libxshmfence/Config.in - source package/x11r7/xlib_xtrans/Config.in + source "package/x11r7/libxcb/Config.in" + source "package/x11r7/xcb-util/Config.in" + source "package/x11r7/xcb-util-cursor/Config.in" + source "package/x11r7/xcb-util-image/Config.in" + source "package/x11r7/xcb-util-keysyms/Config.in" + source "package/x11r7/xcb-util-renderutil/Config.in" + source "package/x11r7/xcb-util-wm/Config.in" + source "package/x11r7/xlib_libFS/Config.in" + source "package/x11r7/xlib_libICE/Config.in" + source "package/x11r7/xlib_libSM/Config.in" + source "package/x11r7/xlib_libX11/Config.in" + source "package/x11r7/xlib_libXScrnSaver/Config.in" + source "package/x11r7/xlib_libXau/Config.in" + source "package/x11r7/xlib_libXaw/Config.in" + source "package/x11r7/xlib_libXcomposite/Config.in" + source "package/x11r7/xlib_libXcursor/Config.in" + source "package/x11r7/xlib_libXdamage/Config.in" + source "package/x11r7/xlib_libXdmcp/Config.in" + source "package/x11r7/xlib_libXext/Config.in" + source "package/x11r7/xlib_libXfixes/Config.in" + source "package/x11r7/xlib_libXfont/Config.in" + source "package/x11r7/xlib_libXfont2/Config.in" + source "package/x11r7/xlib_libXft/Config.in" + source "package/x11r7/xlib_libXi/Config.in" + source "package/x11r7/xlib_libXinerama/Config.in" + source "package/x11r7/xlib_libXmu/Config.in" + source "package/x11r7/xlib_libXpm/Config.in" + source "package/x11r7/xlib_libXpresent/Config.in" + source "package/x11r7/xlib_libXrandr/Config.in" + source "package/x11r7/xlib_libXrender/Config.in" + source "package/x11r7/xlib_libXres/Config.in" + source "package/x11r7/xlib_libXt/Config.in" + source "package/x11r7/xlib_libXtst/Config.in" + source "package/x11r7/xlib_libXv/Config.in" + source "package/x11r7/xlib_libXvMC/Config.in" + source "package/x11r7/xlib_libXxf86dga/Config.in" + source "package/x11r7/xlib_libXxf86vm/Config.in" + source "package/x11r7/xlib_libdmx/Config.in" + source "package/x11r7/xlib_libfontenc/Config.in" + source "package/x11r7/xlib_libxcvt/Config.in" + source "package/x11r7/xlib_libxkbfile/Config.in" + source "package/x11r7/xlib_libxshmfence/Config.in" + source "package/x11r7/xlib_xtrans/Config.in" endmenu menu "X11R7 Applications" - source package/x11r7/xapp_appres/Config.in - source package/x11r7/xapp_bdftopcf/Config.in - source package/x11r7/xapp_beforelight/Config.in - source package/x11r7/xapp_bitmap/Config.in - source package/x11r7/xapp_editres/Config.in - source package/x11r7/xapp_fonttosfnt/Config.in - source package/x11r7/xapp_fslsfonts/Config.in - source package/x11r7/xapp_fstobdf/Config.in - source package/x11r7/xapp_iceauth/Config.in - source package/x11r7/xapp_ico/Config.in - source package/x11r7/xapp_listres/Config.in - source package/x11r7/xapp_luit/Config.in - source package/x11r7/xapp_mkfontscale/Config.in - source package/x11r7/xapp_oclock/Config.in - source package/x11r7/xapp_rgb/Config.in - source package/x11r7/xapp_rstart/Config.in - source package/x11r7/xapp_scripts/Config.in - source package/x11r7/xapp_sessreg/Config.in - source package/x11r7/xapp_setxkbmap/Config.in - source package/x11r7/xapp_showfont/Config.in - source package/x11r7/xapp_smproxy/Config.in - source package/x11r7/xapp_twm/Config.in - source package/x11r7/xapp_viewres/Config.in - source package/x11r7/xapp_x11perf/Config.in - source package/x11r7/xapp_xauth/Config.in - source package/x11r7/xapp_xbacklight/Config.in - source package/x11r7/xapp_xbiff/Config.in - source package/x11r7/xapp_xcalc/Config.in - source package/x11r7/xapp_xclipboard/Config.in - source package/x11r7/xapp_xclock/Config.in - source package/x11r7/xapp_xcmsdb/Config.in - source package/x11r7/xapp_xcompmgr/Config.in - source package/x11r7/xapp_xconsole/Config.in - source package/x11r7/xapp_xcursorgen/Config.in - source package/x11r7/xapp_xdbedizzy/Config.in - source package/x11r7/xapp_xditview/Config.in - source package/x11r7/xapp_xdm/Config.in - source package/x11r7/xapp_xdpyinfo/Config.in - source package/x11r7/xapp_xdriinfo/Config.in - source package/x11r7/xapp_xedit/Config.in - source package/x11r7/xapp_xev/Config.in - source package/x11r7/xapp_xeyes/Config.in - source package/x11r7/xapp_xf86dga/Config.in - source package/x11r7/xapp_xfd/Config.in - source package/x11r7/xapp_xfindproxy/Config.in - source package/x11r7/xapp_xfontsel/Config.in - source package/x11r7/xapp_xfs/Config.in - source package/x11r7/xapp_xfsinfo/Config.in - source package/x11r7/xapp_xgamma/Config.in - source package/x11r7/xapp_xgc/Config.in - source package/x11r7/xapp_xhost/Config.in - source package/x11r7/xapp_xinit/Config.in - source package/x11r7/xapp_xinput/Config.in - source package/x11r7/xapp_xinput-calibrator/Config.in - source package/x11r7/xapp_xkbcomp/Config.in - source package/x11r7/xapp_xkbevd/Config.in - source package/x11r7/xapp_xkbprint/Config.in - source package/x11r7/xapp_xkbutils/Config.in - source package/x11r7/xapp_xkill/Config.in - source package/x11r7/xapp_xload/Config.in - source package/x11r7/xapp_xlogo/Config.in - source package/x11r7/xapp_xlsatoms/Config.in - source package/x11r7/xapp_xlsclients/Config.in - source package/x11r7/xapp_xlsfonts/Config.in - source package/x11r7/xapp_xmag/Config.in - source package/x11r7/xapp_xman/Config.in - source package/x11r7/xapp_xmessage/Config.in - source package/x11r7/xapp_xmh/Config.in - source package/x11r7/xapp_xmodmap/Config.in - source package/x11r7/xapp_xmore/Config.in - source package/x11r7/xapp_xpr/Config.in - source package/x11r7/xapp_xprop/Config.in - source package/x11r7/xapp_xrandr/Config.in - source package/x11r7/xapp_xrdb/Config.in - source package/x11r7/xapp_xrefresh/Config.in - source package/x11r7/xapp_xset/Config.in - source package/x11r7/xapp_xsetmode/Config.in - source package/x11r7/xapp_xsetpointer/Config.in - source package/x11r7/xapp_xsetroot/Config.in - source package/x11r7/xapp_xsm/Config.in - source package/x11r7/xapp_xstdcmap/Config.in - source package/x11r7/xapp_xvidtune/Config.in - source package/x11r7/xapp_xvinfo/Config.in - source package/x11r7/xapp_xwd/Config.in - source package/x11r7/xapp_xwininfo/Config.in - source package/x11r7/xapp_xwud/Config.in + source "package/x11r7/xapp_appres/Config.in" + source "package/x11r7/xapp_bdftopcf/Config.in" + source "package/x11r7/xapp_beforelight/Config.in" + source "package/x11r7/xapp_bitmap/Config.in" + source "package/x11r7/xapp_editres/Config.in" + source "package/x11r7/xapp_fonttosfnt/Config.in" + source "package/x11r7/xapp_fslsfonts/Config.in" + source "package/x11r7/xapp_fstobdf/Config.in" + source "package/x11r7/xapp_iceauth/Config.in" + source "package/x11r7/xapp_ico/Config.in" + source "package/x11r7/xapp_listres/Config.in" + source "package/x11r7/xapp_luit/Config.in" + source "package/x11r7/xapp_mkfontscale/Config.in" + source "package/x11r7/xapp_oclock/Config.in" + source "package/x11r7/xapp_rgb/Config.in" + source "package/x11r7/xapp_rstart/Config.in" + source "package/x11r7/xapp_scripts/Config.in" + source "package/x11r7/xapp_sessreg/Config.in" + source "package/x11r7/xapp_setxkbmap/Config.in" + source "package/x11r7/xapp_showfont/Config.in" + source "package/x11r7/xapp_smproxy/Config.in" + source "package/x11r7/xapp_twm/Config.in" + source "package/x11r7/xapp_viewres/Config.in" + source "package/x11r7/xapp_x11perf/Config.in" + source "package/x11r7/xapp_xauth/Config.in" + source "package/x11r7/xapp_xbacklight/Config.in" + source "package/x11r7/xapp_xbiff/Config.in" + source "package/x11r7/xapp_xcalc/Config.in" + source "package/x11r7/xapp_xclipboard/Config.in" + source "package/x11r7/xapp_xclock/Config.in" + source "package/x11r7/xapp_xcmsdb/Config.in" + source "package/x11r7/xapp_xcompmgr/Config.in" + source "package/x11r7/xapp_xconsole/Config.in" + source "package/x11r7/xapp_xcursorgen/Config.in" + source "package/x11r7/xapp_xdbedizzy/Config.in" + source "package/x11r7/xapp_xditview/Config.in" + source "package/x11r7/xapp_xdm/Config.in" + source "package/x11r7/xapp_xdpyinfo/Config.in" + source "package/x11r7/xapp_xdriinfo/Config.in" + source "package/x11r7/xapp_xedit/Config.in" + source "package/x11r7/xapp_xev/Config.in" + source "package/x11r7/xapp_xeyes/Config.in" + source "package/x11r7/xapp_xf86dga/Config.in" + source "package/x11r7/xapp_xfd/Config.in" + source "package/x11r7/xapp_xfindproxy/Config.in" + source "package/x11r7/xapp_xfontsel/Config.in" + source "package/x11r7/xapp_xfs/Config.in" + source "package/x11r7/xapp_xfsinfo/Config.in" + source "package/x11r7/xapp_xgamma/Config.in" + source "package/x11r7/xapp_xgc/Config.in" + source "package/x11r7/xapp_xhost/Config.in" + source "package/x11r7/xapp_xinit/Config.in" + source "package/x11r7/xapp_xinput/Config.in" + source "package/x11r7/xapp_xinput-calibrator/Config.in" + source "package/x11r7/xapp_xkbcomp/Config.in" + source "package/x11r7/xapp_xkbevd/Config.in" + source "package/x11r7/xapp_xkbprint/Config.in" + source "package/x11r7/xapp_xkbutils/Config.in" + source "package/x11r7/xapp_xkill/Config.in" + source "package/x11r7/xapp_xload/Config.in" + source "package/x11r7/xapp_xlogo/Config.in" + source "package/x11r7/xapp_xlsatoms/Config.in" + source "package/x11r7/xapp_xlsclients/Config.in" + source "package/x11r7/xapp_xlsfonts/Config.in" + source "package/x11r7/xapp_xmag/Config.in" + source "package/x11r7/xapp_xman/Config.in" + source "package/x11r7/xapp_xmessage/Config.in" + source "package/x11r7/xapp_xmh/Config.in" + source "package/x11r7/xapp_xmodmap/Config.in" + source "package/x11r7/xapp_xmore/Config.in" + source "package/x11r7/xapp_xpr/Config.in" + source "package/x11r7/xapp_xprop/Config.in" + source "package/x11r7/xapp_xrandr/Config.in" + source "package/x11r7/xapp_xrdb/Config.in" + source "package/x11r7/xapp_xrefresh/Config.in" + source "package/x11r7/xapp_xset/Config.in" + source "package/x11r7/xapp_xsetmode/Config.in" + source "package/x11r7/xapp_xsetpointer/Config.in" + source "package/x11r7/xapp_xsetroot/Config.in" + source "package/x11r7/xapp_xsm/Config.in" + source "package/x11r7/xapp_xstdcmap/Config.in" + source "package/x11r7/xapp_xvidtune/Config.in" + source "package/x11r7/xapp_xvinfo/Config.in" + source "package/x11r7/xapp_xwd/Config.in" + source "package/x11r7/xapp_xwininfo/Config.in" + source "package/x11r7/xapp_xwud/Config.in" endmenu if BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR menu "X11R7 Drivers" - source package/x11r7/xdriver_xf86-input-evdev/Config.in - source package/x11r7/xdriver_xf86-input-joystick/Config.in - source package/x11r7/xdriver_xf86-input-keyboard/Config.in - source package/x11r7/xdriver_xf86-input-libinput/Config.in - source package/x11r7/xdriver_xf86-input-mouse/Config.in - source package/x11r7/xdriver_xf86-input-synaptics/Config.in - source package/x11r7/xdriver_xf86-input-tslib/Config.in - source package/x11r7/xdriver_xf86-input-vmmouse/Config.in - source package/x11r7/xdriver_xf86-video-amdgpu/Config.in - source package/x11r7/xdriver_xf86-video-ark/Config.in - source package/x11r7/xdriver_xf86-video-ast/Config.in - source package/x11r7/xdriver_xf86-video-ati/Config.in - source package/x11r7/xdriver_xf86-video-cirrus/Config.in - source package/x11r7/xdriver_xf86-video-dummy/Config.in - source package/x11r7/xdriver_xf86-video-fbdev/Config.in - source package/x11r7/xdriver_xf86-video-fbturbo/Config.in - source package/x11r7/xdriver_xf86-video-geode/Config.in - source package/x11r7/xdriver_xf86-video-i128/Config.in - source package/x11r7/xdriver_xf86-video-imx/Config.in - source package/x11r7/xdriver_xf86-video-imx-viv/Config.in - source package/x11r7/xdriver_xf86-video-intel/Config.in - source package/x11r7/xdriver_xf86-video-mach64/Config.in - source package/x11r7/xdriver_xf86-video-mga/Config.in - source package/x11r7/xdriver_xf86-video-neomagic/Config.in - source package/x11r7/xdriver_xf86-video-nouveau/Config.in - source package/x11r7/xdriver_xf86-video-nv/Config.in - source package/x11r7/xdriver_xf86-video-openchrome/Config.in - source package/x11r7/xdriver_xf86-video-qxl/Config.in - source package/x11r7/xdriver_xf86-video-r128/Config.in - source package/x11r7/xdriver_xf86-video-savage/Config.in - source package/x11r7/xdriver_xf86-video-siliconmotion/Config.in - source package/x11r7/xdriver_xf86-video-sis/Config.in - source package/x11r7/xdriver_xf86-video-tdfx/Config.in - source package/x11r7/xdriver_xf86-video-trident/Config.in - source package/x11r7/xdriver_xf86-video-vesa/Config.in - source package/x11r7/xdriver_xf86-video-vmware/Config.in - source package/x11r7/xdriver_xf86-video-voodoo/Config.in + source "package/x11r7/xdriver_xf86-input-evdev/Config.in" + source "package/x11r7/xdriver_xf86-input-joystick/Config.in" + source "package/x11r7/xdriver_xf86-input-libinput/Config.in" + source "package/x11r7/xdriver_xf86-input-mouse/Config.in" + source "package/x11r7/xdriver_xf86-input-synaptics/Config.in" + source "package/x11r7/xdriver_xf86-input-tslib/Config.in" + source "package/x11r7/xdriver_xf86-input-vmmouse/Config.in" + source "package/x11r7/xdriver_xf86-video-amdgpu/Config.in" + source "package/x11r7/xdriver_xf86-video-ark/Config.in" + source "package/x11r7/xdriver_xf86-video-ast/Config.in" + source "package/x11r7/xdriver_xf86-video-ati/Config.in" + source "package/x11r7/xdriver_xf86-video-cirrus/Config.in" + source "package/x11r7/xdriver_xf86-video-dummy/Config.in" + source "package/x11r7/xdriver_xf86-video-fbdev/Config.in" + source "package/x11r7/xdriver_xf86-video-fbturbo/Config.in" + source "package/x11r7/xdriver_xf86-video-geode/Config.in" + source "package/x11r7/xdriver_xf86-video-i128/Config.in" + source "package/x11r7/xdriver_xf86-video-imx/Config.in" + source "package/x11r7/xdriver_xf86-video-intel/Config.in" + source "package/x11r7/xdriver_xf86-video-mach64/Config.in" + source "package/x11r7/xdriver_xf86-video-mga/Config.in" + source "package/x11r7/xdriver_xf86-video-neomagic/Config.in" + source "package/x11r7/xdriver_xf86-video-nouveau/Config.in" + source "package/x11r7/xdriver_xf86-video-nv/Config.in" + source "package/x11r7/xdriver_xf86-video-openchrome/Config.in" + source "package/x11r7/xdriver_xf86-video-qxl/Config.in" + source "package/x11r7/xdriver_xf86-video-r128/Config.in" + source "package/x11r7/xdriver_xf86-video-savage/Config.in" + source "package/x11r7/xdriver_xf86-video-siliconmotion/Config.in" + source "package/x11r7/xdriver_xf86-video-sis/Config.in" + source "package/x11r7/xdriver_xf86-video-tdfx/Config.in" + source "package/x11r7/xdriver_xf86-video-trident/Config.in" + source "package/x11r7/xdriver_xf86-video-vesa/Config.in" + source "package/x11r7/xdriver_xf86-video-vmware/Config.in" + source "package/x11r7/xdriver_xf86-video-voodoo/Config.in" endmenu endif menu "X11R7 Fonts" - source package/x11r7/xfont_font-util/Config.in - source package/x11r7/xfont_encodings/Config.in - source package/x11r7/xfont_font-adobe-100dpi/Config.in - source package/x11r7/xfont_font-adobe-75dpi/Config.in - source package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in - source package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in - source package/x11r7/xfont_font-adobe-utopia-type1/Config.in - source package/x11r7/xfont_font-alias/Config.in - source package/x11r7/xfont_font-arabic-misc/Config.in - source package/x11r7/xfont_font-bh-100dpi/Config.in - source package/x11r7/xfont_font-bh-75dpi/Config.in - source package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in - source package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in - source package/x11r7/xfont_font-bh-ttf/Config.in - source package/x11r7/xfont_font-bh-type1/Config.in - source package/x11r7/xfont_font-bitstream-100dpi/Config.in - source package/x11r7/xfont_font-bitstream-75dpi/Config.in - source package/x11r7/xfont_font-bitstream-type1/Config.in - source package/x11r7/xfont_font-cronyx-cyrillic/Config.in - source package/x11r7/xfont_font-cursor-misc/Config.in - source package/x11r7/xfont_font-daewoo-misc/Config.in - source package/x11r7/xfont_font-dec-misc/Config.in - source package/x11r7/xfont_font-ibm-type1/Config.in - source package/x11r7/xfont_font-isas-misc/Config.in - source package/x11r7/xfont_font-jis-misc/Config.in - source package/x11r7/xfont_font-micro-misc/Config.in - source package/x11r7/xfont_font-misc-cyrillic/Config.in - source package/x11r7/xfont_font-misc-ethiopic/Config.in - source package/x11r7/xfont_font-misc-meltho/Config.in - source package/x11r7/xfont_font-misc-misc/Config.in - source package/x11r7/xfont_font-mutt-misc/Config.in - source package/x11r7/xfont_font-schumacher-misc/Config.in - source package/x11r7/xfont_font-screen-cyrillic/Config.in - source package/x11r7/xfont_font-sony-misc/Config.in - source package/x11r7/xfont_font-sun-misc/Config.in - source package/x11r7/xfont_font-winitzki-cyrillic/Config.in - source package/x11r7/xfont_font-xfree86-type1/Config.in + source "package/x11r7/xfont_font-util/Config.in" + source "package/x11r7/xfont_encodings/Config.in" + source "package/x11r7/xfont_font-adobe-100dpi/Config.in" + source "package/x11r7/xfont_font-adobe-75dpi/Config.in" + source "package/x11r7/xfont_font-adobe-utopia-100dpi/Config.in" + source "package/x11r7/xfont_font-adobe-utopia-75dpi/Config.in" + source "package/x11r7/xfont_font-adobe-utopia-type1/Config.in" + source "package/x11r7/xfont_font-alias/Config.in" + source "package/x11r7/xfont_font-arabic-misc/Config.in" + source "package/x11r7/xfont_font-bh-100dpi/Config.in" + source "package/x11r7/xfont_font-bh-75dpi/Config.in" + source "package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/Config.in" + source "package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/Config.in" + source "package/x11r7/xfont_font-bh-ttf/Config.in" + source "package/x11r7/xfont_font-bh-type1/Config.in" + source "package/x11r7/xfont_font-bitstream-100dpi/Config.in" + source "package/x11r7/xfont_font-bitstream-75dpi/Config.in" + source "package/x11r7/xfont_font-bitstream-type1/Config.in" + source "package/x11r7/xfont_font-cronyx-cyrillic/Config.in" + source "package/x11r7/xfont_font-cursor-misc/Config.in" + source "package/x11r7/xfont_font-daewoo-misc/Config.in" + source "package/x11r7/xfont_font-dec-misc/Config.in" + source "package/x11r7/xfont_font-ibm-type1/Config.in" + source "package/x11r7/xfont_font-isas-misc/Config.in" + source "package/x11r7/xfont_font-jis-misc/Config.in" + source "package/x11r7/xfont_font-micro-misc/Config.in" + source "package/x11r7/xfont_font-misc-cyrillic/Config.in" + source "package/x11r7/xfont_font-misc-ethiopic/Config.in" + source "package/x11r7/xfont_font-misc-meltho/Config.in" + source "package/x11r7/xfont_font-misc-misc/Config.in" + source "package/x11r7/xfont_font-mutt-misc/Config.in" + source "package/x11r7/xfont_font-schumacher-misc/Config.in" + source "package/x11r7/xfont_font-screen-cyrillic/Config.in" + source "package/x11r7/xfont_font-sony-misc/Config.in" + source "package/x11r7/xfont_font-sun-misc/Config.in" + source "package/x11r7/xfont_font-winitzki-cyrillic/Config.in" + source "package/x11r7/xfont_font-xfree86-type1/Config.in" endmenu menu "X11R7 X protocols" - source package/x11r7/xcb-proto/Config.in - source package/x11r7/xorgproto/Config.in + source "package/x11r7/xcb-proto/Config.in" + source "package/x11r7/xorgproto/Config.in" endmenu menu "X11R7 Utilities" - source package/x11r7/xutil_makedepend/Config.in - source package/x11r7/mcookie/Config.in + source "package/x11r7/xutil_makedepend/Config.in" + source "package/x11r7/mcookie/Config.in" endmenu menu "X11R7 Other data" - source package/x11r7/xdata_xbitmaps/Config.in - source package/x11r7/xdata_xcursor-themes/Config.in - source package/x11r7/xcursor-transparent-theme/Config.in + source "package/x11r7/xdata_xbitmaps/Config.in" + source "package/x11r7/xdata_xcursor-themes/Config.in" + source "package/x11r7/xcursor-transparent-theme/Config.in" endmenu endif diff --git a/package/x11r7/xapp_beforelight/xapp_beforelight.hash b/package/x11r7/xapp_beforelight/xapp_beforelight.hash index 00aff75779b..f5b0cb21a41 100644 --- a/package/x11r7/xapp_beforelight/xapp_beforelight.hash +++ b/package/x11r7/xapp_beforelight/xapp_beforelight.hash @@ -1,4 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002131.html -sha256 8fcab6f15148ca680c0d3da8de7dcb41f8e6a076f442cf8bdcf272be9e348166 beforelight-1.0.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-January/003317.html +sha256 53f0bf085b7272ebbf626d1b9b0ad320d1a07bc1fe7f3ae260c86a71a857ad28 beforelight-1.0.6.tar.xz +sha512 48a165d151676f6d213883bee98b34007403a77e025253c8649f9a0f5ea258b09381ab523a5e906030ac9fc8245fce2c6beaf9ad0f81116e302d51ad4a0fad5a beforelight-1.0.6.tar.xz # Locally computed -sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING +sha256 3909739fae1ee37c3c7167a91f53d29317965aaf932813e16ef733f033619a7b COPYING diff --git a/package/x11r7/xapp_beforelight/xapp_beforelight.mk b/package/x11r7/xapp_beforelight/xapp_beforelight.mk index 7dcb715ef38..6b753833f75 100644 --- a/package/x11r7/xapp_beforelight/xapp_beforelight.mk +++ b/package/x11r7/xapp_beforelight/xapp_beforelight.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_BEFORELIGHT_VERSION = 1.0.5 -XAPP_BEFORELIGHT_SOURCE = beforelight-$(XAPP_BEFORELIGHT_VERSION).tar.bz2 -XAPP_BEFORELIGHT_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_BEFORELIGHT_VERSION = 1.0.6 +XAPP_BEFORELIGHT_SOURCE = beforelight-$(XAPP_BEFORELIGHT_VERSION).tar.xz +XAPP_BEFORELIGHT_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_BEFORELIGHT_LICENSE = MIT XAPP_BEFORELIGHT_LICENSE_FILES = COPYING XAPP_BEFORELIGHT_DEPENDENCIES = xlib_libX11 xlib_libXScrnSaver xlib_libXaw xlib_libXt diff --git a/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash b/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash index a57d7cc7374..a3ad6ce38c8 100644 --- a/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash +++ b/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-April/003146.html -sha256 b560c678da6930a0da267304fa3a41cc5df39a96a5e23d06f14984c87b6f587b setxkbmap-1.3.3.tar.xz -sha512 208f07a7f7bce47b573099d4cd8c941a3a4d74b456720bc3ca1cbba298381a2ab98c7500d6e6cd6d5dd61840b7c42cf6521da754ec395f266f8158102a55ad58 setxkbmap-1.3.3.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-May/003397.html +sha256 be8d8554d40e981d1b93b5ff82497c9ad2259f59f675b38f1b5e84624c07fade setxkbmap-1.3.4.tar.xz +sha512 f4d026e7707656173f54d79b95ff3370ae06eaf252b89b79bc7175edeaf3ef79073d4d7d8a35fdee95608bf85d7d23514d74f00e55b613810ef6c3ccc0cf498b setxkbmap-1.3.4.tar.xz # Locally computed sha256 afb8ce58340b6a6b85b73e256425263ce46f5a427279785e275991cb660cce82 COPYING diff --git a/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.mk b/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.mk index 4d48a3fbc19..9049b369441 100644 --- a/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.mk +++ b/package/x11r7/xapp_setxkbmap/xapp_setxkbmap.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_SETXKBMAP_VERSION = 1.3.3 +XAPP_SETXKBMAP_VERSION = 1.3.4 XAPP_SETXKBMAP_SOURCE = setxkbmap-$(XAPP_SETXKBMAP_VERSION).tar.xz XAPP_SETXKBMAP_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_SETXKBMAP_LICENSE = MIT diff --git a/package/x11r7/xapp_xcalc/xapp_xcalc.hash b/package/x11r7/xapp_xcalc/xapp_xcalc.hash index 0580253dd69..12633a41a92 100644 --- a/package/x11r7/xapp_xcalc/xapp_xcalc.hash +++ b/package/x11r7/xapp_xcalc/xapp_xcalc.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-April/003138.html -sha256 8cb08212c5322e8043f39b28699e13a43f000976c90b3c7fadd4fae2766326b4 xcalc-1.1.1.tar.xz -sha512 a261e9798d62727f40b9aff07e68e63ba40aa7f4f9b1811d8efd8c3e73cd5912d6178c55ca3c059968191051bd20b889b06b5e92b3df70c7b5d09bd013b9ebdb xcalc-1.1.1.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-May/003391.html +sha256 8578dfa1457e94289f6d6ed6146714307d8a73a1b54d2f42af1321b625fc1cd4 xcalc-1.1.2.tar.xz +sha512 51da677dc88bcd7299ed8d678cb26b048fdb82a1983e1496a06253ee2dceefca4ac87d1a74432b4a76dcc11921a61339bb3d292607be46228164140b430bbad2 xcalc-1.1.2.tar.xz # Locally computed sha256 8dd69dbec37866a41d3040c5c478aca46e0b50c30319f178064d5e2ed9d3f912 COPYING diff --git a/package/x11r7/xapp_xcalc/xapp_xcalc.mk b/package/x11r7/xapp_xcalc/xapp_xcalc.mk index 849746ece3f..ffb724e39cf 100644 --- a/package/x11r7/xapp_xcalc/xapp_xcalc.mk +++ b/package/x11r7/xapp_xcalc/xapp_xcalc.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XCALC_VERSION = 1.1.1 +XAPP_XCALC_VERSION = 1.1.2 XAPP_XCALC_SOURCE = xcalc-$(XAPP_XCALC_VERSION).tar.xz XAPP_XCALC_SITE = https://xorg.freedesktop.org/releases/individual/app XAPP_XCALC_LICENSE = MIT diff --git a/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.hash b/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.hash index 07a3eb936cf..b0afdc15acd 100644 --- a/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.hash +++ b/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-April/003157.html -sha256 356d5fd62f3e98ee36d6becf1b32d4ab6112d618339fb4b592ccffbd9e0fc206 xdpyinfo-1.3.3.tar.xz -sha512 47fe0821bc64145876853712ebd7c0af80111c243813615b892429021cc9a53abd38c4684551ae300cb5a4eacdd3d26e2c93e789ed91a948b20e2c37cd2d2442 xdpyinfo-1.3.3.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-April/003388.html +sha256 a8ada581dbd7266440d7c3794fa89edf6b99b8857fc2e8c31042684f3af4822b xdpyinfo-1.3.4.tar.xz +sha512 9ef9f5c10e15a40895e8f008896b960fdd438277657c7159d16f05db79cd2374cfaca4af2f4e59335824bfd2f74a045ef89dd99ea4130ed436ea59fbbb1cbe12 xdpyinfo-1.3.4.tar.xz # Locally computed sha256 49733ead65fdfa1da0d176f9b965cc08dae74d73d66c9606488d52f6fc036abf COPYING diff --git a/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.mk b/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.mk index c5e2a857e3f..a198fc44c36 100644 --- a/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.mk +++ b/package/x11r7/xapp_xdpyinfo/xapp_xdpyinfo.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_XDPYINFO_VERSION = 1.3.3 +XAPP_XDPYINFO_VERSION = 1.3.4 XAPP_XDPYINFO_SOURCE = xdpyinfo-$(XAPP_XDPYINFO_VERSION).tar.xz -XAPP_XDPYINFO_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XDPYINFO_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XDPYINFO_LICENSE = MIT XAPP_XDPYINFO_LICENSE_FILES = COPYING XAPP_XDPYINFO_CONF_OPTS = --without-xf86misc # not in BR diff --git a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash index 21c50184c72..ce11d069777 100644 --- a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash +++ b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002858.html -md5 480e63cd365f03eb2515a6527d5f4ca6 xdriinfo-1.0.6.tar.bz2 -sha1 11682ae1f04a311b832651d78bbf4c6ac77f0ed9 xdriinfo-1.0.6.tar.bz2 -sha256 d9ccd2c3e87899417acc9ea1f3e319a4198112babe1dc711273584f607449d51 xdriinfo-1.0.6.tar.bz2 -sha512 7ddd9e19abaef93e4d85004293528ec3814ef84c470d496dbb8dc8313d804bb7520406de8d33d2bc2b3af942bd0a5d5032a109b2726438a966af63ea680a102f xdriinfo-1.0.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2022-December/003308.html +sha256 dd838bae9d2b19ddd71fe6d30ed33abc7c85e19d223e79d35600db3fa44bf734 xdriinfo-1.0.7.tar.xz +sha512 a368cf32c606ca78f3a23bc5d88fb57b9c1a3827d0fec3e48cee153703135e47cecd3db8ee0eba93f309d7f03b4306c3f2e7f46f36d0d2970671c5e5b78093ad xdriinfo-1.0.7.tar.xz # Locally computed sha256 de2fbb160bbb64c48975d7a3ebe3636a312b73227df1efe37488a8cecb9c1932 COPYING diff --git a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk index 7f7aac9e154..7672dc88997 100644 --- a/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk +++ b/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_XDRIINFO_VERSION = 1.0.6 -XAPP_XDRIINFO_SOURCE = xdriinfo-$(XAPP_XDRIINFO_VERSION).tar.bz2 -XAPP_XDRIINFO_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XDRIINFO_VERSION = 1.0.7 +XAPP_XDRIINFO_SOURCE = xdriinfo-$(XAPP_XDRIINFO_VERSION).tar.xz +XAPP_XDRIINFO_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XDRIINFO_LICENSE = MIT XAPP_XDRIINFO_LICENSE_FILES = COPYING XAPP_XDRIINFO_DEPENDENCIES = libgl xlib_libX11 xorgproto diff --git a/package/x11r7/xapp_xhost/xapp_xhost.hash b/package/x11r7/xapp_xhost/xapp_xhost.hash index 71eabccc44b..fea2588c6d2 100644 --- a/package/x11r7/xapp_xhost/xapp_xhost.hash +++ b/package/x11r7/xapp_xhost/xapp_xhost.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-February/002950.html -md5 a48c72954ae6665e0616f6653636da8c xhost-1.0.8.tar.bz2 -sha1 971670858a464d4f8eeb6f4e182f9fcd94149790 xhost-1.0.8.tar.bz2 -sha256 a2dc3c579e13674947395ef8ccc1b3763f89012a216c2cc6277096489aadc396 xhost-1.0.8.tar.bz2 -sha512 55581f9bc45a70a73b13fe718ca83c4cb0a6116d26addc0f07659ebeb5bf7d2379e84cab5a1702ae77a298a66f42ae03f41ddc7d5acd61c6f18448e58ad7cb6b xhost-1.0.8.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2022-December/003301.html +sha256 ea86b531462035b19a2e5e01ef3d9a35cca7d984086645e2fc844d8f0e346645 xhost-1.0.9.tar.xz +sha512 d281a0df0a036d693ce7dbe0d1d53839110d203f42454bf4d33a49fbfddec078149969b6ad76641e40e207ddc8317ea563088c59025fc57d8245e5ed27f79818 xhost-1.0.9.tar.xz # Locally computed -sha256 7e69bed6fcfff05ecf454d7e4b29cd265172385833f1978f04b638f92f2cfecf COPYING +sha256 d3106697fb05dea4e9899b9e782ae7c3c17086d5b3dc7966494fc83fda9e468e COPYING diff --git a/package/x11r7/xapp_xhost/xapp_xhost.mk b/package/x11r7/xapp_xhost/xapp_xhost.mk index e9fb155216a..55f7ca5cc73 100644 --- a/package/x11r7/xapp_xhost/xapp_xhost.mk +++ b/package/x11r7/xapp_xhost/xapp_xhost.mk @@ -4,11 +4,12 @@ # ################################################################################ -XAPP_XHOST_VERSION = 1.0.8 -XAPP_XHOST_SOURCE = xhost-$(XAPP_XHOST_VERSION).tar.bz2 -XAPP_XHOST_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XHOST_VERSION = 1.0.9 +XAPP_XHOST_SOURCE = xhost-$(XAPP_XHOST_VERSION).tar.xz +XAPP_XHOST_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XHOST_LICENSE = MIT XAPP_XHOST_LICENSE_FILES = COPYING -XAPP_XHOST_DEPENDENCIES = xlib_libX11 xlib_libXmu +XAPP_XHOST_DEPENDENCIES = xlib_libX11 xlib_libXmu $(TARGET_NLS_DEPENDENCIES) +XAPP_XHOST_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xinput/xapp_xinput.hash b/package/x11r7/xapp_xinput/xapp_xinput.hash index 0961879637e..d3a6a66902a 100644 --- a/package/x11r7/xapp_xinput/xapp_xinput.hash +++ b/package/x11r7/xapp_xinput/xapp_xinput.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-July/003013.html -md5 ac6b7432726008b2f50eba82b0e2dbe4 xinput-1.6.3.tar.bz2 -sha1 92ea7dfb3d8465921b0dca85da7d5b01cedae6c8 xinput-1.6.3.tar.bz2 -sha256 35a281dd3b9b22ea85e39869bb7670ba78955d5fec17c6ef7165d61e5aeb66ed xinput-1.6.3.tar.bz2 -sha512 cb2fef866ac5a71dbca3e23b4ecadaca38e65dc1b30f8bb024bad92486554fafc472706619a1af04c746a4f53ce6aea827d694b9f4f0c7d0d46bb1da81984076 xinput-1.6.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-April/003389.html +sha256 ad04d00d656884d133110eeddc34e9c69e626ebebbbab04dc95791c2907057c8 xinput-1.6.4.tar.xz +sha512 6734860852715e5cb9d26259a173e42413fc037546ed7fa4173ffa802c2619ee0322bed228a28cd1911be759d860070867d9b89b115f37323cca1c9ef75354b9 xinput-1.6.4.tar.xz # Locally computed sha256 bbd35c7a8e8c5cb073935e84b29b0c53f7131a4ef1ce737dc2be5616941e07e1 COPYING diff --git a/package/x11r7/xapp_xinput/xapp_xinput.mk b/package/x11r7/xapp_xinput/xapp_xinput.mk index 0d6c0deffe4..614b62fe773 100644 --- a/package/x11r7/xapp_xinput/xapp_xinput.mk +++ b/package/x11r7/xapp_xinput/xapp_xinput.mk @@ -4,8 +4,8 @@ # ################################################################################ -XAPP_XINPUT_VERSION = 1.6.3 -XAPP_XINPUT_SOURCE = xinput-$(XAPP_XINPUT_VERSION).tar.bz2 +XAPP_XINPUT_VERSION = 1.6.4 +XAPP_XINPUT_SOURCE = xinput-$(XAPP_XINPUT_VERSION).tar.xz XAPP_XINPUT_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XINPUT_LICENSE = MIT XAPP_XINPUT_LICENSE_FILES = COPYING diff --git a/package/x11r7/xapp_xrdb/xapp_xrdb.hash b/package/x11r7/xapp_xrdb/xapp_xrdb.hash index 606fd260603..d8b56bf2c8b 100644 --- a/package/x11r7/xapp_xrdb/xapp_xrdb.hash +++ b/package/x11r7/xapp_xrdb/xapp_xrdb.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-August/003107.html -sha256 4f5d031c214ffb88a42ae7528492abde1178f5146351ceb3c05f3b8d5abee8b4 xrdb-1.2.1.tar.bz2 -sha512 d88135cdfea8536523dfb986249ee42761d5363c936352f12f55b4d0c849f21236f7d74d39869c5ec5b549019d6ed89d9096cde4b3c2b4816c2778a8e370b5c9 xrdb-1.2.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-June/003401.html +sha256 31f5fcab231b38f255b00b066cf7ea3b496df712c9eb2d0d50c670b63e5033f4 xrdb-1.2.2.tar.xz +sha512 c8a6fc94e270e9cb5602e055150553de103d545298285157ecd8924f163a10ebeb9acfff56d1fafbf48d339809c76340213792478cdf3270012d3cd05486001c xrdb-1.2.2.tar.xz # Locally computed sha256 ca1b3e2f9f37c35876b69a9c1c5a7860fae59b7ba87a1d2dc541b722e29b1ecc COPYING diff --git a/package/x11r7/xapp_xrdb/xapp_xrdb.mk b/package/x11r7/xapp_xrdb/xapp_xrdb.mk index 4f9860d25ae..769c5a06f49 100644 --- a/package/x11r7/xapp_xrdb/xapp_xrdb.mk +++ b/package/x11r7/xapp_xrdb/xapp_xrdb.mk @@ -4,8 +4,8 @@ # ################################################################################ -XAPP_XRDB_VERSION = 1.2.1 -XAPP_XRDB_SOURCE = xrdb-$(XAPP_XRDB_VERSION).tar.bz2 +XAPP_XRDB_VERSION = 1.2.2 +XAPP_XRDB_SOURCE = xrdb-$(XAPP_XRDB_VERSION).tar.xz XAPP_XRDB_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XRDB_LICENSE = MIT XAPP_XRDB_LICENSE_FILES = COPYING diff --git a/package/x11r7/xapp_xvidtune/xapp_xvidtune.hash b/package/x11r7/xapp_xvidtune/xapp_xvidtune.hash index ecf7d0330bb..0e7e2313835 100644 --- a/package/x11r7/xapp_xvidtune/xapp_xvidtune.hash +++ b/package/x11r7/xapp_xvidtune/xapp_xvidtune.hash @@ -1,4 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002129.html -sha256 24e5e103933a04bfb2e1d18562619ed74031ab515e7343eb546bacdbcbeecf01 xvidtune-1.0.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-February/003319.html +sha256 0d4eecd54e440cc11f1bdaaa23180fcf890f003444343f533f639086b05b2cc5 xvidtune-1.0.4.tar.xz +sha512 747d5358f4f7d3d7db508c3f034711ce4b9dd278160d35312e9c4d1604623e84a2438d039b536546fd2df7db8c5ea1907e8a6101985fad2932b6dee5a62c7b80 xvidtune-1.0.4.tar.xz # Locally computed sha256 f3da8eaed19e27e4f67e6f076d4ebdb8d649e15a8ad33a415fb65a23de1b6689 COPYING diff --git a/package/x11r7/xapp_xvidtune/xapp_xvidtune.mk b/package/x11r7/xapp_xvidtune/xapp_xvidtune.mk index d7c4d5bf562..cc40d39098e 100644 --- a/package/x11r7/xapp_xvidtune/xapp_xvidtune.mk +++ b/package/x11r7/xapp_xvidtune/xapp_xvidtune.mk @@ -4,9 +4,9 @@ # ################################################################################ -XAPP_XVIDTUNE_VERSION = 1.0.3 -XAPP_XVIDTUNE_SOURCE = xvidtune-$(XAPP_XVIDTUNE_VERSION).tar.bz2 -XAPP_XVIDTUNE_SITE = http://xorg.freedesktop.org/releases/individual/app +XAPP_XVIDTUNE_VERSION = 1.0.4 +XAPP_XVIDTUNE_SOURCE = xvidtune-$(XAPP_XVIDTUNE_VERSION).tar.xz +XAPP_XVIDTUNE_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XVIDTUNE_LICENSE = MIT XAPP_XVIDTUNE_LICENSE_FILES = COPYING XAPP_XVIDTUNE_DEPENDENCIES = xlib_libXaw xlib_libXxf86vm diff --git a/package/x11r7/xapp_xwd/xapp_xwd.hash b/package/x11r7/xapp_xwd/xapp_xwd.hash index 75952864991..cc81b05ce59 100644 --- a/package/x11r7/xapp_xwd/xapp_xwd.hash +++ b/package/x11r7/xapp_xwd/xapp_xwd.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-August/003102.html -sha256 fbaa2b34163714fe7be22b60920ea4683f63b355babb1781aec2e452a033031b xwd-1.0.8.tar.bz2 -sha512 d2aaf42c60d20c4b09f4947d3702058dbfad4633b2c5c8ea62e8897fc9ced1ab3417ce99255a223286d21a731f543019470737e3074f1bc68033b4eb47bc773e xwd-1.0.8.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-June/003400.html +sha256 dc121b84947eb4a3d1131bff1e9844cfa2124d95b47b35f9932340fa931fbd3f xwd-1.0.9.tar.xz +sha512 ae59661b05160f5658920fd79031b6b8548cb7bbfc734194edb0acef5c95f76b210ca4443e9506fc1a0cb9df47ee7c22948502971afe578b44c75aa2a1138d56 xwd-1.0.9.tar.xz # Locally computed sha256 7cfda56afd92a1ecd2f23bd0064e01b5141053390d854785504adfe2c0fbd946 COPYING diff --git a/package/x11r7/xapp_xwd/xapp_xwd.mk b/package/x11r7/xapp_xwd/xapp_xwd.mk index 1c5bd50166c..8960aaffdb8 100644 --- a/package/x11r7/xapp_xwd/xapp_xwd.mk +++ b/package/x11r7/xapp_xwd/xapp_xwd.mk @@ -4,8 +4,8 @@ # ################################################################################ -XAPP_XWD_VERSION = 1.0.8 -XAPP_XWD_SOURCE = xwd-$(XAPP_XWD_VERSION).tar.bz2 +XAPP_XWD_VERSION = 1.0.9 +XAPP_XWD_SOURCE = xwd-$(XAPP_XWD_VERSION).tar.xz XAPP_XWD_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XWD_LICENSE = MIT XAPP_XWD_LICENSE_FILES = COPYING diff --git a/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash b/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash index fbc7f7be000..bbf2e37328a 100644 --- a/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash +++ b/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-July/003012.html -md5 26d46f7ef0588d3392da3ad5802be420 xwininfo-1.1.5.tar.bz2 -sha1 9f67b1eb07c5824d437bf577cf6198962af1aeb7 xwininfo-1.1.5.tar.bz2 -sha256 7a405441dfc476666c744f5fcd1bc8a75abf8b5b1d85db7b88b370982365080e xwininfo-1.1.5.tar.bz2 -sha512 a3268bbeeeeafac94e589fdd47554a965910d40df7cc3d9c36c7c24fa4f5dd49615484d5916ccb41efca9cd4cf9d8981a4c60953b921220b3f4f57f9cce0e1a6 xwininfo-1.1.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-April/003379.html +sha256 3518897c17448df9ba99ad6d9bb1ca0f17bc0ed7c0fd61281b34ceed29a9253f xwininfo-1.1.6.tar.xz +sha512 c6df4ed3dcf97772450612f2786ecab8313a43bb78e0b8020cc9ec228b3f466f55090313ad02c8159a73a6892d117322ad85e28d9d76e38bb84c9750712c20bc xwininfo-1.1.6.tar.xz # Locally computed -sha256 443d675237c023a47e4886506b72796afbb2633394812027f91d6e8fa433b2af COPYING +sha256 1be1f0763a5efd08e48089c52728a822bf769b690a2fd82fbab456cfffee822f COPYING diff --git a/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk b/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk index 9652487aae5..196b73c83d2 100644 --- a/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk +++ b/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk @@ -4,8 +4,8 @@ # ################################################################################ -XAPP_XWININFO_VERSION = 1.1.5 -XAPP_XWININFO_SOURCE = xwininfo-$(XAPP_XWININFO_VERSION).tar.bz2 +XAPP_XWININFO_VERSION = 1.1.6 +XAPP_XWININFO_SOURCE = xwininfo-$(XAPP_XWININFO_VERSION).tar.xz XAPP_XWININFO_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_XWININFO_LICENSE = MIT XAPP_XWININFO_LICENSE_FILES = COPYING diff --git a/package/x11r7/xcb-util/xcb-util.hash b/package/x11r7/xcb-util/xcb-util.hash index c088a62bab0..b9d66877525 100644 --- a/package/x11r7/xcb-util/xcb-util.hash +++ b/package/x11r7/xcb-util/xcb-util.hash @@ -1,3 +1,5 @@ +# From https://lists.x.org/archives/xorg-announce/2022-December/003306.html +sha256 5abe3bbbd8e54f0fa3ec945291b7e8fa8cfd3cccc43718f8758430f94126e512 xcb-util-0.4.1.tar.xz +sha512 da67f2f017d2a1788dcf35f28d6956e171303a622a1dd085cd3d69fdb2ed77965d83c557cc926ebf9b32e905eb2cbb5921987250192d78a2f5edc4d437ed7d2b xcb-util-0.4.1.tar.xz # locally computed -sha256 46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9 xcb-util-0.4.0.tar.bz2 sha256 325b64f0b0284e08bbb7a78ae3e55c1edc2a7cd77f603225ae4b8ffc35423e37 COPYING diff --git a/package/x11r7/xcb-util/xcb-util.mk b/package/x11r7/xcb-util/xcb-util.mk index bb73530f944..793c3dc7f25 100644 --- a/package/x11r7/xcb-util/xcb-util.mk +++ b/package/x11r7/xcb-util/xcb-util.mk @@ -4,9 +4,9 @@ # ################################################################################ -XCB_UTIL_VERSION = 0.4.0 -XCB_UTIL_SOURCE = xcb-util-$(XCB_UTIL_VERSION).tar.bz2 -XCB_UTIL_SITE = http://xcb.freedesktop.org/dist +XCB_UTIL_VERSION = 0.4.1 +XCB_UTIL_SOURCE = xcb-util-$(XCB_UTIL_VERSION).tar.xz +XCB_UTIL_SITE = https://xorg.freedesktop.org/archive/individual/lib XCB_UTIL_LICENSE = MIT XCB_UTIL_LICENSE_FILES = COPYING XCB_UTIL_INSTALL_STAGING = YES diff --git a/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash b/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash index 7ebc88a0bee..c9a3956686e 100644 --- a/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash +++ b/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002881.html -md5 cedeef095918aca86da79a2934e03daf xbitmaps-1.1.2.tar.bz2 -sha1 1cb0e485a66280e9a64b48426140b8a0de9cf169 xbitmaps-1.1.2.tar.bz2 -sha256 b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee xbitmaps-1.1.2.tar.bz2 -sha512 eed5e2fce9fc6c532984e6ed1262e440591e311ca6c61a7fe7a5c877df84bfc2d7aff388fb9c894fc098785b8e5352f0bd7c918252247a040cf123874847450d xbitmaps-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-February/003333.html +sha256 ad6cad54887832a17d86c2ccfc5e52a1dfab090f8307b152c78b0e1529cd0f7a xbitmaps-1.1.3.tar.xz +sha512 b9a7340385fcce2dcd0204f14a462685b14b72ff58f3ec53cd76695bef2b02af902bdac809622dcb27fd4075d5ba13587b5d059530aff502cd5288d161352814 xbitmaps-1.1.3.tar.xz # Locally computed sha256 e121ec6605558ee021674d33b1ab9306e16b9ea7d30453df42286556247be17a COPYING diff --git a/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk b/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk index e9545abaec6..c8b64458291 100644 --- a/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk +++ b/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDATA_XBITMAPS_VERSION = 1.1.2 -XDATA_XBITMAPS_SOURCE = xbitmaps-$(XDATA_XBITMAPS_VERSION).tar.bz2 -XDATA_XBITMAPS_SITE = http://xorg.freedesktop.org/releases/individual/data +XDATA_XBITMAPS_VERSION = 1.1.3 +XDATA_XBITMAPS_SOURCE = xbitmaps-$(XDATA_XBITMAPS_VERSION).tar.xz +XDATA_XBITMAPS_SITE = https://xorg.freedesktop.org/archive/individual/data XDATA_XBITMAPS_LICENSE = MIT XDATA_XBITMAPS_LICENSE_FILES = COPYING diff --git a/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash b/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash index 2b88f567a07..1bb3831c91e 100644 --- a/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash +++ b/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-February/002945.html -md5 aea14eabf40528ec4db18f1cfcf5c458 xcursor-themes-1.0.6.tar.bz2 -sha1 b56fd5bf5b1ada0532a85c27db0d296e392168c5 xcursor-themes-1.0.6.tar.bz2 -sha256 ee1ec574741293abcf66ac14ce7e74add7ac6be7deb8b38179ef010d22354999 xcursor-themes-1.0.6.tar.bz2 -sha512 2ad3586a5571a5ddc0001187362b54b839644916164834213af98e58698044aec4392dd6e1e42f1794fda85c8fedf259b09214a9636bd0e71a1629c710f198d3 xcursor-themes-1.0.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-February/003332.html +sha256 95bae8f48823d894a05bf42dfbf453674ab7dbdeb11e2bc079e8525ad47378c8 xcursor-themes-1.0.7.tar.xz +sha512 910925dd17c576028ae0d9dfe5683888648b941806b53cd9ff74ed18ff2de537664b07ab4c647a55290aeba37f6051f322b29e8ecd54f348e32abe2ccea1c902 xcursor-themes-1.0.7.tar.xz # Locally computed sha256 e437aed89c3440a9fe7e19968a3f2eeb97041ef6c9616837a3fd42d0874fc0e6 COPYING diff --git a/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk b/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk index c3c5f388e90..e5bf1e502f4 100644 --- a/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk +++ b/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDATA_XCURSOR_THEMES_VERSION = 1.0.6 -XDATA_XCURSOR_THEMES_SOURCE = xcursor-themes-$(XDATA_XCURSOR_THEMES_VERSION).tar.bz2 -XDATA_XCURSOR_THEMES_SITE = http://xorg.freedesktop.org/releases/individual/data +XDATA_XCURSOR_THEMES_VERSION = 1.0.7 +XDATA_XCURSOR_THEMES_SOURCE = xcursor-themes-$(XDATA_XCURSOR_THEMES_VERSION).tar.xz +XDATA_XCURSOR_THEMES_SITE = https://xorg.freedesktop.org/archive/individual/data XDATA_XCURSOR_THEMES_LICENSE = MIT XDATA_XCURSOR_THEMES_LICENSE_FILES = COPYING diff --git a/package/x11r7/xdriver_xf86-input-keyboard/Config.in b/package/x11r7/xdriver_xf86-input-keyboard/Config.in deleted file mode 100644 index ee23033b978..00000000000 --- a/package/x11r7/xdriver_xf86-input-keyboard/Config.in +++ /dev/null @@ -1,5 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD - bool "xf86-input-keyboard" - select BR2_PACKAGE_XORGPROTO - help - Keyboard input driver diff --git a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash b/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash deleted file mode 100644 index 66e2c3ed95e..00000000000 --- a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.hash +++ /dev/null @@ -1,4 +0,0 @@ -# From https://lists.x.org/archives/xorg-announce/2016-November/002739.html -sha256 f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388 xf86-input-keyboard-1.9.0.tar.bz2 -# Locally calculated -sha256 b91b17c53724c79685e3025a38028b7d48c966fdd239e0efe2d98874d3c139a0 COPYING diff --git a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk b/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk deleted file mode 100644 index fb1e2896434..00000000000 --- a/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xdriver_xf86-input-keyboard -# -################################################################################ - -XDRIVER_XF86_INPUT_KEYBOARD_VERSION = 1.9.0 -XDRIVER_XF86_INPUT_KEYBOARD_SOURCE = xf86-input-keyboard-$(XDRIVER_XF86_INPUT_KEYBOARD_VERSION).tar.bz2 -XDRIVER_XF86_INPUT_KEYBOARD_SITE = http://xorg.freedesktop.org/releases/individual/driver -XDRIVER_XF86_INPUT_KEYBOARD_LICENSE = MIT -XDRIVER_XF86_INPUT_KEYBOARD_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_KEYBOARD_DEPENDENCIES = xserver_xorg-server xorgproto -XDRIVER_XF86_INPUT_KEYBOARD_CONF_OPTS = --disable-selective-werror - -$(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash index a2f295d6b5d..cca2639dc31 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash @@ -1,6 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-September/003110.html -sha256 f80da3c514fe1cbf57fa1b1bd6ff97f6b0a1f87466ad89247bac59cd0a5869f6 xf86-input-libinput-1.2.0.tar.bz2 -sha512 ebff9490d33fd7495df2e03203060a76b3274f0e638bc92f3d95257fac57cdb9dac308e90e54006fe9522b6de3b1f1c38fd5f0b0b75b7051e5422290f43de52d xf86-input-libinput-1.2.0.tar.bz2 - +# From https://lists.x.org/archives/xorg-announce/2023-April/003378.html +sha256 1446ba20a22bc968b5a4a0b4dbc3b8e037c50d9c59ac75fa3f7fc506c58c1abb xf86-input-libinput-1.3.0.tar.xz +sha512 f81f408b37e5f98ee97337dc4da6e78449e554e0ab2a3c6791b089d2cb6d645d0206ddf9babbc2120ab8bfe3b1489314fe42503ee015cec41775024538f3a34f xf86-input-libinput-1.3.0.tar.xz # Locally computed sha256 4114220b281561e80f3422f0e7ae8d3e1fc85131ffc2e3b6265119e66f1adb27 COPYING diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk index 21d962aa522..381df31fee8 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 1.2.0 -XDRIVER_XF86_INPUT_LIBINPUT_SOURCE = xf86-input-libinput-$(XDRIVER_XF86_INPUT_LIBINPUT_VERSION).tar.bz2 -XDRIVER_XF86_INPUT_LIBINPUT_SITE = https://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 1.3.0 +XDRIVER_XF86_INPUT_LIBINPUT_SOURCE = xf86-input-libinput-$(XDRIVER_XF86_INPUT_LIBINPUT_VERSION).tar.xz +XDRIVER_XF86_INPUT_LIBINPUT_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_INPUT_LIBINPUT_LICENSE = MIT XDRIVER_XF86_INPUT_LIBINPUT_LICENSE_FILES = COPYING XDRIVER_XF86_INPUT_LIBINPUT_DEPENDENCIES = libinput xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash index adba659aea6..d654c362a94 100644 --- a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash +++ b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-November/003247.html -sha256 7f6f8551fc238abdddcf9f38906564c1f8c7dacb0ad947cfc110487aefbd8d4c xf86-input-mouse-1.9.4.tar.xz -sha512 7dfde3b1e0c1291c4d78ee920942771808b007f743bfc6eed20de12579383745858673dd874a4b5cf4ab8d9d15f6f7ca2db81ee831547a488d64848a7fe5e16c xf86-input-mouse-1.9.4.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-May/003392.html +sha256 4fde8ae9b44352e2a208584c36528ee3ed13cf5fe4417208a9785daccefd9968 xf86-input-mouse-1.9.5.tar.xz +sha512 ed9bd9cb9a05dac0ff1bfb4e4704cb2e94117afb400aa9e0b7ccdbb102bc6db1b0d3af7cb6f99d0892f8fc306f1643286291c0fa7114af8e65864412bd6c1afa xf86-input-mouse-1.9.5.tar.xz # Locally computed -sha256 472ff645ead9bf3ffb48d42c596376ffc595897e0c0993a071a7ada0da1f4f10 COPYING +sha256 5b066654bdb61a1ef41f38cceda752897bbddb6e60e20f5889cab436a9b7b813 COPYING diff --git a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk index 4a9eb3089ff..25e25ab93de 100644 --- a/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk +++ b/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_MOUSE_VERSION = 1.9.4 +XDRIVER_XF86_INPUT_MOUSE_VERSION = 1.9.5 XDRIVER_XF86_INPUT_MOUSE_SOURCE = xf86-input-mouse-$(XDRIVER_XF86_INPUT_MOUSE_VERSION).tar.xz XDRIVER_XF86_INPUT_MOUSE_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_INPUT_MOUSE_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index c45ae59ee43..962cb0e16b1 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg/2022-February/060928.html -sha256 9d23fb602915dc3ccde92aa4d1e9485e7e54eaae2f41f485e55eb20761778266 xf86-video-amdgpu-22.0.0.tar.xz -sha512 95c64e3fef7729ced6e7adc5e81c60cc218f6d8b6604f7b290e86ff52c917426b5102decbf8be8a66c9181ccde6e5dff7083dca8cc0c493a39e82625b5c7cb2a xf86-video-amdgpu-22.0.0.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-February/003334.html +sha256 4f04f0ea66f3ced0dcc58f617409860163a19c4e8c285cfb5285f36ba09cc061 xf86-video-amdgpu-23.0.0.tar.xz +sha512 bf26f147629a34e84a0ae8435119e170b9c95edafcab1995b63bb8f55abef32f2efbf4536eb070e64b2ae1460424b1b27a4206cb9836d33ddc6dfbee404f718b xf86-video-amdgpu-23.0.0.tar.xz # Locally computed sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index ba4ab43db29..84f8e39ddd6 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 22.0.0 +XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 23.0.0 XDRIVER_XF86_VIDEO_AMDGPU_SOURCE = xf86-video-amdgpu-$(XDRIVER_XF86_VIDEO_AMDGPU_VERSION).tar.xz -XDRIVER_XF86_VIDEO_AMDGPU_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_AMDGPU_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_AMDGPU_LICENSE = MIT XDRIVER_XF86_VIDEO_AMDGPU_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_AMDGPU_DEPENDENCIES = \ diff --git a/package/x11r7/xdriver_xf86-video-ark/0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-ark/0001-mibstore.patch deleted file mode 100644 index fa3e68596aa..00000000000 --- a/package/x11r7/xdriver_xf86-video-ark/0001-mibstore.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3a3eb72baec46f48e6cf15a834271c3d3386deac Mon Sep 17 00:00:00 2001 -From: Gaetan Nadon -Date: Tue, 17 Sep 2013 19:55:37 +0000 -Subject: Remove usage of mibstore.h (removed from server) - -The module had a compile error for this missing header file. - -Changes similar to vmware commit -23d87c92b7211cc5249eefe4ab3a2c7f370e279e - -Reviewed-by: Alex Deucher -Signed-off-by: Gaetan Nadon ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-ark/commit/?id=3a3eb72baec46f48e6cf15a834271c3d3386deac - -Signed-off-by: Bernd Kuhls - -diff --git a/src/ark_driver.c b/src/ark_driver.c -index b7c287c..65cfe84 100644 ---- a/src/ark_driver.c -+++ b/src/ark_driver.c -@@ -39,7 +39,6 @@ - #include "compiler.h" - #include "mipointer.h" - #include "micmap.h" --#include "mibstore.h" - #include "fb.h" - #include "ark.h" - -@@ -538,7 +537,6 @@ static Bool ARKScreenInit(SCREEN_INIT_ARGS_DECL) - - fbPictureInit (pScreen, 0, 0); - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - - if (!pARK->NoAccel) { --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.hash b/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.hash index 2e2e9536763..68131fdb38a 100644 --- a/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.hash +++ b/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.hash @@ -1,4 +1,5 @@ -# From http://lists.x.org/archives/xorg-announce/2012-July/002007.html -sha256 c690e046f34a393aac1c8d9616b4790e93cda60a460b00b9597d322175dbe51e xf86-video-ark-0.7.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-February/003328.html +sha256 5acc9e78122ff6f4390787b2d0d44df81379bd613b6245983cc4bf3f325d085d xf86-video-ark-0.7.6.tar.xz +sha512 a52623e07eef6fa12d77b1afc55bb74b21662b850515b3a32bbf5988dcea2e787b4eddf4e020279aa4e4ddba436505ca9298548406913031e0ed5edaac835491 xf86-video-ark-0.7.6.tar.xz # Locally calculated sha256 8ba9850fb0ecd9033bb1d25c1be85625cb53ca56ce76b71f78f4a034f7310bda COPYING diff --git a/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk b/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk index 3f2a63609e1..6301a97300f 100644 --- a/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk +++ b/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_ARK_VERSION = 0.7.5 -XDRIVER_XF86_VIDEO_ARK_SOURCE = xf86-video-ark-$(XDRIVER_XF86_VIDEO_ARK_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_ARK_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_ARK_VERSION = 0.7.6 +XDRIVER_XF86_VIDEO_ARK_SOURCE = xf86-video-ark-$(XDRIVER_XF86_VIDEO_ARK_VERSION).tar.xz +XDRIVER_XF86_VIDEO_ARK_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_ARK_LICENSE = MIT XDRIVER_XF86_VIDEO_ARK_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_ARK_DEPENDENCIES = xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch b/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch deleted file mode 100644 index ec9e49ebc75..00000000000 --- a/package/x11r7/xdriver_xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f223035f4ffcff2a9296d1e907a5193f8e8845a3 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 4 Feb 2020 16:38:06 -0500 -Subject: [PATCH] Fix link failure with gcc 10 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Without the 'extern' this looks like a definition not just a -declaration, in every file that includes the header. gcc 10 is stricter -about this kind of multiple definition. - -Reviewed-by: Michel Dänzer -[backport from upstream: f223035f4ffcff2a9296d1e907a5193f8e8845a3] -Signed-off-by: Romain Naour ---- - src/drmmode_display.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/drmmode_display.h b/src/drmmode_display.h -index 96eaef0a..8cd8a0a6 100644 ---- a/src/drmmode_display.h -+++ b/src/drmmode_display.h -@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type, - uint64_t *ust, uint32_t *result_seq); - - --miPointerSpriteFuncRec drmmode_sprite_funcs; -+extern miPointerSpriteFuncRec drmmode_sprite_funcs; - - - #endif --- -2.25.4 - diff --git a/package/x11r7/xdriver_xf86-video-ati/0002-ati-cleanup-terminology-to-use-primary-secondary.patch b/package/x11r7/xdriver_xf86-video-ati/0002-ati-cleanup-terminology-to-use-primary-secondary.patch deleted file mode 100644 index ed8413b0cd3..00000000000 --- a/package/x11r7/xdriver_xf86-video-ati/0002-ati-cleanup-terminology-to-use-primary-secondary.patch +++ /dev/null @@ -1,371 +0,0 @@ -From d96815a32431e0f434964a786013083bc0d835fc Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Mon, 13 Jul 2020 09:11:28 +1000 -Subject: [PATCH] ati: cleanup terminology to use primary/secondary - -The X server changed some API/ABIs here. - -Based on amdgpu patch by Michel - -(cherry picked from commit 8da3e4561ef82bb78c9a17b8cd8bf139b9cfd680) -Signed-off-by: Romain Naour ---- - man/radeon.man | 2 +- - src/compat-api.h | 6 ++++ - src/drmmode_display.c | 4 +-- - src/evergreen_state.h | 2 +- - src/r600_state.h | 2 +- - src/radeon.h | 10 +++--- - src/radeon_exa.c | 2 +- - src/radeon_glamor.c | 2 +- - src/radeon_kms.c | 74 +++++++++++++++++++++---------------------- - 9 files changed, 55 insertions(+), 49 deletions(-) - -diff --git a/man/radeon.man b/man/radeon.man -index dcebf537..247dcdb7 100644 ---- a/man/radeon.man -+++ b/man/radeon.man -@@ -290,7 +290,7 @@ on. If this option is set, the default value of the property is 'on' or 'off' - accordingly. If this option isn't set, the default value of the property is - .B auto, - which means that TearFree is on for rotated outputs, outputs with RandR --transforms applied and for RandR 1.4 slave outputs, otherwise off. -+transforms applied and for RandR 1.4 secondary outputs, otherwise off. - .TP - .BI "Option \*qAccelMethod\*q \*q" "string" \*q - Chooses between available acceleration architectures. Valid values are -diff --git a/src/compat-api.h b/src/compat-api.h -index f4e7524f..def6d3e4 100644 ---- a/src/compat-api.h -+++ b/src/compat-api.h -@@ -34,4 +34,10 @@ - #define BLOCKHANDLER_ARGS pScreen, pTimeout, pReadmask - #endif - -+#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2) -+#define current_primary current_master -+#define primary_pixmap master_pixmap -+#define secondary_dst slave_dst -+#endif -+ - #endif -diff --git a/src/drmmode_display.c b/src/drmmode_display.c -index 0e9e2474..3dec91e8 100644 ---- a/src/drmmode_display.c -+++ b/src/drmmode_display.c -@@ -720,7 +720,7 @@ drmmode_crtc_prime_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode, - xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, - ent) { - if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { -- dirty->slave_dst = -+ dirty->secondary_dst = - drmmode_crtc->scanout[scanout_id].pixmap; - break; - } -@@ -1356,7 +1356,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix) - - xorg_list_for_each_entry(dirty, &screen->pixmap_dirty_list, ent) { - if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { -- PixmapStopDirtyTracking(dirty->src, dirty->slave_dst); -+ PixmapStopDirtyTracking(dirty->src, dirty->secondary_dst); - break; - } - } -diff --git a/src/evergreen_state.h b/src/evergreen_state.h -index 7e54e1c7..34ba87b6 100644 ---- a/src/evergreen_state.h -+++ b/src/evergreen_state.h -@@ -350,7 +350,7 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, - int *new_pitch); - extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); - extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); --extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); -+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); - extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); - - #endif -diff --git a/src/r600_state.h b/src/r600_state.h -index 34345996..567c3ca2 100644 ---- a/src/r600_state.h -+++ b/src/r600_state.h -@@ -321,6 +321,6 @@ extern void *RADEONEXACreatePixmap2(ScreenPtr pScreen, int width, int height, - int *new_pitch); - extern void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv); - extern Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix); --extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **handle_p); -+extern Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr secondary, void **handle_p); - extern Bool RADEONEXASetSharedPixmapBacking(PixmapPtr ppix, void *handle); - #endif -diff --git a/src/radeon.h b/src/radeon.h -index 2c913466..85fd0217 100644 ---- a/src/radeon.h -+++ b/src/radeon.h -@@ -182,18 +182,18 @@ typedef enum { - - - static inline ScreenPtr --radeon_master_screen(ScreenPtr screen) -+radeon_primary_screen(ScreenPtr screen) - { -- if (screen->current_master) -- return screen->current_master; -+ if (screen->current_primary) -+ return screen->current_primary; - - return screen; - } - - static inline ScreenPtr --radeon_dirty_master(PixmapDirtyUpdatePtr dirty) -+radeon_dirty_primary(PixmapDirtyUpdatePtr dirty) - { -- return radeon_master_screen(dirty->slave_dst->drawable.pScreen); -+ return radeon_primary_screen(dirty->secondary_dst->drawable.pScreen); - } - - static inline DrawablePtr -diff --git a/src/radeon_exa.c b/src/radeon_exa.c -index 268155ed..320ff992 100644 ---- a/src/radeon_exa.c -+++ b/src/radeon_exa.c -@@ -282,7 +282,7 @@ void RADEONEXADestroyPixmap(ScreenPtr pScreen, void *driverPriv) - free(driverPriv); - } - --Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr slave, void **fd_handle) -+Bool RADEONEXASharePixmapBacking(PixmapPtr ppix, ScreenPtr seconndary, void **fd_handle) - { - struct radeon_exa_pixmap_priv *driver_priv = exaGetPixmapDriverPrivate(ppix); - -diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c -index f1098381..ccf99941 100644 ---- a/src/radeon_glamor.c -+++ b/src/radeon_glamor.c -@@ -366,7 +366,7 @@ radeon_glamor_set_pixmap_bo(DrawablePtr drawable, PixmapPtr pixmap) - - - static Bool --radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr slave, -+radeon_glamor_share_pixmap_backing(PixmapPtr pixmap, ScreenPtr secondary, - void **handle_p) - { - ScreenPtr screen = pixmap->drawable.pScreen; -diff --git a/src/radeon_kms.c b/src/radeon_kms.c -index b3db7c41..62962d61 100644 ---- a/src/radeon_kms.c -+++ b/src/radeon_kms.c -@@ -559,8 +559,8 @@ dirty_region(PixmapDirtyUpdatePtr dirty) - if (dirty->rotation != RR_Rotate_0) { - dstregion = transform_region(damageregion, - &dirty->f_inverse, -- dirty->slave_dst->drawable.width, -- dirty->slave_dst->drawable.height); -+ dirty->secondary_dst->drawable.width, -+ dirty->secondary_dst->drawable.height); - } else - #endif - { -@@ -568,7 +568,7 @@ dirty_region(PixmapDirtyUpdatePtr dirty) - - dstregion = RegionDuplicate(damageregion); - RegionTranslate(dstregion, -dirty->x, -dirty->y); -- PixmapRegionInit(&pixregion, dirty->slave_dst); -+ PixmapRegionInit(&pixregion, dirty->secondary_dst); - RegionIntersect(dstregion, dstregion, &pixregion); - RegionUninit(&pixregion); - } -@@ -585,8 +585,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) - if (RegionNil(region)) - goto out; - -- if (dirty->slave_dst->master_pixmap) -- DamageRegionAppend(&dirty->slave_dst->drawable, region); -+ if (dirty->secondary_dst->primary_pixmap) -+ DamageRegionAppend(&dirty->secondary_dst->drawable, region); - - #ifdef HAS_DIRTYTRACKING_ROTATION - PixmapSyncDirtyHelper(dirty); -@@ -595,8 +595,8 @@ redisplay_dirty(PixmapDirtyUpdatePtr dirty, RegionPtr region) - #endif - - radeon_cs_flush_indirect(src_scrn); -- if (dirty->slave_dst->master_pixmap) -- DamageRegionProcessPending(&dirty->slave_dst->drawable); -+ if (dirty->secondary_dst->primary_pixmap) -+ DamageRegionProcessPending(&dirty->secondary_dst->drawable); - - out: - DamageEmpty(dirty->damage); -@@ -613,12 +613,12 @@ radeon_prime_scanout_update_abort(xf86CrtcPtr crtc, void *event_data) - void - radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr master_screen = radeon_dirty_master(dirty); -+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); - PixmapDirtyUpdatePtr ent; - RegionPtr region; - -- xorg_list_for_each_entry(ent, &master_screen->pixmap_dirty_list, ent) { -- if (!radeon_dirty_src_equals(dirty, ent->slave_dst)) -+ xorg_list_for_each_entry(ent, &primary_screen->pixmap_dirty_list, ent) { -+ if (!radeon_dirty_src_equals(dirty, ent->secondary_dst)) - continue; - - region = dirty_region(ent); -@@ -631,45 +631,45 @@ radeon_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - #if HAS_SYNC_SHARED_PIXMAP - - static Bool --master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr master_screen = radeon_dirty_master(dirty); -+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); - -- return !!master_screen->SyncSharedPixmap; -+ return !!primary_screen->SyncSharedPixmap; - } - - static Bool --slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr slave_screen = dirty->slave_dst->drawable.pScreen; -+ ScreenPtr secondary_screen = dirty->secondary_dst->drawable.pScreen; - -- return !!slave_screen->SyncSharedPixmap; -+ return !!secondary_screen->SyncSharedPixmap; - } - - static void - call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr master_screen = radeon_dirty_master(dirty); -+ ScreenPtr primary_screen = radeon_dirty_primary(dirty); - -- master_screen->SyncSharedPixmap(dirty); -+ primary_screen->SyncSharedPixmap(dirty); - } - - #else /* !HAS_SYNC_SHARED_PIXMAP */ - - static Bool --master_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+primary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScrnInfoPtr master_scrn = xf86ScreenToScrn(radeon_dirty_master(dirty)); -+ ScrnInfoPtr primary_scrn = xf86ScreenToScrn(radeon_dirty_primary(dirty)); - -- return master_scrn->driverName == scrn->driverName; -+ return primary_scrn->driverName == scrn->driverName; - } - - static Bool --slave_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) -+secondary_has_sync_shared_pixmap(ScrnInfoPtr scrn, PixmapDirtyUpdatePtr dirty) - { -- ScrnInfoPtr slave_scrn = xf86ScreenToScrn(dirty->slave_dst->drawable.pScreen); -+ ScrnInfoPtr secondary_scrn = xf86ScreenToScrn(dirty->secondary_dst->drawable.pScreen); - -- return slave_scrn->driverName == scrn->driverName; -+ return secondary_scrn->driverName == scrn->driverName; - } - - static void -@@ -684,12 +684,12 @@ call_sync_shared_pixmap(PixmapDirtyUpdatePtr dirty) - static xf86CrtcPtr - radeon_prime_dirty_to_crtc(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; -+ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - int c; - -- /* Find the CRTC which is scanning out from this slave pixmap */ -+ /* Find the CRTC which is scanning out from this secondary pixmap */ - for (c = 0; c < xf86_config->num_crtc; c++) { - xf86CrtcPtr xf86_crtc = xf86_config->crtc[c]; - drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private; -@@ -714,7 +714,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id) - if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) { - RegionPtr region; - -- if (master_has_sync_shared_pixmap(scrn, dirty)) -+ if (primary_has_sync_shared_pixmap(scrn, dirty)) - call_sync_shared_pixmap(dirty); - - region = dirty_region(dirty); -@@ -727,7 +727,7 @@ radeon_prime_scanout_do_update(xf86CrtcPtr crtc, unsigned scanout_id) - radeon_cs_flush_indirect(scrn); - RegionCopy(&drmmode_crtc->scanout_last_region, region); - RegionTranslate(region, -crtc->x, -crtc->y); -- dirty->slave_dst = drmmode_crtc->scanout[scanout_id].pixmap; -+ dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap; - } - - redisplay_dirty(dirty, region); -@@ -754,7 +754,7 @@ radeon_prime_scanout_update_handler(xf86CrtcPtr crtc, uint32_t frame, uint64_t u - static void - radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) - { -- ScreenPtr screen = dirty->slave_dst->drawable.pScreen; -+ ScreenPtr screen = dirty->secondary_dst->drawable.pScreen; - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); - xf86CrtcPtr xf86_crtc = radeon_prime_dirty_to_crtc(dirty); -@@ -818,7 +818,7 @@ radeon_prime_scanout_update(PixmapDirtyUpdatePtr dirty) - static void - radeon_prime_scanout_flip(PixmapDirtyUpdatePtr ent) - { -- ScreenPtr screen = ent->slave_dst->drawable.pScreen; -+ ScreenPtr screen = ent->secondary_dst->drawable.pScreen; - ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn); - xf86CrtcPtr crtc = radeon_prime_dirty_to_crtc(ent); -@@ -893,11 +893,11 @@ radeon_dirty_update(ScrnInfoPtr scrn) - if (screen->isGPU) { - PixmapDirtyUpdatePtr region_ent = ent; - -- if (master_has_sync_shared_pixmap(scrn, ent)) { -- ScreenPtr master_screen = radeon_dirty_master(ent); -+ if (primary_has_sync_shared_pixmap(scrn, ent)) { -+ ScreenPtr primary_screen = radeon_dirty_primary(ent); - -- xorg_list_for_each_entry(region_ent, &master_screen->pixmap_dirty_list, ent) { -- if (radeon_dirty_src_equals(ent, region_ent->slave_dst)) -+ xorg_list_for_each_entry(region_ent, &primary_screen->pixmap_dirty_list, ent) { -+ if (radeon_dirty_src_equals(ent, region_ent->secondary_dst)) - break; - } - } -@@ -921,7 +921,7 @@ radeon_dirty_update(ScrnInfoPtr scrn) - - RegionDestroy(region); - } else { -- if (slave_has_sync_shared_pixmap(scrn, ent)) -+ if (secondary_has_sync_shared_pixmap(scrn, ent)) - continue; - - region = dirty_region(ent); -@@ -1216,7 +1216,7 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL) - (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); - pScreen->BlockHandler = RADEONBlockHandler_KMS; - -- if (!xf86ScreenToScrn(radeon_master_screen(pScreen))->vtSema) -+ if (!xf86ScreenToScrn(radeon_primary_screen(pScreen))->vtSema) - return; - - if (!pScreen->isGPU) -@@ -2584,7 +2584,7 @@ CARD32 cleanup_black_fb(OsTimerPtr timer, CARD32 now, pointer data) - xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); - int c; - -- if (xf86ScreenToScrn(radeon_master_screen(screen))->vtSema) -+ if (xf86ScreenToScrn(radeon_primary_screen(screen))->vtSema) - return 0; - - /* Unreference the all-black FB created by RADEONLeaveVT_KMS. After --- -2.31.1 - diff --git a/package/x11r7/xdriver_xf86-video-ati/0003-Guard-local-variable-priv-only-used-with-glamor.patch b/package/x11r7/xdriver_xf86-video-ati/0003-Guard-local-variable-priv-only-used-with-glamor.patch deleted file mode 100644 index 0a23c54cce1..00000000000 --- a/package/x11r7/xdriver_xf86-video-ati/0003-Guard-local-variable-priv-only-used-with-glamor.patch +++ /dev/null @@ -1,66 +0,0 @@ -From a78e31b5fffadd73b00483f21e54bd144f1b439a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= -Date: Fri, 26 Mar 2021 17:42:10 +0100 -Subject: [PATCH] Guard local variable priv only used with glamor -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes compile errors with glamor disabled: - -../../src/radeon_present.c: In function ‘radeon_present_check_flip’: -../../src/radeon_present.c:281:21: error: invalid use of undefined type ‘struct radeon_pixmap’ - 281 | if (priv && priv->fb_failed) - | ^~ -../../src/radeon_present.c:288:19: error: invalid use of undefined type ‘struct radeon_pixmap’ - 288 | if (priv && !priv->fb_failed) { - | ^~ -../../src/radeon_present.c:292:10: error: invalid use of undefined type ‘struct radeon_pixmap’ - 292 | priv->fb_failed = TRUE; - | ^~ - -(cherry picked from commit 3c7c84ed49564907a148ae99b03200e0be350060) -Signed-off-by: Romain Naour ---- - src/radeon_present.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/radeon_present.c b/src/radeon_present.c -index 494655c9..d010aa19 100644 ---- a/src/radeon_present.c -+++ b/src/radeon_present.c -@@ -254,7 +254,9 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, - xf86CrtcPtr xf86_crtc = crtc->devPrivate; - ScreenPtr screen = window->drawable.pScreen; - ScrnInfoPtr scrn = xf86_crtc->scrn; -+#ifdef USE_GLAMOR - struct radeon_pixmap *priv = radeon_get_pixmap_private(pixmap); -+#endif - xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); - RADEONInfoPtr info = RADEONPTR(scrn); - PixmapPtr screen_pixmap = screen->GetScreenPixmap(screen); -@@ -278,10 +280,13 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, - return FALSE; - #endif - -+#ifdef USE_GLAMOR - if (priv && priv->fb_failed) - return FALSE; -+#endif - - if (!radeon_pixmap_get_fb(pixmap)) { -+#ifdef USE_GLAMOR - if (!priv) - priv = radeon_get_pixmap_private(pixmap); - -@@ -291,6 +296,7 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap, - "normal if using PRIME render offloading)\n"); - priv->fb_failed = TRUE; - } -+#endif - - return FALSE; - } --- -2.31.1 - diff --git a/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch b/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch deleted file mode 100644 index a969d61913c..00000000000 --- a/package/x11r7/xdriver_xf86-video-ati/0004-Only-include-dri-h-with-older-versions-of-xserver.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5eba006e4129e8015b822f9e1d2f1e613e252cda Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= -Date: Tue, 2 Feb 2021 12:45:54 +0100 -Subject: [PATCH] Only include dri.h with older versions of xserver - -Not needed anymore with current versions. - -Downloaded from upstream commit -https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/5eba006e4129e8015b822f9e1d2f1e613e252cda - -Signed-off-by: Bernd Kuhls ---- - src/drmmode_display.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/drmmode_display.c b/src/drmmode_display.c -index 3099a729..a58f24dd 100644 ---- a/src/drmmode_display.c -+++ b/src/drmmode_display.c -@@ -45,7 +45,9 @@ - #include "radeon_glamor.h" - #include "radeon_reg.h" - -+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,19,99,1,0) - #include -+#endif - - #include "drmmode_display.h" - --- -GitLab - diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index 1e7376cbfc8..74530c122f8 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-October/003027.html -md5 6e49d3c2839582af415ceded76e626e6 xf86-video-ati-19.1.0.tar.bz2 -sha1 aea1d11c05531b03f2eb67c6785cddf6d7f30e5f xf86-video-ati-19.1.0.tar.bz2 -sha256 659f5a1629eea5f5334d9b39b18e6807a63aa1efa33c1236d9cc53acbb223c49 xf86-video-ati-19.1.0.tar.bz2 -sha512 73a81f6c492daf2e89067fb52b3033dc0fe6841f109627ddca1aee54a45a738c8c134443753a2a2aaa2c131e1d560057ebc76351ff2304c16407df3ff568fcd6 xf86-video-ati-19.1.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-April/003386.html +sha256 c8c8bb56d3f6227c97e59c3a3c85a25133584ceb82ab5bc05a902a743ab7bf6d xf86-video-ati-22.0.0.tar.xz +sha512 fba9ffc7b0eeb0c369eb1a6f8ef0bb3061cfeca26bc269baf6e3d16dcd943fbf4092f1e37adfb1bc71051cee0b7a0e6fb253f0b8bcd210732ccaf99e8f2356fe xf86-video-ati-22.0.0.tar.xz # Locally computed sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index e7f5852811c..b663279c208 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_ATI_VERSION = 19.1.0 -XDRIVER_XF86_VIDEO_ATI_SOURCE = xf86-video-ati-$(XDRIVER_XF86_VIDEO_ATI_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_ATI_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_ATI_VERSION = 22.0.0 +XDRIVER_XF86_VIDEO_ATI_SOURCE = xf86-video-ati-$(XDRIVER_XF86_VIDEO_ATI_VERSION).tar.xz +XDRIVER_XF86_VIDEO_ATI_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_ATI_LICENSE = MIT XDRIVER_XF86_VIDEO_ATI_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_ATI_DEPENDENCIES = \ diff --git a/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash b/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash index eed28d3fde3..6d7d0b4bc20 100644 --- a/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash +++ b/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-April/003155.html -sha256 e78ceae5c8c0588c7cb658f2afc3a9fac9ef665b52a75b01f8e9c5449a4e1e5a xf86-video-dummy-0.4.0.tar.xz -sha512 1150a84c4f17215b9c579d8ce9399d547a01970bf7b5396653f14beb13a62deefe3008bf3ad6a2c5c0f46da4cbc0b840c18a7dff339e3b882d108183fa1d30d9 xf86-video-dummy-0.4.0.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-May/003394.html +sha256 351920a7fd0f759a3ac972a5999b3ffed46f07fb52a99f319bfb5b6a59d3dfaf xf86-video-dummy-0.4.1.tar.xz +sha512 ff7fd8b668e5e9f40a5d27f82599b7a455a8162fc1a247195335c17980f00ce10ae6b2c062239cbaa67d8684c86174f85b398dd7f7065d36f69294bd6f2469de xf86-video-dummy-0.4.1.tar.xz # Locally calculated sha256 e29aa81e74563d14e5633963107c030e74e8352ea7dafee1a9d7e19b7d0e887b COPYING diff --git a/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk b/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk index e863b1e5062..f7f05c7c418 100644 --- a/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk +++ b/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_DUMMY_VERSION = 0.4.0 +XDRIVER_XF86_VIDEO_DUMMY_VERSION = 0.4.1 XDRIVER_XF86_VIDEO_DUMMY_SOURCE = xf86-video-dummy-$(XDRIVER_XF86_VIDEO_DUMMY_VERSION).tar.xz XDRIVER_XF86_VIDEO_DUMMY_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_DUMMY_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.hash b/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.hash index 7a66c28b52b..7dcb99fe2a8 100644 --- a/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.hash +++ b/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.hash @@ -1,3 +1,5 @@ +# From https://lists.x.org/archives/xorg-announce/2023-May/003393.html +sha256 8256ac3f14117324d00b7bfa8053645ca92562fe837c542489a502adbb5f9f1e xf86-video-geode-2.11.21.tar.xz +sha512 e12f74268ab7d16b57644a9465b4be1ca28d250625a31b8810e19a1f94a17e47e0a258455155fd8f336fa59fd78160cdf3763aa94b85c6ccc2c42edf3b65bc61 xf86-video-geode-2.11.21.tar.xz # Locally calculated -sha256 f497d0bfb09f36c72e3467e2d701f57f6b03ab8992c5d570e66582f714f84d64 xf86-video-geode-2.11.20.tar.bz2 sha256 3994ef7cee54f0935a4b57b1c34efd904da567931dd9e1a2d9390d22c8332ea2 COPYING diff --git a/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk b/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk index dbeae1aa659..8f84e4863ff 100644 --- a/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk +++ b/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_GEODE_VERSION = 2.11.20 -XDRIVER_XF86_VIDEO_GEODE_SOURCE = xf86-video-geode-$(XDRIVER_XF86_VIDEO_GEODE_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_GEODE_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_GEODE_VERSION = 2.11.21 +XDRIVER_XF86_VIDEO_GEODE_SOURCE = xf86-video-geode-$(XDRIVER_XF86_VIDEO_GEODE_VERSION).tar.xz +XDRIVER_XF86_VIDEO_GEODE_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_GEODE_LICENSE = MIT XDRIVER_XF86_VIDEO_GEODE_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_GEODE_DEPENDENCIES = xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash index 96bd42ac365..c17d3086a15 100644 --- a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash +++ b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-December/002932.html -md5 a980f1b8532ccfe81932580bc4e0f2a0 xf86-video-i128-1.4.0.tar.bz2 -sha1 56d5b897b2695222c13e59d2ade74620a99e1011 xf86-video-i128-1.4.0.tar.bz2 -sha256 8f2c0a6bf5a169dad3fc07c6dd4537b492d0e44489e4a1297311e617c3bed0ea xf86-video-i128-1.4.0.tar.bz2 -sha512 d58baee3f20b3ad2ece6853da0ff20a6d54b984c6e3289bad2715cc003b277a0b44d20ded25cfc116400468df552390bdb5d80fbd3fb60861488ee5d027664b2 xf86-video-i128-1.4.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-May/003395.html +sha256 7064b513ffe33efa040577c4d355ce2c76ed218989ab38feb8972750d5acbc46 xf86-video-i128-1.4.1.tar.xz +sha512 ec6b4dd9092292b5aabff7cf477090fe62c89944d251689817ac8114a65672f85880b719a442f4c742d63dc2d6c61ec315e53da5b5c625074d1aa0b9ace8e865 xf86-video-i128-1.4.1.tar.xz # Locally computed sha256 7677424d79633dbf255a81bd4e05dd621931b89997af33c31522269ec2ed391e COPYING diff --git a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk index e44deaf6211..266678105c2 100644 --- a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk +++ b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_I128_VERSION = 1.4.0 -XDRIVER_XF86_VIDEO_I128_SOURCE = xf86-video-i128-$(XDRIVER_XF86_VIDEO_I128_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_I128_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_I128_VERSION = 1.4.1 +XDRIVER_XF86_VIDEO_I128_SOURCE = xf86-video-i128-$(XDRIVER_XF86_VIDEO_I128_VERSION).tar.xz +XDRIVER_XF86_VIDEO_I128_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_I128_LICENSE = MIT XDRIVER_XF86_VIDEO_I128_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_I128_DEPENDENCIES = xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/Config.in b/package/x11r7/xdriver_xf86-video-imx-viv/Config.in deleted file mode 100644 index 984f63d6d3d..00000000000 --- a/package/x11r7/xdriver_xf86-video-imx-viv/Config.in +++ /dev/null @@ -1,44 +0,0 @@ -config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV - bool "xf86-video-imx-viv" - depends on BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 - depends on BR2_PACKAGE_IMX_GPU_G2D - depends on BR2_TOOLCHAIN_HAS_SYNC_1 # mesa3d - select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XORGPROTO - help - X.Org driver for iMX6 GPU (Vivante) - - Notice EGL and GLes2 APIs are correctly supported. This - driver should also be able to provide Desktop OpenGL - implementation but, this feature seems broken since quite - some time. - - To use this driver, add correct configuration to your - /etc/X11/xorg.conf: - - Section "Device" - [...] - Driver "vivante" - Option "vivante_fbdev" "/dev/fbX" - EndSection - - Don't forget to load galcore.ko and create /dev/galcore - before using this driver (else, Xorg will exit with an - obscure message like "Segmentation fault at address 0xc"). - -comment "xf86-video-imx-viv needs an OpenGL backend" - depends on BR2_arm - depends on !BR2_PACKAGE_HAS_LIBGL - depends on BR2_TOOLCHAIN_HAS_SYNC_1 - -comment "xf86-video-imx-viv depends on imx-gpu-viv with X11 output" - depends on BR2_arm - depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 - depends on BR2_TOOLCHAIN_HAS_SYNC_1 - -comment "xf86-video-imx-viv depends on imx-gpu-g2d" - depends on BR2_arm - depends on !BR2_PACKAGE_IMX_GPU_G2D - depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 - depends on BR2_TOOLCHAIN_HAS_SYNC_1 diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash deleted file mode 100644 index 5873b4b11ce..00000000000 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 638a8aa8b64f860900d003527529689bc342d18ff5e41a9e1750884544898e67 xdriver_xf86-video-imx-viv-rel_imx_4.9.x_1.0.0_ga-br1.tar.gz -sha256 9d3e373f0440cc0c58853e963636a7c1ffda9308ec5f30ebe9adfb9c16a8a1e4 COPYING-MIT diff --git a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk deleted file mode 100644 index 09134275424..00000000000 --- a/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# -# xdriver_xf86-video-imx-viv -# -################################################################################ - -XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = rel_imx_4.9.x_1.0.0_ga -XDRIVER_XF86_VIDEO_IMX_VIV_SITE = https://source.codeaurora.org/external/imx/xf86-video-imx-vivante -XDRIVER_XF86_VIDEO_IMX_VIV_SITE_METHOD = git -XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = imx-gpu-viv imx-gpu-g2d xserver_xorg-server \ - xorgproto libdrm -XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE = MIT -XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE_FILES = COPYING-MIT -XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING = YES -XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD = $(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/EXA/src -f makefile.linux - -define XDRIVER_XF86_VIDEO_IMX_VIV_BUILD_CMDS - $(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) sysroot=$(STAGING_DIR) \ - BUSID_HAS_NUMBER=1 BUILD_IN_YOCTO=1 XSERVER_GREATER_THAN_13=1 \ - CFLAGS="$(TARGET_CFLAGS)" -endef - -define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING_CMDS - $(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) prefix=$(STAGING_DIR)/usr install - $(INSTALL) -D -m 644 $(@D)/EXA/src/vivante_gal/vivante_priv.h \ - $(STAGING_DIR)/usr/include/vivante_priv.h - $(INSTALL) -D -m 644 $(@D)/EXA/src/vivante_gal/vivante_gal.h \ - $(STAGING_DIR)/usr/include/vivante_gal.h -endef - -define XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_TARGET_CMDS - $(XDRIVER_XF86_VIDEO_IMX_VIV_MAKE_CMD) prefix=$(TARGET_DIR)/usr install -endef - -$(eval $(generic-package)) diff --git a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash index acc65348f79..b5a139fdacd 100644 --- a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash +++ b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-December/002934.html -md5 349d5254d09eb46f2a1f151cd423b89a xf86-video-neomagic-1.3.0.tar.bz2 -sha1 6bccfa15ea05d5264120cd96ccf13687642e8f6d xf86-video-neomagic-1.3.0.tar.bz2 -sha256 93833950fae7757088eb6abb125e15e8c245e5e25681c19c3ad4213ec7319064 xf86-video-neomagic-1.3.0.tar.bz2 -sha512 25d019a2556e52aeb4e25942f444437a921e76d527c10ddd420f16aa7d85bf2b8a51612c382a2a7e3e407bb1e8d610d063101184eea0889c3e1a69bfb3b37735 xf86-video-neomagic-1.3.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-April/003380.html +sha256 b61fac7ec32971e92e34cfd51f88fef169e272a210455e0e1a0faa0d30fc7494 xf86-video-neomagic-1.3.1.tar.xz +sha512 b2425c4e9b8e6e816cbb6fa436da12bd242acf55c3c615352fc80ea072b1822abdb40838c2adcc3c450e429ec6e3b5112d194e739cf5d8ac22d430e273d5378b xf86-video-neomagic-1.3.1.tar.xz # Locally computed sha256 95063ce9aa09850025dd317549ce688519079a8d3cf66ceb3d882cb2bafcced9 COPYING diff --git a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk index 8dd2777ff9c..8c7beeed6e9 100644 --- a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk +++ b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION = 1.3.0 -XDRIVER_XF86_VIDEO_NEOMAGIC_SOURCE = xf86-video-neomagic-$(XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_NEOMAGIC_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION = 1.3.1 +XDRIVER_XF86_VIDEO_NEOMAGIC_SOURCE = xf86-video-neomagic-$(XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION).tar.xz +XDRIVER_XF86_VIDEO_NEOMAGIC_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_NEOMAGIC_LICENSE = MIT XDRIVER_XF86_VIDEO_NEOMAGIC_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_NEOMAGIC_DEPENDENCIES = xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-video-qxl/0001-Fix-a-build-error-with-Xorg-master.patch b/package/x11r7/xdriver_xf86-video-qxl/0001-Fix-a-build-error-with-Xorg-master.patch deleted file mode 100644 index d3257fba204..00000000000 --- a/package/x11r7/xdriver_xf86-video-qxl/0001-Fix-a-build-error-with-Xorg-master.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 4e1963a812f2c1777ba5d56ea9e939a3e40a0496 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= - -Date: Sat, 28 Aug 2021 15:38:40 +0200 -Subject: [PATCH] Fix a build error with Xorg master -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Use xf86ReturnOptValBool() in get_bool_option() instead of -options[option_index].value.bool to fix a compiler error with -current Xorg xserver master branch. - -Also use xf86GetOptValInteger() in get_int_option() and -xf86GetOptValString() in get_str_option() for consistency. - -The change causes a slight performance drop during option parsing -because the passed-in index_value is no longer used as an index -into the options array. - -Instead, it's used as a token now for the standard option getter -functions which works since the index_value to the get_*_option() -functions are identical to the value of options[n].token in the -passed-in OptionInfoRec array. - -Also rename "int option_index" to "int token" for clarity in all -three functions. - -Signed-off-by: Zoltán Böszörményi - -Downloaded from upstream commit -https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/-/commit/4e1963a812f2c1777ba5d56ea9e939a3e40a0496 - -Signed-off-by: Bernd Kuhls ---- - src/qxl_option_helpers.c | 13 +++++++------ - src/qxl_option_helpers.h | 6 +++--- - 2 files changed, 10 insertions(+), 9 deletions(-) - -diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c -index 2aba677..7707b7c 100644 ---- a/src/qxl_option_helpers.c -+++ b/src/qxl_option_helpers.c -@@ -10,31 +10,32 @@ - - #include "qxl_option_helpers.h" - --int get_int_option(OptionInfoPtr options, int option_index, -+int get_int_option(OptionInfoPtr options, int token, - const char *env_name) - { -+ int value; - if (env_name && getenv(env_name)) { - return atoi(getenv(env_name)); - } -- return options[option_index].value.num; -+ return xf86GetOptValInteger(options, token, &value) ? value : 0; - } - --const char *get_str_option(OptionInfoPtr options, int option_index, -+const char *get_str_option(OptionInfoPtr options, int token, - const char *env_name) - { - if (getenv(env_name)) { - return getenv(env_name); - } -- return options[option_index].value.str; -+ return xf86GetOptValString(options, token); - } - --int get_bool_option(OptionInfoPtr options, int option_index, -+int get_bool_option(OptionInfoPtr options, int token, - const char *env_name) - { - const char* value = getenv(env_name); - - if (!value) { -- return options[option_index].value.bool; -+ return xf86ReturnOptValBool(options, token, FALSE); - } - if (strcmp(value, "0") == 0 || - strcasecmp(value, "off") == 0 || -diff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h -index 7c54c72..66d0a17 100644 ---- a/src/qxl_option_helpers.h -+++ b/src/qxl_option_helpers.h -@@ -4,13 +4,13 @@ - #include - #include - --int get_int_option(OptionInfoPtr options, int option_index, -+int get_int_option(OptionInfoPtr options, int token, - const char *env_name); - --const char *get_str_option(OptionInfoPtr options, int option_index, -+const char *get_str_option(OptionInfoPtr options, int token, - const char *env_name); - --int get_bool_option(OptionInfoPtr options, int option_index, -+int get_bool_option(OptionInfoPtr options, int token, - const char *env_name); - - #endif // OPTION_HELPERS_H --- -GitLab - diff --git a/package/x11r7/xdriver_xf86-video-qxl/Config.in b/package/x11r7/xdriver_xf86-video-qxl/Config.in index 40f61fd69fd..0c6b13eda28 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/Config.in +++ b/package/x11r7/xdriver_xf86-video-qxl/Config.in @@ -9,4 +9,4 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_QXL help QEMU QXL paravirt video driver - http://www.spice-space.org/page/XorgQXL + https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl diff --git a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.hash b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.hash index fdf0cc434d3..2d728a7c03c 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.hash +++ b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.hash @@ -1,4 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2016-December/002753.html -sha256 b18682e04503c6326f7bf7190f3ee50a3d4d69758a2a3cc9af102a6b3f114c92 xf86-video-qxl-0.1.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-January/003316.html +sha256 2ad39558db47a8fcc036e290e0b084671e58d43344a57b279abd870c4c67965f xf86-video-qxl-0.1.6.tar.xz +sha512 f6a42355915d2e8f8a842dc24fe6d012d123aa6d23eedea1a4771fb08f88e0298d76741755b88304d76c66b3aae15f9fca74d062be395e499a82ee8f4507c7e0 xf86-video-qxl-0.1.6.tar.xz # Locally calculated sha256 83f3bf7be3fbf5e66174b8184bd837a6b44264f8e340126ea4d9e9ce956a1866 COPYING diff --git a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk index ffbac05ec1c..db0bbbaf65f 100644 --- a/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk +++ b/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_QXL_VERSION = 0.1.5 -XDRIVER_XF86_VIDEO_QXL_SOURCE = xf86-video-qxl-$(XDRIVER_XF86_VIDEO_QXL_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_QXL_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_QXL_VERSION = 0.1.6 +XDRIVER_XF86_VIDEO_QXL_SOURCE = xf86-video-qxl-$(XDRIVER_XF86_VIDEO_QXL_VERSION).tar.xz +XDRIVER_XF86_VIDEO_QXL_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_QXL_LICENSE = MIT XDRIVER_XF86_VIDEO_QXL_LICENSE_FILES = COPYING diff --git a/package/x11r7/xdriver_xf86-video-savage/0001-cross-compile.patch b/package/x11r7/xdriver_xf86-video-savage/0001-cross-compile.patch deleted file mode 100644 index b9c296b6b5d..00000000000 --- a/package/x11r7/xdriver_xf86-video-savage/0001-cross-compile.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/configure.ac 2008-05-21 16:04:23.000000000 -0400 -+++ b/configure.ac 2008-06-23 11:41:50.000000000 -0400 -@@ -68,12 +68,18 @@ sdkdir=$(pkg-config --variable=sdkdir xo - AC_HEADER_STDC - - if test "$DRI" != no; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -- [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -- [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -- [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ if test "$cross_compiling" = "no" ; then -+ AC_CHECK_FILE([${sdkdir}/dri.h], -+ [have_dri_h="yes"], [have_dri_h="no"]) -+ AC_CHECK_FILE([${sdkdir}/sarea.h], -+ [have_sarea_h="yes"], [have_sarea_h="no"]) -+ AC_CHECK_FILE([${sdkdir}/dristruct.h], -+ [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch b/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch deleted file mode 100644 index 4c695960d1a..00000000000 --- a/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fix build with modular-xorg-server-1.20 - -Downloaded from -http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/x11/xf86-video-savage/patches/patch-src_savage__driver.c?rev=1.3&content-type=text/x-cvsweb-markup - -Patch was sent upstream by Thomas Klausner : -https://lists.x.org/archives/xorg-devel/2018-May/056952.html - -Signed-off-by: Bernd Kuhls - ---- a/src/savage_driver.c.orig 2017-01-17 22:43:40.000000000 +0000 -+++ b/src/savage_driver.c -@@ -2034,8 +2034,10 @@ static Bool SavagePreInit(ScrnInfoPtr pS - xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected current MCLK value of %1.3f MHz\n", - mclk / 1000.0); - -+#if 0 - pScrn->maxHValue = 2048 << 3; /* 11 bits of h_total 8-pixel units */ - pScrn->maxVValue = 2048; /* 11 bits of v_total */ -+#endif - pScrn->virtualX = pScrn->display->virtualX; - pScrn->virtualY = pScrn->display->virtualY; - diff --git a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.hash b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.hash index 661c8749f21..4482ff59911 100644 --- a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.hash +++ b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.hash @@ -1,4 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002760.html -sha256 2c93c4db1f71e725dda0caee5821253129d4b52d7aa0fd720593e7769bceec86 xf86-video-savage-2.3.9.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-April/003381.html +sha256 b36cf02cfdd08a39423bb977c45397fbca5813267c727f0fd3c963ac38b601fd xf86-video-savage-2.4.0.tar.xz +sha512 a4db097c200f1430887e4c52bbe14aeaaa2c73dfc392beeed104c682114bd067f89b69994d649829cdc5d188cdbe7a41b22c82b0b49e3a02cdf366013ebbc161 xf86-video-savage-2.4.0.tar.xz # Locally calculated sha256 611f4020815e3d5011a39a58f0958262715cd3becd9cb1ef14cc166fd84ec5a6 COPYING diff --git a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk index 9e5bf61997f..03983d5cdc4 100644 --- a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk +++ b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk @@ -4,12 +4,11 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_SAVAGE_VERSION = 2.3.9 -XDRIVER_XF86_VIDEO_SAVAGE_SOURCE = xf86-video-savage-$(XDRIVER_XF86_VIDEO_SAVAGE_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_SAVAGE_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_SAVAGE_VERSION = 2.4.0 +XDRIVER_XF86_VIDEO_SAVAGE_SOURCE = xf86-video-savage-$(XDRIVER_XF86_VIDEO_SAVAGE_VERSION).tar.xz +XDRIVER_XF86_VIDEO_SAVAGE_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_SAVAGE_LICENSE = MIT XDRIVER_XF86_VIDEO_SAVAGE_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_SAVAGE_AUTORECONF = YES XDRIVER_XF86_VIDEO_SAVAGE_DEPENDENCIES = xserver_xorg-server libdrm xorgproto ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) diff --git a/package/x11r7/xdriver_xf86-video-trident/0001-Remove-ramdac.patch b/package/x11r7/xdriver_xf86-video-trident/0001-Remove-ramdac.patch deleted file mode 100644 index 38ca9afebfe..00000000000 --- a/package/x11r7/xdriver_xf86-video-trident/0001-Remove-ramdac.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 07a5c4732f1c28ffcb873ee04500e3cb813c50b4 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 7 Dec 2021 22:28:04 +0100 -Subject: [PATCH] Remove ramdac - -ramdac drivers have been removed from xserver since version 21.0.99.1 -and -https://gitlab.freedesktop.org/xorg/xserver/-/commit/f0385fb420158ac3bc1c4c325431ffc5c62344bb -resulting in the following build failure: - -In file included from trident_bank.c:37: -trident.h:41:10: fatal error: xf86RamDac.h: No such file or directory - 41 | #include "xf86RamDac.h" - | ^~~~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/c81ac8075af257e8626d9d097270be7a7b4a1496 - -Signed-off-by: Fabrice Fontaine -[Upstream status: -https://gitlab.freedesktop.org/xorg/driver/xf86-video-trident/-/merge_requests/1] ---- - src/trident.h | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/src/trident.h b/src/trident.h -index 5cadf52..c82de4c 100644 ---- a/src/trident.h -+++ b/src/trident.h -@@ -38,7 +38,6 @@ - #include "xaa.h" - #endif - #include "xf86fbman.h" --#include "xf86RamDac.h" - #include "compiler.h" - #include "vgaHW.h" - #include "xf86i2c.h" -@@ -103,7 +102,6 @@ typedef struct { - int useEXA; - int Chipset; - int DACtype; -- int RamDac; - int ChipRev; - int HwBpp; - int BppShift; -@@ -169,7 +167,6 @@ typedef struct { - CARD32 BltScanDirection; - CARD32 DrawFlag; - CARD16 LinePattern; -- RamDacRecPtr RamDacRec; - int CursorOffset; - xf86CursorInfoPtr CursorInfoRec; - xf86Int10InfoPtr Int10; --- -2.33.0 - diff --git a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash index 321f35d4f05..2ef664487ce 100644 --- a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash +++ b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.hash @@ -1,4 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002762.html -sha256 9e5119d974c3e2221994542d35e3a0b3426a441869ddd6dd08a84f324856ac3f xf86-video-trident-1.3.8.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-February/003326.html +sha256 7f76219ca7d7dc6061aa3c2aa59bc2a63895b8e6217e413ce315949f57b0189b xf86-video-trident-1.4.0.tar.xz +sha512 86f349ccfcf7c704e77a95882f63ac92f55819a3a00388f294777762fed04dde2197dd6124cded9e787af1982fecc43ad4d0af34307845e616a73d5a2ba750b9 xf86-video-trident-1.4.0.tar.xz # Locally calculated sha256 4f065198c49eac1513b915bc4478152c21119f31a97919a6ea8f3e1d10133d15 COPYING diff --git a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk index 20ec4bbc24c..53fe150420f 100644 --- a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk +++ b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_TRIDENT_VERSION = 1.3.8 -XDRIVER_XF86_VIDEO_TRIDENT_SOURCE = xf86-video-trident-$(XDRIVER_XF86_VIDEO_TRIDENT_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_TRIDENT_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_TRIDENT_VERSION = 1.4.0 +XDRIVER_XF86_VIDEO_TRIDENT_SOURCE = xf86-video-trident-$(XDRIVER_XF86_VIDEO_TRIDENT_VERSION).tar.xz +XDRIVER_XF86_VIDEO_TRIDENT_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_TRIDENT_LICENSE = MIT XDRIVER_XF86_VIDEO_TRIDENT_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_TRIDENT_DEPENDENCIES = xserver_xorg-server xorgproto diff --git a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash index fc69e01ffe7..a6415703be0 100644 --- a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash +++ b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-May/002895.html -md5 08d66d062055080ff699ab4869726ea2 xf86-video-vmware-13.3.0.tar.bz2 -sha1 f01335fe6bdb507e749571bfcd69163aed97312a xf86-video-vmware-13.3.0.tar.bz2 -sha256 47971924659e51666a757269ad941a059ef5afe7a47b5101c174a6022ac4066c xf86-video-vmware-13.3.0.tar.bz2 -sha512 c318de893cae7b2b11e11c1b389ee47478b7c8d1f52c27099dbe453efec28f3e9da449217307a8c2251999eada66312f766996be1a6ead413b8b6dedc42c68ca xf86-video-vmware-13.3.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-January/003315.html +sha256 aed31ee5ed5ecc6e2226705383e7ad06f7602c1376a295305f376b17af3eb81a xf86-video-vmware-13.4.0.tar.xz +sha512 7cacde21a490501dd9c2e9121040274c1f6ef64e6dc0ef49946b400f6297fab73a6e9548e45fe8930cee9028e65e45aaff9ba489dd69ac75a5133114726bf55d xf86-video-vmware-13.4.0.tar.xz # Locally computed sha256 7e59b8ca2a161855a60561f27ada8dfdbb678733eacdb23423fff6d21f9ad43b COPYING diff --git a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk index 5f0cb77bf88..37c2d67c198 100644 --- a/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk +++ b/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk @@ -4,9 +4,9 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_VMWARE_VERSION = 13.3.0 -XDRIVER_XF86_VIDEO_VMWARE_SOURCE = xf86-video-vmware-$(XDRIVER_XF86_VIDEO_VMWARE_VERSION).tar.bz2 -XDRIVER_XF86_VIDEO_VMWARE_SITE = http://xorg.freedesktop.org/releases/individual/driver +XDRIVER_XF86_VIDEO_VMWARE_VERSION = 13.4.0 +XDRIVER_XF86_VIDEO_VMWARE_SOURCE = xf86-video-vmware-$(XDRIVER_XF86_VIDEO_VMWARE_VERSION).tar.xz +XDRIVER_XF86_VIDEO_VMWARE_SITE = https://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_VMWARE_LICENSE = MIT XDRIVER_XF86_VIDEO_VMWARE_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_VMWARE_DEPENDENCIES = mesa3d xserver_xorg-server xorgproto diff --git a/package/x11r7/xfont_encodings/xfont_encodings.hash b/package/x11r7/xfont_encodings/xfont_encodings.hash index 6da1080576e..80d4a48c406 100644 --- a/package/x11r7/xfont_encodings/xfont_encodings.hash +++ b/package/x11r7/xfont_encodings/xfont_encodings.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-July/003189.html -sha256 77e301de661f35a622b18f60b555a7e7d8c4d5f43ed41410e830d5ac9084fc26 encodings-1.0.6.tar.xz -sha512 2d52486996939401121bc858ba23031f70eef857760db8da4c84f083e981868e4bc7a8c2ab6d59274a0cf95f592a0dbfad47bce6c9299bb45d115b48abc39134 encodings-1.0.6.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-February/003355.html +sha256 3a39a9f43b16521cdbd9f810090952af4f109b44fa7a865cd555f8febcea70a4 encodings-1.0.7.tar.xz +sha512 dc72982b14e5d89fe1eff1ab11f308796c89255a06337d8cd6bf65757f11dd0a5478b41d844793213db8fe9638389734f148abe9df9fb05027ea563dacde6ba8 encodings-1.0.7.tar.xz # Locally computed sha256 13b4a0f9431f0fdd6ee36ed386e0b7d1eb429c5cb88df73353896078cbb5a137 COPYING diff --git a/package/x11r7/xfont_encodings/xfont_encodings.mk b/package/x11r7/xfont_encodings/xfont_encodings.mk index d499b421fb0..7825f4117e1 100644 --- a/package/x11r7/xfont_encodings/xfont_encodings.mk +++ b/package/x11r7/xfont_encodings/xfont_encodings.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_ENCODINGS_VERSION = 1.0.6 +XFONT_ENCODINGS_VERSION = 1.0.7 XFONT_ENCODINGS_SOURCE = encodings-$(XFONT_ENCODINGS_VERSION).tar.xz -XFONT_ENCODINGS_SITE = https://xorg.freedesktop.org/releases/individual/font +XFONT_ENCODINGS_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_ENCODINGS_LICENSE = Public Domain XFONT_ENCODINGS_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.hash b/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.hash index 514c90915a2..6c96f7dfea2 100644 --- a/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.hash +++ b/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054 font-adobe-100dpi-1.0.3.tar.bz2 +sha256 b67aff445e056328d53f9732d39884f55dd8d303fc25af3dbba33a8ba35a9ccf font-adobe-100dpi-1.0.4.tar.xz sha256 bf6d862672b4fcc86f3f38bc138ad44e52d52207dd8689b8d3701630fc331194 COPYING diff --git a/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk b/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk index 24187698083..498f39d14b7 100644 --- a/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk +++ b/package/x11r7/xfont_font-adobe-100dpi/xfont_font-adobe-100dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ADOBE_100DPI_VERSION = 1.0.3 -XFONT_FONT_ADOBE_100DPI_SOURCE = font-adobe-100dpi-$(XFONT_FONT_ADOBE_100DPI_VERSION).tar.bz2 -XFONT_FONT_ADOBE_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ADOBE_100DPI_VERSION = 1.0.4 +XFONT_FONT_ADOBE_100DPI_SOURCE = font-adobe-100dpi-$(XFONT_FONT_ADOBE_100DPI_VERSION).tar.xz +XFONT_FONT_ADOBE_100DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ADOBE_100DPI_LICENSE = MIT XFONT_FONT_ADOBE_100DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.hash b/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.hash index 41ac96fc4fd..057cc0f1a4c 100644 --- a/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.hash +++ b/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 c6024a1e4a1e65f413f994dd08b734efd393ce0a502eb465deb77b9a36db4d09 font-adobe-75dpi-1.0.3.tar.bz2 +sha256 1281a62dbeded169e495cae1a5b487e1f336f2b4d971d92911c59c103999b911 font-adobe-75dpi-1.0.4.tar.xz sha256 bf6d862672b4fcc86f3f38bc138ad44e52d52207dd8689b8d3701630fc331194 COPYING diff --git a/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk b/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk index 90e94d27cb9..a8480caf714 100644 --- a/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk +++ b/package/x11r7/xfont_font-adobe-75dpi/xfont_font-adobe-75dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ADOBE_75DPI_VERSION = 1.0.3 -XFONT_FONT_ADOBE_75DPI_SOURCE = font-adobe-75dpi-$(XFONT_FONT_ADOBE_75DPI_VERSION).tar.bz2 -XFONT_FONT_ADOBE_75DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ADOBE_75DPI_VERSION = 1.0.4 +XFONT_FONT_ADOBE_75DPI_SOURCE = font-adobe-75dpi-$(XFONT_FONT_ADOBE_75DPI_VERSION).tar.xz +XFONT_FONT_ADOBE_75DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ADOBE_75DPI_LICENSE = MIT XFONT_FONT_ADOBE_75DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.hash b/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.hash index 81498788be8..87e7894f5cf 100644 --- a/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.hash +++ b/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5 font-adobe-utopia-100dpi-1.0.4.tar.bz2 +sha256 fb84ec297a906973548ca59b7c6daeaad21244bec5d3fb1e7c93df5ef43b024b font-adobe-utopia-100dpi-1.0.5.tar.xz sha256 234c2a8109afa8034c787dbf69696a9bdd374914aadf937d2a103831d95c1867 COPYING diff --git a/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk b/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk index 83157f5c673..8962db61cf9 100644 --- a/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk +++ b/package/x11r7/xfont_font-adobe-utopia-100dpi/xfont_font-adobe-utopia-100dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ADOBE_UTOPIA_100DPI_VERSION = 1.0.4 -XFONT_FONT_ADOBE_UTOPIA_100DPI_SOURCE = font-adobe-utopia-100dpi-$(XFONT_FONT_ADOBE_UTOPIA_100DPI_VERSION).tar.bz2 -XFONT_FONT_ADOBE_UTOPIA_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ADOBE_UTOPIA_100DPI_VERSION = 1.0.5 +XFONT_FONT_ADOBE_UTOPIA_100DPI_SOURCE = font-adobe-utopia-100dpi-$(XFONT_FONT_ADOBE_UTOPIA_100DPI_VERSION).tar.xz +XFONT_FONT_ADOBE_UTOPIA_100DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ADOBE_UTOPIA_100DPI_LICENSE = Adobe License (no modification allowed) XFONT_FONT_ADOBE_UTOPIA_100DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.hash b/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.hash index 514dd2829f0..0770018fde8 100644 --- a/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.hash +++ b/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.hash @@ -1,3 +1,3 @@ # locally computed -sha256 979435105f897a70f8993fa02c8362160b0513366c2ab896965416f96dbb8077 font-adobe-utopia-type1-1.0.4.tar.bz2 +sha256 4cb280bc47693b07c5e00fd0e5ad5721aabebc0548c3f06774e5cc3cbcf75697 font-adobe-utopia-type1-1.0.5.tar.xz sha256 234c2a8109afa8034c787dbf69696a9bdd374914aadf937d2a103831d95c1867 COPYING diff --git a/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk b/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk index 9ec8f800bda..b53b499b287 100644 --- a/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk +++ b/package/x11r7/xfont_font-adobe-utopia-type1/xfont_font-adobe-utopia-type1.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ADOBE_UTOPIA_TYPE1_VERSION = 1.0.4 -XFONT_FONT_ADOBE_UTOPIA_TYPE1_SOURCE = font-adobe-utopia-type1-$(XFONT_FONT_ADOBE_UTOPIA_TYPE1_VERSION).tar.bz2 -XFONT_FONT_ADOBE_UTOPIA_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ADOBE_UTOPIA_TYPE1_VERSION = 1.0.5 +XFONT_FONT_ADOBE_UTOPIA_TYPE1_SOURCE = font-adobe-utopia-type1-$(XFONT_FONT_ADOBE_UTOPIA_TYPE1_VERSION).tar.xz +XFONT_FONT_ADOBE_UTOPIA_TYPE1_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ADOBE_UTOPIA_TYPE1_LICENSE = Adobe License (no modification allowed) XFONT_FONT_ADOBE_UTOPIA_TYPE1_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-alias/xfont_font-alias.hash b/package/x11r7/xfont_font-alias/xfont_font-alias.hash index 5390d1c1266..8b1ead9efb5 100644 --- a/package/x11r7/xfont_font-alias/xfont_font-alias.hash +++ b/package/x11r7/xfont_font-alias/xfont_font-alias.hash @@ -1,5 +1,3 @@ -# From https://lists.x.org/archives/xorg-announce/2020-August/003054.html -sha256 f3111ae8bf2e980f5f56af400e8eefe5fc9f4207f4a412ea79637fd66c945276 font-alias-1.0.4.tar.bz2 -sha512 c67ac2ee344a601fcc09471580214b30c3fd6acc4800702840de44f0733e6d18b3faeec2fa3f4e2314025cc1724d7d6796ebaf620398fe350710182fd2c4b07d font-alias-1.0.4.tar.bz2 # locally computed +sha256 9f89e217bb73e0e3636a0a493fbf8b7c995156e0c53d9a0476d201b67c2d6b6e font-alias-1.0.5.tar.xz sha256 bdba5452fc080c0f1a56d66978ac4150d1d1a00a9cc0248bba4f0b76c80ad47e COPYING diff --git a/package/x11r7/xfont_font-alias/xfont_font-alias.mk b/package/x11r7/xfont_font-alias/xfont_font-alias.mk index 7f8e4b2ea07..fcd27066218 100644 --- a/package/x11r7/xfont_font-alias/xfont_font-alias.mk +++ b/package/x11r7/xfont_font-alias/xfont_font-alias.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ALIAS_VERSION = 1.0.4 -XFONT_FONT_ALIAS_SOURCE = font-alias-$(XFONT_FONT_ALIAS_VERSION).tar.bz2 -XFONT_FONT_ALIAS_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ALIAS_VERSION = 1.0.5 +XFONT_FONT_ALIAS_SOURCE = font-alias-$(XFONT_FONT_ALIAS_VERSION).tar.xz +XFONT_FONT_ALIAS_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ALIAS_LICENSE = MIT XFONT_FONT_ALIAS_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.hash b/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.hash index 3c565450f43..ae2503efcf1 100644 --- a/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.hash +++ b/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 505d9b12a7093389e67a925dfda6346bde26d114c67f0cdca7aeda6e5d3344f4 font-arabic-misc-1.0.3.tar.bz2 +sha256 46ffe61b52c78a1d2dca70ff20a9f2d84d69744639cab9a085c7a7ee17663467 font-arabic-misc-1.0.4.tar.xz sha256 192b677a887c20f9671cc357cd5ea7bae586003d61c1f8f6e164e8f5530abf57 COPYING diff --git a/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk b/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk index c867a60233e..f8e95d8fcb2 100644 --- a/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk +++ b/package/x11r7/xfont_font-arabic-misc/xfont_font-arabic-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ARABIC_MISC_VERSION = 1.0.3 -XFONT_FONT_ARABIC_MISC_SOURCE = font-arabic-misc-$(XFONT_FONT_ARABIC_MISC_VERSION).tar.bz2 -XFONT_FONT_ARABIC_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ARABIC_MISC_VERSION = 1.0.4 +XFONT_FONT_ARABIC_MISC_SOURCE = font-arabic-misc-$(XFONT_FONT_ARABIC_MISC_VERSION).tar.xz +XFONT_FONT_ARABIC_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ARABIC_MISC_LICENSE = MIT XFONT_FONT_ARABIC_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.hash b/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.hash index 154d6eb2fd9..6aa66d0b340 100644 --- a/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.hash +++ b/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481 font-bh-100dpi-1.0.3.tar.bz2 +sha256 fd8f5efe8491faabdd2744808d3d4eafdae5c83e617017c7fddd2716d049ab1e font-bh-100dpi-1.0.4.tar.xz sha256 888fd79d2c7e6332559d661c62f7a50f92fc5842e6ff0e0bd4c59b0083dabce9 COPYING diff --git a/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk b/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk index cc157386927..89c5a0d802c 100644 --- a/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk +++ b/package/x11r7/xfont_font-bh-100dpi/xfont_font-bh-100dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BH_100DPI_VERSION = 1.0.3 -XFONT_FONT_BH_100DPI_SOURCE = font-bh-100dpi-$(XFONT_FONT_BH_100DPI_VERSION).tar.bz2 -XFONT_FONT_BH_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BH_100DPI_VERSION = 1.0.4 +XFONT_FONT_BH_100DPI_SOURCE = font-bh-100dpi-$(XFONT_FONT_BH_100DPI_VERSION).tar.xz +XFONT_FONT_BH_100DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BH_100DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_100DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.hash b/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.hash index 0648e26dd94..0336c1b2377 100644 --- a/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.hash +++ b/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 3486aa51ac92c646a448fe899c5c3dae0024b1fef724d5100d52640d1cac721c font-bh-75dpi-1.0.3.tar.bz2 +sha256 6026d8c073563dd3cbb4878d0076eed970debabd21423b3b61dd90441b9e7cda font-bh-75dpi-1.0.4.tar.xz sha256 888fd79d2c7e6332559d661c62f7a50f92fc5842e6ff0e0bd4c59b0083dabce9 COPYING diff --git a/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk b/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk index 788a76a2b96..1bc03affab3 100644 --- a/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk +++ b/package/x11r7/xfont_font-bh-75dpi/xfont_font-bh-75dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BH_75DPI_VERSION = 1.0.3 -XFONT_FONT_BH_75DPI_SOURCE = font-bh-75dpi-$(XFONT_FONT_BH_75DPI_VERSION).tar.bz2 -XFONT_FONT_BH_75DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BH_75DPI_VERSION = 1.0.4 +XFONT_FONT_BH_75DPI_SOURCE = font-bh-75dpi-$(XFONT_FONT_BH_75DPI_VERSION).tar.xz +XFONT_FONT_BH_75DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BH_75DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_75DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.hash b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.hash index 439d5d26025..2e21d28546b 100644 --- a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.hash +++ b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2 +sha256 76ec09eda4094a29d47b91cf59c3eba229c8f7d1ca6bae2abbb3f925e33de8f2 font-bh-lucidatypewriter-100dpi-1.0.4.tar.xz sha256 9428a98add4fada4c98e031ae0f29d27f8b15a2c8c6e8830591a4c18ea26a6cd COPYING diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk index 2f055ddab99..bbbdd3d13c0 100644 --- a/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk +++ b/package/x11r7/xfont_font-bh-lucidatypewriter-100dpi/xfont_font-bh-lucidatypewriter-100dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_VERSION = 1.0.3 -XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_SOURCE = font-bh-lucidatypewriter-100dpi-$(XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_VERSION).tar.bz2 -XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_VERSION = 1.0.4 +XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_SOURCE = font-bh-lucidatypewriter-100dpi-$(XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_VERSION).tar.xz +XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_LUCIDATYPEWRITER_100DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.hash b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.hash index ed8d8514db0..17b1b3f428e 100644 --- a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.hash +++ b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 4ac16afbe205480cc5572e2977ea63488c543d05be0ea8e5a94c845a6eebcb31 font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2 +sha256 864e2c39ac61f04f693fc2c8aaaed24b298c2cd40283cec12eee459c5635e8f5 font-bh-lucidatypewriter-75dpi-1.0.4.tar.xz sha256 9428a98add4fada4c98e031ae0f29d27f8b15a2c8c6e8830591a4c18ea26a6cd COPYING diff --git a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk index 4166b2d7415..86789dae5aa 100644 --- a/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk +++ b/package/x11r7/xfont_font-bh-lucidatypewriter-75dpi/xfont_font-bh-lucidatypewriter-75dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_VERSION = 1.0.3 -XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_SOURCE = font-bh-lucidatypewriter-75dpi-$(XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_VERSION).tar.bz2 -XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_VERSION = 1.0.4 +XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_SOURCE = font-bh-lucidatypewriter-75dpi-$(XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_VERSION).tar.xz +XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_LUCIDATYPEWRITER_75DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash index c9b01efc7ad..a0c5eea223b 100644 --- a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash +++ b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.hash @@ -1,4 +1,3 @@ -# From http://lists.x.org/archives/xorg-announce/2010-November/001537.html -sha1 f42ebd527096011040a312e0f9cdf78d64177419 font-bh-ttf-1.0.3.tar.bz2 # Locally computed +sha256 85a5f90d00c48c2b06fd125ea8adbc8b8ee97429e3075081c8710926efec3a56 font-bh-ttf-1.0.4.tar.xz sha256 27d47d50006773f1c0bd97661252ae27bb8cfd6951f253bd9d3ef81ed1243934 COPYING diff --git a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk index e3ed2a6f085..3cc0dedaa65 100644 --- a/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk +++ b/package/x11r7/xfont_font-bh-ttf/xfont_font-bh-ttf.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BH_TTF_VERSION = 1.0.3 -XFONT_FONT_BH_TTF_SOURCE = font-bh-ttf-$(XFONT_FONT_BH_TTF_VERSION).tar.bz2 -XFONT_FONT_BH_TTF_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BH_TTF_VERSION = 1.0.4 +XFONT_FONT_BH_TTF_SOURCE = font-bh-ttf-$(XFONT_FONT_BH_TTF_VERSION).tar.xz +XFONT_FONT_BH_TTF_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BH_TTF_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_TTF_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.hash b/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.hash index cb0387d9e98..81a6a76dfb4 100644 --- a/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.hash +++ b/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.hash @@ -1,3 +1,3 @@ # locally computed -sha256 761455a297486f3927a85d919b5c948d1d324181d4bea6c95d542504b68a63c1 font-bh-type1-1.0.3.tar.bz2 +sha256 19dec3ec06abde6bedd10094579e928be0f0fc3bdb4fbe93f4c69cce406d72a6 font-bh-type1-1.0.4.tar.xz sha256 27d47d50006773f1c0bd97661252ae27bb8cfd6951f253bd9d3ef81ed1243934 COPYING diff --git a/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk b/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk index 244c91ffb91..c4fd2e69b9c 100644 --- a/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk +++ b/package/x11r7/xfont_font-bh-type1/xfont_font-bh-type1.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BH_TYPE1_VERSION = 1.0.3 -XFONT_FONT_BH_TYPE1_SOURCE = font-bh-type1-$(XFONT_FONT_BH_TYPE1_VERSION).tar.bz2 -XFONT_FONT_BH_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BH_TYPE1_VERSION = 1.0.4 +XFONT_FONT_BH_TYPE1_SOURCE = font-bh-type1-$(XFONT_FONT_BH_TYPE1_VERSION).tar.xz +XFONT_FONT_BH_TYPE1_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BH_TYPE1_LICENSE = Bigelow & Holmes License (no modification) XFONT_FONT_BH_TYPE1_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.hash b/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.hash index 1cef17d4cd7..9a97a16cd1c 100644 --- a/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.hash +++ b/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce font-bitstream-100dpi-1.0.3.tar.bz2 +sha256 2d1cc682efe4f7ebdf5fbd88961d8ca32b2729968728633dea20a1627690c1a7 font-bitstream-100dpi-1.0.4.tar.xz sha256 6faf32f092c2b92f3f99e0d63db9d802b11b4dd5aa0ce991f107a398d7f1ae80 COPYING diff --git a/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk b/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk index 90d9e5bbb47..f756f295717 100644 --- a/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk +++ b/package/x11r7/xfont_font-bitstream-100dpi/xfont_font-bitstream-100dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BITSTREAM_100DPI_VERSION = 1.0.3 -XFONT_FONT_BITSTREAM_100DPI_SOURCE = font-bitstream-100dpi-$(XFONT_FONT_BITSTREAM_100DPI_VERSION).tar.bz2 -XFONT_FONT_BITSTREAM_100DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BITSTREAM_100DPI_VERSION = 1.0.4 +XFONT_FONT_BITSTREAM_100DPI_SOURCE = font-bitstream-100dpi-$(XFONT_FONT_BITSTREAM_100DPI_VERSION).tar.xz +XFONT_FONT_BITSTREAM_100DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BITSTREAM_100DPI_LICENSE = MIT XFONT_FONT_BITSTREAM_100DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.hash b/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.hash index 9973f1f456c..03bcf66ca4d 100644 --- a/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.hash +++ b/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.hash @@ -1,3 +1,3 @@ # locally computed -sha256 ba3f5e4610c07bd5859881660753ec6d75d179f26fc967aa776dbb3d5d5cf48e font-bitstream-75dpi-1.0.3.tar.bz2 +sha256 aaeb34d87424a9c2b0cf0e8590704c90cb5b42c6a3b6a0ef9e4676ef773bf826 font-bitstream-75dpi-1.0.4.tar.xz sha256 6faf32f092c2b92f3f99e0d63db9d802b11b4dd5aa0ce991f107a398d7f1ae80 COPYING diff --git a/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk b/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk index deb99aa5968..9c74f0c4dce 100644 --- a/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk +++ b/package/x11r7/xfont_font-bitstream-75dpi/xfont_font-bitstream-75dpi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BITSTREAM_75DPI_VERSION = 1.0.3 -XFONT_FONT_BITSTREAM_75DPI_SOURCE = font-bitstream-75dpi-$(XFONT_FONT_BITSTREAM_75DPI_VERSION).tar.bz2 -XFONT_FONT_BITSTREAM_75DPI_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BITSTREAM_75DPI_VERSION = 1.0.4 +XFONT_FONT_BITSTREAM_75DPI_SOURCE = font-bitstream-75dpi-$(XFONT_FONT_BITSTREAM_75DPI_VERSION).tar.xz +XFONT_FONT_BITSTREAM_75DPI_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BITSTREAM_75DPI_LICENSE = MIT XFONT_FONT_BITSTREAM_75DPI_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.hash b/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.hash index 81bb8fc7913..9e9e158f80b 100644 --- a/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.hash +++ b/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.hash @@ -1,3 +1,3 @@ # locally computed -sha256 c6ea0569adad2c577f140328dc3302e729cb1b1ea90cd0025caf380625f8a688 font-bitstream-type1-1.0.3.tar.bz2 +sha256 de2f238b4cd72db4228a0ba67829d76a2b7c039e22993d66a722ee385248c628 font-bitstream-type1-1.0.4.tar.xz sha256 ecad5afdbd1308634896744a4c962361e9eca73e7d9969bb3aad94533c66d046 COPYING diff --git a/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk b/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk index 640ce86324c..880e49a102c 100644 --- a/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk +++ b/package/x11r7/xfont_font-bitstream-type1/xfont_font-bitstream-type1.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_BITSTREAM_TYPE1_VERSION = 1.0.3 -XFONT_FONT_BITSTREAM_TYPE1_SOURCE = font-bitstream-type1-$(XFONT_FONT_BITSTREAM_TYPE1_VERSION).tar.bz2 -XFONT_FONT_BITSTREAM_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_BITSTREAM_TYPE1_VERSION = 1.0.4 +XFONT_FONT_BITSTREAM_TYPE1_SOURCE = font-bitstream-type1-$(XFONT_FONT_BITSTREAM_TYPE1_VERSION).tar.xz +XFONT_FONT_BITSTREAM_TYPE1_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_BITSTREAM_TYPE1_LICENSE = MIT XFONT_FONT_BITSTREAM_TYPE1_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.hash b/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.hash index 893ba5718d8..480444e518a 100644 --- a/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.hash +++ b/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.hash @@ -1,3 +1,3 @@ # locally computed -sha256 6e8631936157677c77ba032b5c7b1fb3cb2ee872dbcea0444f12cd602cd9212a font-cronyx-cyrillic-1.0.3.tar.bz2 +sha256 dc0781ce0dcbffdbf6aae1a00173a13403f92b0de925bca5a9e117e4e2d6b789 font-cronyx-cyrillic-1.0.4.tar.xz sha256 857fa9f8d12bd7ce7fb235393d775dd5e0b5130fac7a88fdea9156d75b609402 COPYING diff --git a/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk b/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk index caca639c258..af7590842c8 100644 --- a/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk +++ b/package/x11r7/xfont_font-cronyx-cyrillic/xfont_font-cronyx-cyrillic.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_CRONYX_CYRILLIC_VERSION = 1.0.3 -XFONT_FONT_CRONYX_CYRILLIC_SOURCE = font-cronyx-cyrillic-$(XFONT_FONT_CRONYX_CYRILLIC_VERSION).tar.bz2 -XFONT_FONT_CRONYX_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_CRONYX_CYRILLIC_VERSION = 1.0.4 +XFONT_FONT_CRONYX_CYRILLIC_SOURCE = font-cronyx-cyrillic-$(XFONT_FONT_CRONYX_CYRILLIC_VERSION).tar.xz +XFONT_FONT_CRONYX_CYRILLIC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_CRONYX_CYRILLIC_LICENSE = MIT XFONT_FONT_CRONYX_CYRILLIC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.hash b/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.hash index 04565f8b0f9..3fe94b526fc 100644 --- a/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.hash +++ b/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635 font-cursor-misc-1.0.3.tar.bz2 +sha256 25d9c9595013cb8ca08420509993a6434c917e53ca1fec3f63acd45a19d4f982 font-cursor-misc-1.0.4.tar.xz sha256 c22415fb2144d7298e995dbeee2eb120822d653c61ae43c64fa0fda2cc3ca3a0 COPYING diff --git a/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk b/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk index e752803086f..38366a80897 100644 --- a/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk +++ b/package/x11r7/xfont_font-cursor-misc/xfont_font-cursor-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_CURSOR_MISC_VERSION = 1.0.3 -XFONT_FONT_CURSOR_MISC_SOURCE = font-cursor-misc-$(XFONT_FONT_CURSOR_MISC_VERSION).tar.bz2 -XFONT_FONT_CURSOR_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_CURSOR_MISC_VERSION = 1.0.4 +XFONT_FONT_CURSOR_MISC_SOURCE = font-cursor-misc-$(XFONT_FONT_CURSOR_MISC_VERSION).tar.xz +XFONT_FONT_CURSOR_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_CURSOR_MISC_LICENSE = unencumbered XFONT_FONT_CURSOR_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.hash b/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.hash index 1b4ebe9d9fc..cebdbbba88b 100644 --- a/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.hash +++ b/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.hash @@ -1,2 +1,3 @@ # locally computed -sha256 bc65de70bee12698caa95b523d3b652c056347e17b68cc8b5d6bbdff235c4be8 font-daewoo-misc-1.0.3.tar.bz2 +sha256 f63c8b3dc8f30098cb868b7db2c2c0c8b5b3fd2cefd044035697a43d4c7a4f31 font-daewoo-misc-1.0.4.tar.xz +sha256 294f786aa8f0ad8f92979d153e18f5cf7cc95d872cace25338f9c95e7b348ed9 COPYING diff --git a/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk b/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk index f5bd941383c..57e151383b9 100644 --- a/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk +++ b/package/x11r7/xfont_font-daewoo-misc/xfont_font-daewoo-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_DAEWOO_MISC_VERSION = 1.0.3 -XFONT_FONT_DAEWOO_MISC_SOURCE = font-daewoo-misc-$(XFONT_FONT_DAEWOO_MISC_VERSION).tar.bz2 -XFONT_FONT_DAEWOO_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_DAEWOO_MISC_VERSION = 1.0.4 +XFONT_FONT_DAEWOO_MISC_SOURCE = font-daewoo-misc-$(XFONT_FONT_DAEWOO_MISC_VERSION).tar.xz +XFONT_FONT_DAEWOO_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_DAEWOO_MISC_LICENSE_FILES = COPYING XFONT_FONT_DAEWOO_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install diff --git a/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.hash b/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.hash index 34873fe3b71..2dea72b831e 100644 --- a/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.hash +++ b/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 e19ddf8b5f8de914d81675358fdfe37762e9ce524887cc983adef34f2850ff7b font-dec-misc-1.0.3.tar.bz2 +sha256 82d968201d8ff8bec0e51dccd781bb4d4ebf17e11004944279bdc0201e161af7 font-dec-misc-1.0.4.tar.xz sha256 bf4d44be4b5eb66c53bf5f7eb2d9d4817fb937788b37ed6ceda1876fdb964817 COPYING diff --git a/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk b/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk index 1642b413524..6f404ab2a0e 100644 --- a/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk +++ b/package/x11r7/xfont_font-dec-misc/xfont_font-dec-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_DEC_MISC_VERSION = 1.0.3 -XFONT_FONT_DEC_MISC_SOURCE = font-dec-misc-$(XFONT_FONT_DEC_MISC_VERSION).tar.bz2 -XFONT_FONT_DEC_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_DEC_MISC_VERSION = 1.0.4 +XFONT_FONT_DEC_MISC_SOURCE = font-dec-misc-$(XFONT_FONT_DEC_MISC_VERSION).tar.xz +XFONT_FONT_DEC_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_DEC_MISC_LICENSE = MIT XFONT_FONT_DEC_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.hash b/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.hash index c5e8f4e4aea..5a967f70d56 100644 --- a/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.hash +++ b/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.hash @@ -1,3 +1,3 @@ # locally computed -sha256 fddb28d3db5a07f4b4ca15388488a9680a10e1367a18f358f903b2a608a5d2df font-ibm-type1-1.0.3.tar.bz2 +sha256 c4395e95ba46d40c4ad1737e91cac20c0ab75411329b60db5d99fed92b60ce7f font-ibm-type1-1.0.4.tar.xz sha256 fc0fd4df7ac7ac7f9b1ff3a221f28c52edea4506dc4c84f1869a3f4281360ca1 COPYING diff --git a/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk b/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk index 4d34998af4d..ea295cadfa0 100644 --- a/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk +++ b/package/x11r7/xfont_font-ibm-type1/xfont_font-ibm-type1.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_IBM_TYPE1_VERSION = 1.0.3 -XFONT_FONT_IBM_TYPE1_SOURCE = font-ibm-type1-$(XFONT_FONT_IBM_TYPE1_VERSION).tar.bz2 -XFONT_FONT_IBM_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_IBM_TYPE1_VERSION = 1.0.4 +XFONT_FONT_IBM_TYPE1_SOURCE = font-ibm-type1-$(XFONT_FONT_IBM_TYPE1_VERSION).tar.xz +XFONT_FONT_IBM_TYPE1_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_IBM_TYPE1_LICENSE = IBM/MIT X Consortium Courier Typefont agreement (no modification) XFONT_FONT_IBM_TYPE1_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.hash b/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.hash index bc4a9e5b17b..bc2164b23fa 100644 --- a/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.hash +++ b/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 5824ab4b485951107dd245b8f7717d2822f1a6dbf6cea98f1ac7f49905c0a867 font-isas-misc-1.0.3.tar.bz2 +sha256 47e595bbe6da444b9f6fcaa26539abc7ba1989e23afa6cdc49e22e484cc438fc font-isas-misc-1.0.4.tar.xz sha256 32d5d082b8186051bbe75ea9cbedc646830217ca931b1b7a1e534a828c94e839 COPYING diff --git a/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk b/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk index 1393d67eae8..d1449252781 100644 --- a/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk +++ b/package/x11r7/xfont_font-isas-misc/xfont_font-isas-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_ISAS_MISC_VERSION = 1.0.3 -XFONT_FONT_ISAS_MISC_SOURCE = font-isas-misc-$(XFONT_FONT_ISAS_MISC_VERSION).tar.bz2 -XFONT_FONT_ISAS_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_ISAS_MISC_VERSION = 1.0.4 +XFONT_FONT_ISAS_MISC_SOURCE = font-isas-misc-$(XFONT_FONT_ISAS_MISC_VERSION).tar.xz +XFONT_FONT_ISAS_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_ISAS_MISC_LICENSE = MIT XFONT_FONT_ISAS_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.hash b/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.hash index c39db360612..95cdaa9f1c7 100644 --- a/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.hash +++ b/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.hash @@ -1,2 +1,3 @@ # locally computed -sha256 2b18ce10b367ebafe95a17de799b6db9a24e2337188d124adaf68af05b1fac65 font-jis-misc-1.0.3.tar.bz2 +sha256 78d1eff6c471f7aa6802a26d62cccf51d8e5185586406d9b6e1ee691b0bffad0 font-jis-misc-1.0.4.tar.xz +sha256 7a94eaf8f051c95232d64b24b082eb02f827e1361c03b82e9bc7252263ea66c1 COPYING diff --git a/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk b/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk index 78a5bbbf8ed..f0ba7fe9427 100644 --- a/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk +++ b/package/x11r7/xfont_font-jis-misc/xfont_font-jis-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_JIS_MISC_VERSION = 1.0.3 -XFONT_FONT_JIS_MISC_SOURCE = font-jis-misc-$(XFONT_FONT_JIS_MISC_VERSION).tar.bz2 -XFONT_FONT_JIS_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_JIS_MISC_VERSION = 1.0.4 +XFONT_FONT_JIS_MISC_SOURCE = font-jis-misc-$(XFONT_FONT_JIS_MISC_VERSION).tar.xz +XFONT_FONT_JIS_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_JIS_MISC_LICENSE_FILES = COPYING XFONT_FONT_JIS_MISC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) MKFONTSCALE=$(HOST_DIR)/bin/mkfontscale MKFONTDIR=$(HOST_DIR)/bin/mkfontdir install diff --git a/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.hash b/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.hash index ce0899b65ae..ace39dcd64b 100644 --- a/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.hash +++ b/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 9a3381c10f32d9511f0ad4179df395914c50779103c16cddf7017f5220ed8db6 font-micro-misc-1.0.3.tar.bz2 +sha256 2ee0b9d6bd7ae849aff1bd82efab44a1b6b368fbb5e11d12ff7f015a3df6f943 font-micro-misc-1.0.4.tar.xz sha256 1711d038bca0efb51b5114e902412019d1c21531882866b1a6908c6386268cfb COPYING diff --git a/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk b/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk index b5da83f398c..e76626bb96e 100644 --- a/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk +++ b/package/x11r7/xfont_font-micro-misc/xfont_font-micro-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_MICRO_MISC_VERSION = 1.0.3 -XFONT_FONT_MICRO_MISC_SOURCE = font-micro-misc-$(XFONT_FONT_MICRO_MISC_VERSION).tar.bz2 -XFONT_FONT_MICRO_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_MICRO_MISC_VERSION = 1.0.4 +XFONT_FONT_MICRO_MISC_SOURCE = font-micro-misc-$(XFONT_FONT_MICRO_MISC_VERSION).tar.xz +XFONT_FONT_MICRO_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_MICRO_MISC_LICENSE = Public Domain XFONT_FONT_MICRO_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.hash b/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.hash index 5eb407f4c71..5d2f1dedc16 100644 --- a/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.hash +++ b/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.hash @@ -1,3 +1,3 @@ # locally computed -sha256 e40fe3e3323c62b738550795457ad555c70c008aa91b5912dfd46f8e745f5e60 font-misc-cyrillic-1.0.3.tar.bz2 +sha256 76021a7f53064001914a57fd08efae57f76b68f0a24dca8ab1b245474ee8e993 font-misc-cyrillic-1.0.4.tar.xz sha256 8765722448e0ca6ce113d0406554c40224f74abfc005f4b2ef927567349f1529 COPYING diff --git a/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk b/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk index 8fa30ea3140..93a7973fb7e 100644 --- a/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk +++ b/package/x11r7/xfont_font-misc-cyrillic/xfont_font-misc-cyrillic.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_MISC_CYRILLIC_VERSION = 1.0.3 -XFONT_FONT_MISC_CYRILLIC_SOURCE = font-misc-cyrillic-$(XFONT_FONT_MISC_CYRILLIC_VERSION).tar.bz2 -XFONT_FONT_MISC_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_MISC_CYRILLIC_VERSION = 1.0.4 +XFONT_FONT_MISC_CYRILLIC_SOURCE = font-misc-cyrillic-$(XFONT_FONT_MISC_CYRILLIC_VERSION).tar.xz +XFONT_FONT_MISC_CYRILLIC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_MISC_CYRILLIC_LICENSE = MIT / Public Domain XFONT_FONT_MISC_CYRILLIC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.hash b/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.hash index 45cf4300186..73f38186f29 100644 --- a/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.hash +++ b/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.hash @@ -1,5 +1,3 @@ -# From https://lists.x.org/archives/xorg-announce/2020-August/003055.html -sha256 698c0f6ddf9ca482250bdafa08293893148393bb9cb23e0a9ca313c6dbfc4ae0 font-misc-ethiopic-1.0.4.tar.bz2 -sha512 4fed9ff3782746898c56dac199e9ca89356f4967779937049b9ff4ffad202317c023859f92d44b371dfa5485d5368ccad648e64b12cde0ed21f7d4aee5affcd5 font-misc-ethiopic-1.0.4.tar.bz2 # locally computed +sha256 4749a7e6e1a1eef6c91fcc9a04e8b1c0ed027d40c1599e5a6c93270d8469b612 font-misc-ethiopic-1.0.5.tar.xz sha256 94835f274f1ddad34f8fd3a06b2c493222a68e4094f4097000d101f22ee0d0d5 COPYING diff --git a/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk b/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk index 9ded4b6cede..9a4e25bf827 100644 --- a/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk +++ b/package/x11r7/xfont_font-misc-ethiopic/xfont_font-misc-ethiopic.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_MISC_ETHIOPIC_VERSION = 1.0.4 -XFONT_FONT_MISC_ETHIOPIC_SOURCE = font-misc-ethiopic-$(XFONT_FONT_MISC_ETHIOPIC_VERSION).tar.bz2 -XFONT_FONT_MISC_ETHIOPIC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_MISC_ETHIOPIC_VERSION = 1.0.5 +XFONT_FONT_MISC_ETHIOPIC_SOURCE = font-misc-ethiopic-$(XFONT_FONT_MISC_ETHIOPIC_VERSION).tar.xz +XFONT_FONT_MISC_ETHIOPIC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_MISC_ETHIOPIC_LICENSE = MIT XFONT_FONT_MISC_ETHIOPIC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.hash b/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.hash index 92046c85119..63d033b444b 100644 --- a/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.hash +++ b/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.hash @@ -1,3 +1,3 @@ # locally computed -sha256 3721323f13855cf7ca609115a1f7b182491e9b2b9c6e01eb1a2c7f8edd480791 font-misc-meltho-1.0.3.tar.bz2 +sha256 63be5ec17078898f263c24096a68b43ae5b06b88852e42549afa03d124d65219 font-misc-meltho-1.0.4.tar.xz sha256 6a02b45e4877b9df8c1bdaa21e1e8fba86d85e3be4c90f2791183a501e0cbd25 COPYING diff --git a/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk b/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk index ac4a71b700c..727b82fccf2 100644 --- a/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk +++ b/package/x11r7/xfont_font-misc-meltho/xfont_font-misc-meltho.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_MISC_MELTHO_VERSION = 1.0.3 -XFONT_FONT_MISC_MELTHO_SOURCE = font-misc-meltho-$(XFONT_FONT_MISC_MELTHO_VERSION).tar.bz2 -XFONT_FONT_MISC_MELTHO_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_MISC_MELTHO_VERSION = 1.0.4 +XFONT_FONT_MISC_MELTHO_SOURCE = font-misc-meltho-$(XFONT_FONT_MISC_MELTHO_VERSION).tar.xz +XFONT_FONT_MISC_MELTHO_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_MISC_MELTHO_LICENSE = Meltho License XFONT_FONT_MISC_MELTHO_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.hash b/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.hash index 781742420d3..2fbdcaf3a13 100644 --- a/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.hash +++ b/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794 font-misc-misc-1.1.2.tar.bz2 +sha256 79abe361f58bb21ade9f565898e486300ce1cc621d5285bec26e14b6a8618fed font-misc-misc-1.1.3.tar.xz sha256 1711d038bca0efb51b5114e902412019d1c21531882866b1a6908c6386268cfb COPYING diff --git a/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk b/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk index e03da6f1b53..ee90e7a80c9 100644 --- a/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk +++ b/package/x11r7/xfont_font-misc-misc/xfont_font-misc-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_MISC_MISC_VERSION = 1.1.2 -XFONT_FONT_MISC_MISC_SOURCE = font-misc-misc-$(XFONT_FONT_MISC_MISC_VERSION).tar.bz2 -XFONT_FONT_MISC_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_MISC_MISC_VERSION = 1.1.3 +XFONT_FONT_MISC_MISC_SOURCE = font-misc-misc-$(XFONT_FONT_MISC_MISC_VERSION).tar.xz +XFONT_FONT_MISC_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_MISC_MISC_LICENSE = Public Domain XFONT_FONT_MISC_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.hash b/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.hash index f6e8e9aa794..978c634ec55 100644 --- a/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.hash +++ b/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 bd5f7adb34367c197773a9801df5bce7b019664941900b2a31fbfe1ff2830f8f font-mutt-misc-1.0.3.tar.bz2 +sha256 b12359f4e12c23bcfcb448b918297e975fa91bef5293d88d3c25343cc768bb24 font-mutt-misc-1.0.4.tar.xz sha256 81d42a6eeaf3ac2fcc1e1408fb6e2039d1162ca85d4abaf75e3daddcb250e4ff COPYING diff --git a/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk b/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk index 6fcaa5dadc2..41179f4c4f2 100644 --- a/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk +++ b/package/x11r7/xfont_font-mutt-misc/xfont_font-mutt-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_MUTT_MISC_VERSION = 1.0.3 -XFONT_FONT_MUTT_MISC_SOURCE = font-mutt-misc-$(XFONT_FONT_MUTT_MISC_VERSION).tar.bz2 -XFONT_FONT_MUTT_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_MUTT_MISC_VERSION = 1.0.4 +XFONT_FONT_MUTT_MISC_SOURCE = font-mutt-misc-$(XFONT_FONT_MUTT_MISC_VERSION).tar.xz +XFONT_FONT_MUTT_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_MUTT_MISC_LICENSE = MIT XFONT_FONT_MUTT_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.hash b/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.hash index 107493b267a..44ce495ec6b 100644 --- a/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.hash +++ b/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.hash @@ -1,3 +1,3 @@ # locally computed -sha256 e444028656e0767e2eddc6d9aca462b16a2be75a47244dbc199b2c44eca87e5a font-schumacher-misc-1.1.2.tar.bz2 +sha256 8b849f0cdb1e55a34cc3dd8b0fb37443fabbc224d5ba44085569581244a68070 font-schumacher-misc-1.1.3.tar.xz sha256 4e2b9933887950acad3a780dce91c71770c8887f132bcd0c2ba6146cdc372407 COPYING diff --git a/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk b/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk index e07569d4b4b..4e61b453396 100644 --- a/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk +++ b/package/x11r7/xfont_font-schumacher-misc/xfont_font-schumacher-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_SCHUMACHER_MISC_VERSION = 1.1.2 -XFONT_FONT_SCHUMACHER_MISC_SOURCE = font-schumacher-misc-$(XFONT_FONT_SCHUMACHER_MISC_VERSION).tar.bz2 -XFONT_FONT_SCHUMACHER_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_SCHUMACHER_MISC_VERSION = 1.1.3 +XFONT_FONT_SCHUMACHER_MISC_SOURCE = font-schumacher-misc-$(XFONT_FONT_SCHUMACHER_MISC_VERSION).tar.xz +XFONT_FONT_SCHUMACHER_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_SCHUMACHER_MISC_LICENSE = MIT XFONT_FONT_SCHUMACHER_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.hash b/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.hash index e8d3fa16054..4d92cdaf9f0 100644 --- a/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.hash +++ b/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.hash @@ -1,4 +1,3 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 824231e8dffe15299454e47259f29d98001c9cf8ad3d6b5171399e4d71705e79 font-screen-cyrillic-1.0.4.tar.bz2 # Locally computed +sha256 8f758bb8cd580c7e655487d1d0db69d319acae54d932b295d96d9d9b83fde5c0 font-screen-cyrillic-1.0.5.tar.xz sha256 5234cbcbdcc9865ce2b576b5f67e77e40ccdc1aa01e6528bea5a17784934b894 COPYING diff --git a/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk b/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk index a254d4a756a..144cec52035 100644 --- a/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk +++ b/package/x11r7/xfont_font-screen-cyrillic/xfont_font-screen-cyrillic.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_SCREEN_CYRILLIC_VERSION = 1.0.4 -XFONT_FONT_SCREEN_CYRILLIC_SOURCE = font-screen-cyrillic-$(XFONT_FONT_SCREEN_CYRILLIC_VERSION).tar.bz2 -XFONT_FONT_SCREEN_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_SCREEN_CYRILLIC_VERSION = 1.0.5 +XFONT_FONT_SCREEN_CYRILLIC_SOURCE = font-screen-cyrillic-$(XFONT_FONT_SCREEN_CYRILLIC_VERSION).tar.xz +XFONT_FONT_SCREEN_CYRILLIC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_SCREEN_CYRILLIC_LICENSE = MIT XFONT_FONT_SCREEN_CYRILLIC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.hash b/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.hash index 80261ff312b..726e7480502 100644 --- a/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.hash +++ b/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.hash @@ -1,4 +1,3 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 2043a326ba347c9da5ca1e9bc363e2521c3ea40b43b1f9662d333efd4867cff5 font-sony-misc-1.0.3.tar.bz2 # Locally computed +sha256 e6b09f823fccb06e0bd0b2062283b6514153323bd8a7486e9c2e3f55ab84946b font-sony-misc-1.0.4.tar.xz sha256 8233ff7d7bc8b5b46cbba3f6cd0069d2ef875bd1b1e0090ca4145282aa096739 COPYING diff --git a/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk b/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk index 6e580fd922f..f77a5f004f0 100644 --- a/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk +++ b/package/x11r7/xfont_font-sony-misc/xfont_font-sony-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_SONY_MISC_VERSION = 1.0.3 -XFONT_FONT_SONY_MISC_SOURCE = font-sony-misc-$(XFONT_FONT_SONY_MISC_VERSION).tar.bz2 -XFONT_FONT_SONY_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_SONY_MISC_VERSION = 1.0.4 +XFONT_FONT_SONY_MISC_SOURCE = font-sony-misc-$(XFONT_FONT_SONY_MISC_VERSION).tar.xz +XFONT_FONT_SONY_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_SONY_MISC_LICENSE = MIT XFONT_FONT_SONY_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.hash b/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.hash index 8b195c9f9bd..ac2f343906e 100644 --- a/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.hash +++ b/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.hash @@ -1,4 +1,3 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 481f4fcbbf7005658b080b3cf342c8c76de752e77f47958b2b383de73266d2e0 font-sun-misc-1.0.3.tar.bz2 # Locally computed -sha256 dd6da1d39832ab2878c3304405c1c7883c6da292ffde262fca1785239534c40f COPYING +sha256 dd84dd116d927affa4fa0fa29727b3ecfc0f064238817c0a1e552a0ac384db9f font-sun-misc-1.0.4.tar.xz +sha256 d76b96147b5c155642652ca15e2e4cb4cc249ee2eaa02292e274b723224b88de COPYING diff --git a/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk b/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk index 737cfb5c9b2..3d3596a9b63 100644 --- a/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk +++ b/package/x11r7/xfont_font-sun-misc/xfont_font-sun-misc.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_SUN_MISC_VERSION = 1.0.3 -XFONT_FONT_SUN_MISC_SOURCE = font-sun-misc-$(XFONT_FONT_SUN_MISC_VERSION).tar.bz2 -XFONT_FONT_SUN_MISC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_SUN_MISC_VERSION = 1.0.4 +XFONT_FONT_SUN_MISC_SOURCE = font-sun-misc-$(XFONT_FONT_SUN_MISC_VERSION).tar.xz +XFONT_FONT_SUN_MISC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_SUN_MISC_LICENSE = MIT XFONT_FONT_SUN_MISC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-util/xfont_font-util.hash b/package/x11r7/xfont_font-util/xfont_font-util.hash index a7664efec20..cf52a2348f5 100644 --- a/package/x11r7/xfont_font-util/xfont_font-util.hash +++ b/package/x11r7/xfont_font-util/xfont_font-util.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-July/003190.html -sha256 e791c890779c40056ab63aaed5e031bb6e2890a98418ca09c534e6261a2eebd2 font-util-1.3.3.tar.xz -sha512 5e1cb8af44fe0bea72b1a6a4e455f50ca49b7531c2f4b605800c0b2b7578b9826ccf17fa195c505ab1d6339fd4ad697c01ba3b9777616f354ab62b23434d47c9 font-util-1.3.3.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-February/003331.html +sha256 9f724bf940128c7e39f7252bd961cd38cfac2359de2100a8bed696bf40d40f7d font-util-1.4.0.tar.xz +sha512 05fff613019718a4bd8537ff7eb270bd85345ffb006c16f81b739d6e8cdbfaa9d6503aef9bc48d6c7f70330bf90ff1a46bacdff3c99e8017191d935c85f73d60 font-util-1.4.0.tar.xz # Locally calculated sha256 ce16c3ee6f2a38db6870b66bdb54fce9dcf24acd1161840789e321f6faa1251c COPYING diff --git a/package/x11r7/xfont_font-util/xfont_font-util.mk b/package/x11r7/xfont_font-util/xfont_font-util.mk index b864dce23cc..8a97c85d684 100644 --- a/package/x11r7/xfont_font-util/xfont_font-util.mk +++ b/package/x11r7/xfont_font-util/xfont_font-util.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_UTIL_VERSION = 1.3.3 +XFONT_FONT_UTIL_VERSION = 1.4.0 XFONT_FONT_UTIL_SOURCE = font-util-$(XFONT_FONT_UTIL_VERSION).tar.xz -XFONT_FONT_UTIL_SITE = https://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_UTIL_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_UTIL_LICENSE = MIT/BSD-2-Clause XFONT_FONT_UTIL_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.hash b/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.hash index 283f6f9f2c2..a0200073de7 100644 --- a/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.hash +++ b/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.hash @@ -1,4 +1,3 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 abd13b63d02fcaec488686c23683e5cf640b43bd32f8ca22eeae6f84df0a36a0 font-winitzki-cyrillic-1.0.3.tar.bz2 # Locally computed +sha256 3b6d82122dc14776e3afcd877833a7834e1f900c53fc1c7bb2d67c781cfa97a8 font-winitzki-cyrillic-1.0.4.tar.xz sha256 ca60a2aa1133e39e8c72a01af06cf0c927f5ddfe70d469d1535231100618095d COPYING diff --git a/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk b/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk index e43cd1150f7..f13483994b3 100644 --- a/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk +++ b/package/x11r7/xfont_font-winitzki-cyrillic/xfont_font-winitzki-cyrillic.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_WINITZKI_CYRILLIC_VERSION = 1.0.3 -XFONT_FONT_WINITZKI_CYRILLIC_SOURCE = font-winitzki-cyrillic-$(XFONT_FONT_WINITZKI_CYRILLIC_VERSION).tar.bz2 -XFONT_FONT_WINITZKI_CYRILLIC_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_WINITZKI_CYRILLIC_VERSION = 1.0.4 +XFONT_FONT_WINITZKI_CYRILLIC_SOURCE = font-winitzki-cyrillic-$(XFONT_FONT_WINITZKI_CYRILLIC_VERSION).tar.xz +XFONT_FONT_WINITZKI_CYRILLIC_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_WINITZKI_CYRILLIC_LICENSE = Public Domain XFONT_FONT_WINITZKI_CYRILLIC_LICENSE_FILES = COPYING diff --git a/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.hash b/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.hash index 640f56636a8..68035e4195e 100644 --- a/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.hash +++ b/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.hash @@ -1,4 +1,3 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 caebf42aec7be7f3bd40e0f232d6f34881b853dc84acfcdf7458358701fbe34a font-xfree86-type1-1.0.4.tar.bz2 # Locally computed +sha256 a93c2c788a5ea1c002af7c8662cf9d9821fb1df51b8d2b2c5e0026dfdfea4837 font-xfree86-type1-1.0.5.tar.xz sha256 51e6bc6513b3fa94512d8dd570240498c878605f25292c3883d92fdfca18d0c6 COPYING diff --git a/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk b/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk index a26fbc8948e..0b332d20bf3 100644 --- a/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk +++ b/package/x11r7/xfont_font-xfree86-type1/xfont_font-xfree86-type1.mk @@ -4,9 +4,9 @@ # ################################################################################ -XFONT_FONT_XFREE86_TYPE1_VERSION = 1.0.4 -XFONT_FONT_XFREE86_TYPE1_SOURCE = font-xfree86-type1-$(XFONT_FONT_XFREE86_TYPE1_VERSION).tar.bz2 -XFONT_FONT_XFREE86_TYPE1_SITE = http://xorg.freedesktop.org/releases/individual/font +XFONT_FONT_XFREE86_TYPE1_VERSION = 1.0.5 +XFONT_FONT_XFREE86_TYPE1_SOURCE = font-xfree86-type1-$(XFONT_FONT_XFREE86_TYPE1_VERSION).tar.xz +XFONT_FONT_XFREE86_TYPE1_SITE = https://xorg.freedesktop.org/archive/individual/font XFONT_FONT_XFREE86_TYPE1_LICENSE = MIT XFONT_FONT_XFREE86_TYPE1_LICENSE_FILES = COPYING diff --git a/package/x11r7/xkeyboard-config/xkeyboard-config.hash b/package/x11r7/xkeyboard-config/xkeyboard-config.hash index e7e3765e59a..3a19075ba15 100644 --- a/package/x11r7/xkeyboard-config/xkeyboard-config.hash +++ b/package/x11r7/xkeyboard-config/xkeyboard-config.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1f1bb1292a161d520a3485d378609277d108cd07cde0327c16811ff54c3e1595 xkeyboard-config-2.36.tar.xz +sha256 0690a91bab86b18868f3eee6d41e9ec4ce6894f655443d490a2184bfac56c872 xkeyboard-config-2.38.tar.xz sha256 6ca90f4b67dced4062894d6d77f4cc39343df9e359fc12f5e5d3c89ef2a3ef6d COPYING diff --git a/package/x11r7/xkeyboard-config/xkeyboard-config.mk b/package/x11r7/xkeyboard-config/xkeyboard-config.mk index 0f45d9f74ac..7c9c814d95c 100644 --- a/package/x11r7/xkeyboard-config/xkeyboard-config.mk +++ b/package/x11r7/xkeyboard-config/xkeyboard-config.mk @@ -4,7 +4,7 @@ # ################################################################################ -XKEYBOARD_CONFIG_VERSION = 2.36 +XKEYBOARD_CONFIG_VERSION = 2.38 XKEYBOARD_CONFIG_SOURCE = xkeyboard-config-$(XKEYBOARD_CONFIG_VERSION).tar.xz XKEYBOARD_CONFIG_SITE = https://www.x.org/releases/individual/data/xkeyboard-config XKEYBOARD_CONFIG_LICENSE = MIT diff --git a/package/x11r7/xlib_libSM/xlib_libSM.hash b/package/x11r7/xlib_libSM/xlib_libSM.hash index 7ac288ba4ea..3068c85b93d 100644 --- a/package/x11r7/xlib_libSM/xlib_libSM.hash +++ b/package/x11r7/xlib_libSM/xlib_libSM.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-October/002922.html -md5 87c7fad1c1813517979184c8ccd76628 libSM-1.2.3.tar.bz2 -sha1 437d7b13fa2eba325df3a106f177df46ccec6546 libSM-1.2.3.tar.bz2 -sha256 2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb libSM-1.2.3.tar.bz2 -sha512 74c42e27029db78475e62025b4711dbac5e22d2f8e8a24be98a1c31b03c0fc4afe859928f851800ea0b76854f12147900dc4f27bbfd3d8ea45daaaf24b70a903 libSM-1.2.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2022-December/003307.html +sha256 fdcbe51e4d1276b1183da77a8a4e74a137ca203e0bcfb20972dd5f3347e97b84 libSM-1.2.4.tar.xz +sha512 7f1d41b7b6c5dd456c49ccad7740c3ba9791a2793fa50fd94814a4164ce2e20c4a0a0ad42a87708e494ed5c23f611be6d3ccd9ef1e9add6d46ac545e2b0f6f86 libSM-1.2.4.tar.xz # Locally computed sha256 af7926a14d85ad367622688636e8c9c6f7807c8a6867536af1c530b5c262bfba COPYING diff --git a/package/x11r7/xlib_libSM/xlib_libSM.mk b/package/x11r7/xlib_libSM/xlib_libSM.mk index 708224e2d19..8e5c90127af 100644 --- a/package/x11r7/xlib_libSM/xlib_libSM.mk +++ b/package/x11r7/xlib_libSM/xlib_libSM.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBSM_VERSION = 1.2.3 -XLIB_LIBSM_SOURCE = libSM-$(XLIB_LIBSM_VERSION).tar.bz2 -XLIB_LIBSM_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBSM_VERSION = 1.2.4 +XLIB_LIBSM_SOURCE = libSM-$(XLIB_LIBSM_VERSION).tar.xz +XLIB_LIBSM_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBSM_LICENSE = MIT XLIB_LIBSM_LICENSE_FILES = COPYING XLIB_LIBSM_INSTALL_STAGING = YES diff --git a/package/x11r7/xlib_libX11/xlib_libX11.hash b/package/x11r7/xlib_libX11/xlib_libX11.hash index 4f5027d62d9..56fecee9ff5 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.hash +++ b/package/x11r7/xlib_libX11/xlib_libX11.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-November/003253.html -sha256 ed91d573d570db83b8ae546f4890dccfcd0b9dfe1e50a1b401b63a74c152ed04 libX11-1.8.2.tar.xz -sha512 662ee8043d9ba27df82f647515b701d6f302a52715f21afdaba391f3b70691753e3649e7ff8322e07858be4297df9cbb19227958d676ed6dea198cce64330d1d libX11-1.8.2.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-October/003426.html +sha256 05f267468e3c851ae2b5c830bcf74251a90f63f04dd7c709ca94dc155b7e99ee libX11-1.8.7.tar.xz +sha512 d53bfc18f38d339a6a695b09835b2ae96b323881678bfe7ddca697605e3bdf4102ff49cc3078880a6c55b5977fcdd0aadaf5429086132de3a5bda302f79a2fa6 libX11-1.8.7.tar.xz # Locally computed sha256 2e7012a140f000735a7172674a2d314398d79622444fba65d108b029b29ab283 COPYING diff --git a/package/x11r7/xlib_libX11/xlib_libX11.mk b/package/x11r7/xlib_libX11/xlib_libX11.mk index 26d4b4d3060..920a5d9aed3 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/package/x11r7/xlib_libX11/xlib_libX11.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBX11_VERSION = 1.8.2 +XLIB_LIBX11_VERSION = 1.8.7 XLIB_LIBX11_SOURCE = libX11-$(XLIB_LIBX11_VERSION).tar.xz XLIB_LIBX11_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBX11_LICENSE = MIT diff --git a/package/x11r7/xlib_libXaw/xlib_libXaw.hash b/package/x11r7/xlib_libXaw/xlib_libXaw.hash index f289e661530..ce2ec4a3e15 100644 --- a/package/x11r7/xlib_libXaw/xlib_libXaw.hash +++ b/package/x11r7/xlib_libXaw/xlib_libXaw.hash @@ -1,6 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-March/003077.html -sha256 76aef98ea3df92615faec28004b5ce4e5c6855e716fa16de40c32030722a6f8e libXaw-1.0.14.tar.bz2 -sha512 29d1c151369523ae6cb418e636b0b7b39ccccc35462a0b394dbeb46d5b6d780badd2eb872a55d9fbba1ee1af034e76c0463f40f8d8a7be2c336d08b3b1bf81d4 libXaw-1.0.14.tar.bz2 - +# From https://lists.x.org/archives/xorg-announce/2023-March/003372.html +sha256 ab35f70fde9fb02cc71b342f654846a74328b74cb3a0703c02d20eddb212754a libXaw-1.0.15.tar.xz +sha512 8edbf280b7b24b9040c291545053c1251d6af7e7f56da43a6065a1848245863eb52bdfc28c2f18dbb6597a4064394a44f4df5d8596a1a467549ccc9ce50a7821 libXaw-1.0.15.tar.xz # Locally calculated sha256 9f5adb26952f93b3e4650285b94ec6c61a27aab5a21088bfb6694001be1b360d COPYING diff --git a/package/x11r7/xlib_libXaw/xlib_libXaw.mk b/package/x11r7/xlib_libXaw/xlib_libXaw.mk index 6b615a8de5e..f81a7b4a889 100644 --- a/package/x11r7/xlib_libXaw/xlib_libXaw.mk +++ b/package/x11r7/xlib_libXaw/xlib_libXaw.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBXAW_VERSION = 1.0.14 -XLIB_LIBXAW_SOURCE = libXaw-$(XLIB_LIBXAW_VERSION).tar.bz2 -XLIB_LIBXAW_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXAW_VERSION = 1.0.15 +XLIB_LIBXAW_SOURCE = libXaw-$(XLIB_LIBXAW_VERSION).tar.xz +XLIB_LIBXAW_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXAW_LICENSE = MIT XLIB_LIBXAW_LICENSE_FILES = COPYING XLIB_LIBXAW_INSTALL_STAGING = YES diff --git a/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash b/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash index 5dfe4960525..03de9062453 100644 --- a/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash +++ b/package/x11r7/xlib_libXfixes/xlib_libXfixes.hash @@ -1,6 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-May/003086.html -sha256 a7c1a24da53e0b46cac5aea79094b4b2257321c621b258729bc3139149245b4c libXfixes-6.0.0.tar.bz2 -sha512 1985ef156f382e9a7e1cc7e044e0f626de1e4c82557a511cbcf6431994c0ac25b1f8b3a0293bd3089331593db8ce01d3a71ddec68f19b5fe6029d5082fb6885d libXfixes-6.0.0.tar.bz2 - +# From https://lists.x.org/archives/xorg-announce/2023-April/003382.html +sha256 b695f93cd2499421ab02d22744458e650ccc88c1d4c8130d60200213abc02d58 libXfixes-6.0.1.tar.xz +sha512 b46deffb30cd73ec8a127390d99f2ba2f3ab78f334fdba227f1f461441644a0c169b0d13ffa47576fa458780e7a6db664ff8b93e9195fb217262efd8128f1ffe libXfixes-6.0.1.tar.xz # Locally calculated -sha256 d64e671ffeb483d4543f98c842788ab34c77427e27d83d6b082065a4438d4885 COPYING +sha256 a07d8a5a6972638a745a03983207a1052881c24eea29021fdca7794bea8d7774 COPYING diff --git a/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk b/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk index c0229b57d2e..3f535fc1d49 100644 --- a/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk +++ b/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBXFIXES_VERSION = 6.0.0 -XLIB_LIBXFIXES_SOURCE = libXfixes-$(XLIB_LIBXFIXES_VERSION).tar.bz2 -XLIB_LIBXFIXES_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXFIXES_VERSION = 6.0.1 +XLIB_LIBXFIXES_SOURCE = libXfixes-$(XLIB_LIBXFIXES_VERSION).tar.xz +XLIB_LIBXFIXES_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXFIXES_LICENSE = MIT XLIB_LIBXFIXES_LICENSE_FILES = COPYING XLIB_LIBXFIXES_CPE_ID_VENDOR = x diff --git a/package/x11r7/xlib_libXft/xlib_libXft.hash b/package/x11r7/xlib_libXft/xlib_libXft.hash index 484764be3d8..749aa0ad620 100644 --- a/package/x11r7/xlib_libXft/xlib_libXft.hash +++ b/package/x11r7/xlib_libXft/xlib_libXft.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-September/003211.html -sha256 60a6e7319fc938bbb8d098c9bcc86031cc2327b5d086d3335fc5c76323c03022 libXft-2.3.6.tar.xz -sha512 732f8c635fcac6010012ba8c10c23d2dd6ec79b0f096d6bcc9b7e36d2ca0817387faa7ee5bb6f43cff02adc68e4234c1b8f95021ebc548f61c492e0b76836d90 libXft-2.3.6.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-April/003384.html +sha256 5e8c3c4bc2d4c0a40aef6b4b38ed2fb74301640da29f6528154b5009b1c6dd49 libXft-2.3.8.tar.xz +sha512 fc385d73e1acb701942c154ffb5a283d17891f21d3ac598c4a3fb375a7d6082734593062368c15cad67c1a94177dd15deed878ec5ea852188393b52e92c372c8 libXft-2.3.8.tar.xz # Locally computed sha256 7cda22286b1379b9b73df695f72cbad36595e65b039a5fbc5c89b69ecc44438c COPYING diff --git a/package/x11r7/xlib_libXft/xlib_libXft.mk b/package/x11r7/xlib_libXft/xlib_libXft.mk index a86501900cf..154c220aa11 100644 --- a/package/x11r7/xlib_libXft/xlib_libXft.mk +++ b/package/x11r7/xlib_libXft/xlib_libXft.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXFT_VERSION = 2.3.6 +XLIB_LIBXFT_VERSION = 2.3.8 XLIB_LIBXFT_SOURCE = libXft-$(XLIB_LIBXFT_VERSION).tar.xz XLIB_LIBXFT_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXFT_LICENSE = MIT diff --git a/package/x11r7/xlib_libXi/xlib_libXi.hash b/package/x11r7/xlib_libXi/xlib_libXi.hash index a86ef13225f..545d4881f6a 100644 --- a/package/x11r7/xlib_libXi/xlib_libXi.hash +++ b/package/x11r7/xlib_libXi/xlib_libXi.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-September/003109.html -sha256 2ed181446a61c7337576467870bc5336fc9e222a281122d96c4d39a3298bba00 libXi-1.8.tar.bz2 -sha512 4b2c667a8466eb389f253d77285c3f506c4a2b6c75054c722974a864565d565cc0c5701f8ea773eb929ceb94adfeb737ecd7a0bfc2c240157416a5f343c07aba libXi-1.8.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-May/003390.html +sha256 89bfc0e814f288f784202e6e5f9b362b788ccecdeb078670145eacd8749656a7 libXi-1.8.1.tar.xz +sha512 a30b1a07e6d710f5196e7477415d68074736f89d954e8f2d5ccc9b5f349e7d1d440c90fb512508176b5db5ecad55608cfb540872936b731963fd83343db3a0b9 libXi-1.8.1.tar.xz # Locally computed sha256 9392174bc86e291369fd2f61f3ed325962735a5f5c585ce8d7ebd365e2a5639f COPYING diff --git a/package/x11r7/xlib_libXi/xlib_libXi.mk b/package/x11r7/xlib_libXi/xlib_libXi.mk index b4802cf018c..6ae5ec8be83 100644 --- a/package/x11r7/xlib_libXi/xlib_libXi.mk +++ b/package/x11r7/xlib_libXi/xlib_libXi.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBXI_VERSION = 1.8 -XLIB_LIBXI_SOURCE = libXi-$(XLIB_LIBXI_VERSION).tar.bz2 -XLIB_LIBXI_SITE = https://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXI_VERSION = 1.8.1 +XLIB_LIBXI_SOURCE = libXi-$(XLIB_LIBXI_VERSION).tar.xz +XLIB_LIBXI_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXI_LICENSE = MIT XLIB_LIBXI_LICENSE_FILES = COPYING XLIB_LIBXI_CPE_ID_VENDOR = x.org diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.hash b/package/x11r7/xlib_libXpm/xlib_libXpm.hash index 9ccfb4c8dec..35821698914 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.hash +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.hash @@ -1,6 +1,6 @@ -# From https://lists.x.org/archives/xorg-announce/2022-November/003261.html -sha256 f7eb8f69c039281def8258ae6859adb5f050fbe161ab3d6a2d6ef109a603eac2 libXpm-3.5.14.tar.xz -sha512 c3fe554453068a6b188d3cad2cb3648e84b7f1909aea8f213daadce3d444b34361c3b2edce14a4fd481f97e4dc45c3125e2483ff4f44b3390a75829ed2782e4b libXpm-3.5.14.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-October/003425.html +sha256 64b31f81019e7d388c822b0b28af8d51c4622b83f1f0cb6fa3fc95e271226e43 libXpm-3.5.17.tar.xz +sha512 52f9d2664a47a26c1a6ad65d18867de870b66947b0b0d99cca3512756a0aaa6ce2a245c0b49f20b70c3ce48bf04c47c333e8119a147465c277bca727f6ab017e libXpm-3.5.17.tar.xz # Locally calculated -sha256 ed3b06bb3b75a0954bd6837a96b41a4676f60dfeee647271613aadecc0fd596e COPYING +sha256 a80d706759624a04aa90fd62bc644a360fc3d72e08dcbfb129f167c11ca285de COPYING sha256 cbe4ced0abc8a32bea471204ae01038c202758ce4e772d3d329a341ffa761e71 COPYRIGHT diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 417dcfec388..1239ba0d4d9 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -4,18 +4,19 @@ # ################################################################################ -XLIB_LIBXPM_VERSION = 3.5.14 +XLIB_LIBXPM_VERSION = 3.5.17 XLIB_LIBXPM_SOURCE = libXpm-$(XLIB_LIBXPM_VERSION).tar.xz XLIB_LIBXPM_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXPM_LICENSE = MIT XLIB_LIBXPM_LICENSE_FILES = COPYING COPYRIGHT -XLIB_LIBXPM_CPE_ID_VENDOR = libxpm_project +XLIB_LIBXPM_CPE_ID_VENDOR = x.org XLIB_LIBXPM_CPE_ID_PRODUCT = libxpm XLIB_LIBXPM_INSTALL_STAGING = YES XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) XLIB_LIBXPM_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) +XLIB_LIBXPM_CONF_OPTS = --disable-open-zfile ifeq ($(BR2_SYSTEM_ENABLE_NLS),) XLIB_LIBXPM_CONF_ENV += ac_cv_search_gettext=no diff --git a/package/x11r7/xlib_libXpresent/Config.in b/package/x11r7/xlib_libXpresent/Config.in new file mode 100644 index 00000000000..f6e2d93fab1 --- /dev/null +++ b/package/x11r7/xlib_libXpresent/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_XLIB_LIBXPRESENT + bool "libXpresent" + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXFIXES + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XORGPROTO + help + X.Org Xpresent library diff --git a/package/x11r7/xlib_libXpresent/xlib_libXpresent.hash b/package/x11r7/xlib_libXpresent/xlib_libXpresent.hash new file mode 100644 index 00000000000..e7f6ac9e5af --- /dev/null +++ b/package/x11r7/xlib_libXpresent/xlib_libXpresent.hash @@ -0,0 +1,6 @@ +# From https://lists.x.org/archives/xorg-announce/2022-October/003225.html +sha256 b964df9e5a066daa5e08d2dc82692c57ca27d00b8cc257e8e960c9f1cf26231b libXpresent-1.0.1.tar.xz +sha512 a4551f49a68f4487eb70dc5b50b7f745fbc8b6842cfa60422afe3834af41c504a37bcfddb4e7e9ee084b250df256034290776c8eb7d8838e392eb626fff55d25 libXpresent-1.0.1.tar.xz + +# Locally calculated +sha256 d64e671ffeb483d4543f98c842788ab34c77427e27d83d6b082065a4438d4885 COPYING diff --git a/package/x11r7/xlib_libXpresent/xlib_libXpresent.mk b/package/x11r7/xlib_libXpresent/xlib_libXpresent.mk new file mode 100644 index 00000000000..4cb4fd193aa --- /dev/null +++ b/package/x11r7/xlib_libXpresent/xlib_libXpresent.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# xlib_libXpresent +# +################################################################################ + +XLIB_LIBXPRESENT_VERSION = 1.0.1 +XLIB_LIBXPRESENT_SOURCE = libXpresent-$(XLIB_LIBXPRESENT_VERSION).tar.xz +XLIB_LIBXPRESENT_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXPRESENT_LICENSE = MIT +XLIB_LIBXPRESENT_LICENSE_FILES = COPYING +XLIB_LIBXPRESENT_INSTALL_STAGING = YES + +XLIB_LIBXPRESENT_DEPENDENCIES = \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXfixes \ + xlib_libXrandr \ + xorgproto + +$(eval $(autotools-package)) diff --git a/package/x11r7/xlib_libXt/xlib_libXt.hash b/package/x11r7/xlib_libXt/xlib_libXt.hash index 40512f35401..577896d38ba 100644 --- a/package/x11r7/xlib_libXt/xlib_libXt.hash +++ b/package/x11r7/xlib_libXt/xlib_libXt.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-January/003070.html -sha256 679cc08f1646dbd27f5e48ffe8dd49406102937109130caab02ca32c083a3d60 libXt-1.2.1.tar.bz2 -sha512 6877af61ba91eeed6b6f80471b84f354ad0ec0827249c7ee0a00c13508063fe8d2696dd400a4bdbc6ca2ff67cbe1317ad5ac24522fd96099dc56535e33ca052c libXt-1.2.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-April/003383.html +sha256 52820b3cdb827d08dc90bdfd1b0022a3ad8919b57a39808b12591973b331bf91 libXt-1.3.0.tar.xz +sha512 64c5978655135b925c3aaad86b1aa6a3f3b57ad8b3592bf142be616b8aa339a02c2fc7badfab9564ea8076ea8f37acfe31709ed528f5a1d251f2d116aa074118 libXt-1.3.0.tar.xz # Locally calculated -sha256 a2866ccc0b1745149e4a2258d934314d40cbb43bd8318c6fa597f233995b0a81 COPYING +sha256 75c5574ca04731d739b1420f55f2b7b47f30df895817f1b03d0d7f5c1fbee534 COPYING diff --git a/package/x11r7/xlib_libXt/xlib_libXt.mk b/package/x11r7/xlib_libXt/xlib_libXt.mk index 9530262cf51..cca89145f86 100644 --- a/package/x11r7/xlib_libXt/xlib_libXt.mk +++ b/package/x11r7/xlib_libXt/xlib_libXt.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBXT_VERSION = 1.2.1 -XLIB_LIBXT_SOURCE = libXt-$(XLIB_LIBXT_VERSION).tar.bz2 -XLIB_LIBXT_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBXT_VERSION = 1.3.0 +XLIB_LIBXT_SOURCE = libXt-$(XLIB_LIBXT_VERSION).tar.xz +XLIB_LIBXT_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBXT_LICENSE = MIT XLIB_LIBXT_LICENSE_FILES = COPYING XLIB_LIBXT_INSTALL_STAGING = YES diff --git a/package/x11r7/xlib_libdmx/xlib_libdmx.hash b/package/x11r7/xlib_libdmx/xlib_libdmx.hash index e9d8616ba45..8a4b13099ef 100644 --- a/package/x11r7/xlib_libdmx/xlib_libdmx.hash +++ b/package/x11r7/xlib_libdmx/xlib_libdmx.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-May/002894.html -md5 d2f1f0ec68ac3932dd7f1d9aa0a7a11c libdmx-1.1.4.tar.bz2 -sha1 499e2540ca0e94ca858037865243c3c60908fd94 libdmx-1.1.4.tar.bz2 -sha256 253f90005d134fa7a209fbcbc5a3024335367c930adf0f3203e754cf32747243 libdmx-1.1.4.tar.bz2 -sha512 77aba6cadfd17db0cc7e1bc26f14d908223a0fdb135d46f86c3be34e3bc7e2f843f08d4d0ef773357e83b17122bffe56a0442d12908378c05a22177b10ae10e9 libdmx-1.1.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-June/003403.html +sha256 35a4e26a8b0b2b4fe36441dca463645c3fa52d282ac3520501a38ea942cbf74f libdmx-1.1.5.tar.xz +sha512 55df45a06bddbf19e0253362853e2f979d736ba1f1fdec5d392c0f6c0dc72684e7b8df0f0a99ac96ce9d9d59bc6c25146086b18c054b4dbe6be9aa3166f23464 libdmx-1.1.5.tar.xz # Locally computed sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING diff --git a/package/x11r7/xlib_libdmx/xlib_libdmx.mk b/package/x11r7/xlib_libdmx/xlib_libdmx.mk index 429595b5d72..9aaf81eb6f6 100644 --- a/package/x11r7/xlib_libdmx/xlib_libdmx.mk +++ b/package/x11r7/xlib_libdmx/xlib_libdmx.mk @@ -4,9 +4,9 @@ # ################################################################################ -XLIB_LIBDMX_VERSION = 1.1.4 -XLIB_LIBDMX_SOURCE = libdmx-$(XLIB_LIBDMX_VERSION).tar.bz2 -XLIB_LIBDMX_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_LIBDMX_VERSION = 1.1.5 +XLIB_LIBDMX_SOURCE = libdmx-$(XLIB_LIBDMX_VERSION).tar.xz +XLIB_LIBDMX_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBDMX_LICENSE = MIT XLIB_LIBDMX_LICENSE_FILES = COPYING XLIB_LIBDMX_CPE_ID_VENDOR = x diff --git a/package/x11r7/xlib_xtrans/xlib_xtrans.hash b/package/x11r7/xlib_xtrans/xlib_xtrans.hash index 1bab37244eb..9595a73d0e8 100644 --- a/package/x11r7/xlib_xtrans/xlib_xtrans.hash +++ b/package/x11r7/xlib_xtrans/xlib_xtrans.hash @@ -1,7 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2019-March/002980.html -md5 ce2fb8100c6647ee81451ebe388b17ad xtrans-1.4.0.tar.bz2 -sha1 7c490026efb450798e02b040c05eba5212291c08 xtrans-1.4.0.tar.bz2 -sha256 377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773 xtrans-1.4.0.tar.bz2 -sha512 4fea89a3455c0e13321cbefa43340016dbb59bdd0dbdb5b796c1a6d2a6b1fd63cf1327b769ab426286b9c54b32ec764a50cd2b46228e4e43b841bda6b94de214 xtrans-1.4.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-June/003399.html +sha256 1ba4b703696bfddbf40bacf25bce4e3efb2a0088878f017a50e9884b0c8fb1bd xtrans-1.5.0.tar.xz +sha512 e8091f11d4ad2b14e01de3eac56bdf2267ea26687ce66e3056374d0d02e049480c0b27c482f8828a0efd086f1e4c485108ca4dce3f83d66c1896effa3b38b228 xtrans-1.5.0.tar.xz # Locally computed -sha256 a9c96c832e00774266b492d4d41556f12a64f039ba3ef645c4b8c6010fcb8f2a COPYING +sha256 22616bf00b6db85ee3164775a95206894af987b85ff1a7703de55644bc722a39 COPYING diff --git a/package/x11r7/xlib_xtrans/xlib_xtrans.mk b/package/x11r7/xlib_xtrans/xlib_xtrans.mk index 88c9b57a52d..001705bb2eb 100644 --- a/package/x11r7/xlib_xtrans/xlib_xtrans.mk +++ b/package/x11r7/xlib_xtrans/xlib_xtrans.mk @@ -4,12 +4,13 @@ # ################################################################################ -XLIB_XTRANS_VERSION = 1.4.0 -XLIB_XTRANS_SOURCE = xtrans-$(XLIB_XTRANS_VERSION).tar.bz2 -XLIB_XTRANS_SITE = http://xorg.freedesktop.org/releases/individual/lib +XLIB_XTRANS_VERSION = 1.5.0 +XLIB_XTRANS_SOURCE = xtrans-$(XLIB_XTRANS_VERSION).tar.xz +XLIB_XTRANS_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_XTRANS_LICENSE = MIT XLIB_XTRANS_LICENSE_FILES = COPYING XLIB_XTRANS_INSTALL_STAGING = YES +XLIB_XTRANS_INSTALL_TARGET = NO $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/x11r7/xorgproto/xorgproto.hash b/package/x11r7/xorgproto/xorgproto.hash index cc52013e118..37ad9c7c04a 100644 --- a/package/x11r7/xorgproto/xorgproto.hash +++ b/package/x11r7/xorgproto/xorgproto.hash @@ -1,17 +1,17 @@ -# From https://lists.x.org/archives/xorg-announce/2022-August/003197.html -sha256 5d13dbf2be08f95323985de53352c4f352713860457b95ccaf894a647ac06b9e xorgproto-2022.2.tar.xz -sha512 8e6108110600d076a94cc6d0e465b2e9adfbbe8d7e6b75fae9c5262d99dc6074ab1ed561a74d6d451f00f5b7af9f507a6317be9c0770efeed9e60b64beb7a1c9 xorgproto-2022.2.tar.xz +# From https://lists.x.org/archives/xorg-announce/2023-June/003408.html +sha256 b61fbc7db82b14ce2dc705ab590efc32b9ad800037113d1973811781d5118c2c xorgproto-2023.2.tar.xz +sha512 af0a8c8094fc6a490a886a8c048175762b6334798f2e48b6f6e19a7bb39ddbef05fa1237c4e9d9f1d870d24f5ca7a7c463044c41ceebd108f8ab0816677a582d xorgproto-2023.2.tar.xz # Locally computed sha256 aacd931f191b610902aee1e526090c2858aabc07969441fa2537ffd3e7049555 COPYING-applewmproto sha256 dabc025f93129a0eb2d17f37c719dbe5ecbcb5bc8f7bc7f4ce89fe04576cc0c2 COPYING-bigreqsproto -sha256 ab587ca94282c1e60797ffe4a77aea195418387db20ec7e0c24cedf2c844f8c1 COPYING-compositeproto +sha256 3e980a770506b448897638632974bbcbdf2da3b99191dd0a03d3770097a46738 COPYING-compositeproto sha256 f67a18cb46c4c203c5122b4a901cfcc3178b2a62f83f31ca5fef5bdca3966094 COPYING-damageproto sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING-dmxproto sha256 0c306691492c4d7a8cda1ec3847668b797887dddcd7e986b4c166ae27619af7d COPYING-dri2proto sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-dri3proto -sha256 0aa43d03da3cedbd9882c0ded621b0d855353eb9e551f9eed940d75c8a0b03c1 COPYING-evieproto -sha256 65cb0b867b00fb27f066a37353713b265645b3301146562570d7638ed2ddd548 COPYING-fixesproto +sha256 9936421f7516f7a17ae560b6989636b493e55c01128b543c7e72441568c3cba4 COPYING-evieproto +sha256 fb361c7c4322e4919ae193c5a20055d5190c23aa50480fd0a41f4d439cae2bc6 COPYING-fixesproto sha256 1ab381e978bff63d68be2e4f235d51935f3f16f3ba3bebf83afa99a70c0484a2 COPYING-fontcacheproto sha256 f4af05774b02ae149357cc26f7bf5ef1116c2e09373c2492081a3a1892c58417 COPYING-fontsproto sha256 823deb4673d3f26aa8c90e704888299648f00be3262f9363eaeecedcd65b936d COPYING-glproto @@ -20,7 +20,7 @@ sha256 d397a67d4b28e897bc5fce79b2b917df9905b54f961fc3ad1f49c7fe3803f92c COPYIN sha256 7a5dd5d4c989c167da50f15879959f42bbda960e06d0a0aea7197f61fe1dc846 COPYING-lg3dproto sha256 8442b5f22f2fb13017a4302a906e7dedc899267b41f613558970941120170128 COPYING-pmproto sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-presentproto -sha256 6b890b118261694865988378dbba876bcd9caa1a421c5c0d626116948bc0ae35 COPYING-printproto +sha256 46f599055002bbf3e6ce244bde8d9ebe5ec24ae7906836db186773a9791d0b75 COPYING-printproto sha256 41c13dcd09147ed2440286f2fb8151df8ebee06deee4ed78ddf094601c216d3d COPYING-randrproto sha256 ee10aee0f1697ffdbe870a39f037361d4f7136f2976bb7919a41b3f66407caee COPYING-recordproto sha256 9e48921a94da36d7a69fe71809223ee0bb46370db9842dccdeeb55b5a9946872 COPYING-renderproto @@ -29,7 +29,7 @@ sha256 fcbd3c628bf4d28ee3e6032054bf44bbe58f3b1a944dad856a8d3eb6b37ea412 COPYIN sha256 d6d3513f5a7099748dc387f54498d799380b45f8a444f13aa98aa45a860ae55b COPYING-trapproto sha256 f8f49bbad61967ebc890fb79fff5bfb7cfc1c341aa8f8dee13eb3fb534040b47 COPYING-videoproto sha256 eb183a00c61bb47992f096b6993ed7ec17518bea9c285fe87efff7f622cc6c12 COPYING-windowswmproto -sha256 3bd8e0c41497bfe6ab8d11c3c90c5e79edd0b2437f2bf81161575f54bae53f21 COPYING-x11proto +sha256 da835951edc6e3b8d168d6afe7447c65d0b9a99937293cf3f288bba8244a9f86 COPYING-x11proto sha256 5531d18cfcc944dab39991f63f182cbbce3fe493ba0c7cf08a25c0d01ee84482 COPYING-xcmiscproto sha256 fb42146c6c06a200a9b121220eb692ff9101ba0fbd0b224b9e16a016c59ae86a COPYING-xextproto sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86bigfontproto @@ -39,3 +39,4 @@ sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYIN sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86rushproto sha256 942bb46a3503a708948491699171b00b9e0dfb47818d9268b160bccc5f51a4b9 COPYING-xf86vidmodeproto sha256 b2d8cda803e900915ce10f0ba735ff2c033b39c7cc5a8a436667ca583d4066fa COPYING-xineramaproto +sha256 309bd89bc2b30c6e3d3eb78f5377fa576475499e0ba936a9c3cba50ba5d6375c COPYING-xwaylandproto diff --git a/package/x11r7/xorgproto/xorgproto.mk b/package/x11r7/xorgproto/xorgproto.mk index c707bdafc0e..f6e5a5a4345 100644 --- a/package/x11r7/xorgproto/xorgproto.mk +++ b/package/x11r7/xorgproto/xorgproto.mk @@ -4,7 +4,7 @@ # ################################################################################ -XORGPROTO_VERSION = 2022.2 +XORGPROTO_VERSION = 2023.2 XORGPROTO_SOURCE = xorgproto-$(XORGPROTO_VERSION).tar.xz XORGPROTO_SITE = https://xorg.freedesktop.org/archive/individual/proto XORGPROTO_LICENSE = MIT @@ -44,7 +44,8 @@ XORGPROTO_LICENSE_FILES = \ COPYING-xf86miscproto \ COPYING-xf86rushproto \ COPYING-xf86vidmodeproto \ - COPYING-xineramaproto + COPYING-xineramaproto \ + COPYING-xwaylandproto XORGPROTO_INSTALL_STAGING = YES XORGPROTO_INSTALL_TARGET = NO # xproxymngproto is needed by xfindproxy diff --git a/package/x11r7/xserver_xorg-server/0002-xkb-proof-GetCountedString-against-request-length-at.patch b/package/x11r7/xserver_xorg-server/0002-xkb-proof-GetCountedString-against-request-length-at.patch deleted file mode 100644 index 8c1869504c4..00000000000 --- a/package/x11r7/xserver_xorg-server/0002-xkb-proof-GetCountedString-against-request-length-at.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 11beef0b7f1ed290348e45618e5fa0d2bffcb72e Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Tue, 5 Jul 2022 12:06:20 +1000 -Subject: [PATCH] xkb: proof GetCountedString against request length attacks - -GetCountedString did a check for the whole string to be within the -request buffer but not for the initial 2 bytes that contain the length -field. A swapped client could send a malformed request to trigger a -swaps() on those bytes, writing into random memory. - -Signed-off-by: Peter Hutterer -Signed-off-by: Peter Korsgaard ---- - xkb/xkb.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/xkb/xkb.c b/xkb/xkb.c -index f42f59ef3..1841cff26 100644 ---- a/xkb/xkb.c -+++ b/xkb/xkb.c -@@ -5137,6 +5137,11 @@ _GetCountedString(char **wire_inout, ClientPtr client, char **str) - CARD16 len; - - wire = *wire_inout; -+ -+ if (client->req_len < -+ bytes_to_int32(wire + 2 - (char *) client->requestBuffer)) -+ return BadValue; -+ - len = *(CARD16 *) wire; - if (client->swapped) { - swaps(&len); --- -2.30.2 - diff --git a/package/x11r7/xserver_xorg-server/0003-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch b/package/x11r7/xserver_xorg-server/0003-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch deleted file mode 100644 index 39afec09882..00000000000 --- a/package/x11r7/xserver_xorg-server/0003-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 18f91b950e22c2a342a4fbc55e9ddf7534a707d2 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Wed, 13 Jul 2022 11:23:09 +1000 -Subject: [PATCH] xkb: fix some possible memleaks in XkbGetKbdByName - -GetComponentByName returns an allocated string, so let's free that if we -fail somewhere. - -Signed-off-by: Peter Hutterer -Signed-off-by: Peter Korsgaard ---- - xkb/xkb.c | 26 ++++++++++++++++++++------ - 1 file changed, 20 insertions(+), 6 deletions(-) - -diff --git a/xkb/xkb.c b/xkb/xkb.c -index 4692895db..b79a269e3 100644 ---- a/xkb/xkb.c -+++ b/xkb/xkb.c -@@ -5935,18 +5935,32 @@ ProcXkbGetKbdByName(ClientPtr client) - xkb = dev->key->xkbInfo->desc; - status = Success; - str = (unsigned char *) &stuff[1]; -- if (GetComponentSpec(&str, TRUE, &status)) /* keymap, unsupported */ -- return BadMatch; -+ { -+ char *keymap = GetComponentSpec(&str, TRUE, &status); /* keymap, unsupported */ -+ if (keymap) { -+ free(keymap); -+ return BadMatch; -+ } -+ } - names.keycodes = GetComponentSpec(&str, TRUE, &status); - names.types = GetComponentSpec(&str, TRUE, &status); - names.compat = GetComponentSpec(&str, TRUE, &status); - names.symbols = GetComponentSpec(&str, TRUE, &status); - names.geometry = GetComponentSpec(&str, TRUE, &status); -- if (status != Success) -+ if (status == Success) { -+ len = str - ((unsigned char *) stuff); -+ if ((XkbPaddedSize(len) / 4) != stuff->length) -+ status = BadLength; -+ } -+ -+ if (status != Success) { -+ free(names.keycodes); -+ free(names.types); -+ free(names.compat); -+ free(names.symbols); -+ free(names.geometry); - return status; -- len = str - ((unsigned char *) stuff); -- if ((XkbPaddedSize(len) / 4) != stuff->length) -- return BadLength; -+ } - - CHK_MASK_LEGAL(0x01, stuff->want, XkbGBN_AllComponentsMask); - CHK_MASK_LEGAL(0x02, stuff->need, XkbGBN_AllComponentsMask); --- -2.30.2 - diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index 865917c4ec0..b933bd0285f 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -1,11 +1,6 @@ -comment "xorg-server needs a glibc or uClibc toolchain" - depends on BR2_arm && BR2_TOOLCHAIN_USES_MUSL - config BR2_PACKAGE_XSERVER_XORG_SERVER bool "xorg-server" depends on BR2_USE_MMU # fork() - # xserver uses inb/outb on arm, which aren't available with musl - depends on !(BR2_arm && BR2_TOOLCHAIN_USES_MUSL) # We need a SHA1 implementation. If either openssl or # libgcrypt are already part of the build, we'll use one of # them, otherwise, use the small libsha1 library. diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 4b2090fa999..be636936e2a 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -1,6 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-July/003193.html -sha256 5cc4be8ee47edb58d4a90e603a59d56b40291ad38371b0bd2471fc3cbee1c587 xorg-server-21.1.4.tar.xz -sha512 eb5b8520d02908f72719e6ecfbf7a9bf139acb65ccae04d1db4223a8a2384cd3a94bd5afef10cce327b751b800cc2b79bfaa5ae35c95c3a217f775168082e68f xorg-server-21.1.4.tar.xz - +# From https://lists.x.org/archives/xorg-announce/2024-January/003442.html +sha256 1aa0ee1adad0b2db7f291f3823a4ab240c7f4aea710e89f5ef4aa232b6833403 xorg-server-21.1.11.tar.gz +sha512 e41bf71955691e66084a67fc20643632087f0326d5eddc31e6edd118d05005b8ab536738c181f4c352f331ec8fc8f23ae1b45f237592fa5d7eddbffe43638b08 xorg-server-21.1.11.tar.gz # Locally calculated sha256 4cc0447a22635c7b2f1a93fec4aa94f1970fadeb72a063de006b51cf4963a06f COPYING diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 8dba9f1ed02..1d0807ffeca 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -4,20 +4,16 @@ # ################################################################################ -XSERVER_XORG_SERVER_VERSION = 21.1.4 -XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.xz +XSERVER_XORG_SERVER_VERSION = 21.1.11 +XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.gz XSERVER_XORG_SERVER_SITE = https://xorg.freedesktop.org/archive/individual/xserver XSERVER_XORG_SERVER_LICENSE = MIT XSERVER_XORG_SERVER_LICENSE_FILES = COPYING +XSERVER_XORG_SERVER_CPE_ID_VENDOR = x.org +XSERVER_XORG_SERVER_CPE_ID_PRODUCT = xorg-server XSERVER_XORG_SERVER_SELINUX_MODULES = xdg xserver XSERVER_XORG_SERVER_INSTALL_STAGING = YES -# 0002-xkb-proof-GetCountedString-against-request-length-at.patch -XSERVER_XORG_SERVER_IGNORE_CVES += CVE-2022-3550 - -# 0003-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch -XSERVER_XORG_SERVER_IGNORE_CVES += CVE-2022-3551 - XSERVER_XORG_SERVER_DEPENDENCIES = \ xutil_util-macros \ xlib_libX11 \ @@ -182,13 +178,18 @@ XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libsha1 XSERVER_XORG_SERVER_DEPENDENCIES += libsha1 endif +# Install the systemd unit only when nodm nor xdm aren't enabled, as +# they would be responsible for starting the server. +ifeq ($(BR2_PACKAGE_NODM)$(BR2_PACKAGE_XAPP_XDM),) define XSERVER_XORG_SERVER_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 package/x11r7/xserver_xorg-server/xorg.service \ $(TARGET_DIR)/usr/lib/systemd/system/xorg.service endef +endif -# init script conflicts with S90nodm -ifneq ($(BR2_PACKAGE_NODM),y) +# Install the init script only when neither nodm nor xdm are enabled, as +# they would be responsible for starting the server. +ifeq ($(BR2_PACKAGE_NODM)$(BR2_PACKAGE_XAPP_XDM),) define XSERVER_XORG_SERVER_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/x11r7/xserver_xorg-server/S40xorg \ $(TARGET_DIR)/etc/init.d/S40xorg diff --git a/package/x11r7/xutil_makedepend/xutil_makedepend.hash b/package/x11r7/xutil_makedepend/xutil_makedepend.hash index 3a7496e1a47..e2fe117f103 100644 --- a/package/x11r7/xutil_makedepend/xutil_makedepend.hash +++ b/package/x11r7/xutil_makedepend/xutil_makedepend.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2022-October/003243.html -sha256 a729cfd3c0f4e16c0db1da351e7f53335222e058e3434e84f91251fd6d407065 makedepend-1.0.7.tar.xz -sha512 fd575de737aa56ef8e475d1ddb7b2392e730ee1b23c0b853bbb21975b757c3fc56f94d57ecc5a784dceed2be653feb10909e86fd96fdc074b50fbbd0e27a19db makedepend-1.0.7.tar.xz +# From https://lists.x.org/archives/xorg-announce/2022-December/003300.html +sha256 bfb26f8025189b2a01286ce6daacc2af8fe647440b40bb741dd5c397572cba5b makedepend-1.0.8.tar.xz +sha512 6707b1107c07d4ffbcf008181e877d18a0bcc4aea03860ee1158f5630c7fdce4cf9ad7bee3b38ee420c3a44819ed4b56a6f2428a5b695c0dbd17fb3e60825a6d makedepend-1.0.8.tar.xz # Locally computed sha256 0530078db78c47ae978dc2bd77f4f427e6cd97df868672c95b1ef284113c8cb7 COPYING diff --git a/package/x11r7/xutil_makedepend/xutil_makedepend.mk b/package/x11r7/xutil_makedepend/xutil_makedepend.mk index b16bbe09787..0c4a32c006a 100644 --- a/package/x11r7/xutil_makedepend/xutil_makedepend.mk +++ b/package/x11r7/xutil_makedepend/xutil_makedepend.mk @@ -4,7 +4,7 @@ # ################################################################################ -XUTIL_MAKEDEPEND_VERSION = 1.0.7 +XUTIL_MAKEDEPEND_VERSION = 1.0.8 XUTIL_MAKEDEPEND_SOURCE = makedepend-$(XUTIL_MAKEDEPEND_VERSION).tar.xz XUTIL_MAKEDEPEND_SITE = https://xorg.freedesktop.org/archive/individual/util XUTIL_MAKEDEPEND_LICENSE = MIT diff --git a/package/x11r7/xwayland/Config.in b/package/x11r7/xwayland/Config.in new file mode 100644 index 00000000000..9ac1928f51b --- /dev/null +++ b/package/x11r7/xwayland/Config.in @@ -0,0 +1,32 @@ +config BR2_PACKAGE_XWAYLAND + bool "xwayland server" + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # wayland + depends on BR2_TOOLCHAIN_HAS_THREADS # wayland + # We need a SHA1 implementation. If either openssl or + # libgcrypt are already part of the build, we'll use one of + # them, otherwise, use the small libsha1 library. + depends on !BR2_RISCV_32 # xlib_libxshmfence + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xlib_libxshmfence + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT) + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS + select BR2_PACKAGE_XLIB_LIBXCVT + select BR2_PACKAGE_XLIB_LIBXFONT2 + select BR2_PACKAGE_XLIB_LIBXKBFILE + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXSHMFENCE + select BR2_PACKAGE_XLIB_XTRANS + select BR2_PACKAGE_XORGPROTO + help + X.Org X server to run X clients under wayland + + http://xorg.freedesktop.org + +comment "xwayland needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_RISCV_32 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/x11r7/xwayland/xwayland.hash b/package/x11r7/xwayland/xwayland.hash new file mode 100644 index 00000000000..5bb26bf17e7 --- /dev/null +++ b/package/x11r7/xwayland/xwayland.hash @@ -0,0 +1,6 @@ +# From https://lists.x.org/archives/xorg-announce/2024-January/003443.html +sha256 a99e159b6d0d33098b3b6ab22a88bfcece23c8b9d0ca72c535c55dcb0681b46b xwayland-23.2.4.tar.xz +sha512 ac3ff208cbef5bbe4637c335cfda226489c93b0a3768f2f4fb0201c588485ede38262fbce77ef1425b3d2a0be61b6580df53341c7b95e6072c8b6371ad29d187 xwayland-23.2.4.tar.xz + +# Locally calculated +sha256 4cc0447a22635c7b2f1a93fec4aa94f1970fadeb72a063de006b51cf4963a06f COPYING diff --git a/package/x11r7/xwayland/xwayland.mk b/package/x11r7/xwayland/xwayland.mk new file mode 100644 index 00000000000..c66dd471ac6 --- /dev/null +++ b/package/x11r7/xwayland/xwayland.mk @@ -0,0 +1,91 @@ +################################################################################ +# +# xwayland +# +################################################################################ + +XWAYLAND_VERSION = 23.2.4 +XWAYLAND_SOURCE = xwayland-$(XWAYLAND_VERSION).tar.xz +XWAYLAND_SITE = https://xorg.freedesktop.org/archive/individual/xserver +XWAYLAND_LICENSE = MIT +XWAYLAND_LICENSE_FILES = COPYING +XWAYLAND_CPE_ID_VENDOR = x.org +XWAYLAND_INSTALL_STAGING = YES +XWAYLAND_DEPENDENCIES = \ + libdrm \ + pixman \ + wayland \ + wayland-protocols \ + xlib_libxcvt \ + xlib_libXfont2 \ + xlib_libxkbfile \ + xlib_libXrandr \ + xlib_libxshmfence \ + xlib_xtrans \ + xorgproto +XWAYLAND_CONF_OPTS = \ + -Ddri3=true \ + -Dxwayland_eglstream=false \ + -Dxvfb=false \ + -Ddefault_font_path=/usr/share/fonts/X11/ \ + -Ddtrace=false \ + -Ddocs=false + +ifeq ($(BR2_PACKAGE_LIBEPOXY),y) +XWAYLAND_CONF_OPTS += -Dglamor=true +XWAYLAND_DEPENDENCIES += libepoxy +else +XWAYLAND_CONF_OPTS += -Dglamor=false +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) +XWAYLAND_CONF_OPTS += -Dglx=true +XWAYLAND_DEPENDENCIES += libgl +else +XWAYLAND_CONF_OPTS += -Dglx=false +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXDMCP),y) +XWAYLAND_CONF_OPTS += \ + -Dxdmcp=true \ + -Dxdm-auth-1=true +XWAYLAND_DEPENDENCIES += xlib_libXdmcp +else +XWAYLAND_CONF_OPTS += \ + -Dxdmcp=false \ + -Dxdm-auth-1=false +endif + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +XWAYLAND_CONF_OPTS += -Dsecure-rpc=true +XWAYLAND_DEPENDENCIES += libtirpc +else +XWAYLAND_CONF_OPTS += -Dsecure-rpc=false +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX)$(BR2_PACKAGE_AUDIT),yy) +XWAYLAND_CONF_OPTS += -Dxselinux=true +XWAYLAND_DEPENDENCIES += libselinux audit +else +XWAYLAND_CONF_OPTS += -Dxselinux=false +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +XWAYLAND_CONF_OPTS += -Dsha1=libcrypto +XWAYLAND_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +XWAYLAND_CONF_OPTS += -Dsha1=libgcrypt +XWAYLAND_DEPENDENCIES += libgcrypt +else +XWAYLAND_CONF_OPTS += -Dsha1=libsha1 +XWAYLAND_DEPENDENCIES += libsha1 +endif + +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +XWAYLAND_CONF_OPTS += -Dlibunwind=true +XWAYLAND_DEPENDENCIES += libunwind +else +XWAYLAND_CONF_OPTS += -Dlibunwind=false +endif + +$(eval $(meson-package)) diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk index 1eda717c681..645ef406436 100644 --- a/package/x11vnc/x11vnc.mk +++ b/package/x11vnc/x11vnc.mk @@ -6,13 +6,10 @@ X11VNC_VERSION = 0.9.16 X11VNC_SITE = $(call github,LibVNC,x11vnc,$(X11VNC_VERSION)) -# sdl support is not used in x11vnc, but host include / library search paths -# leak in if host has sdl-config -X11VNC_CONF_OPTS = --without-sdl X11VNC_DEPENDENCIES = xlib_libXt xlib_libXext xlib_libXtst libvncserver X11VNC_LICENSE = GPL-2.0+ X11VNC_LICENSE_FILES = COPYING -X11VNC_CPE_ID_VENDOR = x11vnc_project +X11VNC_CPE_ID_VALID = YES # 0002-scan-limit-access-to-shared-memory-segments-to-current-user.patch X11VNC_IGNORE_CVES += CVE-2020-29074 @@ -25,12 +22,6 @@ else X11VNC_CONF_OPTS += --without-avahi endif -ifeq ($(BR2_PACKAGE_JPEG),y) -X11VNC_DEPENDENCIES += jpeg -else -X11VNC_CONF_OPTS += --without-jpeg -endif - ifeq ($(BR2_PACKAGE_OPENSSL),y) X11VNC_DEPENDENCIES += openssl else @@ -61,10 +52,4 @@ else X11VNC_CONF_OPTS += --without-xdamage endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -X11VNC_DEPENDENCIES += zlib -else -X11VNC_CONF_OPTS += --without-zlib -endif - $(eval $(autotools-package)) diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash index 7bbea72b03e..f61a6a91aec 100644 --- a/package/xdg-dbus-proxy/xdg-dbus-proxy.hash +++ b/package/xdg-dbus-proxy/xdg-dbus-proxy.hash @@ -1,5 +1,5 @@ -# From https://github.com/flatpak/xdg-dbus-proxy/releases/tag/0.1.4 -sha256 1ec0eab53d1e49966d722352bcfd51ac402dce5190baedc749a8541e761670ab xdg-dbus-proxy-0.1.4.tar.xz +# From https://github.com/flatpak/xdg-dbus-proxy/releases/tag/0.1.5 +sha256 061dcfaf8a0650e5fd9d5432dfe88bda749ea0d079dc136304bfecfbce0661fb xdg-dbus-proxy-0.1.5.tar.xz # Hash for license files: sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/xdg-dbus-proxy/xdg-dbus-proxy.mk b/package/xdg-dbus-proxy/xdg-dbus-proxy.mk index 48f49dba2ac..2e8c054386e 100644 --- a/package/xdg-dbus-proxy/xdg-dbus-proxy.mk +++ b/package/xdg-dbus-proxy/xdg-dbus-proxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDG_DBUS_PROXY_VERSION = 0.1.4 +XDG_DBUS_PROXY_VERSION = 0.1.5 XDG_DBUS_PROXY_SITE = https://github.com/flatpak/xdg-dbus-proxy/releases/download/$(XDG_DBUS_PROXY_VERSION) XDG_DBUS_PROXY_SOURCE = xdg-dbus-proxy-$(XDG_DBUS_PROXY_VERSION).tar.xz XDG_DBUS_PROXY_DEPENDENCIES = host-pkgconf libglib2 diff --git a/package/xen/xen.hash b/package/xen/xen.hash index 5637f0e8d9b..d2350ac5157 100644 --- a/package/xen/xen.hash +++ b/package/xen/xen.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 a1a24092ad14658eed420b7d56b67d0d9d5b314e96c30a799b45f3a721f98bf0 xen-4.14.5.tar.gz +sha256 7917681bc6e744789815131fcf7799e6b83a0d45b5801ac654322b037ce472f8 xen-4.14.6.tar.gz sha256 ecca9538e9d3f7e3c2bff827502f4495e2ef9e22c451298696ea08886b176c2c COPYING diff --git a/package/xen/xen.mk b/package/xen/xen.mk index 169753e89f7..80412cca97c 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -4,8 +4,9 @@ # ################################################################################ -XEN_VERSION = 4.14.5 +XEN_VERSION = 4.14.6 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) +XEN_SELINUX_MODULES = systemd udev xen XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING XEN_CPE_ID_VENDOR = xen diff --git a/package/xenomai/3.0.10/0004-lib-psos-task.c-fix-build-with-gcc-12.patch b/package/xenomai/3.0.10/0004-lib-psos-task.c-fix-build-with-gcc-12.patch new file mode 100644 index 00000000000..fcc1f1e6730 --- /dev/null +++ b/package/xenomai/3.0.10/0004-lib-psos-task.c-fix-build-with-gcc-12.patch @@ -0,0 +1,56 @@ +From 6c6da9e6d75ccfaa83c1efe14211f080c14181c6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Dec 2023 15:28:50 +0100 +Subject: [PATCH] lib/psos/task.c: fix build with gcc >= 12 + +Fix the following build failure with gcc >= 12: + +task.c: In function 't_start': +task.c:398:16: error: 'ret' may be used uninitialized [-Werror=maybe-uninitialized] + 398 | return ret; + | ^~~ +task.c:364:13: note: 'ret' was declared here + 364 | int ret; + | ^~~ +task.c: In function 't_resume': +task.c:444:16: error: 'ret' may be used uninitialized [-Werror=maybe-uninitialized] + 444 | return ret; + | ^~~ +task.c:428:13: note: 'ret' was declared here + 428 | int ret; + | ^~~ + +Fixes: + - http://autobuild.buildroot.org/results/bc1b40de22e563b704ad7f20b6bf4d1f73a6ed8a + +Signed-off-by: Fabrice Fontaine +Upstream: https://lore.kernel.org/xenomai/20231203144307.1940139-1-fontaine.fabrice@gmail.com/T/#u +--- + lib/psos/task.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/psos/task.c b/lib/psos/task.c +index f678be61d..27bcc28a9 100644 +--- a/lib/psos/task.c ++++ b/lib/psos/task.c +@@ -362,7 +362,7 @@ u_long t_start(u_long tid, + { + struct psos_task *task; + struct service svc; +- int ret; ++ int ret = SUCCESS; + + CANCEL_DEFER(svc); + +@@ -426,7 +426,7 @@ u_long t_resume(u_long tid) + { + struct psos_task *task; + struct service svc; +- int ret; ++ int ret = SUCCESS; + + CANCEL_DEFER(svc); + +-- +2.42.0 + diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index c1ad0c5df62..9356919259b 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -41,7 +41,6 @@ XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user XENOMAI_CONF_OPTS += \ --disable-demo \ - --disable-testsuite \ --includedir=/usr/include/xenomai/ ifeq ($(BR2_PACKAGE_XENOMAI_MERCURY),y) @@ -87,17 +86,10 @@ endef XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UNNEEDED_FILES -ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),) -define XENOMAI_REMOVE_TESTSUITE - rm -rf $(TARGET_DIR)/usr/share/xenomai/ - for i in clocktest gpiotest latency smokey spitest switchtest \ - xeno-test-run-wrapper dohell xeno-test-run xeno-test ; do \ - rm -f $(TARGET_DIR)/usr/bin/$$i ; \ - done - rm -rf $(TARGET_DIR)/usr/demo/ -endef - -XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE +ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),y) +XENOMAI_CONF_OPTS += --enable-testsuite +else +XENOMAI_CONF_OPTS += --disable-testsuite endif ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),) diff --git a/package/xerces/0001-fix-static-linking-with-curl.patch b/package/xerces/0001-fix-static-linking-with-curl.patch deleted file mode 100644 index db38de79fcb..00000000000 --- a/package/xerces/0001-fix-static-linking-with-curl.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 26e3f1440bbc75c704fc93ff43a2abbfbe4c0203 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 11 Oct 2018 22:56:50 +0200 -Subject: [PATCH] fix static linking with curl - -When curl is statically built with openssl support, xerces needs to -link with openssl libraries so use pkg_check_modules to get any -needed dependencies - -Fixes: - - http://autobuild.buildroot.org/results/29ca90fff2c8e38f2edf7240eca3aa3fe7397c45 - -Signed-off-by: Fabrice Fontaine ---- - cmake/XercesNetAccessorSelection.cmake | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/cmake/XercesNetAccessorSelection.cmake b/cmake/XercesNetAccessorSelection.cmake -index 7a63f1f6b..e90fcf034 100644 ---- a/cmake/XercesNetAccessorSelection.cmake -+++ b/cmake/XercesNetAccessorSelection.cmake -@@ -31,7 +31,13 @@ if(network) - - # Requires select() which is UNIX only - if(UNIX) -- find_package(CURL) -+ find_package(PkgConfig) -+ if (PkgConfig_FOUND) -+ pkg_check_modules(CURL libcurl) -+ if (NOT CURL_FOUND) -+ find_package(CURL) -+ endif() -+ endif() - if(CURL_FOUND) - list(APPEND netaccessors curl) - endif() --- -2.17.1 - diff --git a/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch b/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch deleted file mode 100644 index 510ed5b6423..00000000000 --- a/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch +++ /dev/null @@ -1,187 +0,0 @@ -From b82bd75c80aadcc2890b23f63eec9ba2c560b2e5 Mon Sep 17 00:00:00 2001 -From: "Darrick J. Wong" -Date: Thu, 4 Aug 2022 21:26:43 -0500 -Subject: [PATCH] libxfs: stop overriding MAP_SYNC in publicly exported header - files - -Florian Fainelli most recently reported that xfsprogs doesn't build with -musl on mips: - -"MIPS platforms building with recent kernel headers and the musl-libc -toolchain will expose the following build failure: - -mmap.c: In function 'mmap_f': -mmap.c:196:12: error: 'MAP_SYNC' undeclared (first use in this function); did you mean 'MS_SYNC'? - 196 | flags = MAP_SYNC | MAP_SHARED_VALIDATE; - | ^~~~~~~~ - | MS_SYNC -mmap.c:196:12: note: each undeclared identifier is reported only once for each function it appears in -make[4]: *** [../include/buildrules:81: mmap.o] Error 1" - -At first glance, the build failure here is caused by the fact that: - -1. The configure script doesn't detect MAP_SYNC support -2. The build system doesn't set HAVE_MAP_SYNC -2. io/mmap.c includes input.h -> projects.h -> xfs.h and later sys/mman.h -3. include/linux.h #define's MAP_SYNC to 0 if HAVE_MAP_SYNC is not set -4. musl's sys/mman.h #undef MAP_SYNC on platforms that don't support it -5. io/mmap.c tries to use MAP_SYNC, not realizing that libc undefined it - -Normally, xfs_io only exports functionality that is defined by the libc -and/or kernel headers on the build system. We often make exceptions for -new functionality so that we have a way to test them before the header -file packages catch up, hence this '#ifndef HAVE_FOO #define FOO' -paradigm. - -MAP_SYNC is a gross and horribly broken example of this. These support -crutches are supposed to be *private* to xfsprogs for benefit of early -testing, but they were instead added to include/linux.h, which we -provide to user programs in the xfslibs-dev package. IOWs, we've been - -Worst yet, gcc 11.3 doesn't even warn about overriding a #define to 0: - -int main(int argc, char *argv[]) { - printf("MAP_SYNC 0x%x\n", MAP_SYNC); -} - -$ gcc -o a a.c -Wall -$ ./a -MAP_SYNC 0x80000 -$ gcc -DSTUPID -o a a.c -Wall -$ ./a -MAP_SYNC 0x0 - -Four years have gone by since the introduction of MAP_SYNC, so let's get -rid of the override code entirely -- any platform that supports MAP_SYNC -has had plenty of chances to ensure their header files have the right -bits. While we're at it, fix AC_HAVE_MAP_SYNC to look for MAP_SYNC in -the same header file that the one user (io/mmap.c) uses -- sys/mman.h. - -Annoyingly, I had to test this by hand because the sole fstest that -exercises MAP_SYNC (generic/470) requires dm-logwrites and dm-thinp, -neither of which support fsdax on current kernels. - -Reported-by: info@mobile-stream.com -Reported-by: Fabrice Fontaine -Reported-by: Florian Fainelli -Signed-off-by: Darrick J. Wong -Tested-by: Florian Fainelli -Reviewed-by: Carlos Maiolino -Signed-off-by: Eric Sandeen ---- - include/linux.h | 8 -------- - io/io.h | 2 +- - io/mmap.c | 25 +++++++++++++------------ - m4/package_libcdev.m4 | 3 +-- - 4 files changed, 15 insertions(+), 23 deletions(-) - -diff --git a/include/linux.h b/include/linux.h -index de8a71221146..052facc15db5 100644 ---- a/include/linux.h -+++ b/include/linux.h -@@ -356,14 +356,6 @@ fsmap_advance( - #define HAVE_GETFSMAP - #endif /* HAVE_GETFSMAP */ - --#ifndef HAVE_MAP_SYNC --#define MAP_SYNC 0 --#define MAP_SHARED_VALIDATE 0 --#else --#include --#include --#endif /* HAVE_MAP_SYNC */ -- - /* - * Reminder: anything added to this file will be compiled into downstream - * userspace projects! -diff --git a/io/io.h b/io/io.h -index 49db902fc44f..64b7a663a8cf 100644 ---- a/io/io.h -+++ b/io/io.h -@@ -55,7 +55,7 @@ typedef struct mmap_region { - size_t length; /* length of mapping */ - off64_t offset; /* start offset into backing file */ - int prot; /* protection mode of the mapping */ -- bool map_sync; /* is this a MAP_SYNC mapping? */ -+ int flags; /* MAP_* flags passed to mmap() */ - char *name; /* name of backing file */ - } mmap_region_t; - -diff --git a/io/mmap.c b/io/mmap.c -index 8c048a0ab6d0..425957d4b487 100644 ---- a/io/mmap.c -+++ b/io/mmap.c -@@ -46,8 +46,11 @@ print_mapping( - for (i = 0, p = pflags; p->prot != PROT_NONE; i++, p++) - buffer[i] = (map->prot & p->prot) ? p->mode : '-'; - -- if (map->map_sync) -+#ifdef HAVE_MAP_SYNC -+ if ((map->flags & (MAP_SYNC | MAP_SHARED_VALIDATE)) == -+ (MAP_SYNC | MAP_SHARED_VALIDATE)) - sprintf(&buffer[i], " S"); -+#endif - - printf("%c%03d%c 0x%lx - 0x%lx %s %14s (%lld : %ld)\n", - braces? '[' : ' ', index, braces? ']' : ' ', -@@ -139,7 +142,9 @@ mmap_help(void) - " -r -- map with PROT_READ protection\n" - " -w -- map with PROT_WRITE protection\n" - " -x -- map with PROT_EXEC protection\n" -+#ifdef HAVE_MAP_SYNC - " -S -- map with MAP_SYNC and MAP_SHARED_VALIDATE flags\n" -+#endif - " -s -- first do mmap(size)/munmap(size), try to reserve some free space\n" - " If no protection mode is specified, all are used by default.\n" - "\n")); -@@ -193,18 +198,14 @@ mmap_f( - prot |= PROT_EXEC; - break; - case 'S': -+#ifdef HAVE_MAP_SYNC - flags = MAP_SYNC | MAP_SHARED_VALIDATE; -- -- /* -- * If MAP_SYNC and MAP_SHARED_VALIDATE aren't defined -- * in the system headers we will have defined them -- * both as 0. -- */ -- if (!flags) { -- printf("MAP_SYNC not supported\n"); -- return 0; -- } - break; -+#else -+ printf("MAP_SYNC not supported\n"); -+ exitcode = 1; -+ return command_usage(&mmap_cmd); -+#endif - case 's': - length2 = cvtnum(blocksize, sectsize, optarg); - break; -@@ -281,7 +282,7 @@ mmap_f( - mapping->offset = offset; - mapping->name = filename; - mapping->prot = prot; -- mapping->map_sync = (flags == (MAP_SYNC | MAP_SHARED_VALIDATE)); -+ mapping->flags = flags; - return 0; - } - -diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 -index adab9bb9773a..3a0c23453176 100644 ---- a/m4/package_libcdev.m4 -+++ b/m4/package_libcdev.m4 -@@ -339,8 +339,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS], - AC_DEFUN([AC_HAVE_MAP_SYNC], - [ AC_MSG_CHECKING([for MAP_SYNC]) - AC_TRY_COMPILE([ --#include --#include -+#include - ], [ - int flags = MAP_SYNC | MAP_SHARED_VALIDATE; - ], have_map_sync=yes --- -2.25.1 - diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in index a382b63ff87..d14c3d46986 100644 --- a/package/xfsprogs/Config.in +++ b/package/xfsprogs/Config.in @@ -1,13 +1,15 @@ -comment "xfsprogs needs a toolchain w/ threads" +comment "xfsprogs needs a toolchain w/ threads, C++" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_XFSPROGS bool "xfsprogs" depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP # liburcu select BR2_PACKAGE_INIH select BR2_PACKAGE_LIBURCU select BR2_PACKAGE_UTIL_LINUX diff --git a/package/xfsprogs/xfsprogs.hash b/package/xfsprogs/xfsprogs.hash index bb546601dc4..8c73e149051 100644 --- a/package/xfsprogs/xfsprogs.hash +++ b/package/xfsprogs/xfsprogs.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc -sha256 01ccd3ef9df2837753a5d876b8da84ea957d13d7a461b8c46e8afa4eb09aabc8 xfsprogs-5.14.2.tar.xz +sha256 c31868418bfbf49a3a9c47fc70cdffde9d96f4ff0051bd04a0881e6654648104 xfsprogs-6.4.0.tar.xz # Hash for license files sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0 diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk index 695471bddcc..e657c8086da 100644 --- a/package/xfsprogs/xfsprogs.mk +++ b/package/xfsprogs/xfsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -XFSPROGS_VERSION = 5.14.2 +XFSPROGS_VERSION = 6.4.0 XFSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/fs/xfs/xfsprogs XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.xz XFSPROGS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1 (libhandle, few headers) @@ -27,6 +27,10 @@ else XFSPROGS_CONF_OPTS += --disable-libicu endif +ifeq ($(BR2_OPTIMIZE_0),y) +XFSPROGS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1" +endif + XFSPROGS_INSTALL_TARGET_OPTS = DIST_ROOT=$(TARGET_DIR) install $(eval $(autotools-package)) diff --git a/package/xmlstarlet/0001-Fix-build-issues-with-libxml2-2.12.patch b/package/xmlstarlet/0001-Fix-build-issues-with-libxml2-2.12.patch new file mode 100644 index 00000000000..74034dad536 --- /dev/null +++ b/package/xmlstarlet/0001-Fix-build-issues-with-libxml2-2.12.patch @@ -0,0 +1,97 @@ +From 702988467d67c3a33255de4c543f56767c64c72e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 23 Dec 2023 21:30:30 +0100 +Subject: [PATCH] Fix build issues with libxml2 2.12 + +Based on initial work from Bernd Kuhls , improved by +Yaakov Selkowitz. + +Upstream: https://sourceforge.net/p/xmlstar/patches/22/ +Signed-off-by: Thomas Petazzoni +--- + src/trans.h | 1 + + src/xml.c | 2 +- + src/xml_edit.c | 1 + + src/xml_elem.c | 2 +- + src/xml_format.c | 1 + + src/xmlstar.h | 2 +- + 6 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/trans.h b/src/trans.h +index 016304e..395462c 100644 +--- a/src/trans.h ++++ b/src/trans.h +@@ -36,6 +36,7 @@ THE SOFTWARE. + #include + #include + #include ++#include + + #include + #include +diff --git a/src/xml.c b/src/xml.c +index cf47cc2..e6f19c1 100644 +--- a/src/xml.c ++++ b/src/xml.c +@@ -104,7 +104,7 @@ void reportGenericError(void* ctx, const char * msg, ...) { + /* by default all errors are reported */ + static ErrorInfo errorInfo = { NULL, NULL, VERBOSE, CONTINUE }; + +-void reportError(void *ptr, xmlErrorPtr error) ++void reportError(void *ptr, const xmlError *error) + { + ErrorInfo *errorInfo = (ErrorInfo*) ptr; + assert(errorInfo); +diff --git a/src/xml_edit.c b/src/xml_edit.c +index e199178..b3da8a4 100644 +--- a/src/xml_edit.c ++++ b/src/xml_edit.c +@@ -42,6 +42,7 @@ THE SOFTWARE. + #include + #include + #include ++#include + #include + + #include "xmlstar.h" +diff --git a/src/xml_elem.c b/src/xml_elem.c +index 024e62a..a73038a 100644 +--- a/src/xml_elem.c ++++ b/src/xml_elem.c +@@ -186,7 +186,7 @@ typedef struct { + * put @name into @data->array[@data->offset] + */ + static void +-hash_key_put(void *payload, void *data, xmlChar *name) ++hash_key_put(void *payload, void *data, const xmlChar *name) + { + ArrayDest *dest = data; + dest->array[dest->offset++] = name; +diff --git a/src/xml_format.c b/src/xml_format.c +index e9da4df..ddd6614 100644 +--- a/src/xml_format.c ++++ b/src/xml_format.c +@@ -42,6 +42,7 @@ THE SOFTWARE. + #include + #include + #include ++#include + + #include "xmlstar.h" + +diff --git a/src/xmlstar.h b/src/xmlstar.h +index 3e1eed3..e8d7177 100644 +--- a/src/xmlstar.h ++++ b/src/xmlstar.h +@@ -32,7 +32,7 @@ typedef struct _errorInfo { + ErrorStop stop; + } ErrorInfo; + +-void reportError(void *ptr, xmlErrorPtr error); ++void reportError(void *ptr, const xmlError *error); + void suppressErrors(void); + + typedef struct _gOptions { +-- +2.43.0 + diff --git a/package/xmrig/Config.in b/package/xmrig/Config.in index 4dd16fa2b05..0b5f5370e4e 100644 --- a/package/xmrig/Config.in +++ b/package/xmrig/Config.in @@ -15,6 +15,7 @@ config BR2_PACKAGE_XMRIG # xmrig needs fenv.h which is not provided by uclibc depends on !BR2_TOOLCHAIN_USES_UCLIBC depends on !BR2_STATIC_LIBS # libuv + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBUV help @@ -22,10 +23,11 @@ config BR2_PACKAGE_XMRIG https://xmrig.com -comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++" +comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++, gcc >= 4.9" depends on BR2_PACKAGE_XMRIG_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ BR2_TOOLCHAIN_USES_UCLIBC || BR2_STATIC_LIBS || \ - !BR2_INSTALL_LIBSTDCPP + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/xmrig/xmrig.hash b/package/xmrig/xmrig.hash index 3c50faf23f8..116855fdbaa 100644 --- a/package/xmrig/xmrig.hash +++ b/package/xmrig/xmrig.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f97fe20248e0eb452f77e9b69f2fb1510b852152b3af4f9a8b20680c854888d1 xmrig-6.18.1.tar.gz +sha256 68b4be51e99687bad15d5bf4ac9eed79a080ba89141f7363457a957ce9304e4d xmrig-6.21.2.tar.gz sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/xmrig/xmrig.mk b/package/xmrig/xmrig.mk index ca5bcecfbef..45538fa77e1 100644 --- a/package/xmrig/xmrig.mk +++ b/package/xmrig/xmrig.mk @@ -4,7 +4,7 @@ # ################################################################################ -XMRIG_VERSION = 6.18.1 +XMRIG_VERSION = 6.21.2 XMRIG_SITE = $(call github,xmrig,xmrig,v$(XMRIG_VERSION)) XMRIG_LICENSE = GPL-3.0+ XMRIG_LICENSE_FILES = LICENSE diff --git a/package/xr819-xradio/xr819-xradio.hash b/package/xr819-xradio/xr819-xradio.hash index 08a3b6e8ccc..388a3a3cd4c 100644 --- a/package/xr819-xradio/xr819-xradio.hash +++ b/package/xr819-xradio/xr819-xradio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 839fdae93eba29121d4116de335b00a026ef63874caf516747dbdf24c17f208b xr819-xradio-58d597bcf081e44904335916e6033bc8ef28b043.tar.gz +sha256 8bc3d745ed08b7f3a9c0413c2635d0faf647362b41494d04edc98709b869deef xr819-xradio-3a1f77fb2db248b7d18d93b67b16e0d6c91db184.tar.gz # Locally computed sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 LICENSE diff --git a/package/xr819-xradio/xr819-xradio.mk b/package/xr819-xradio/xr819-xradio.mk index 8c1cb1587ff..8b576a347a4 100644 --- a/package/xr819-xradio/xr819-xradio.mk +++ b/package/xr819-xradio/xr819-xradio.mk @@ -4,7 +4,7 @@ # ################################################################################ -XR819_XRADIO_VERSION = 58d597bcf081e44904335916e6033bc8ef28b043 +XR819_XRADIO_VERSION = 3a1f77fb2db248b7d18d93b67b16e0d6c91db184 XR819_XRADIO_SITE = $(call github,fifteenhex,xradio,$(XR819_XRADIO_VERSION)) XR819_XRADIO_LICENSE = GPL-2.0 XR819_XRADIO_LICENSE_FILES = LICENSE diff --git a/package/xscreensaver/xscreensaver.mk b/package/xscreensaver/xscreensaver.mk index 6cc7e8febea..466d309940c 100644 --- a/package/xscreensaver/xscreensaver.mk +++ b/package/xscreensaver/xscreensaver.mk @@ -10,7 +10,7 @@ XSCREENSAVER_SITE = https://www.jwz.org/xscreensaver # N.B. GPL-2.0+ code (in the hacks/glx subdirectory) is not currently built. XSCREENSAVER_LICENSE = MIT-like, GPL-2.0+ XSCREENSAVER_LICENSE_FILES = hacks/screenhack.h hacks/glx/chessmodels.h -XSCREENSAVER_CPE_ID_VENDOR = xscreensaver_project +XSCREENSAVER_CPE_ID_VALID = YES XSCREENSAVER_SELINUX_MODULES = xdg xscreensaver xserver XSCREENSAVER_DEPENDENCIES = \ diff --git a/package/xtables-addons/xtables-addons.hash b/package/xtables-addons/xtables-addons.hash index 0d2434eeb1d..7bdbbb85784 100644 --- a/package/xtables-addons/xtables-addons.hash +++ b/package/xtables-addons/xtables-addons.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 2e09ac129a14f5e9c23b115ebcdfff4aa84e2aeba1268dbdf39b2d752bd71e19 xtables-addons-3.21.tar.xz +sha256 3e823f71720519ced31c4c7d2bfaf7120d9c01c59a0843dfcbe93c95c64d81c1 xtables-addons-3.24.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk index 83cc3266c43..efd8bd98cec 100644 --- a/package/xtables-addons/xtables-addons.mk +++ b/package/xtables-addons/xtables-addons.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTABLES_ADDONS_VERSION = 3.21 +XTABLES_ADDONS_VERSION = 3.24 XTABLES_ADDONS_SOURCE = xtables-addons-$(XTABLES_ADDONS_VERSION).tar.xz XTABLES_ADDONS_SITE = https://inai.de/files/xtables-addons XTABLES_ADDONS_DEPENDENCIES = iptables linux host-pkgconf @@ -13,15 +13,8 @@ XTABLES_ADDONS_LICENSE_FILES = LICENSE XTABLES_ADDONS_CONF_OPTS = \ --with-kbuild="$(LINUX_DIR)" \ - --with-xtables="$(STAGING_DIR)/usr" \ --with-xtlibdir="/usr/lib/xtables" -# geoip helpers need perl with modules and unzip so disable -define XTABLES_ADDONS_DISABLE_GEOIP_HELPERS - $(SED) 's/ geoip//' $(@D)/Makefile.in -endef -XTABLES_ADDONS_POST_PATCH_HOOKS += XTABLES_ADDONS_DISABLE_GEOIP_HELPERS - define XTABLES_ADDONS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) endef @@ -30,6 +23,15 @@ define XTABLES_ADDONS_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) DESTDIR="$(TARGET_DIR)" install endef +# geoip helpers need perl with modules and unzip so remove them +define XTABLES_ADDONS_REMOVE_GEOIP_HELPERS + $(RM) $(TARGET_DIR)/usr/bin/xt_geoip* + $(RM) $(TARGET_DIR)/usr/libexec/xtables-addons/xt_asn* + $(RM) $(TARGET_DIR)/usr/libexec/xtables-addons/xt_geoip* +endef + +XTABLES_ADDONS_POST_INSTALL_TARGET_HOOKS += XTABLES_ADDONS_REMOVE_GEOIP_HELPERS + define XTABLES_ADDONS_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED) $(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK) diff --git a/package/xterm/xterm.hash b/package/xterm/xterm.hash index 12cd2e639b9..e0fdcfe66e2 100644 --- a/package/xterm/xterm.hash +++ b/package/xterm/xterm.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 1e5bb7aad068fb31d6d3cbb77f80c7ad1526cd4c956a4ddcf2c5cf28af5334e1 xterm-376.tgz +sha256 1cd5763d94d9370fed10d804e831a089b2ace0e7a74b6f56ef5a16a766bde7be xterm-389.tgz # Locally calculated -sha256 9521ef761474cd31ea406f56a751646a7b42a9287cdc6f2f8e52ed4c4d2a73e7 COPYING +sha256 e38de4a0780954b5a7e69b5fa6c571daa8a1bfbacb4f2c5b2f07099e1a1d7c93 COPYING diff --git a/package/xterm/xterm.mk b/package/xterm/xterm.mk index d01b608d992..c2c97dd3186 100644 --- a/package/xterm/xterm.mk +++ b/package/xterm/xterm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XTERM_VERSION = 376 +XTERM_VERSION = 389 XTERM_SOURCE = xterm-$(XTERM_VERSION).tgz XTERM_SITE = http://invisible-mirror.net/archives/xterm XTERM_DEPENDENCIES = ncurses xlib_libXaw host-pkgconf diff --git a/package/xutil_util-macros/xutil_util-macros.hash b/package/xutil_util-macros/xutil_util-macros.hash index 30c9916dca6..4fcddb7a859 100644 --- a/package/xutil_util-macros/xutil_util-macros.hash +++ b/package/xutil_util-macros/xutil_util-macros.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2021-January/003069.html -sha256 0f812e6e9d2786ba8f54b960ee563c0663ddbe2434bf24ff193f5feab1f31971 util-macros-1.19.3.tar.bz2 -sha512 b9c7398a912c688a782eab5b1e0f6da2df11a430775c5c98fc3269f73a665de6eeb60d300a849e38d345714a6e51f74e9334cb6039767304cca4b93d823a53a2 util-macros-1.19.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2023-February/003324.html +sha256 0b86b262dbe971edb4ff233bc370dfad9f241d09f078a3f6d5b7f4b8ea4430db util-macros-1.20.0.tar.xz +sha512 76caefb118bf1675d7b2b96e1bbb04eb9a320b02e120839e55a22ef98538ecf00d0e686a67186fc8fdc8492d277ffe3125ae8b7ac61ce4739edc0de3f468d2eb util-macros-1.20.0.tar.xz # Locally computed -sha256 489b630a75e3255485732eae3d50ff4d29d3feb66760bb3acb04f897e4d9e375 COPYING +sha256 7db0516389152a90c20ea910e8839d10204ebc25ccbc71fc7f5809dfb98e80ac COPYING diff --git a/package/xutil_util-macros/xutil_util-macros.mk b/package/xutil_util-macros/xutil_util-macros.mk index b0ce14ee5a2..e2e40eb84e1 100644 --- a/package/xutil_util-macros/xutil_util-macros.mk +++ b/package/xutil_util-macros/xutil_util-macros.mk @@ -4,9 +4,9 @@ # ################################################################################ -XUTIL_UTIL_MACROS_VERSION = 1.19.3 -XUTIL_UTIL_MACROS_SOURCE = util-macros-$(XUTIL_UTIL_MACROS_VERSION).tar.bz2 -XUTIL_UTIL_MACROS_SITE = http://xorg.freedesktop.org/releases/individual/util +XUTIL_UTIL_MACROS_VERSION = 1.20.0 +XUTIL_UTIL_MACROS_SOURCE = util-macros-$(XUTIL_UTIL_MACROS_VERSION).tar.xz +XUTIL_UTIL_MACROS_SITE = https://xorg.freedesktop.org/archive/individual/util XUTIL_UTIL_MACROS_LICENSE = MIT XUTIL_UTIL_MACROS_LICENSE_FILES = COPYING diff --git a/package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch b/package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch new file mode 100644 index 00000000000..349d4415e2c --- /dev/null +++ b/package/xvisor/0001-TOOLS-d2c-py-explicitly-use-the-python3-interpreter.patch @@ -0,0 +1,35 @@ +From 888c94e7a121d96aa88f84c58fe7e2bd771fc5ac Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Fri, 25 Aug 2023 21:56:37 +0200 +Subject: [PATCH] TOOLS: d2c.py: explicitly use the python3 interpreter + +When compiling Xvisor on a system not providing the "python" +interpreter binary, compilation fails with output: + + (d2c) core/vio/keymaps/modifiers.c + /bin/sh: 1: /build/xvisor-0.3.2/tools/scripts/d2c.py: not found + +This commit fixes the issue following the PEP 394 recommendation: +https://peps.python.org/pep-0394/ + +It sets the "shebang" to `#! /usr/bin/env python3` to allow using other +interpreters in the PATH, or virtual environment. + +Signed-off-by: Julien Olivain + +Upstream: https://github.com/xvisor/xvisor/commit/888c94e7a121d96aa88f84c58fe7e2bd771fc5ac +Signed-off-by: Fabrice Fontaine +--- + tools/scripts/d2c.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/scripts/d2c.py b/tools/scripts/d2c.py +index b46a7bc468..daac4a5450 100755 +--- a/tools/scripts/d2c.py ++++ b/tools/scripts/d2c.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#! /usr/bin/env python3 + #/** + # Copyright (c) 2013 Anup Patel. + # All rights reserved. diff --git a/package/xvisor/0001-psmouse-back.c-fix-build-with-gcc-11.patch b/package/xvisor/0001-psmouse-back.c-fix-build-with-gcc-11.patch deleted file mode 100644 index 1c02f45c9d5..00000000000 --- a/package/xvisor/0001-psmouse-back.c-fix-build-with-gcc-11.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 0e07e82121697d99470a147eadad9a708889c4df Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 2 Sep 2021 18:13:03 +0200 -Subject: [PATCH] psmouse-back.c: fix build with gcc 11 - -Fix the following build failures with gcc 11 by defining inline -functions as static: - -/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/build/drivers/drivers.o: in function `psmouse_extensions': -/home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `lifebook_detect' -/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `alps_detect' -/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `ps2pp_init' -/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `trackpoint_detect' -/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/11.1.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /home/buildroot/autobuild/instance-3/output-1/build/xvisor-0.3.0/drivers/input/mouse/psmouse-base.c:783: undefined reference to `fsp_detect' - -Fixes: - - http://autobuild.buildroot.org/results/69062b9c80567d135edd48890165e69881cf7295 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/xvisor/xvisor/pull/139] ---- - drivers/input/mouse/alps.h | 4 ++-- - drivers/input/mouse/lifebook.h | 6 +++--- - drivers/input/mouse/logips2pp.h | 2 +- - drivers/input/mouse/sentelic.h | 4 ++-- - drivers/input/mouse/trackpoint.h | 2 +- - 5 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h -index ae1ac354..acc1e89e 100644 ---- a/drivers/input/mouse/alps.h -+++ b/drivers/input/mouse/alps.h -@@ -51,11 +51,11 @@ struct alps_data { - int alps_detect(struct psmouse *psmouse, bool set_properties); - int alps_init(struct psmouse *psmouse); - #else --inline int alps_detect(struct psmouse *psmouse, bool set_properties) -+static inline int alps_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } --inline int alps_init(struct psmouse *psmouse) -+static inline int alps_init(struct psmouse *psmouse) - { - return -ENOSYS; - } -diff --git a/drivers/input/mouse/lifebook.h b/drivers/input/mouse/lifebook.h -index 4c4326c6..0baf02a7 100644 ---- a/drivers/input/mouse/lifebook.h -+++ b/drivers/input/mouse/lifebook.h -@@ -16,14 +16,14 @@ void lifebook_module_init(void); - int lifebook_detect(struct psmouse *psmouse, bool set_properties); - int lifebook_init(struct psmouse *psmouse); - #else --inline void lifebook_module_init(void) -+static inline void lifebook_module_init(void) - { - } --inline int lifebook_detect(struct psmouse *psmouse, bool set_properties) -+static inline int lifebook_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } --inline int lifebook_init(struct psmouse *psmouse) -+static inline int lifebook_init(struct psmouse *psmouse) - { - return -ENOSYS; - } -diff --git a/drivers/input/mouse/logips2pp.h b/drivers/input/mouse/logips2pp.h -index 0c186f02..439e9c58 100644 ---- a/drivers/input/mouse/logips2pp.h -+++ b/drivers/input/mouse/logips2pp.h -@@ -14,7 +14,7 @@ - #ifdef CONFIG_MOUSE_PS2_LOGIPS2PP - int ps2pp_init(struct psmouse *psmouse, bool set_properties); - #else --inline int ps2pp_init(struct psmouse *psmouse, bool set_properties) -+static inline int ps2pp_init(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } -diff --git a/drivers/input/mouse/sentelic.h b/drivers/input/mouse/sentelic.h -index aa697ece..42df9e3b 100644 ---- a/drivers/input/mouse/sentelic.h -+++ b/drivers/input/mouse/sentelic.h -@@ -123,11 +123,11 @@ struct fsp_data { - extern int fsp_detect(struct psmouse *psmouse, bool set_properties); - extern int fsp_init(struct psmouse *psmouse); - #else --inline int fsp_detect(struct psmouse *psmouse, bool set_properties) -+static inline int fsp_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } --inline int fsp_init(struct psmouse *psmouse) -+static inline int fsp_init(struct psmouse *psmouse) - { - return -ENOSYS; - } -diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h -index e558a709..f14e59c0 100644 ---- a/drivers/input/mouse/trackpoint.h -+++ b/drivers/input/mouse/trackpoint.h -@@ -145,7 +145,7 @@ struct trackpoint_data - #ifdef CONFIG_MOUSE_PS2_TRACKPOINT - int trackpoint_detect(struct psmouse *psmouse, bool set_properties); - #else --inline int trackpoint_detect(struct psmouse *psmouse, bool set_properties) -+static inline int trackpoint_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } --- -2.32.0 - diff --git a/package/xvisor/xvisor.hash b/package/xvisor/xvisor.hash index 45b6fec49c0..4676db9e8ca 100644 --- a/package/xvisor/xvisor.hash +++ b/package/xvisor/xvisor.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 b1bb2ca09340e87a2f465c65196892cdd0f59b798794ae69e35d1f883cf9ba49 xvisor-0.3.1.tar.xz +sha256 fbced0f74b75758d4859d329b86c213bd24662168179ebfb2b02b987a1070215 xvisor-0.3.2.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/xvisor/xvisor.mk b/package/xvisor/xvisor.mk index d7bb288ea8a..c1b61270f15 100644 --- a/package/xvisor/xvisor.mk +++ b/package/xvisor/xvisor.mk @@ -4,14 +4,14 @@ # ################################################################################ -XVISOR_VERSION = 0.3.1 +XVISOR_VERSION = 0.3.2 XVISOR_SOURCE = xvisor-$(XVISOR_VERSION).tar.xz XVISOR_SITE = http://www.xhypervisor.org/tarball XVISOR_LICENSE = GPL-2.0+ XVISOR_LICENSE_FILES = COPYING XVISOR_INSTALL_IMAGES = YES XVISOR_INSTALL_TARGET = NO -XVISOR_DEPENDENCIES = host-bison host-dtc host-flex +XVISOR_DEPENDENCIES = host-bison host-dtc host-flex $(BR2_PYTHON3_HOST_DEPENDENCY) XVISOR_MAKE_TARGETS = all diff --git a/package/xxhash/0001-fix-man-page-installation.patch b/package/xxhash/0001-fix-man-page-installation.patch deleted file mode 100644 index 5d2a5a4efa8..00000000000 --- a/package/xxhash/0001-fix-man-page-installation.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 836f4e735cf368542f14005e41d2f84ec29dfd60 Mon Sep 17 00:00:00 2001 -From: Yann Collet -Date: Sat, 4 Dec 2021 10:29:49 -0800 -Subject: [PATCH] fix man page installation - -for variant redirectors (`xxh32sum`, `xxh64sum` and `xxh128sum`). -fix #647, reported by @jpalus. - -Also : slightly updated man page text, for clarity and accuracy. - -[Retrieved (and updated to keep only Makefile update) from: -https://github.com/Cyan4973/xxHash/commit/836f4e735cf368542f14005e41d2f84ec29dfd60] -Signed-off-by: Fabrice Fontaine ---- - Makefile | 14 ++++++++------ - cli/xxhsum.1 | 8 ++++---- - cli/xxhsum.1.md | 8 +++++--- - 3 files changed, 17 insertions(+), 13 deletions(-) - -diff --git a/Makefile b/Makefile -index 2fbefbc6..63273e16 100644 ---- a/Makefile -+++ b/Makefile -@@ -457,6 +457,7 @@ endif - - INSTALL_PROGRAM ?= $(INSTALL) - INSTALL_DATA ?= $(INSTALL) -m 644 -+INSTALL_DIR ?= $(INSTALL) -d -m 755 - - - # Escape special symbols by putting each character into its separate class -@@ -496,7 +497,7 @@ libxxhash.pc: libxxhash.pc.in - .PHONY: install - install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page - @echo Installing libxxhash -- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR) -+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR) - $(Q)$(INSTALL_DATA) libxxhash.a $(DESTDIR)$(LIBDIR) - $(Q)$(INSTALL_PROGRAM) $(LIBXXH) $(DESTDIR)$(LIBDIR) - $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT_MAJOR) -@@ -508,19 +509,20 @@ ifeq ($(DISPATCH),1) - $(Q)$(INSTALL_DATA) xxh_x86dispatch.h $(DESTDIR)$(INCLUDEDIR) - endif - @echo Installing pkgconfig -- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/ -+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGCONFIGDIR)/ - $(Q)$(INSTALL_DATA) libxxhash.pc $(DESTDIR)$(PKGCONFIGDIR)/ - @echo Installing xxhsum -- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MANDIR)/ -+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/ - $(Q)$(INSTALL_PROGRAM) xxhsum $(DESTDIR)$(BINDIR)/xxhsum - $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh32sum - $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh64sum - $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh128sum - @echo Installing man pages -+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/ - $(Q)$(INSTALL_DATA) $(MAN) $(DESTDIR)$(MANDIR)/xxhsum.1 -- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh32sum.1 -- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh64sum.1 -- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh128sum.1 -+ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh32sum.1 -+ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh64sum.1 -+ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh128sum.1 - @echo xxhash installation completed - - .PHONY: uninstall diff --git a/package/xxhash/0002-Makefile-add-dedicated-install-targets.patch b/package/xxhash/0002-Makefile-add-dedicated-install-targets.patch deleted file mode 100644 index 17d34a08233..00000000000 --- a/package/xxhash/0002-Makefile-add-dedicated-install-targets.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 0e7418bce83bb9c236d9cb4535a36a80cd0cc663 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 15 Dec 2021 21:45:14 +0100 -Subject: [PATCH] Makefile: add dedicated install targets - -Add dedicated install targets to allow the user to install only xxhsum, -the static library, the shared library, etc. - -This is especially useful on embedded systems where dynamic library is -not always supported by toolchains - -Signed-off-by: Fabrice Fontaine -[Retrieved from: -https://github.com/Cyan4973/xxHash/commit/db9c199e99f7b4d419647b1ef49c547fc2547516] ---- - Makefile | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 8d4fcd21..5fe72972 100644 ---- a/Makefile -+++ b/Makefile -@@ -505,11 +505,14 @@ libxxhash.pc: libxxhash.pc.in - $< > $@ - - --.PHONY: install --install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page -- @echo Installing libxxhash -+install_libxxhash.a: libxxhash.a -+ @echo Installing libxxhash.a - $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR) - $(Q)$(INSTALL_DATA) libxxhash.a $(DESTDIR)$(LIBDIR) -+ -+install_libxxhash: libxxhash -+ @echo Installing libxxhash -+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR) - $(Q)$(INSTALL_PROGRAM) $(LIBXXH) $(DESTDIR)$(LIBDIR) - $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT_MAJOR) - $(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT) -@@ -519,21 +522,30 @@ install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page - ifeq ($(DISPATCH),1) - $(Q)$(INSTALL_DATA) xxh_x86dispatch.h $(DESTDIR)$(INCLUDEDIR) - endif -+ -+install_libxxhash.pc: libxxhash.pc - @echo Installing pkgconfig - $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGCONFIGDIR)/ - $(Q)$(INSTALL_DATA) libxxhash.pc $(DESTDIR)$(PKGCONFIGDIR)/ -+ -+install_xxhsum: xxhsum - @echo Installing xxhsum - $(Q)$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/ - $(Q)$(INSTALL_PROGRAM) xxhsum $(DESTDIR)$(BINDIR)/xxhsum - $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh32sum - $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh64sum - $(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh128sum -+ -+install_man: - @echo Installing man pages - $(Q)$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/ - $(Q)$(INSTALL_DATA) $(MAN) $(DESTDIR)$(MANDIR)/xxhsum.1 - $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh32sum.1 - $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh64sum.1 - $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh128sum.1 -+ -+.PHONY: install -+install: install_libxxhash.a install_libxxhash install_libxxhash.pc install_xxhsum install_man ## install libraries, CLI, links and man page - @echo xxhash installation completed - - .PHONY: uninstall diff --git a/package/xxhash/0003-do-no-longer-depend-on-assert-h-for-XXH_STATIC_ASSERT.patch b/package/xxhash/0003-do-no-longer-depend-on-assert-h-for-XXH_STATIC_ASSERT.patch deleted file mode 100644 index 3b65ae1d6c2..00000000000 --- a/package/xxhash/0003-do-no-longer-depend-on-assert-h-for-XXH_STATIC_ASSERT.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6189ecd3d44a693460f86280ccf49d33cb4b18e1 Mon Sep 17 00:00:00 2001 -From: Yann Collet -Date: Sun, 26 Dec 2021 15:15:26 -0800 -Subject: [PATCH] do no longer depend on `` for XXH_STATIC_ASSERT - -since some versions are buggy. - -Use `_Static_assert` instead, which is part of the C11 language. -[Retrieved from: -https://github.com/Cyan4973/xxHash/commit/6189ecd3d44a693460f86280ccf49d33cb4b18e1] -Signed-off-by: Fabrice Fontaine ---- - xxhash.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/xxhash.h b/xxhash.h -index 311a69c7..5dfd5c45 100644 ---- a/xxhash.h -+++ b/xxhash.h -@@ -1749,8 +1749,7 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) - /* note: use after variable declarations */ - #ifndef XXH_STATIC_ASSERT - # if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */ --# include --# define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do { static_assert((c),m); } while(0) -+# define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do { _Static_assert((c),m); } while(0) - # elif defined(__cplusplus) && (__cplusplus >= 201103L) /* C++11 */ - # define XXH_STATIC_ASSERT_WITH_MESSAGE(c,m) do { static_assert((c),m); } while(0) - # else diff --git a/package/xxhash/xxhash.hash b/package/xxhash/xxhash.hash index 2c99236a45d..216d07ddbdc 100644 --- a/package/xxhash/xxhash.hash +++ b/package/xxhash/xxhash.hash @@ -1,4 +1,4 @@ # locally computed -sha256 3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c xxhash-0.8.1.tar.gz -sha256 553d0035773ddd1590045f8fdc3a4c6ead31e36336721aeca8421e88ed1c9f80 LICENSE +sha256 baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4 xxhash-0.8.2.tar.gz +sha256 6ffedbc0f7878612d2b23589f1ff2ab15633e1df7963a5d9fc750ec5500c7e7a LICENSE sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 cli/COPYING diff --git a/package/xxhash/xxhash.mk b/package/xxhash/xxhash.mk index a8f8d1d179f..7708ba1e196 100644 --- a/package/xxhash/xxhash.mk +++ b/package/xxhash/xxhash.mk @@ -4,30 +4,31 @@ # ################################################################################ -XXHASH_VERSION = 0.8.1 +XXHASH_VERSION = 0.8.2 XXHASH_SITE = $(call github,Cyan4973,xxHash,v$(XXHASH_VERSION)) XXHASH_LICENSE = BSD-2-Clause (library), GPL-2.0+ (xxhsum) XXHASH_LICENSE_FILES = LICENSE cli/COPYING XXHASH_INSTALL_STAGING = YES -XXHASH_TARGETS = xxhsum -XXHASH_INSTALL_TARGETS = install_xxhsum - -ifeq ($(BR2_STATIC_LIBS),y) -XXHASH_TARGETS += libxxhash.a libxxhash.pc -XXHASH_INSTALL_TARGETS += install_libxxhash.a install_libxxhash.pc -else ifeq ($(BR2_SHARED_LIBS),y) -XXHASH_TARGETS += libxxhash libxxhash.pc -XXHASH_INSTALL_TARGETS += install_libxxhash install_libxxhash.pc -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) -XXHASH_TARGETS += libxxhash.a libxxhash libxxhash.pc -XXHASH_INSTALL_TARGETS += \ - install_libxxhash.a install_libxxhash install_libxxhash.pc +XXHASH_TARGETS = xxhsum libxxhash.pc +XXHASH_INSTALL_TARGETS = \ + install_libxxhash.includes \ + install_libxxhash.pc \ + install_xxhsum + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +XXHASH_TARGETS += libxxhash.a +XXHASH_INSTALL_TARGETS += install_libxxhash.a +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +XXHASH_TARGETS += libxxhash +XXHASH_INSTALL_TARGETS += install_libxxhash endif define XXHASH_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - $(XXHASH_TARGETS) + MOREFLAGS=-DXXH_NO_INLINE_HINTS $(XXHASH_TARGETS) endef define XXHASH_INSTALL_STAGING_CMDS diff --git a/package/xz/xz.hash b/package/xz/xz.hash index 3aa68791fd5..3d93ad6b5ee 100644 --- a/package/xz/xz.hash +++ b/package/xz/xz.hash @@ -1,8 +1,9 @@ # Locally calculated after checking pgp signature -sha256 b65f1d0c2708e57716f4dd2216989a73847ac6fdb4168ffceb155767e22b834b xz-5.2.7.tar.bz2 +# https://tukaani.org/xz/xz-5.4.5.tar.bz2.sig +sha256 8ccf5fff868c006f29522e386fb4c6a1b66463fbca65a4cfc3c4bd596e895e79 xz-5.4.5.tar.bz2 # Hash for license files -sha256 bcb02973ef6e87ea73d331b3a80df7748407f17efdb784b61b47e0e610d3bb5c COPYING +sha256 72d7ef9c98be319fd34ce88b45203b36d5936f9c49e82bf3198ffee5e0c7d87e COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPLv3 +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING.GPLv3 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 diff --git a/package/xz/xz.mk b/package/xz/xz.mk index 004eea94b23..547959c743d 100644 --- a/package/xz/xz.mk +++ b/package/xz/xz.mk @@ -4,7 +4,7 @@ # ################################################################################ -XZ_VERSION = 5.2.7 +XZ_VERSION = 5.4.5 XZ_SOURCE = xz-$(XZ_VERSION).tar.bz2 XZ_SITE = https://tukaani.org/xz XZ_INSTALL_STAGING = YES diff --git a/package/yajl/yajl.mk b/package/yajl/yajl.mk index 1fb16f50e95..1a13cb9da8a 100644 --- a/package/yajl/yajl.mk +++ b/package/yajl/yajl.mk @@ -5,9 +5,10 @@ ################################################################################ YAJL_VERSION = 2.1.0 -YAJL_SITE = $(call github,lloyd,yajl,$(YAJL_VERSION)) +YAJL_SITE = $(call github,lloyd,yajl,refs/tags/$(YAJL_VERSION)) YAJL_INSTALL_STAGING = YES YAJL_LICENSE = ISC YAJL_LICENSE_FILES = COPYING +YAJL_CPE_ID_VALID = YES $(eval $(cmake-package)) diff --git a/package/yaml-cpp/yaml-cpp.hash b/package/yaml-cpp/yaml-cpp.hash index 9ad90414398..92bf65d2f79 100644 --- a/package/yaml-cpp/yaml-cpp.hash +++ b/package/yaml-cpp/yaml-cpp.hash @@ -1,3 +1,3 @@ # locally computed -sha256 43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3 yaml-cpp-0.7.0.tar.gz +sha256 fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16 yaml-cpp-0.8.0.tar.gz sha256 aa6fcc27be034e41e21dd832f9175bfe694a48491d9e14ff0fa278e19ad14f1b LICENSE diff --git a/package/yaml-cpp/yaml-cpp.mk b/package/yaml-cpp/yaml-cpp.mk index d65298ffb9c..c259f1e531b 100644 --- a/package/yaml-cpp/yaml-cpp.mk +++ b/package/yaml-cpp/yaml-cpp.mk @@ -4,15 +4,16 @@ # ################################################################################ -YAML_CPP_VERSION = 0.7.0 -YAML_CPP_SITE = $(call github,jbeder,yaml-cpp,yaml-cpp-$(YAML_CPP_VERSION)) +YAML_CPP_VERSION = 0.8.0 +YAML_CPP_SITE = $(call github,jbeder,yaml-cpp,$(YAML_CPP_VERSION)) YAML_CPP_INSTALL_STAGING = YES YAML_CPP_LICENSE = MIT YAML_CPP_LICENSE_FILES = LICENSE -YAML_CPP_CPE_ID_VENDOR = yaml-cpp_project +YAML_CPP_CPE_ID_VALID = YES # Disable testing and parse tools YAML_CPP_CONF_OPTS += \ + -DCMAKE_DEBUG_POSTFIX="" \ -DYAML_CPP_BUILD_TESTS=OFF \ -DYAML_CPP_BUILD_TOOLS=OFF diff --git a/package/yasm/yasm.mk b/package/yasm/yasm.mk index b294bd3aeec..cdb8e15bee2 100644 --- a/package/yasm/yasm.mk +++ b/package/yasm/yasm.mk @@ -8,6 +8,7 @@ YASM_VERSION = 1.3.0 YASM_SITE = http://www.tortall.net/projects/yasm/releases YASM_LICENSE = BSD-2-Clause, BSD-3-Clause, Artistic, GPL-2.0, LGPL-2.0 YASM_LICENSE_FILES = COPYING BSD.txt Artistic.txt GNU_GPL-2.0 GNU_LGPL-2.0 +YASM_CPE_ID_VENDOR = tortall # This sed prevents it compiling 2 programs (vsyasm and ytasm) # that are only of use on Microsoft Windows. diff --git a/package/yavta/yavta.mk b/package/yavta/yavta.mk index d16bee69b11..db481b77b95 100644 --- a/package/yavta/yavta.mk +++ b/package/yavta/yavta.mk @@ -5,7 +5,7 @@ ################################################################################ YAVTA_VERSION = 583bedefc2a247d2cfd32d1b4a0abbe3e2015c70 -YAVTA_SITE = https://git.ideasonboard.org/git/yavta.git +YAVTA_SITE = https://git.ideasonboard.org/yavta.git YAVTA_SITE_METHOD = git YAVTA_LICENSE = GPL-2.0+ YAVTA_LICENSE_FILES = COPYING.GPL diff --git a/package/ytree/0001-fix-musl.patch b/package/ytree/0001-fix-musl.patch deleted file mode 100644 index 0a24744669e..00000000000 --- a/package/ytree/0001-fix-musl.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix musl build - -Fixes - - match.c.text+0x9c): undefined reference to `re_comp' - match.c.text+0xca): undefined reference to `re_exec' - -by forcing to use the 'modern' regex methods implementation instead of -the obsolete re_comp/re_exec ([1]) one? - -[1] http://man7.org/linux/man-pages/man3/re_comp.3.html - -Signed-off-by: Bernd Kuhls - -diff -uNr ytree-1.99pl2.orig/match.c ytree-1.99pl2/match.c ---- ytree-1.99pl2.orig/match.c 2019-09-29 12:37:57.000000000 +0200 -+++ ytree-1.99pl2/match.c 2019-10-01 19:46:56.193815327 +0200 -@@ -10,7 +10,7 @@ - #include "ytree.h" - - #if defined( sun ) || defined( linux ) || defined( __NeXT__ ) || defined( OSF1 ) || defined( __OpenBSD__ ) || defined(__NetBSD__) || defined( __FreeBSD__ ) || defined( __GNU__ ) --#define HAS_REGEX -+#define HAS_REGCOMP - #endif - - #ifdef linux diff --git a/package/ytree/ytree.hash b/package/ytree/ytree.hash index 88ca8282bfd..f3fbba8673b 100644 --- a/package/ytree/ytree.hash +++ b/package/ytree/ytree.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 6e7a8b7f68efe6d365abe33a1d06d739ad85f22a3d54ddd0aec24a3478d66642 ytree-2.04.tar.gz +sha256 8cf8b151e4913b5b7f7a91dffd5c7306106a42477ec44e71d62c75f66ab61a57 ytree-2.05.tar.gz sha256 eb6bf7204569b4fe8eaf9d4dffc57e44047c5efb5deba1b2d99069ddbc99d031 COPYING diff --git a/package/ytree/ytree.mk b/package/ytree/ytree.mk index a64ebe83eda..1bd2df46b67 100644 --- a/package/ytree/ytree.mk +++ b/package/ytree/ytree.mk @@ -4,7 +4,7 @@ # ################################################################################ -YTREE_VERSION = 2.04 +YTREE_VERSION = 2.05 YTREE_SITE = https://www.han.de/~werner YTREE_LICENSE = GPL-2.0+ YTREE_LICENSE_FILES = COPYING diff --git a/package/z3/Config.in b/package/z3/Config.in index 55b0e8bb3b2..8cd31286879 100644 --- a/package/z3/Config.in +++ b/package/z3/Config.in @@ -1,11 +1,33 @@ +# z3 supports arch for which libc fenv.h provides all four macros: +# FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD +# See for example in glibc https://sourceware.org/git/glibc.git +# git grep -E '^[[:space:]]*#[[:space:]]*define[[:space:]]+FE_(TONEAREST|UPWARD|DOWNWARD|TOWARDZERO)' sysdeps/ +config BR2_PACKAGE_Z3_ARCH_SUPPORTS + bool + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arceb || BR2_arcle + default y if BR2_arm || BR2_armeb + default y if BR2_i386 + default y if BR2_m68k + # BR2_microblaze has only FE_TONEAREST + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + # BR2_nios2 has only FE_TONEAREST + default y if BR2_or1k + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_riscv + default y if BR2_s390x + # BR2_sh has only FE_{TONEAREST,TOWARDZERO} + default y if BR2_sparc || BR2_sparc64 + default y if BR2_x86_64 + # BR2_xtensa supports only uclibc which does not have fenv.h + config BR2_PACKAGE_Z3 bool "z3" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # c++17 # z3 needs fenv.h which is not provided by uclibc depends on !BR2_TOOLCHAIN_USES_UCLIBC - # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 - depends on !BR2_nios2 + depends on BR2_PACKAGE_Z3_ARCH_SUPPORTS help Z3, also known as the Z3 Theorem Prover, is a cross-platform satisfiability modulo theories (SMT) solver. diff --git a/package/z3/z3.hash b/package/z3/z3.hash index d38c5f19711..e8110991fa1 100644 --- a/package/z3/z3.hash +++ b/package/z3/z3.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e3a82431b95412408a9c994466fad7252135c8ed3f719c986cd75c8c5f234c7e z3-4.11.2.tar.gz +sha256 70e211e0a8e77febccc51865e45111066f623356a4ef0b527c3597362bc6db72 z3-4.12.5.tar.gz sha256 e617cad2ab9347e3129c2b171e87909332174e17961c5c3412d0799469111337 LICENSE.txt diff --git a/package/z3/z3.mk b/package/z3/z3.mk index 2252e053951..facbdec486f 100644 --- a/package/z3/z3.mk +++ b/package/z3/z3.mk @@ -4,7 +4,7 @@ # ################################################################################ -Z3_VERSION = 4.11.2 +Z3_VERSION = 4.12.5 Z3_SITE = $(call github,Z3Prover,z3,z3-$(Z3_VERSION)) Z3_LICENSE = MIT Z3_LICENSE_FILES = LICENSE.txt diff --git a/package/zabbix/0002-fix-build-with-libressl-3.5.0.patch b/package/zabbix/0002-fix-build-with-libressl-3.5.0.patch new file mode 100644 index 00000000000..acb5cfc9a67 --- /dev/null +++ b/package/zabbix/0002-fix-build-with-libressl-3.5.0.patch @@ -0,0 +1,71 @@ +From 5c8511384f1d41f9c2a131604d5cb2dbc1c0aec9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 24 Feb 2023 12:23:56 +0100 +Subject: [PATCH] fix build with libressl >= 3.5.0 + +Fix the following build failure with libressl >= 3.5.0: + +tls.c:113:17: error: static declaration of 'OPENSSL_cleanup' follows non-static declaration + 113 | static void OPENSSL_cleanup(void) + | ^~~~~~~~~~~~~~~ +In file included from /home/thomas/autobuild/instance-3/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/openssl/bio.h:69, + from /home/thomas/autobuild/instance-3/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/openssl/evp.h:67, + from /home/thomas/autobuild/instance-3/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/openssl/hmac.h:67, + from /home/thomas/autobuild/instance-3/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:150, + from ../../../include/zbxcomms.h:65, + from tls.c:20: +/home/thomas/autobuild/instance-3/output-1/host/mips-buildroot-linux-gnu/sysroot/usr/include/openssl/crypto.h:565:6: note: previous declaration of 'OPENSSL_cleanup' with type 'void(void)' + 565 | void OPENSSL_cleanup(void); + | ^~~~~~~~~~~~~~~ +In file included from tls.c:20: +tls.c: In function 'zbx_log_ciphersuites': +../../../include/zbxcomms.h:222:75: error: invalid use of incomplete typedef 'SSL_CTX' {aka 'struct ssl_ctx_st'} + 222 | # define SSL_CTX_get_ciphers(ciphers) ((ciphers)->cipher_list) + | ^~ +tls.c:1415:31: note: in expansion of macro 'SSL_CTX_get_ciphers' + 1415 | cipher_list = SSL_CTX_get_ciphers(ciphers); + | ^~~~~~~~~~~~~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/acdfcb17b39d438ccf5e4621707a10f60577d233 + +Signed-off-by: Fabrice Fontaine +[Upstream status: not sent (no feedback on first patch)] +--- + include/zbxcomms.h | 3 ++- + src/libs/zbxcomms/tls.c | 5 +++-- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/include/zbxcomms.h b/include/zbxcomms.h +index e7d74dbd0f..d6efa358fe 100644 +--- a/include/zbxcomms.h ++++ b/include/zbxcomms.h +@@ -253,7 +253,8 @@ int zbx_telnet_execute(ZBX_SOCKET socket_fd, const char *command, AGENT_RESULT * + /* TLS BLOCK */ + #if defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL) + +-#if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) ++#if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x1010000fL || \ ++ defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL + # if !defined(LIBRESSL_VERSION_NUMBER) + # define OPENSSL_INIT_LOAD_SSL_STRINGS 0 + # define OPENSSL_INIT_LOAD_CRYPTO_STRINGS 0 +diff --git a/src/libs/zbxcomms/tls.c b/src/libs/zbxcomms/tls.c +index 54ab0a6ef4..bd4075b3e4 100644 +--- a/src/libs/zbxcomms/tls.c ++++ b/src/libs/zbxcomms/tls.c +@@ -30,8 +30,9 @@ + #include "zbxstr.h" + #include "zbxtime.h" + +-#if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) +-/* for OpenSSL 1.0.1/1.0.2 (before 1.1.0) or LibreSSL */ ++#if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x1010000fL || \ ++ defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3050000fL ++/* for OpenSSL 1.0.1/1.0.2 (before 1.1.0) or LibreSSL (before 3.5.0) */ + + /* mutexes for multi-threaded OpenSSL (see "man 3ssl threads" and example in crypto/threads/mttest.c) */ + +-- +2.39.1 + diff --git a/package/zabbix/Config.in b/package/zabbix/Config.in index 0f7a0b0003b..9ac668117da 100644 --- a/package/zabbix/Config.in +++ b/package/zabbix/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_ZABBIX bool "zabbix" depends on BR2_TOOLCHAIN_USES_GLIBC - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE2 help Zabbix is an enterprise-class open source distributed monitoring solution. Zabbix is free of cost. Zabbix is @@ -26,7 +26,7 @@ config BR2_PACKAGE_ZABBIX_SERVER depends on BR2_USE_MMU # mysql, postgresql depends on \ (BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) || \ - (BR2_USE_WCHAR && !BR2_STATIC_LIBS) + (BR2_USE_WCHAR && !BR2_STATIC_LIBS && !BR2_OPTIMIZE_FAST) select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LIBEVENT @@ -39,7 +39,7 @@ config BR2_PACKAGE_ZABBIX_SERVER_MYSQL bool "mysql" depends on BR2_INSTALL_LIBSTDCPP # mysql depends on BR2_TOOLCHAIN_HAS_THREADS # mysql - select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_MARIADB config BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL bool "postgresql" diff --git a/package/zabbix/zabbix.hash b/package/zabbix/zabbix.hash index 42cc0bda579..bb6127e5ecf 100644 --- a/package/zabbix/zabbix.hash +++ b/package/zabbix/zabbix.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 19686628df76e8d5ef7c2ed2975b258c7ca3ec7d151b1bb59d7e132f9fc7c941 zabbix-5.4.9.tar.gz -sha256 10d68ec3abacc29222c07748fc5e5cb9474fd7cd9ccdde1b92ff941ded946b78 README +sha256 6d423810667b948ed22052d9aa84a035e2d4b92cbe8efdb669cac529806b722d zabbix-6.2.7.tar.gz +sha256 f8fc3fd12521b60d53d8c5d48a883eb3c9c5ddec9de986a273e1b77f69d811db README sha256 444fe54aecc95ac0f3314289c300afc73b3946a4dc9fbd7e022709b3e0924dd0 COPYING diff --git a/package/zabbix/zabbix.mk b/package/zabbix/zabbix.mk index adc54028ad2..76568f5a18c 100644 --- a/package/zabbix/zabbix.mk +++ b/package/zabbix/zabbix.mk @@ -4,18 +4,19 @@ # ################################################################################ -ZABBIX_VERSION_MAJOR = 5.4 -ZABBIX_VERSION = $(ZABBIX_VERSION_MAJOR).9 +ZABBIX_VERSION_MAJOR = 6.2 +ZABBIX_VERSION = $(ZABBIX_VERSION_MAJOR).7 ZABBIX_SITE = https://cdn.zabbix.com/zabbix/sources/stable/$(ZABBIX_VERSION_MAJOR) +ZABBIX_SELINUX_MODULES = zabbix ZABBIX_LICENSE = GPL-2.0+ ZABBIX_LICENSE_FILES = README COPYING ZABBIX_CPE_ID_VENDOR = zabbix # We're patching m4/netsnmp.m4 ZABBIX_AUTORECONF = YES -ZABBIX_DEPENDENCIES = pcre +ZABBIX_DEPENDENCIES = host-pkgconf pcre2 ZABBIX_CONF_OPTS = \ - --with-libpcre=$(STAGING_DIR)/usr/bin/ \ + --with-libpcre2 \ --without-sqlite3 \ --enable-agent \ --disable-agent2 \ @@ -106,7 +107,7 @@ ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_SERVER_COPY_FRONTEND endif ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_MYSQL),y) -ZABBIX_DEPENDENCIES += mysql +ZABBIX_DEPENDENCIES += mariadb ZABBIX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr/bin/mysql_config --without-postgresql ZABBIX_DATABASE = mysql else ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL),y) @@ -125,6 +126,13 @@ endif endif # BR2_PACKAGE_ZABBIX_SERVER +# zabbix uses custom --enable-{static,shared} options, instead of +# standard libtool directives resulting in a build failure with libcurl +# or openssl. +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +ZABBIX_CONF_OPTS += --disable-static +endif + define ZABBIX_INSTALL_INIT_SYSTEMD $(foreach unit,$(ZABBIX_SYSTEMD_UNITS),\ $(INSTALL) -D -m 0644 $(ZABBIX_PKGDIR)/$(unit) $(TARGET_DIR)/usr/lib/systemd/system/$(unit) && \ diff --git a/package/zbar/0001-python-enum-fix-build-for-Python-3.11.patch b/package/zbar/0001-python-enum-fix-build-for-Python-3.11.patch deleted file mode 100644 index f525b62184f..00000000000 --- a/package/zbar/0001-python-enum-fix-build-for-Python-3.11.patch +++ /dev/null @@ -1,62 +0,0 @@ -From fbaec4b4e6fe735efe6916fe5b92805a0d96bf8a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= - -Date: Wed, 21 Sep 2022 10:32:11 +0700 -Subject: [PATCH] python: enum: fix build for Python 3.11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Python 3.9 introduced Py_SET_SIZE function to set size instead of -relying on Py_SIZE() as a macro [3.9]. - -Python 3.10 started to encourage to use Py_SET_SIZE instead of -assigning into return value of Py_SIZE [3.10]. - -Python 3.11 flips the switch, turn Py_SIZE into a function [3.11], -thus Py_SIZE(obj) will be a rvalue. We need to use Py_SET_SIZE -to set size now. - -[3.9]: https://docs.python.org/3.9/c-api/structures.html#c.Py_SET_SIZE -[3.10]: https://docs.python.org/3.10/c-api/structures.html#c.Py_SIZE -[3.11]: https://docs.python.org/3.11/c-api/structures.html#c.Py_SIZE - -Signed-off-by: Đoàn Trần Công Danh -Signed-off-by: James Hilliard -[Upstream status: -https://github.com/mchehab/zbar/pull/231] ---- - python/enum.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/python/enum.c b/python/enum.c -index dfe1b1e..946344f 100644 ---- a/python/enum.c -+++ b/python/enum.c -@@ -52,7 +52,11 @@ enumitem_new (PyTypeObject *type, - - /* we assume the "fast path" for a single-digit ints (see longobject.c) */ - /* this also holds if we get a small_int preallocated long */ -+#if PY_VERSION_HEX >= 0x03090000 -+ Py_SET_SIZE(&self->val, Py_SIZE(longval)); -+#else - Py_SIZE(&self->val) = Py_SIZE(longval); -+#endif - self->val.ob_digit[0] = longval->ob_digit[0]; - Py_DECREF(longval); - #else -@@ -143,7 +147,11 @@ zbarEnumItem_New (PyObject *byname, - - /* we assume the "fast path" for a single-digit ints (see longobject.c) */ - /* this also holds if we get a small_int preallocated long */ -+#if PY_VERSION_HEX >= 0x03090000 -+ Py_SET_SIZE(&self->val, Py_SIZE(longval)); -+#else - Py_SIZE(&self->val) = Py_SIZE(longval); -+#endif - self->val.ob_digit[0] = longval->ob_digit[0]; - Py_DECREF(longval); - --- -2.34.1 - diff --git a/package/zbar/zbar.hash b/package/zbar/zbar.hash index a4303266dba..0136b1d1f37 100644 --- a/package/zbar/zbar.hash +++ b/package/zbar/zbar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9152c8fb302b3891e1cb9cc719883d2f4ccd2483e3430783a2cf2d93bd5901ad zbar-0.23.90.tar.bz2 +sha256 83be8f85fc7c288fd91f98d52fc55db7eedbddcf10a83d9221d7034636683fa0 zbar-0.23.93.tar.bz2 sha256 44260f9252c7fe38ba8dfb645330504f4a375e3a5e9dd7d5d6b9f04adb4952f1 LICENSE.md diff --git a/package/zbar/zbar.mk b/package/zbar/zbar.mk index fb83fa01d5f..86f33796a24 100644 --- a/package/zbar/zbar.mk +++ b/package/zbar/zbar.mk @@ -4,11 +4,12 @@ # ################################################################################ -ZBAR_VERSION = 0.23.90 +ZBAR_VERSION = 0.23.93 ZBAR_SOURCE = zbar-$(ZBAR_VERSION).tar.bz2 ZBAR_SITE = https://www.linuxtv.org/downloads/zbar ZBAR_LICENSE = LGPL-2.1+ ZBAR_LICENSE_FILES = LICENSE.md +ZBAR_CPE_ID_VALID = YES ZBAR_INSTALL_STAGING = YES ZBAR_DEPENDENCIES = libv4l jpeg $(TARGET_NLS_DEPENDENCIES) # uses C99 features @@ -17,7 +18,6 @@ ZBAR_CONF_ENV = \ LIBS=$(TARGET_NLS_LIBS) ZBAR_CONF_OPTS = \ --disable-doc \ - --without-imagemagick \ --without-qt \ --without-qt5 \ --without-gtk \ @@ -31,6 +31,13 @@ else ZBAR_CONF_OPTS += --without-dbus endif +ifeq ($(BR2_PACKAGE_IMAGEMAGICK),y) +ZBAR_DEPENDENCIES += imagemagick +ZBAR_CONF_OPTS += --with-imagemagick +else +ZBAR_CONF_OPTS += --without-imagemagick +endif + ifeq ($(BR2_PACKAGE_PYTHON3),y) ZBAR_DEPENDENCIES += host-python3 python3 ZBAR_CONF_OPTS += --with-python=python3 diff --git a/package/zchunk/0001-meson-fix-argp-standalone-wrap-and-find_library.patch b/package/zchunk/0001-meson-fix-argp-standalone-wrap-and-find_library.patch deleted file mode 100644 index 6c9cdba3adc..00000000000 --- a/package/zchunk/0001-meson-fix-argp-standalone-wrap-and-find_library.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 473c97cda44b95f5cea08a0cdd566e602df564db Mon Sep 17 00:00:00 2001 -From: James Hilliard -Date: Thu, 21 Apr 2022 14:24:01 -0600 -Subject: [PATCH] meson: fix argp-standalone wrap and find_library - -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -473c97cda44b95f5cea08a0cdd566e602df564db] ---- - .github/workflows/main.yml | 27 --------------------------- - meson.build | 6 +++--- - subprojects/argp-standalone.wrap | 7 +++++++ - 3 files changed, 10 insertions(+), 30 deletions(-) - create mode 100644 subprojects/argp-standalone.wrap - -diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml -index c49806f..35667af 100644 ---- a/.github/workflows/main.yml -+++ b/.github/workflows/main.yml -@@ -35,25 +35,11 @@ jobs: - steps: - - uses: actions/checkout@v2 - -- - uses: actions/checkout@v2 -- with: -- repository: wolfv/argp-standalone -- path: argp-standalone -- - - name: Install mamba - uses: mamba-org/provision-with-micromamba@main - with: - environment-file: .github/environment.yml - -- - name: Compile argp-standalone -- shell: cmd /C CALL {0} -- run: | -- CALL micromamba activate zchunk_test_env -- cd argp-standalone -- meson setup builddir -- meson compile -C builddir --prefix=%CONDA_PREFIX%\Library -- meson install -C builddir -- - - name: Compile zchunk - shell: cmd /C CALL {0} - run: | -@@ -75,11 +61,6 @@ jobs: - steps: - - uses: actions/checkout@v2 - -- - uses: actions/checkout@v2 -- with: -- repository: wolfv/argp-standalone -- path: argp-standalone -- - - uses: actions/setup-python@v1 - with: - python-version: '3.x' -@@ -87,14 +68,6 @@ jobs: - - name: Install meson and ninja - run: pip install meson ninja - -- - name: Compile argp-standalone -- shell: cmd /C CALL {0} -- run: | -- cd argp-standalone -- meson setup builddir -- meson compile -C builddir -- meson install -C builddir -- - - name: Compile zchunk - shell: cmd /C CALL {0} - run: | -diff --git a/meson.build b/meson.build -index 1c6b32d..aa7dd25 100644 ---- a/meson.build -+++ b/meson.build -@@ -58,10 +58,10 @@ endif - - # argp-standalone dependency (if required) - if build_machine.system() == 'windows' or build_machine.system() == 'darwin' or build_machine.system() == 'freebsd' or not cc.links('#include \nstatic error_t parse_opt (int key, char *arg, struct argp_state *state) { argp_usage(state); return 0; }; void main() {}') -- if fs.is_dir(join_paths([get_option('prefix'), 'include'])) -- inc += include_directories(join_paths([get_option('prefix'), 'include'])) -+ argplib = cc.find_library('argp', has_headers : ['argp.h'], required: false) -+ if not argplib.found() -+ argplib = dependency('argp-standalone') - endif -- argplib = cc.find_library('argp', dirs : join_paths([get_option('prefix'), 'lib'])) - else - argplib = dependency('', required : false) - endif -diff --git a/subprojects/argp-standalone.wrap b/subprojects/argp-standalone.wrap -new file mode 100644 -index 0000000..14c0b63 ---- /dev/null -+++ b/subprojects/argp-standalone.wrap -@@ -0,0 +1,7 @@ -+[wrap-git] -+directory = argp-standalone-1.4.1 -+url = https://github.com/argp-standalone/argp-standalone.git -+revision = 21855f34ec9997c37e1a08cd69497336513a5800 -+ -+[provide] -+dependency_names = argp-standalone --- -2.25.1 - diff --git a/package/zchunk/0002-zck-declare-write_data-as-static.patch b/package/zchunk/0002-zck-declare-write_data-as-static.patch deleted file mode 100644 index 3c48ab3d509..00000000000 --- a/package/zchunk/0002-zck-declare-write_data-as-static.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 477c4e891bd4d9e41fcbaa07cd1a37c0975df5cc Mon Sep 17 00:00:00 2001 -From: James Hilliard -Date: Wed, 4 May 2022 16:32:48 -0600 -Subject: [PATCH] zck: declare write_data as static - -This needs to be declared static to avoid a symbol conflict: -io.c:(.text+0xe8): multiple definition of `write_data'; src/zck.p/zck.c.o:zck.c:(.text+0x1f4): first defined here - -Fixes: - - http://autobuild.buildroot.net/results/225/22590a7038a40da3700d56c1f82f7dc74225702a - -Signed-off-by: James Hilliard -[james.hilliard1@gmail.com: backport from upstream commit -477c4e891bd4d9e41fcbaa07cd1a37c0975df5cc] ---- - src/zck.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/zck.c b/src/zck.c -index 7727479..83b2630 100644 ---- a/src/zck.c -+++ b/src/zck.c -@@ -159,7 +159,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) { - - static struct argp argp = {options, parse_opt, args_doc, doc}; - --void write_data(zckCtx *zck, char *data, ssize_t in_size) { -+static void write_data(zckCtx *zck, char *data, ssize_t in_size) { - if(zck_write(zck, data, in_size) < 0) { - LOG_ERROR("%s", zck_get_error(zck)); - exit(1); --- -2.25.1 - diff --git a/package/zchunk/zchunk.hash b/package/zchunk/zchunk.hash index fa097d4ae0a..15103a9ea06 100644 --- a/package/zchunk/zchunk.hash +++ b/package/zchunk/zchunk.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bc36f13b1bcb2ab52d046bfc3ec04a9bd1f89b070b4e8fca52eded235a583526 zchunk-1.2.2.tar.gz +sha256 4d923d32af7db33f3c0a6655b258e857a2ca564912cf85ddce14e9b1b7d495bf zchunk-1.3.2.tar.gz sha256 3c6a4fd5a93cacec6bf694d0537246bc15a95a274f5c5301749754e56d27b797 LICENSE diff --git a/package/zchunk/zchunk.mk b/package/zchunk/zchunk.mk index fc91f90431c..39d51ac3524 100644 --- a/package/zchunk/zchunk.mk +++ b/package/zchunk/zchunk.mk @@ -4,11 +4,13 @@ # ################################################################################ -ZCHUNK_VERSION = 1.2.2 +ZCHUNK_VERSION = 1.3.2 ZCHUNK_SITE = $(call github,zchunk,zchunk,$(ZCHUNK_VERSION)) ZCHUNK_LICENSE = BSD-2-Clause ZCHUNK_LICENSE_FILES = LICENSE +ZCHUNK_CPE_ID_VENDOR = zchunk ZCHUNK_INSTALL_STAGING = YES +ZCHUNK_CONF_OPTS = -Ddocs=false -Dtests=false ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) ZCHUNK_DEPENDENCIES += argp-standalone $(TARGET_NLS_DEPENDENCIES) diff --git a/package/zeek/Config.in b/package/zeek/Config.in index 114ec4235de..730388ded75 100644 --- a/package/zeek/Config.in +++ b/package/zeek/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_ZEEK select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_ZLIB help The Zeek Network Security Monitor diff --git a/package/zerofree/Config.in b/package/zerofree/Config.in index 99466d6baec..e7007819d87 100644 --- a/package/zerofree/Config.in +++ b/package/zerofree/Config.in @@ -9,6 +9,6 @@ config BR2_PACKAGE_ZEROFREE https://frippery.org/uml/ -comment "zerofree needs a toolchain w/ dynamic library" +comment "zerofree needs a toolchain w/ dynamic library" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS diff --git a/package/zeromq/zeromq.hash b/package/zeromq/zeromq.hash index 5085fbca330..e5ac289656d 100644 --- a/package/zeromq/zeromq.hash +++ b/package/zeromq/zeromq.hash @@ -1,7 +1,6 @@ # From https://github.com/zeromq/libzmq/releases -md5 c897d4005a3f0b8276b00b7921412379 zeromq-4.3.4.tar.gz -sha1 47277a64749049123d1401600e8cfbab10a3ae28 zeromq-4.3.4.tar.gz +md5 ae933b1e98411fd7cb8309f9502d2737 zeromq-4.3.5.tar.gz +sha1 bdbf686c8a40ba638e21cf74e34dbb425e108500 zeromq-4.3.5.tar.gz # Locally computed -sha256 c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5 zeromq-4.3.4.tar.gz -sha256 4fd86507c9b486764343065a9e035222869a27b5789efeb4fd93edc85412d7a3 COPYING -sha256 83f32abe61ee58ffb1b007412c08415168c052501dbf56d7a47aaaac52b03ef6 COPYING.LESSER +sha256 6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43 zeromq-4.3.5.tar.gz +sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENSE diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk index 452c5f42917..f1a1f02f9e1 100644 --- a/package/zeromq/zeromq.mk +++ b/package/zeromq/zeromq.mk @@ -4,12 +4,12 @@ # ################################################################################ -ZEROMQ_VERSION = 4.3.4 +ZEROMQ_VERSION = 4.3.5 ZEROMQ_SITE = https://github.com/zeromq/libzmq/releases/download/v$(ZEROMQ_VERSION) ZEROMQ_INSTALL_STAGING = YES -ZEROMQ_CONF_OPTS = --disable-Werror --without-documentation -ZEROMQ_LICENSE = LGPL-3.0+ with exceptions -ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER +ZEROMQ_CONF_OPTS = --disable-perf --disable-Werror --without-documentation +ZEROMQ_LICENSE = MPL-2.0 +ZEROMQ_LICENSE_FILES = LICENSE ZEROMQ_CPE_ID_VENDOR = zeromq ZEROMQ_CPE_ID_PRODUCT = libzmq diff --git a/package/zfs/Config.in b/package/zfs/Config.in index 6209c5865b7..049e0716f3a 100644 --- a/package/zfs/Config.in +++ b/package/zfs/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_ZFS depends on BR2_PACKAGE_HAS_UDEV depends on BR2_USE_MMU # util-linux (libblkid) depends on BR2_TOOLCHAIN_HAS_THREADS # libtirpc + select BR2_LINUX_NEEDS_MODULES select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBUUID diff --git a/package/zfs/zfs.hash b/package/zfs/zfs.hash index 0bce3817fee..9c8d4cec850 100644 --- a/package/zfs/zfs.hash +++ b/package/zfs/zfs.hash @@ -1,6 +1,5 @@ -# From https://github.com/openzfs/zfs/releases/download/zfs-2.1.7/zfs-2.1.7.sha256.asc -sha256 6462e63e185de6ff10c64ffa6ed773201a082f9dd13e603d7e8136fcb4aca71b zfs-2.1.7.tar.gz -sha256 96a27353fe717ff2c8b95deb8b009c4eb750303c6400e2d8a2582ab1ec12b25a bc3f12bfac152a0c28951cec92340ba14f9ccee9.patch +# From https://github.com/openzfs/zfs/releases/download/zfs-2.2.4/zfs-2.2.4.sha256.asc +sha256 9790905f7683d41759418e1ef3432828c31116654ff040e91356ff1c21c31ec0 zfs-2.2.4.tar.gz # Hash for license files: sha256 1ffb70c33c4f79f04e947facc5c7851f289609256aacb47fc115f700427d9520 LICENSE diff --git a/package/zfs/zfs.mk b/package/zfs/zfs.mk index 84e9099ba90..fa6d282f8c3 100644 --- a/package/zfs/zfs.mk +++ b/package/zfs/zfs.mk @@ -4,17 +4,18 @@ # ################################################################################ -ZFS_VERSION = 2.1.7 +ZFS_VERSION = 2.2.4 ZFS_SITE = https://github.com/openzfs/zfs/releases/download/zfs-$(ZFS_VERSION) -ZFS_PATCH = https://github.com/openzfs/zfs/commit/bc3f12bfac152a0c28951cec92340ba14f9ccee9.patch +ZFS_SELINUX_MODULES = zfs ZFS_LICENSE = CDDL ZFS_LICENSE_FILES = LICENSE COPYRIGHT ZFS_CPE_ID_VENDOR = openzfs ZFS_CPE_ID_PRODUCT = openzfs +# 0001-config-user-check-for-aio.h.patch ZFS_AUTORECONF = YES -ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl +ZFS_DEPENDENCIES = libaio openssl udev util-linux zlib libcurl linux # sysvinit installs only a commented-out modules-load.d/ config file ZFS_CONF_OPTS = \ @@ -57,6 +58,14 @@ else ZFS_CONF_OPTS += --disable-pam endif +# Sets the environment for the `make` that will be run ZFS autotools checks. +ZFS_CONF_ENV += \ + ARCH=$(KERNEL_ARCH) \ + CROSS_COMPILE="$(TARGET_CROSS)" +ZFS_MAKE_ENV += \ + ARCH=$(KERNEL_ARCH) \ + CROSS_COMPILE="$(TARGET_CROSS)" + # ZFS userland tools are unfunctional without the Linux kernel modules. ZFS_MODULE_SUBDIRS = \ module/avl \ @@ -78,5 +87,7 @@ define ZFS_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_ZLIB_INFLATE) endef -$(eval $(kernel-module)) +# Even though zfs builds a kernel module, it gets built directly by +# the autotools logic, so we don't use the kernel-module +# infrastructure. $(eval $(autotools-package)) diff --git a/package/zic/zic.hash b/package/zic/zic.hash index 40f68f02996..80c96ed7934 100644 --- a/package/zic/zic.hash +++ b/package/zic/zic.hash @@ -1,4 +1,4 @@ -# From https://mm.icann.org/pipermail/tz-announce/2022-October/000075.html -sha512 3e2ef91b972f1872e3e8da9eae9d1c4638bfdb32600f164484edd7147be45a116db80443cd5ae61b5c34f8b841e4362f4beefd957633f6cc9b7def543ed6752b tzcode2022f.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2024-February/000081.html +sha512 46da8bfa762c7d109db93e5c060789097fc0e1e38bdad5bb8fec886ef47f138bd03b913a743cd5f7e23dc359a72bfd63e7ffc0de199d2b51e6a174361dbdc43c tzcode2024a.tar.gz # Locally computed: sha256 0613408568889f5739e5ae252b722a2659c02002839ad970a63dc5e9174b27cf LICENSE diff --git a/package/zic/zic.mk b/package/zic/zic.mk index 229afaadc21..8abcec93605 100644 --- a/package/zic/zic.mk +++ b/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2022f +ZIC_VERSION = 2024a ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz ZIC_SITE = https://www.iana.org/time-zones/repository/releases ZIC_STRIP_COMPONENTS = 0 @@ -12,7 +12,7 @@ ZIC_LICENSE = Public domain ZIC_LICENSE_FILES = LICENSE define HOST_ZIC_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) zic + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) zic endef define HOST_ZIC_INSTALL_CMDS diff --git a/package/zip/zip.hash b/package/zip/zip.hash index eb4bbf3b033..cbb96beb313 100644 --- a/package/zip/zip.hash +++ b/package/zip/zip.hash @@ -1,3 +1,3 @@ # Locally calculated from download (no sig, hash) -sha256 f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 zip30.tgz +sha256 f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369 zip30.tar.gz sha256 8ecd6c1bab449127eb665cef1561e73a8bce52e217375f6f466939e137b1e110 LICENSE diff --git a/package/zip/zip.mk b/package/zip/zip.mk index 2d11e1c7636..0457ba94143 100644 --- a/package/zip/zip.mk +++ b/package/zip/zip.mk @@ -5,13 +5,12 @@ ################################################################################ ZIP_VERSION = 3.0 -# The version is really 3.0, but the tarball is named zip30.tgz -ZIP_SOURCE = zip$(subst .,,$(ZIP_VERSION)).tgz -ZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src +# The version is really 3.0, but the tarball is named zip30.tar.gz +ZIP_SOURCE = zip$(subst .,,$(ZIP_VERSION)).tar.gz +ZIP_SITE = https://sourceforge.net/projects/infozip/files/Zip%203.x%20%28latest%29/$(ZIP_VERSION) ZIP_LICENSE = Info-ZIP ZIP_LICENSE_FILES = LICENSE ZIP_CPE_ID_VENDOR = info-zip_project -ZIP_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_BZIP2),y) ZIP_DEPENDENCIES += bzip2 @@ -32,7 +31,7 @@ ZIP_TARGET_CFLAGS = \ define ZIP_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ CFLAGS="$(ZIP_TARGET_CFLAGS) $(ZIP_CFLAGS)" \ - AS="$(TARGET_CC) -c" \ + CC="$(TARGET_CC) -std=gnu89" AS="$(TARGET_CC) -c" \ -f unix/Makefile generic endef @@ -41,15 +40,10 @@ define ZIP_INSTALL_TARGET_CMDS prefix=$(TARGET_DIR)/usr endef -define ZIP_INSTALLING_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f unix/Makefile install \ - prefix=$(STAGING_DIR)/usr -endef - define HOST_ZIP_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) \ CFLAGS="$(HOST_CFLAGS) $(ZIP_CFLAGS)" \ - AS="$(HOSTCC) -c" \ + CC="$(HOSTCC) -std=gnu89" AS="$(HOSTCC) -c" \ -f unix/Makefile generic endef diff --git a/package/zlib-ng/0001-Use-static-keyword-for-vec_sumsu-to-prevent-undefine.patch b/package/zlib-ng/0001-Use-static-keyword-for-vec_sumsu-to-prevent-undefine.patch deleted file mode 100644 index cc103215de3..00000000000 --- a/package/zlib-ng/0001-Use-static-keyword-for-vec_sumsu-to-prevent-undefine.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 677f56825f7080403e18e57ffe8177f3df290f20 Mon Sep 17 00:00:00 2001 -From: Nathan Moinvaziri -Date: Sun, 23 Jan 2022 12:59:01 -0800 -Subject: [PATCH] Use static keyword for vec_sumsu to prevent undefined - reference error when g++ linking. - -Signed-off-by: Joel Stanley ---- - arch/power/adler32_power8.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/power/adler32_power8.c b/arch/power/adler32_power8.c -index 029aa3a84c57..fc4086322efc 100644 ---- a/arch/power/adler32_power8.c -+++ b/arch/power/adler32_power8.c -@@ -44,7 +44,7 @@ - #include "adler32_p.h" - - /* Vector across sum unsigned int (saturate). */ --inline vector unsigned int vec_sumsu(vector unsigned int __a, vector unsigned int __b) { -+static inline vector unsigned int vec_sumsu(vector unsigned int __a, vector unsigned int __b) { - __b = vec_sld(__a, __a, 8); - __b = vec_add(__b, __a); - __a = vec_sld(__b, __b, 4); --- -2.35.1 - diff --git a/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch b/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch deleted file mode 100644 index 749c45ddcad..00000000000 --- a/package/zlib-ng/0002-CMakeLists.txt-fix-version-in-zlib.pc-when-building-.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 9fcc446306f27eb253545540ce28403874b899fa Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 27 May 2022 23:25:21 +0200 -Subject: [PATCH] CMakeLists.txt: fix version in zlib.pc when building - statically - -When building statically (i.e. with BUILD_SHARED_LIBS=OFF), -ZLIB_FULL_VERSION is not set resulting in an empty version in zlib.pc -and the following build failure with transmission: - -checking for ZLIB... configure: error: Package requirements (zlib >= 1.2.3) were not met: - -Package dependency requirement 'zlib >= 1.2.3' could not be satisfied. -Package 'zlib' has version '', required version is '>= 1.2.3' - -Fixes: - - http://autobuild.buildroot.org/results/b3b882482f517726e5c780ba4c37818bd379df82 - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/zlib-ng/zlib-ng/pull/1278] ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a62a95e..6a26d59 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -150,8 +150,10 @@ if(ZLIB_COMPAT) - add_definitions(-DZLIB_COMPAT) - set(WITH_GZFILEOP ON) - set(SUFFIX "") -+ set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) - else() - set(SUFFIX "-ng") -+ set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) - endif() - - if(WITH_GZFILEOP) -@@ -1068,10 +1070,8 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) - set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) - - if(ZLIB_COMPAT) -- set(ZLIB_FULL_VERSION ${ZLIB_HEADER_VERSION}.zlib-ng) - set_target_properties(zlib PROPERTIES SOVERSION 1) - else() -- set(ZLIB_FULL_VERSION ${ZLIBNG_HEADER_VERSION}) - set_target_properties(zlib PROPERTIES SOVERSION 2) - endif() - --- -2.35.1 - diff --git a/package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch b/package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch deleted file mode 100644 index ba8297cda7b..00000000000 --- a/package/zlib-ng/0003-zlib-ng-check-that-sys-auxv.h-exists-at-configure-time.patch +++ /dev/null @@ -1,90 +0,0 @@ -From e1baa6b439c06f3d0e6be3e381cc746ffb55aee1 Mon Sep 17 00:00:00 2001 -From: Mika Lindqvist -Date: Wed, 13 Apr 2022 01:22:29 +0300 -Subject: [PATCH] Check that sys/auxv.h exists at configure time and add - preprocessor define for it. * Protect including sys/auxv.h in all relevant - files with the new preprocessor define * Test for both existence of both - sys/auxv.h and getauxval() with both cmake and configure - -[Ben Hutchings: Backport to 2.0.6: - - Drop the s390 changes - - Change some filenames] - -Backported from: e1baa6b439c06f3d0e6be3e381cc746ffb55aee1 -Signed-off-by: Ben Hutchings ---- - CMakeLists.txt | 4 ++++ - arch/arm/armfeature.c | 2 +- - arch/power/power.c | 5 ++++- - configure | 13 +++++++++++++ - 4 files changed, 22 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0dd196130..e4e4b7332 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -338,6 +338,10 @@ endif() - # - # Check for standard/system includes - # -+check_include_file(sys/auxv.h HAVE_SYS_AUXV_H) -+if(HAVE_SYS_AUXV_H) -+ add_definitions(-DHAVE_SYS_AUXV_H) -+endif() - check_include_file(sys/sdt.h HAVE_SYS_SDT_H) - if(HAVE_SYS_SDT_H) - add_definitions(-DHAVE_SYS_SDT_H) -diff --git a/arch/arm/arm_features.c b/arch/arm/arm_features.c -index 195c94992..f6b67687f 100644 ---- a/arch/arm/armfeature.c -+++ b/arch/arm/armfeature.c -@@ -1,6 +1,6 @@ - #include "../../zutil.h" - --#if defined(__linux__) -+#if defined(__linux__) && defined(HAVE_SYS_AUXV_H) - # include - # ifdef ARM_ASM_HWCAP - # include -diff --git a/arch/power/power_features.c b/arch/power/power_features.c -index 9186b40d8..65599d9a7 100644 ---- a/arch/power/power.c -+++ b/arch/power/power.c -@@ -1,9 +1,12 @@ - /* POWER feature check - * Copyright (C) 2020 Matheus Castanho , IBM -+ * Copyright (C) 2021-2022 Mika T. Lindqvist - * For conditions of distribution and use, see copyright notice in zlib.h - */ - --#include -+#ifdef HAVE_SYS_AUXV_H -+# include -+#endif - #include "../../zutil.h" - - Z_INTERNAL int power_cpu_has_arch_2_07; -diff --git a/configure b/configure -index aed1909cc..a357e1c8a 100755 ---- a/configure -+++ b/configure -@@ -776,6 +776,19 @@ else - echo "Checking for strerror... No." | tee -a configure.log - fi - -+# check for getauxval() for architecture feature detection at run-time -+cat > $test.c < -+int main() { return getauxval(0); } -+EOF -+if try $CC $CFLAGS -o $test $test.c $LDSHAREDLIBC; then -+ echo "Checking for getauxval() in sys/auxv.h... Yes." | tee -a configure.log -+ CFLAGS="${CFLAGS} -DHAVE_SYS_AUXV_H" -+ SFLAGS="${SFLAGS} -DHAVE_SYS_AUXV_H" -+else -+ echo "Checking for getauxval() in sys/auxv.h... No." | tee -a configure.log -+fi -+ - # We need to remove zconf.h from source directory if building outside of it - if [ "$SRCDIR" != "$BUILDDIR" ]; then - rm -f $SRCDIR/zconf${SUFFIX}.h diff --git a/package/zlib-ng/zlib-ng.hash b/package/zlib-ng/zlib-ng.hash index a799cfe253c..a2fe98435c9 100644 --- a/package/zlib-ng/zlib-ng.hash +++ b/package/zlib-ng/zlib-ng.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6 zlib-ng-2.0.6.tar.gz +sha256 d20e55f89d71991c59f1c5ad1ef944815e5850526c0d9cd8e504eaed5b24491a zlib-ng-2.1.3.tar.gz sha256 d3c80be055d94d798eaa786116e84fa0b010bc11420b5d2060d978ea77845436 LICENSE.md diff --git a/package/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk index aa65d8437db..33e8754c9d2 100644 --- a/package/zlib-ng/zlib-ng.mk +++ b/package/zlib-ng/zlib-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZLIB_NG_VERSION = 2.0.6 +ZLIB_NG_VERSION = 2.1.3 ZLIB_NG_SITE = $(call github,zlib-ng,zlib-ng,$(ZLIB_NG_VERSION)) ZLIB_NG_LICENSE = Zlib ZLIB_NG_LICENSE_FILES = LICENSE.md @@ -13,6 +13,7 @@ ZLIB_NG_PROVIDES = zlib # Build with zlib compatible API, gzFile support and optimizations on ZLIB_NG_CONF_OPTS += \ + -DCMAKE_C_COMPILER_TARGET=$(BR2_ARCH) \ -DWITH_GZFILEOP=1 \ -DWITH_OPTIM=1 \ -DZLIB_COMPAT=1 \ @@ -35,4 +36,10 @@ else ZLIB_NG_CONF_OPTS += -DWITH_POWER8=OFF endif +ifeq ($(BR2_powerpc_power9),y) +ZLIB_NG_CONF_OPTS += -DWITH_POWER9=ON +else +ZLIB_NG_CONF_OPTS += -DWITH_POWER9=OFF +endif + $(eval $(cmake-package)) diff --git a/package/zlog/zlog.hash b/package/zlog/zlog.hash index 3b7c6aa78c5..19881183e98 100644 --- a/package/zlog/zlog.hash +++ b/package/zlog/zlog.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 742401902f2134eb272c49631fe5c38d7aeb9a2ad56fa3ec3d15219b371ba655 zlog-1.2.16.tar.gz -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING +sha256 7fe412130abbb75a0779df89ae407db5d8f594435cc4ff6b068d924e13fd5c68 zlog-1.2.17.tar.gz +sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE diff --git a/package/zlog/zlog.mk b/package/zlog/zlog.mk index 329f2cfe2c3..e5bbf6ff3bf 100644 --- a/package/zlog/zlog.mk +++ b/package/zlog/zlog.mk @@ -4,16 +4,17 @@ # ################################################################################ -ZLOG_VERSION = 1.2.16 +ZLOG_VERSION = 1.2.17 ZLOG_SITE = $(call github,HardySimpson,zlog,$(ZLOG_VERSION)) -ZLOG_LICENSE = LGPL-2.1 -ZLOG_LICENSE_FILES = COPYING -ZLOG_CPE_ID_VENDOR = zlog_project +ZLOG_LICENSE = Apache-2.0 +ZLOG_LICENSE_FILES = LICENSE +ZLOG_CPE_ID_VALID = YES ZLOG_INSTALL_STAGING = YES define ZLOG_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ - -C $(@D) all + $(TARGET_MAKE_ENV) $(MAKE1) \ + CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \ + WARNINGS="" -C $(@D) all endef define ZLOG_INSTALL_STAGING_CMDS diff --git a/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch b/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch new file mode 100644 index 00000000000..d0019e21a40 --- /dev/null +++ b/package/znc/0001-LibreSSL-3.5-opaqued-structures.patch @@ -0,0 +1,27 @@ +From 87f3dac8ba8dea5628b05416bdef454b4ef2d236 Mon Sep 17 00:00:00 2001 +From: Charlie Li +Date: Mon, 14 Mar 2022 17:36:36 -0400 +Subject: [PATCH] LibreSSL 3.5 opaqued structures + +Downloaded from upstream commit +https://github.com/znc/Csocket/commit/87f3dac8ba8dea5628b05416bdef454b4ef2d236 + +Signed-off-by: Bernd Kuhls +(rebased for znc) +--- + Csocket.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Csocket.cc b/Csocket.cc +index 46a3bfd..a30da14 100644 +--- a/third_party/Csocket/Csocket.cc ++++ b/third_party/Csocket/Csocket.cc +@@ -61,7 +61,7 @@ + # define OPENSSL_NO_TLS1_1 /* 1.0.1-pre~: openssl/openssl@637f374ad49d5f6d4f81d87d7cdd226428aa470c */ + # define OPENSSL_NO_TLS1_2 /* 1.0.1-pre~: openssl/openssl@7409d7ad517650db332ae528915a570e4e0ab88b */ + # endif +-# ifndef LIBRESSL_VERSION_NUMBER /* forked from OpenSSL 1.0.1g, sets high version "with the idea of discouraging software from relying on magic numbers for detecting features"(!) */ ++# if !defined(LIBRESSL_VERSION_NUMBER) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x03050000fL) + # if OPENSSL_VERSION_NUMBER >= 0x10100000 + # undef HAVE_ERR_REMOVE_THREAD_STATE /* 1.1.0-pre4: openssl/openssl@8509dcc9f319190c565ab6baad7c88d37a951d1c */ + # undef OPENSSL_NO_SSL2 /* 1.1.0-pre4: openssl/openssl@e80381e1a3309f5d4a783bcaa508a90187a48882 */ diff --git a/package/znc/0002-Fix-build-with-libressl.patch b/package/znc/0002-Fix-build-with-libressl.patch new file mode 100644 index 00000000000..b8d22445fb0 --- /dev/null +++ b/package/znc/0002-Fix-build-with-libressl.patch @@ -0,0 +1,68 @@ +From dcb5f3df82fcfec48aab356252067dc897fb98cf Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov +Date: Sun, 14 Nov 2021 00:45:01 +0000 +Subject: [PATCH] Fix build with libressl + +It got another feature of openssl implemented, which broke this + +Downloaded from upstream commit +https://github.com/znc/znc/commit/dcb5f3df82fcfec48aab356252067dc897fb98cf + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 14 ++++++++++++++ + include/znc/zncconfig.h.cmake.in | 1 + + modules/schat.cpp | 3 +-- + 3 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0913ff2691..1f77f5632b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,6 +82,20 @@ endmacro() + tristate_option(OPENSSL "Support SSL") + if(WANT_OPENSSL) + find_package(OpenSSL ${TRISTATE_OPENSSL_REQUIRED}) ++ ++ if(OPENSSL_FOUND) ++ # SSL_SESSION was made opaque in OpenSSL 1.1.0; ++ # LibreSSL gained that function later too. ++ # TODO: maybe remove this check at some point, and stop supporting old ++ # libssl versions ++ function(check_SSL_SESSION_get0_cipher) ++ set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) ++ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) ++ check_cxx_symbol_exists(SSL_SESSION_get0_cipher openssl/ssl.h ++ HAVE_SSL_SESSION_get0_cipher) ++ endfunction() ++ check_SSL_SESSION_get0_cipher() ++ endif() + endif() + set(HAVE_LIBSSL "${OPENSSL_FOUND}") + +diff --git a/include/znc/zncconfig.h.cmake.in b/include/znc/zncconfig.h.cmake.in +index 5426b828af..7b07b99aec 100644 +--- a/include/znc/zncconfig.h.cmake.in ++++ b/include/znc/zncconfig.h.cmake.in +@@ -31,6 +31,7 @@ + #define HAVE_PTHREAD 1 + #cmakedefine HAVE_THREADED_DNS 1 + #cmakedefine HAVE_LIBSSL 1 ++#cmakedefine HAVE_SSL_SESSION_get0_cipher 1 + #cmakedefine HAVE_IPV6 1 + #cmakedefine HAVE_ZLIB 1 + #cmakedefine HAVE_I18N 1 +diff --git a/modules/schat.cpp b/modules/schat.cpp +index aa7a338dcd..66e67e695c 100644 +--- a/modules/schat.cpp ++++ b/modules/schat.cpp +@@ -25,8 +25,7 @@ + #include + #include + +-#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERSION_NUMBER) || \ +- OPENSSL_VERSION_NUMBER < 0x10100007 ++#ifndef HAVE_SSL_SESSION_get0_cipher + /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher accessor was added 2 + weeks before the public release. + See openssl/openssl@e92813234318635639dba0168c7ef5568757449b. */ diff --git a/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch b/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch new file mode 100644 index 00000000000..a2946643fc8 --- /dev/null +++ b/package/znc/0003-DH_set0_pqg-and-DH_get0_key-have-existed-since-Libre.patch @@ -0,0 +1,30 @@ +From 7c8ac8981a8516edaba469641aff4d8ec452ae9e Mon Sep 17 00:00:00 2001 +From: Charlie Li +Date: Mon, 14 Mar 2022 18:32:46 -0400 +Subject: [PATCH] DH_set0_pqg and DH_get0_key have existed since LibreSSL 2.7 + +https://github.com/libressl-portable/openbsd/commit/848e2a019c796b685fc8c5848283b86e48fbe0bf +https://github.com/libressl-portable/openbsd/commit/3789e379353c1d53313a249461b3d735de4ac742 + +Downloaded from upstream commit +https://github.com/znc/znc/commit/7c8ac8981a8516edaba469641aff4d8ec452ae9e + +Signed-off-by: Bernd Kuhls +--- + modules/crypt.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules/crypt.cpp b/modules/crypt.cpp +index 7655371b6e..68f7aafcea 100644 +--- a/modules/crypt.cpp ++++ b/modules/crypt.cpp +@@ -68,7 +68,8 @@ class CCryptMod : public CModule { + CString m_sPrivKey; + CString m_sPubKey; + +-#if OPENSSL_VERSION_NUMBER < 0X10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0X10100000L || \ ++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02070000fL) + static int DH_set0_pqg(DH* dh, BIGNUM* p, BIGNUM* q, BIGNUM* g) { + /* If the fields p and g in dh are nullptr, the corresponding input + * parameters MUST be non-nullptr. q may remain nullptr. diff --git a/package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch b/package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch new file mode 100644 index 00000000000..cb0988e6314 --- /dev/null +++ b/package/znc/0004-Add-support-SWIG-4.1.0-drop-support-for-4.0.1.patch @@ -0,0 +1,53 @@ +From fecdd9895894b3afe903021b0843a422eb4d3308 Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov +Date: Sat, 5 Nov 2022 12:54:40 +0000 +Subject: [PATCH] Add support SWIG 4.1.0, drop support for < 4.0.1 + +https://bugs.gentoo.org/878587 + +Upstream: https://github.com/znc/znc/commit/fecdd9895894b3afe903021b0843a422eb4d3308 + +Signed-off-by: Bernd Kuhls +--- + CMakeLists.txt | 2 +- + modules/modperl/CMakeLists.txt | 1 - + modules/modpython/CMakeLists.txt | 1 - + 3 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9d43578e0e..efab0ee1ee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -173,7 +173,7 @@ if(WANT_PYTHON AND NOT EXISTS + endif() + endif() + if(search_swig) +- find_package(SWIG 3.0.0) ++ find_package(SWIG 4.0.1) + if(NOT SWIG_FOUND) + message(FATAL_ERROR + "Can't find SWIG, therefore Perl and Python aren't supported. " +diff --git a/modules/modperl/CMakeLists.txt b/modules/modperl/CMakeLists.txt +index e18fe47644..a87f74e478 100644 +--- a/modules/modperl/CMakeLists.txt ++++ b/modules/modperl/CMakeLists.txt +@@ -53,7 +53,6 @@ if(SWIG_FOUND) + "-I${PROJECT_SOURCE_DIR}/include" + "-I${CMAKE_CURRENT_SOURCE_DIR}/.." + "-I${CMAKE_CURRENT_SOURCE_DIR}/include" +- -DZNC_EXPORT_LIB_EXPORT + -outdir "${CMAKE_CURRENT_BINARY_DIR}" + -o "${CMAKE_CURRENT_BINARY_DIR}/modperl_biglib.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/modperl.i" +diff --git a/modules/modpython/CMakeLists.txt b/modules/modpython/CMakeLists.txt +index edbeb41ed5..36a2e649f0 100644 +--- a/modules/modpython/CMakeLists.txt ++++ b/modules/modpython/CMakeLists.txt +@@ -50,7 +50,6 @@ if(SWIG_FOUND) + "-I${PROJECT_BINARY_DIR}/include" + "-I${PROJECT_SOURCE_DIR}/include" + "-I${CMAKE_CURRENT_SOURCE_DIR}/.." +- -DZNC_EXPORT_LIB_EXPORT + -outdir "${CMAKE_CURRENT_BINARY_DIR}" + -o "${CMAKE_CURRENT_BINARY_DIR}/modpython_biglib.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/modpython.i" diff --git a/package/zstd/zstd.hash b/package/zstd/zstd.hash index eca44b89f03..abfb1d62e20 100644 --- a/package/zstd/zstd.hash +++ b/package/zstd/zstd.hash @@ -1,6 +1,6 @@ -# From https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz.sha256 -sha256 7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0 zstd-1.5.2.tar.gz +# From https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz.sha256 +sha256 9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4 zstd-1.5.5.tar.gz # License files (locally computed) -sha256 2c1a7fa704df8f3a606f6fc010b8b5aaebf403f3aeec339a12048f1ba7331a0b LICENSE +sha256 7055266497633c9025b777c78eb7235af13922117480ed5c674677adc381c9d8 LICENSE sha256 f9c375a1be4a41f7b70301dd83c91cb89e41567478859b77eef375a52d782505 COPYING diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk index e8f6315222f..e25202fd63c 100644 --- a/package/zstd/zstd.mk +++ b/package/zstd/zstd.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZSTD_VERSION = 1.5.2 +ZSTD_VERSION = 1.5.5 ZSTD_SITE = https://github.com/facebook/zstd/releases/download/v$(ZSTD_VERSION) ZSTD_INSTALL_STAGING = YES ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 @@ -96,14 +96,18 @@ define ZSTD_INSTALL_TARGET_CMDS endef HOST_ZSTD_OPTS += PREFIX=$(HOST_DIR) +HOST_ZSTD_ENV = $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) + +# We are a ccache dependency, so we can't use ccache +HOST_ZSTD_ENV += CC="$(HOSTCC_NOCCACHE)" CXX="$(HOSTCXX_NOCCACHE)" define HOST_ZSTD_BUILD_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) $(HOST_ZSTD_OPTS) \ + $(HOST_ZSTD_ENV) $(MAKE) $(HOST_ZSTD_OPTS) \ -C $(@D) zstd-release lib-release endef define HOST_ZSTD_INSTALL_CMDS - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) $(HOST_ZSTD_OPTS) \ + $(HOST_ZSTD_ENV) $(MAKE) $(HOST_ZSTD_OPTS) \ -C $(@D) install endef diff --git a/package/zxing-cpp/0001-Link-library-with-OpenCV-make-libs-private-not-exported-to-the-users.patch b/package/zxing-cpp/0001-Link-library-with-OpenCV-make-libs-private-not-exported-to-the-users.patch deleted file mode 100644 index 90b23203842..00000000000 --- a/package/zxing-cpp/0001-Link-library-with-OpenCV-make-libs-private-not-exported-to-the-users.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9e5dfa57f3b998bc3049bfa893b20e81dea656df Mon Sep 17 00:00:00 2001 -From: Yuri -Date: Sat, 20 Apr 2019 07:28:26 -0700 -Subject: [PATCH] Link library with OpenCV, not only the executable, make libs - PRIVATE. - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/glassechidna/zxing-cpp/pull/86] ---- - CMakeLists.txt | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 738f4e1..efe3aee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -60,10 +60,12 @@ include_directories(core/src) - add_library(libzxing ${LIBZXING_FILES}) - set_target_properties(libzxing PROPERTIES PREFIX "") - -+set(libzxing_LIBS "") -+ - find_package(Iconv) - if(ICONV_FOUND) - include_directories(${ICONV_INCLUDE_DIR}) -- target_link_libraries(libzxing ${ICONV_LIBRARIES}) -+ set(libzxing_LIBS ${libzxing_LIBS} ${ICONV_LIBRARIES}) - else() - add_definitions(-DNO_ICONV=1) - endif() -@@ -75,9 +77,12 @@ if(OpenCV_FOUND) - "./opencv-cli/src/*.h" - ) - add_executable(zxing-cv ${OPENCV_ZXING_FILES}) -+ set(libzxing_LIBS ${libzxing_LIBS} ${OpenCV_LIBRARIES}) - target_link_libraries(zxing-cv libzxing ${OpenCV_LIBRARIES}) - endif() - -+target_link_libraries(libzxing PRIVATE ${libzxing_LIBS}) -+ - # Add cli executable. - file(GLOB_RECURSE ZXING_FILES - "./cli/src/*.cpp" diff --git a/package/zxing-cpp/0002-CMakeLists-txt-add-BUILD_OPENCV-option.patch b/package/zxing-cpp/0002-CMakeLists-txt-add-BUILD_OPENCV-option.patch deleted file mode 100644 index 31753d7c244..00000000000 --- a/package/zxing-cpp/0002-CMakeLists-txt-add-BUILD_OPENCV-option.patch +++ /dev/null @@ -1,39 +0,0 @@ -From fe740316af970f57ec511cdeafb512510e4842a9 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 9 Nov 2019 17:21:13 +0100 -Subject: [PATCH] CMakeLists.txt: add BUILD_OPENCV option - -Add BUILD_OPENCV option to allow the user to disable OpenCV. It is -especially useful as opencv library can be built without highgui support - -Signed-off-by: Fabrice Fontaine -[Upstream status: https://github.com/glassechidna/zxing-cpp/pull/90] ---- - CMakeLists.txt | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 738f4e1..12913cd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.0) - project(zxing) - - option(BUILD_TESTING "Enable generation of test targets" OFF) -+option(BUILD_OPENCV "Enable OpenCV classes and OpenCV cli executable" ON) - - set(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH}) - -@@ -44,8 +45,10 @@ else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - endif() - --# OpenCV classes --find_package(OpenCV) -+if (BUILD_OPENCV) -+ # OpenCV classes -+ find_package(OpenCV) -+endif() - if(OpenCV_FOUND) - list(APPEND LIBZXING_FILES - opencv/src/zxing/MatSource.cpp diff --git a/package/zxing-cpp/Config.in b/package/zxing-cpp/Config.in index c1109219a0c..b72a00ec35f 100644 --- a/package/zxing-cpp/Config.in +++ b/package/zxing-cpp/Config.in @@ -1,14 +1,19 @@ -comment "zxing-cpp needs a toolchain w/ C++, dynamic library" - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS +comment "zxing-cpp needs a toolchain w/ C++, wchar, dynamic library, threads" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_ZXING_CPP bool "zxing-cpp" depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_STB + select BR2_PACKAGE_PYTHON_PYBIND if BR2_PACKAGE_PYTHON3 help ZXing-cpp (pronounced "zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. This compiles the C++ port. - https://github.com/glassechidna/zxing-cpp + https://github.com/zxing-cpp/zxing-cpp diff --git a/package/zxing-cpp/zxing-cpp.hash b/package/zxing-cpp/zxing-cpp.hash index cabe3e70d42..6c6917ed865 100644 --- a/package/zxing-cpp/zxing-cpp.hash +++ b/package/zxing-cpp/zxing-cpp.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4c2b8601d0e3377143c1a0bbab220146af9fa5a5e29e8fbef42862fe3d38f8e6 zxing-cpp-e0e40ddec63f38405aca5c8c1ff60b85ec8b1f10.tar.gz +sha256 6d54e403592ec7a143791c6526c1baafddf4c0897bb49b1af72b70a0f0c4a3fe zxing-cpp-2.1.0.tar.gz # License files -sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 COPYING +sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 LICENSE diff --git a/package/zxing-cpp/zxing-cpp.mk b/package/zxing-cpp/zxing-cpp.mk index e9c80b44538..86a1ef96806 100644 --- a/package/zxing-cpp/zxing-cpp.mk +++ b/package/zxing-cpp/zxing-cpp.mk @@ -4,23 +4,28 @@ # ################################################################################ -ZXING_CPP_VERSION = e0e40ddec63f38405aca5c8c1ff60b85ec8b1f10 -ZXING_CPP_SITE = $(call github,glassechidna,zxing-cpp,$(ZXING_CPP_VERSION)) +ZXING_CPP_VERSION = 2.1.0 +ZXING_CPP_SITE = $(call github,zxing-cpp,zxing-cpp,v$(ZXING_CPP_VERSION)) ZXING_CPP_LICENSE = Apache-2.0 -ZXING_CPP_LICENSE_FILES = COPYING +ZXING_CPP_LICENSE_FILES = LICENSE ZXING_CPP_INSTALL_STAGING = YES ZXING_CPP_SUPPORTS_IN_SOURCE_BUILD = NO -ZXING_CPP_CONF_OPTS = -DBUILD_TESTING=OFF +ZXING_CPP_DEPENDENCIES = host-pkgconf stb +ZXING_CPP_CONF_OPTS = \ + -DBUILD_READERS=ON \ + -DBUILD_WRITERS=ON \ + -DBUILD_BLACKBOX_TESTS=OFF \ + -DBUILD_UNIT_TESTS=OFF \ + -DBUILD_DEPENDENCIES=LOCAL -ifeq ($(BR2_PACKAGE_LIBICONV),y) -ZXING_CPP_DEPENDENCIES += libiconv -endif - -ifeq ($(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI),y) -ZXING_CPP_DEPENDENCIES += opencv3 -ZXING_CPP_CONF_OPTS += -DBUILD_OPENCV=ON +ifeq ($(BR2_PACKAGE_PYTHON3)$(BR2_PACKAGE_PYTHON_PYBIND),yy) +ZXING_CPP_DEPENDENCIES += python3 python-pybind +ZXING_CPP_CONF_OPTS += \ + -DBUILD_PYTHON_MODULE=ON \ + -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 \ + -DPYTHON_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) else -ZXING_CPP_CONF_OPTS += -DBUILD_OPENCV=OFF +ZXING_CPP_CONF_OPTS += -DBUILD_PYTHON_MODULE=OFF endif $(eval $(cmake-package)) diff --git a/package/zynaddsubfx/0001-MidiIn-Add-stdint.h-header-include.patch b/package/zynaddsubfx/0001-MidiIn-Add-stdint.h-header-include.patch new file mode 100644 index 00000000000..ea4eb661906 --- /dev/null +++ b/package/zynaddsubfx/0001-MidiIn-Add-stdint.h-header-include.patch @@ -0,0 +1,26 @@ +From 4f1565f18cf71867f25f31c50c3a5e6995f49ae6 Mon Sep 17 00:00:00 2001 +From: fundamental +Date: Sat, 22 Apr 2023 10:21:09 -0400 +Subject: [PATCH] MidiIn: Add stdint.h header include + +Upstream: https://github.com/zynaddsubfx/zynaddsubfx/commit/70905c96fe7b9ffde19bc4bc05b0dc53a1ed1707 +Signed-off-by: Julien Olivain +--- + src/Nio/MidiIn.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Nio/MidiIn.h b/src/Nio/MidiIn.h +index ce0bcfec..c6b30c61 100644 +--- a/src/Nio/MidiIn.h ++++ b/src/Nio/MidiIn.h +@@ -17,6 +17,7 @@ + #define MIDI_IN_H + + #include "Engine.h" ++#include //uint8_t + + namespace zyn { + +-- +2.41.0 + diff --git a/package/zynaddsubfx/0002-Bank-Add-stdint.h-header-include.patch b/package/zynaddsubfx/0002-Bank-Add-stdint.h-header-include.patch new file mode 100644 index 00000000000..556854a9e2f --- /dev/null +++ b/package/zynaddsubfx/0002-Bank-Add-stdint.h-header-include.patch @@ -0,0 +1,28 @@ +From eab3bc1712e5af7e6aef942a24e833ce2c429436 Mon Sep 17 00:00:00 2001 +From: fundamental +Date: Wed, 19 Apr 2023 21:52:01 -0400 +Subject: [PATCH] Bank: Add stdint.h header include + +As uint8_t is used, this header should be included. + +Upstream: https://github.com/zynaddsubfx/zynaddsubfx/commit/f384d92486d6b515cb628d0f52008a9e03341d8c +Signed-off-by: Julien Olivain +--- + src/Misc/Bank.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Misc/Bank.h b/src/Misc/Bank.h +index 5120441a..3f324dd8 100644 +--- a/src/Misc/Bank.h ++++ b/src/Misc/Bank.h +@@ -18,6 +18,7 @@ + #include + #include "../globals.h" + #include "Config.h" ++#include + + //entries in a bank + #define BANK_SIZE 160 +-- +2.41.0 + diff --git a/package/zziplib/zziplib.mk b/package/zziplib/zziplib.mk index 6b7b64cacca..6cb9dedce81 100644 --- a/package/zziplib/zziplib.mk +++ b/package/zziplib/zziplib.mk @@ -8,7 +8,7 @@ ZZIPLIB_VERSION = 0.13.72 ZZIPLIB_SITE = $(call github,gdraheim,zziplib,v$(ZZIPLIB_VERSION)) ZZIPLIB_LICENSE = LGPL-2.0+ or MPL-1.1 ZZIPLIB_LICENSE_FILES = docs/COPYING.LIB docs/COPYING.MPL docs/copying.htm -ZZIPLIB_CPE_ID_VENDOR = zziplib_project +ZZIPLIB_CPE_ID_VALID = YES ZZIPLIB_INSTALL_STAGING = YES ZZIPLIB_CONF_OPTS += \ -DZZIPDOCS=OFF \ diff --git a/support/config-fragments/autobuild/bootlin-s390x-z13-glibc.config b/support/config-fragments/autobuild/bootlin-s390x-z13-glibc.config new file mode 100644 index 00000000000..fe3f0380c9f --- /dev/null +++ b/support/config-fragments/autobuild/bootlin-s390x-z13-glibc.config @@ -0,0 +1,5 @@ +BR2_s390x=y +BR2_s390x_z13=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_BLEEDING_EDGE=y diff --git a/support/config-fragments/autobuild/bootlin-x86-i686-musl.config b/support/config-fragments/autobuild/bootlin-x86-i686-musl.config new file mode 100644 index 00000000000..697e9c625ec --- /dev/null +++ b/support/config-fragments/autobuild/bootlin-x86-i686-musl.config @@ -0,0 +1,5 @@ +BR2_i386=y +BR2_x86_i686=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y +BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE=y diff --git a/support/config-fragments/autobuild/br-arm-internal-glibc.config b/support/config-fragments/autobuild/br-arm-internal-glibc.config index fb930cbef7c..cd148f32e63 100644 --- a/support/config-fragments/autobuild/br-arm-internal-glibc.config +++ b/support/config-fragments/autobuild/br-arm-internal-glibc.config @@ -1,6 +1,6 @@ BR2_arm=y BR2_cortex_a8=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_BINUTILS_VERSION_2_36_X=y -BR2_GCC_VERSION_11_X=y +BR2_BINUTILS_VERSION_2_39_X=y +BR2_GCC_VERSION_12_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y diff --git a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config deleted file mode 100644 index 1b3c45fe9b0..00000000000 --- a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config +++ /dev/null @@ -1,10 +0,0 @@ -BR2_x86_pentium_mmx=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2020.11.2.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_9=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y -# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/sourcery-arm-armv4t.config b/support/config-fragments/autobuild/sourcery-arm-armv4t.config deleted file mode 100644 index 4c0e01fecba..00000000000 --- a/support/config-fragments/autobuild/sourcery-arm-armv4t.config +++ /dev/null @@ -1,4 +0,0 @@ -BR2_arm=y -BR2_arm920t=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y diff --git a/support/config-fragments/autobuild/sourcery-arm-thumb2.config b/support/config-fragments/autobuild/sourcery-arm-thumb2.config deleted file mode 100644 index e726757a161..00000000000 --- a/support/config-fragments/autobuild/sourcery-arm-thumb2.config +++ /dev/null @@ -1,7 +0,0 @@ -BR2_arm=y -BR2_cortex_a8=y -BR2_ARM_EABI=y -BR2_ARM_INSTRUCTIONS_THUMB2=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y -BR2_TARGET_OPTIMIZATION="" diff --git a/support/config-fragments/autobuild/sourcery-arm.config b/support/config-fragments/autobuild/sourcery-arm.config deleted file mode 100644 index 8ade4647f20..00000000000 --- a/support/config-fragments/autobuild/sourcery-arm.config +++ /dev/null @@ -1,3 +0,0 @@ -BR2_arm=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv index 0b19051543e..c5ae4d1ecb6 100644 --- a/support/config-fragments/autobuild/toolchain-configs.csv +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -18,9 +18,6 @@ support/config-fragments/autobuild/bootlin-x86-64-musl.config,x86_64 # Test a MMU toolchain without dynamic library support support/config-fragments/autobuild/br-arm-full-static.config,x86_64 -# Test a toolchain with an old gcc version (gcc 4.8) -support/config-fragments/autobuild/sourcery-arm.config,x86 - # Toolchains used by test-pkg only when the '-a' option is passed: support/config-fragments/autobuild/arm-aarch64.config,x86_64 support/config-fragments/autobuild/bootlin-aarch64-glibc.config,x86_64 @@ -38,9 +35,11 @@ support/config-fragments/autobuild/bootlin-powerpc-e500mc-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-riscv32-glibc.config,x86_64 support/config-fragments/autobuild/bootlin-riscv64-glibc.config,x86_64 support/config-fragments/autobuild/bootlin-riscv64-musl.config,x86_64 +support/config-fragments/autobuild/bootlin-s390x-z13-glibc.config,x86_64 support/config-fragments/autobuild/bootlin-sh4-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-sparc-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-sparc64-glibc.config,x86_64 +support/config-fragments/autobuild/bootlin-x86-i686-musl.config,x86_64 support/config-fragments/autobuild/bootlin-x86-64-glibc.config,x86_64 support/config-fragments/autobuild/bootlin-x86-64-uclibc.config,x86_64 support/config-fragments/autobuild/bootlin-xtensa-uclibc.config,x86_64 @@ -52,7 +51,6 @@ support/config-fragments/autobuild/br-arm-internal-full.config,any support/config-fragments/autobuild/br-arm-internal-glibc.config,any support/config-fragments/autobuild/br-arm-internal-musl.config,any support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64 -support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64 support/config-fragments/autobuild/br-microblazeel-full-internal.config,any support/config-fragments/autobuild/br-mips64-n64-full.config,x86_64 support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config,x86_64 @@ -65,8 +63,6 @@ support/config-fragments/autobuild/br-xtensa-full-internal.config,any support/config-fragments/autobuild/linaro-aarch64.config,x86 support/config-fragments/autobuild/linaro-aarch64-be.config,x86 support/config-fragments/autobuild/linaro-arm.config,x86 -support/config-fragments/autobuild/sourcery-arm-armv4t.config,x86 -support/config-fragments/autobuild/sourcery-arm-thumb2.config,x86 support/config-fragments/autobuild/sourcery-mips64.config,x86 support/config-fragments/autobuild/sourcery-mips.config,x86 support/config-fragments/autobuild/sourcery-nios2.config,x86 diff --git a/support/config-fragments/minimal.config b/support/config-fragments/minimal.config index 71344e2c698..3430fcce115 100644 --- a/support/config-fragments/minimal.config +++ b/support/config-fragments/minimal.config @@ -4,5 +4,4 @@ BR2_INIT_NONE=y BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set # BR2_TARGET_ROOTFS_TAR is not set -BR2_COMPILER_PARANOID_UNSAFE_PATH=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y diff --git a/support/dependencies/check-host-cmake.mk b/support/dependencies/check-host-cmake.mk index 5760e4ded1f..e3676903198 100644 --- a/support/dependencies/check-host-cmake.mk +++ b/support/dependencies/check-host-cmake.mk @@ -1,9 +1,11 @@ -# Set this to either 3.18 or higher, depending on the highest minimum -# version required by any of the packages bundled in Buildroot. If a -# package is bumped or a new one added, and it requires a higher -# version, our cmake infra will catch it and build its own. +# The cmake minimum version is set to either 3.18 or higher, +# depending on the highest minimum version required by any +# of the packages bundled in Buildroot. If a package is +# bumped or a new one added, and it requires a higher +# cmake version than the one provided by the host, our +# cmake infra will catch it and build its own. # -BR2_CMAKE_VERSION_MIN = 3.18 +BR2_CMAKE_VERSION_MIN = $(BR2_HOST_CMAKE_AT_LEAST) BR2_CMAKE_CANDIDATES ?= cmake cmake3 BR2_CMAKE ?= $(call suitable-host-package,cmake,\ diff --git a/support/dependencies/check-host-tar.sh b/support/dependencies/check-host-tar.sh index b7d607a47a0..7d6b3bf6881 100755 --- a/support/dependencies/check-host-tar.sh +++ b/support/dependencies/check-host-tar.sh @@ -33,7 +33,12 @@ fi major_min=1 minor_min=27 -if [ $major -lt $major_min ]; then +# Maximal version = 1.34 (1.35 changed devmajor/devminor for files) +# https://lists.gnu.org/archive/html/info-gnu/2023-07/msg00005.html +major_max=1 +minor_max=34 + +if [ $major -lt $major_min -o $major -gt $major_max ]; then # echo nothing: no suitable tar found exit 1 fi @@ -43,5 +48,10 @@ if [ $major -eq $major_min -a $minor -lt $minor_min ]; then exit 1 fi +if [ $major -eq $major_max -a $minor -gt $minor_max ]; then + # echo nothing: no suitable tar found + exit 1 +fi + # valid echo $tar diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index 4b5012b8072..6d5fc360376 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -174,6 +174,16 @@ for prog in perl tar wget cpio unzip rsync bc cmp find xargs ${DL_TOOLS} ; do echo " xargs is usually part of the findutils package in your distribution" fi fi + + # we need git >= 2.0.0 for shallow clones / vendoring + if test $prog = "git" ; then + GIT_VERSION="$(git --version | sed -n 's/^git version \(.*\)/\1/p')" + GIT_MAJOR="$(echo "${GIT_VERSION}" | cut -d . -f 1)" + if [ "${GIT_MAJOR}" -lt 2 ]; then + echo "You have git '${GIT_VERSION}' installed. Git >= 2.0.0 is required" + exit 1 + fi + fi done if test "${missing_progs}" = "yes" ; then @@ -194,7 +204,7 @@ if [ "${PATCH_MAJOR}" -lt 2 ] || [ "${PATCH_MAJOR}" -eq 2 -a "${PATCH_MINOR}" -l exit 1; fi -if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then +if grep -q ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG ; then if ! which locale > /dev/null ; then echo echo "You need locale support on your build machine to build a toolchain supporting locales" @@ -254,7 +264,7 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_COMPILER=y $BR2_CONFIG ; then fi fi -if grep ^BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT=y $BR2_CONFIG ; then +if grep -q ^BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT=y $BR2_CONFIG ; then if ! echo "#include " | $HOSTCXX_NOCCACHE -I$($HOSTCXX_NOCCACHE -print-file-name=plugin)/include -x c++ -c - -o /dev/null ; then echo echo "Your Buildroot configuration needs a host compiler capable of building gcc plugins." @@ -266,14 +276,29 @@ fi # Check that the Perl installation is complete enough for Buildroot. required_perl_modules="Data::Dumper" # Needed to build host-autoconf +required_perl_modules="$required_perl_modules English" # Used by host-libxml-parser-perl required_perl_modules="$required_perl_modules ExtUtils::MakeMaker" # Used by host-libxml-parser-perl required_perl_modules="$required_perl_modules Thread::Queue" # Used by host-automake +required_perl_modules="$required_perl_modules FindBin" # Used by (host-)libopenssl +required_perl_modules="$required_perl_modules IPC::Cmd" # Used by (host-)libopenssl + +if grep -q ^BR2_PACKAGE_LIBOPENSSL=y $BR2_CONFIG && grep -q ^BR2_s390x=y $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules bigint" +fi + +if grep -q ^BR2_PACKAGE_MOSH=y $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules diagnostics" +fi if grep -q ^BR2_PACKAGE_MPV=y $BR2_CONFIG ; then required_perl_modules="$required_perl_modules Math::BigInt" required_perl_modules="$required_perl_modules Math::BigRat" fi +if grep -q ^BR2_PACKAGE_NETSURF=y $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules Digest::MD5" +fi + if grep -q ^BR2_PACKAGE_WHOIS=y $BR2_CONFIG ; then required_perl_modules="$required_perl_modules autodie" fi @@ -282,9 +307,20 @@ if grep -q -E '^BR2_PACKAGE_(WEBKITGTK|WPEWEBKIT)=y' $BR2_CONFIG ; then required_perl_modules="${required_perl_modules} JSON::PP" fi +if grep -q -E '^BR2_(PACKAGE_ACE|TARGET_SYSLINUX)=y' $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules FileHandle" +fi + # This variable will keep the modules that are missing in your system. missing_perl_modules="" +if grep -q ^BR2_PACKAGE_LIBXCRYPT=y $BR2_CONFIG ; then + # open cannot be used with require + if ! perl -e "use open ':std'" > /dev/null 2>&1 ; then + missing_perl_modules="$missing_perl_modules open" + fi +fi + for pm in $required_perl_modules ; do if ! perl -e "require $pm" > /dev/null 2>&1 ; then missing_perl_modules="$missing_perl_modules $pm" diff --git a/support/docker/Dockerfile b/support/docker/Dockerfile index f54c31b54a5..8c6e2add600 100644 --- a/support/docker/Dockerfile +++ b/support/docker/Dockerfile @@ -6,7 +6,7 @@ # We use a specific tag for the base image *and* the corresponding date # for the repository., so do not forget to update the apt-sources.list # file that is shipped next to this Dockerfile. -FROM debian:bullseye-20210902 +FROM debian:bullseye-20230202 LABEL maintainer="Buildroot mailing list " \ vendor="Buildroot" \ @@ -20,8 +20,8 @@ COPY apt-sources.list /etc/apt/sources.list # The container has no package lists, so need to update first RUN dpkg --add-architecture i386 && \ - apt-get update -y -RUN apt-get install -y --no-install-recommends \ + apt-get -o APT::Retries=3 update -y +RUN apt-get -o APT::Retries=3 install -y --no-install-recommends \ bc \ build-essential \ bzr \ @@ -39,10 +39,12 @@ RUN apt-get install -y --no-install-recommends \ openssh-server \ python3 \ python3-flake8 \ + python3-magic \ python3-nose2 \ python3-pexpect \ python3-pytest \ qemu-system-arm \ + qemu-system-misc \ qemu-system-x86 \ rsync \ shellcheck \ diff --git a/support/docker/apt-sources.list b/support/docker/apt-sources.list index 0f872fd398b..849996d9f76 100644 --- a/support/docker/apt-sources.list +++ b/support/docker/apt-sources.list @@ -1,4 +1,4 @@ -# Latest just before 20210817T000000Z: -deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20210902T205533Z/ bullseye main -deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20210902T193650Z/ bullseye-security main -deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20210902T205533Z/ bullseye-updates main +# Latest just before 20230207T102800Z: +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20230206T092119Z/ bullseye main +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20230206T092119Z/ bullseye-security main +deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20230206T092119Z/ bullseye-updates main diff --git a/support/download/cargo-post-process b/support/download/cargo-post-process index 186e9eb69b7..3f4666c0062 100755 --- a/support/download/cargo-post-process +++ b/support/download/cargo-post-process @@ -1,7 +1,6 @@ #!/usr/bin/env bash set -e -set -o pipefail . "${0%/*}/helpers" @@ -25,25 +24,19 @@ post_process_unpack "${base_name}" "${output}" pushd "${base_name}" > /dev/null # Create the local .cargo/config with vendor info -# -# The first line of the output to stdout is empty. -# So skip it to have the file start with the vendoring -# configuration (`tail --lines=+2`). -# -# NOTE: -# There is a patch for cargo to remove the first empty line: -# See: https://github.com/rust-lang/cargo/pull/11273 -# -# The patch already landed in +nightly and will end up -# in +stable soon. -# -# -> When updating rust/cargo, the call to `tail` must be removed. -# mkdir -p .cargo/ +mkdir -p "${CARGO_HOME}" +flock "${CARGO_HOME}"/.br-lock \ cargo vendor \ --manifest-path ${BR_CARGO_MANIFEST_PATH-Cargo.toml} \ --locked VENDOR \ - | tail --lines=+2 | tee .cargo/config + > .cargo/config + +# "cargo vendor' outputs on stderr a message directing to add some data +# to the project's .cargo/config.toml, data that it outputs on stdout. +# Since we redirect stdout to .cargo/config.toml, the message on stderr +# gets confusing, so instruct the user that it's been handled. +printf '(note: .cargo/config.toml automatically updated by Buildroot)\n\n' popd > /dev/null diff --git a/support/download/check-hash b/support/download/check-hash index 5a47f49bc30..9db647885a6 100755 --- a/support/download/check-hash +++ b/support/download/check-hash @@ -3,12 +3,12 @@ set -e # Helper to check a file matches its known hash # Call it with: -# $1: the path of the file containing all the expected hashes -# $2: the full path to the temporary file that was downloaded, and +# $1: the full path to the temporary file that was downloaded, and # that is to be checked -# $3: the final basename of the file, to which it will be ultimately +# $2: the final basename of the file, to which it will be ultimately # saved as, to be able to match it to the corresponding hashes # in the .hash file +# $*: the paths of the files containing all the expected hashes # # Exit codes: # 0: the hash file exists and the file to check matches all its hashes, @@ -27,28 +27,21 @@ while getopts :q OPT; do done shift $((OPTIND-1)) -h_file="${1}" -file="${2}" -base="${3}" - -# Bail early if no hash to check -if [ -z "${h_file}" ]; then - exit 0 -fi -# Does the hash-file exist? -if [ ! -f "${h_file}" ]; then - printf "WARNING: no hash file for %s\n" "${base}" >&2 - exit 0 -fi +file="${1}" +base="${2}" +shift 2 +declare -a h_files=( "${@}" ) # Check one hash for a file # $1: algo hash # $2: known hash # $3: file (full path) +# $4: hash file (full path) check_one_hash() { _h="${1}" _known="${2}" _file="${3}" + _h_file="${4}" # Note: md5 is supported, but undocumented on purpose. # Note: sha3 is not supported, since there is currently no implementation @@ -64,12 +57,13 @@ check_one_hash() { esac # Do the hashes match? - _hash=$( ${_h}sum "${_file}" |cut -d ' ' -f 1 ) + _hash="$( "${_h}sum" "${_file}" |cut -d ' ' -f 1 )" if [ "${_hash}" = "${_known}" ]; then printf "%s: OK (%s: %s)\n" "${base}" "${_h}" "${_hash}" return 0 fi + printf "ERROR: while checking hashes from %s\n" "${_h_file}" >&2 printf "ERROR: %s has wrong %s hash:\n" "${base}" "${_h}" >&2 printf "ERROR: expected: %s\n" "${_known}" >&2 printf "ERROR: got : %s\n" "${_hash}" >&2 @@ -79,22 +73,36 @@ check_one_hash() { } # Do we know one or more hashes for that file? +nb_h_files=0 nb_checks=0 -while read t h f; do - case "${t}" in - ''|'#'*) - # Skip comments and empty lines - continue - ;; - *) - if [ "${f}" = "${base}" ]; then - check_one_hash "${t}" "${h}" "${file}" - : $((nb_checks++)) - fi - ;; - esac -done <"${h_file}" +for h_file in "${h_files[@]}"; do + [ -f "${h_file}" ] || continue + : $((nb_h_files++)) + # shellcheck disable=SC2094 # we're really reading it only once + while read -r t h f; do + case "${t}" in + ''|'#'*) + # Skip comments and empty lines + continue + ;; + *) + if [ "${f}" = "${base}" ]; then + # shellcheck disable=SC2094 # we're only printing the h_file filename + check_one_hash "${t}" "${h}" "${file}" "${h_file}" + : $((nb_checks++)) + fi + ;; + esac + done <"${h_file}" +done + +# shellcheck disable=SC2086 # nb_h_files is a non-empty int +if [ ${nb_h_files} -eq 0 ]; then + printf "WARNING: no hash file for %s\n" "${base}" >&2 + exit 0 +fi +# shellcheck disable=SC2086 # nb_checks is a non-empty int if [ ${nb_checks} -eq 0 ]; then case " ${BR_NO_CHECK_HASH_FOR} " in *" ${base} "*) diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper index 09a6ac1f1ad..35428faeefe 100755 --- a/support/download/dl-wrapper +++ b/support/download/dl-wrapper @@ -21,8 +21,8 @@ export BR_BACKEND_DL_GETOPTS=":hc:d:o:n:N:H:lru:qf:e" main() { local OPT OPTARG - local backend output hfile large_file recurse quiet rc - local -a uris + local backend output large_file recurse quiet rc + local -a uris hfiles # Parse our options; anything after '--' is for the backend while getopts ":c:d:D:o:n:N:H:lrf:u:qp:" OPT; do @@ -33,7 +33,7 @@ main() { o) output="${OPTARG}";; n) raw_base_name="${OPTARG}";; N) base_name="${OPTARG}";; - H) hfile="${OPTARG}";; + H) hfiles+=( "${OPTARG}" );; l) large_file="-l";; r) recurse="-r";; f) filename="${OPTARG}";; @@ -70,7 +70,7 @@ main() { # - fails at least one of its hashes: force a re-download # - there's no hash (but a .hash file): consider it a hard error if [ -e "${output}" ]; then - if support/download/check-hash ${quiet} "${hfile}" "${output}" "${output##*/}"; then + if support/download/check-hash ${quiet} "${output}" "${output##*/}" "${hfiles[@]}"; then exit 0 elif [ ${?} -ne 2 ]; then # Do not remove the file, otherwise it might get re-downloaded @@ -138,9 +138,15 @@ main() { fi if [ -n "${post_process}" ] ; then - "${OLDPWD}/support/download/${post_process}-post-process" \ - -o "${tmpf}" \ - -n "${raw_base_name}" + if ! "${OLDPWD}/support/download/${post_process}-post-process" \ + -o "${tmpf}" \ + -n "${raw_base_name}" + then + # cd back to keep path coherence + cd "${OLDPWD}" + rm -rf "${tmpd}" + continue + fi fi # cd back to free the temp-dir, so we can remove it later @@ -148,7 +154,7 @@ main() { # Check if the downloaded file is sane, and matches the stored hashes # for that file - if support/download/check-hash ${quiet} "${hfile}" "${tmpf}" "${output##*/}"; then + if support/download/check-hash ${quiet} "${tmpf}" "${output##*/}" "${hfiles[@]}"; then rc=0 else if [ ${?} -ne 3 ]; then diff --git a/support/download/git b/support/download/git index 1a1c315f73d..6654d98a008 100755 --- a/support/download/git +++ b/support/download/git @@ -5,8 +5,8 @@ # (e.g. tar options, compression ratio or method)), we MUST update the format # version in the variable BR_FMT_VERSION_git, in package/pkg-download.mk. -# We want to catch any unexpected failure, and exit immediately -set -E +# We want to catch any unexpected failure +set -e # Download helper for git, to be called from the download wrapper script # @@ -21,6 +21,7 @@ set -E # Environment: # GIT : the git command to call +# shellcheck disable=SC1090 # Only provides mk_tar_gz() . "${0%/*}/helpers" # Save our path and options in case we need to call ourselves again @@ -77,17 +78,19 @@ pushd "${git_cache}" >/dev/null # Any error now should try to recover trap _on_error ERR +set -E # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _git() { if [ -z "${quiet}" ]; then - printf '%s ' GIT_DIR="${git_cache}/.git" ${GIT} "${@}"; printf '\n' + printf '%s ' GIT_DIR="${git_cache}/.git" "${GIT}" "${@}"; printf '\n' fi _plain_git "$@" } # Note: please keep command below aligned with what is printed above _plain_git() { + # shellcheck disable=SC2086 # We want word-splitting for GIT eval GIT_DIR="${git_cache}/.git" ${GIT} "${@}" } @@ -173,6 +176,7 @@ fi # the working copy as well as the repository, which means submodules # will not be cached for older versions. # +# shellcheck disable=SC2016 # Will be expanded by git-foreach cmd='printf "Deregistering submodule \"%s\"\n" "${path}" && cd .. && rm -rf "${path##*/}"' _git submodule --quiet foreach "'${cmd}'" @@ -199,11 +203,12 @@ if [ ${recurse} -eq 1 ]; then # that the archives are reproducible across a wider range of git # versions. However, we can't do that if git is too old and uses # full repositories for submodules. + # shellcheck disable=SC2016 # Will be expanded by git-foreach cmd='printf "%s\n" "${path}/"' for module_dir in $( _plain_git submodule --quiet foreach "'${cmd}'" ); do [ -f "${module_dir}/.git" ] || continue relative_dir="$( sed -r -e 's,/+,/,g; s,[^/]+/,../,g' <<<"${module_dir}" )" - sed -r -i -e "s:^gitdir\: $(pwd)/:gitdir\: "${relative_dir}":" "${module_dir}/.git" + sed -r -i -e "s:^gitdir\: $(pwd)/:gitdir\: ${relative_dir}:" "${module_dir}/.git" done fi @@ -213,6 +218,7 @@ if [ ${large_file} -eq 1 ]; then _git lfs fetch _git lfs checkout # If there are also submodules, recurse into them, + # shellcheck disable=SC2086 # We want word-splitting for GIT if [ ${recurse} -eq 1 ]; then _git submodule foreach --recursive ${GIT} lfs install --local _git submodule foreach --recursive ${GIT} lfs fetch diff --git a/support/download/svn b/support/download/svn index b23b7773d39..1decb2310b4 100755 --- a/support/download/svn +++ b/support/download/svn @@ -16,13 +16,16 @@ set -e # -u URI Checkout from repository at URI. # -c REV Use revision REV. # -n NAME Use basename NAME. +# -r Recursive, i.e. use externals # # Environment: # SVN : the svn command to call +# shellcheck disable=SC1090 # Only provides mk_tar_gz() . "${0%/*}/helpers" quiet= +externals=--ignore-externals while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) quiet=-q;; @@ -30,6 +33,7 @@ while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do u) uri="${OPTARG}";; c) rev="${OPTARG}";; n) basename="${OPTARG}";; + r) externals=;; :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac @@ -41,23 +45,41 @@ shift $((OPTIND-1)) # Get rid of our options # being expanded a second time (in case there are spaces in them) _svn() { if [ -z "${quiet}" ]; then - printf '%s ' ${SVN} "${@}"; printf '\n' + printf '%s ' "${SVN}" "${@}"; printf '\n' fi _plain_svn "$@" } # Note: please keep command below aligned with what is printed above _plain_svn() { + # shellcheck disable=SC2086 # We want word-splitting for SVN eval ${SVN} "${@}" } -_svn export --ignore-keywords ${quiet} "${@}" "'${uri}@${rev}'" "'${basename}'" +# shellcheck disable=SC2086 # externals and quiet may be empty +_svn export --ignore-keywords ${quiet} ${externals} "${@}" "'${uri}@${rev}'" "'${basename}'" + +# For 'svn info', we only need the credentials, if any; other options +# would be invalid, as they are intended for 'svn export'. +# We can also consume the positional parameters, as we'll no longer +# be calling any other remote-reaching svn command. +creds= +while [ ${#} -gt 0 ]; do + case "${1}" in + --username=*) creds+=" ${1}"; shift;; + --password=*) creds+=" ${1}"; shift;; + --username) creds+=" ${1} ${2}"; shift 2;; + --password) creds+=" ${1} ${2}"; shift 2;; + *) shift;; + esac +done # Get the date of the revision, to generate reproducible archives. # The output format is YYYY-MM-DDTHH:MM:SS.mmmuuuZ (i.e. always in the # UTC timezone), which we can feed as-is to the --mtime option for tar. # In case there is a redirection (e.g. http -> https), just keep the # last line (svn outputs everything on stdout) -date="$( _plain_svn info "'${uri}@${rev}'" \ +# shellcheck disable=SC2086 # creds may be empty +date="$( _plain_svn info ${creds} "'${uri}@${rev}'" \ |sed -r -e '/^Last Changed Date: /!d; s///' )" diff --git a/support/kconfig/lxdialog/check-lxdialog.sh b/support/kconfig/lxdialog/check-lxdialog.sh index 16cd9a31862..27d6c30a570 100755 --- a/support/kconfig/lxdialog/check-lxdialog.sh +++ b/support/kconfig/lxdialog/check-lxdialog.sh @@ -48,7 +48,7 @@ trap "rm -f $tmp" 0 1 2 3 15 check() { $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC -main() {} +int main() {} EOF if [ $? != 0 ]; then echo " *** Unable to find the ncurses libraries or the" 1>&2 diff --git a/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch b/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch new file mode 100644 index 00000000000..41081bb45d8 --- /dev/null +++ b/support/kconfig/patches/22-kconfig-lxdialog-fix-check-with-GCC14.patch @@ -0,0 +1,43 @@ +From 3ae91337b53fa3ccf0bad7f181fcaf483fab22ee Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Wed, 3 Apr 2024 14:18:07 +0200 +Subject: [PATCH] kconfig/lxdialog: fix check() with GCC14 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC14 now treats implicit int types as error so when check() from +check-lxdialog.sh is called to check whether we can link against ncurses +it will fail silently and the help text indicating to install ncurses is +printed. + +However, this is not due to missing ncurses but once the stderr redirect +to /dev/null is removed we can see the root cause: +:2:1: error: return type defaults to ‘int’ [-Wimplicit-int] + +So, in order for menuconfig to work with GCC14 lets just specify the +return type of main() as int. + +Signed-off-by: Robert Marko +Reviewed-by: Petr Vorel +Tested-by: Petr Vorel +--- + kconfig/lxdialog/check-lxdialog.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kconfig/lxdialog/check-lxdialog.sh b/kconfig/lxdialog/check-lxdialog.sh +index 16cd9a3186..27d6c30a57 100755 +--- a/kconfig/lxdialog/check-lxdialog.sh ++++ b/kconfig/lxdialog/check-lxdialog.sh +@@ -48,7 +48,7 @@ trap "rm -f $tmp" 0 1 2 3 15 + check() { + $cc -x c - -o $tmp 2>/dev/null <<'EOF' + #include CURSES_LOC +-main() {} ++int main() {} + EOF + if [ $? != 0 ]; then + echo " *** Unable to find the ncurses libraries or the" 1>&2 +-- +2.44.0 + diff --git a/support/kconfig/patches/series b/support/kconfig/patches/series index e5a6f69d8ff..f120e323b7a 100644 --- a/support/kconfig/patches/series +++ b/support/kconfig/patches/series @@ -10,3 +10,4 @@ 19-merge_config.sh-add-br2-external-support.patch 20-merge_config.sh-Allow-to-define-config-prefix.patch 21-Avoid-false-positive-matches-from-comment-lines.patch +22-kconfig-lxdialog-fix-check-with-GCC14.patch diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index 02fe6bca67d..983f2f58b39 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2022.11' +RELEASE='2024.02.3' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/misc/cross-compilation.conf.in b/support/misc/cross-compilation.conf.in index 7053df472ba..a58ab553d0e 100644 --- a/support/misc/cross-compilation.conf.in +++ b/support/misc/cross-compilation.conf.in @@ -10,7 +10,7 @@ ar = '@TARGET_AR@' strip = '@TARGET_STRIP@' cmake = '@BR2_CMAKE@' fortran = '@TARGET_FC@' -pkgconfig = '@PKGCONF_HOST_BINARY@' +pkg-config = '@PKGCONF_HOST_BINARY@' g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' diff --git a/support/misc/gitlab-ci.yml.in b/support/misc/gitlab-ci.yml.in index 3ac988a5193..db206432aae 100644 --- a/support/misc/gitlab-ci.yml.in +++ b/support/misc/gitlab-ci.yml.in @@ -1,23 +1,39 @@ +stages: + - download + - test + +before_script: + - git config --global --add safe.directory ${CI_PROJECT_DIR} + .check-check-package_base: + stage: test script: - python3 -m pytest -v utils/checkpackagelib/ -.check-DEVELOPERS_base: +.check-check-symbol_base: + stage: test script: - - utils/get-developers -v + - python3 -m pytest -v utils/checksymbolslib/ -.check-flake8_base: +.check-DEVELOPERS_base: + stage: test script: - - make check-flake8 + - utils/get-developers -v .check-package_base: + stage: test script: - make check-package +.check-symbol_base: + stage: test + script: + - utils/check-symbols + .defconfig_check: - before_script: - - DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g') + stage: test script: + - DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g') - echo "Configure Buildroot for ${DEFCONFIG_NAME}" - make ${DEFCONFIG_NAME} - support/scripts/check-dotconfig.py .config configs/${DEFCONFIG_NAME} @@ -36,10 +52,10 @@ } .defconfig_base: - before_script: + stage: test + script: - DEFCONFIG_NAME=${CI_JOB_NAME} - OUTPUT_DIR=output - script: - echo "Configure Buildroot for ${DEFCONFIG_NAME}" - make ${DEFCONFIG_NAME} - ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME} @@ -51,6 +67,11 @@ tail -200 runtime-test.log exit 1 } + retry: + max: 2 + when: + - runner_system_failure + - stuck_or_timeout_failure artifacts: when: always expire_in: 2 weeks @@ -63,16 +84,40 @@ - output/build/*/.config - runtime-test.log +.runtime_test_download: + stage: download + # Keep test-dl directory so the downloaded files can be an artifact of + # the job passed to all jobs of next stages. + script: ./support/testing/run-tests -d test-dl/ --prepare-only + artifacts: + when: always + paths: + - test-dl/ + .runtime_test_base: - before_script: - - TEST_CASE_NAME=${CI_JOB_NAME} + stage: test # Keep build directories so the rootfs can be an artifact of the job. The # runner will clean up those files for us. # Multiply every emulator timeout by 10 to avoid sporadic failures in # elastic runners. script: + - TEST_CASE_NAME=${CI_JOB_NAME} - echo "Starting runtime test ${TEST_CASE_NAME}" - - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} + - | + ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} || { + echo 'Failed runtime test last output' + if [ -f test-output/*-run.log ]; then + tail -200 test-output/*-run.log | sed 's/\r\r$//' + else + tail -200 test-output/*-build.log + fi + exit 1 + } + retry: + max: 2 + when: + - runner_system_failure + - stuck_or_timeout_failure artifacts: when: always expire_in: 2 weeks @@ -82,10 +127,9 @@ - test-output/*/images/* .test_pkg: - stage: build - before_script: - - OUTPUT_DIR=${CI_JOB_NAME} + stage: test script: + - OUTPUT_DIR=${CI_JOB_NAME} - echo "Configure Buildroot for ${OUTPUT_DIR}" - make O=${OUTPUT_DIR} syncconfig - make O=${OUTPUT_DIR} savedefconfig @@ -94,6 +138,11 @@ needs: - pipeline: $PARENT_PIPELINE_ID job: generate-gitlab-ci-yml + retry: + max: 2 + when: + - runner_system_failure + - stuck_or_timeout_failure artifacts: when: always expire_in: 2 weeks diff --git a/support/scripts/br2-external b/support/scripts/br2-external index 2c33e6eaccf..8aea479d205 100755 --- a/support/scripts/br2-external +++ b/support/scripts/br2-external @@ -66,7 +66,7 @@ do_validate() { do_validate_one() { local br2_ext="${1}" - local br2_name br2_desc n d + local br2_name br2_desc br2_ver n d if [ ! -d "${br2_ext}" ]; then error "'%s': no such file or directory\n" "${br2_ext}" @@ -104,8 +104,10 @@ do_validate_one() { # Register this br2-external tree, use an absolute canonical path br2_ext="$( cd "${br2_ext}"; pwd )" + br2_ver="$( support/scripts/setlocalversion "${br2_ext}" )" BR2_EXT_NAMES+=( "${br2_name}" ) eval BR2_EXT_PATHS_${br2_name}="\"\${br2_ext}\"" + eval BR2_EXT_VERS_${br2_name}="\"\${br2_ver}\"" eval BR2_EXT_DESCS_${br2_name}="\"\${br2_desc:-\${br2_name}}\"" } @@ -113,7 +115,7 @@ do_validate_one() { # for the br2-external tree do_mk() { local outputdir="${1}" - local br2_name br2_desc br2_ext + local br2_name br2_desc br2_ext br2_ver { printf '#\n# Automatically generated file; DO NOT EDIT.\n#\n' @@ -126,7 +128,7 @@ do_mk() { done printf '\n' - printf 'BR2_EXTERNAL_NAMES = \n' + printf 'export BR2_EXTERNAL_NAMES = \n' printf 'BR2_EXTERNAL_DIRS = \n' printf 'BR2_EXTERNAL_MKS = \n' @@ -139,12 +141,14 @@ do_mk() { for br2_name in "${BR2_EXT_NAMES[@]}"; do eval br2_desc="\"\${BR2_EXT_DESCS_${br2_name}}\"" eval br2_ext="\"\${BR2_EXT_PATHS_${br2_name}}\"" + eval br2_ver="\"\${BR2_EXT_VERS_${br2_name}}\"" printf '\n' printf 'BR2_EXTERNAL_NAMES += %s\n' "${br2_name}" printf 'BR2_EXTERNAL_DIRS += %s\n' "${br2_ext}" printf 'BR2_EXTERNAL_MKS += %s/external.mk\n' "${br2_ext}" printf 'export BR2_EXTERNAL_%s_PATH = %s\n' "${br2_name}" "${br2_ext}" printf 'export BR2_EXTERNAL_%s_DESC = %s\n' "${br2_name}" "${br2_desc}" + printf 'export BR2_EXTERNAL_%s_VERSION = %s\n' "${br2_name}" "${br2_ver}" done } >"${outputdir}/.br2-external.mk" } @@ -152,7 +156,7 @@ do_mk() { # Generate the kconfig snippets for the br2-external tree. do_kconfig() { local outputdir="${1}" - local br2_name br2_desc br2_ext br2 + local br2_name br2_desc br2_ext br2_ver br2 local -a items items=( @@ -181,14 +185,26 @@ do_kconfig() { printf 'menu "External options"\n\n' >>"${outputdir}/.br2-external.in.menus" + { + printf 'config BR2_EXTERNAL_NAMES\n' + printf '\tstring\n' + # Use star-expansion: we really one a single arg. + printf '\tdefault "%s"\n' "${BR2_EXT_NAMES[*]}" + printf '\n' + } >>"${outputdir}/.br2-external.in.paths" + for br2_name in "${BR2_EXT_NAMES[@]}"; do eval br2_desc="\"\${BR2_EXT_DESCS_${br2_name}}\"" eval br2_ext="\"\${BR2_EXT_PATHS_${br2_name}}\"" + eval br2_ver="\"\${BR2_EXT_VERS_${br2_name}}\"" { printf 'config BR2_EXTERNAL_%s_PATH\n' "${br2_name}" printf '\tstring\n' printf '\tdefault "%s"\n' "${br2_ext}" + printf 'config BR2_EXTERNAL_%s_VERSION\n' "${br2_name}" + printf '\tstring\n' + printf '\tdefault "%s"\n' "${br2_ver}" printf '\n' } >>"${outputdir}/.br2-external.in.paths" diff --git a/support/scripts/cpedb.py b/support/scripts/cpedb.py deleted file mode 100644 index f4daf561244..00000000000 --- a/support/scripts/cpedb.py +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/env python3 - -import xml.etree.ElementTree as ET -from xml.etree.ElementTree import Element, SubElement -import gzip -import os -import requests -import time -from xml.dom import minidom - -VALID_REFS = ['VENDOR', 'VERSION', 'CHANGE_LOG', 'PRODUCT', 'PROJECT', 'ADVISORY'] - -CPEDB_URL = "https://static.nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.3.xml.gz" - -ns = { - '': 'http://cpe.mitre.org/dictionary/2.0', - 'cpe-23': 'http://scap.nist.gov/schema/cpe-extension/2.3', - 'xml': 'http://www.w3.org/XML/1998/namespace' -} - - -class CPE: - def __init__(self, cpe_str, titles, refs): - self.cpe_str = cpe_str - self.titles = titles - self.references = refs - self.cpe_cur_ver = "".join(self.cpe_str.split(":")[5:6]) - - def update_xml_dict(self): - ET.register_namespace('', 'http://cpe.mitre.org/dictionary/2.0') - cpes = Element('cpe-list') - cpes.set('xmlns:cpe-23', "http://scap.nist.gov/schema/cpe-extension/2.3") - cpes.set('xmlns:ns6', "http://scap.nist.gov/schema/scap-core/0.1") - cpes.set('xmlns:scap-core', "http://scap.nist.gov/schema/scap-core/0.3") - cpes.set('xmlns:config', "http://scap.nist.gov/schema/configuration/0.1") - cpes.set('xmlns:xsi', "http://www.w3.org/2001/XMLSchema-instance") - cpes.set('xmlns:meta', "http://scap.nist.gov/schema/cpe-dictionary-metadata/0.2") - cpes.set('xsi:schemaLocation', " ".join(["http://scap.nist.gov/schema/cpe-extension/2.3", - "https://scap.nist.gov/schema/cpe/2.3/cpe-dictionary-extension_2.3.xsd", - "http://cpe.mitre.org/dictionary/2.0", - "https://scap.nist.gov/schema/cpe/2.3/cpe-dictionary_2.3.xsd", - "http://scap.nist.gov/schema/cpe-dictionary-metadata/0.2", - "https://scap.nist.gov/schema/cpe/2.1/cpe-dictionary-metadata_0.2.xsd", - "http://scap.nist.gov/schema/scap-core/0.3", - "https://scap.nist.gov/schema/nvd/scap-core_0.3.xsd", - "http://scap.nist.gov/schema/configuration/0.1", - "https://scap.nist.gov/schema/nvd/configuration_0.1.xsd", - "http://scap.nist.gov/schema/scap-core/0.1", - "https://scap.nist.gov/schema/nvd/scap-core_0.1.xsd"])) - item = SubElement(cpes, 'cpe-item') - cpe_short_name = CPE.short_name(self.cpe_str) - cpe_new_ver = CPE.version_update(self.cpe_str) - - item.set('name', 'cpe:/' + cpe_short_name) - self.titles[0].text.replace(self.cpe_cur_ver, cpe_new_ver) - for title in self.titles: - item.append(title) - if self.references: - item.append(self.references) - cpe23item = SubElement(item, 'cpe-23:cpe23-item') - cpe23item.set('name', self.cpe_str) - - # Generate the XML as a string - xmlstr = ET.tostring(cpes) - - # And use minidom to pretty print the XML - return minidom.parseString(xmlstr).toprettyxml(encoding="utf-8").decode("utf-8") - - @staticmethod - def version(cpe): - return cpe.split(":")[5] - - @staticmethod - def product(cpe): - return cpe.split(":")[4] - - @staticmethod - def short_name(cpe): - return ":".join(cpe.split(":")[2:6]) - - @staticmethod - def version_update(cpe): - return ":".join(cpe.split(":")[5:6]) - - @staticmethod - def no_version(cpe): - return ":".join(cpe.split(":")[:5]) - - -class CPEDB: - def __init__(self, nvd_path): - self.all_cpes = dict() - self.all_cpes_no_version = dict() - self.nvd_path = nvd_path - - def get_xml_dict(self): - print("CPE: Setting up NIST dictionary") - if not os.path.exists(os.path.join(self.nvd_path, "cpe")): - os.makedirs(os.path.join(self.nvd_path, "cpe")) - - cpe_dict_local = os.path.join(self.nvd_path, "cpe", os.path.basename(CPEDB_URL)) - if not os.path.exists(cpe_dict_local) or os.stat(cpe_dict_local).st_mtime < time.time() - 86400: - print("CPE: Fetching xml manifest from [" + CPEDB_URL + "]") - cpe_dict = requests.get(CPEDB_URL) - open(cpe_dict_local, "wb").write(cpe_dict.content) - - print("CPE: Unzipping xml manifest...") - nist_cpe_file = gzip.GzipFile(fileobj=open(cpe_dict_local, 'rb')) - print("CPE: Converting xml manifest to dict...") - tree = ET.parse(nist_cpe_file) - all_cpedb = tree.getroot() - self.parse_dict(all_cpedb) - - def parse_dict(self, all_cpedb): - # Cycle through the dict and build two dict to be used for custom - # lookups of partial and complete CPE objects - # The objects are then used to create new proposed XML updates if - # if is determined one is required - # Out of the different language titles, select English - for cpe in all_cpedb.findall(".//{http://cpe.mitre.org/dictionary/2.0}cpe-item"): - cpe_titles = [] - for title in cpe.findall('.//{http://cpe.mitre.org/dictionary/2.0}title[@xml:lang="en-US"]', ns): - title.tail = None - cpe_titles.append(title) - - # Some older CPE don't include references, if they do, make - # sure we handle the case of one ref needing to be packed - # in a list - cpe_ref = cpe.find(".//{http://cpe.mitre.org/dictionary/2.0}references") - if cpe_ref: - for ref in cpe_ref.findall(".//{http://cpe.mitre.org/dictionary/2.0}reference"): - ref.tail = None - ref.text = ref.text.upper() - if ref.text not in VALID_REFS: - ref.text = ref.text + "-- UPDATE this entry, here are some examples and just one word should be used -- " + ' '.join(VALID_REFS) # noqa E501 - cpe_ref.tail = None - cpe_ref.text = None - - cpe_str = cpe.find(".//{http://scap.nist.gov/schema/cpe-extension/2.3}cpe23-item").get('name') - item = CPE(cpe_str, cpe_titles, cpe_ref) - cpe_str_no_version = CPE.no_version(cpe_str) - # This dict must have a unique key for every CPE version - # which allows matching to the specific obj data of that - # NIST dict entry - self.all_cpes.update({cpe_str: item}) - # This dict has one entry for every CPE (w/o version) to allow - # partial match (no valid version) check (the obj is saved and - # used as seed for suggested xml updates. By updating the same - # non-version'd entry, it assumes the last update here is the - # latest version in the NIST dict) - self.all_cpes_no_version.update({cpe_str_no_version: item}) - - def find_partial(self, cpe_str): - cpe_str_no_version = CPE.no_version(cpe_str) - if cpe_str_no_version in self.all_cpes_no_version: - return cpe_str_no_version - - def find_partial_obj(self, cpe_str): - cpe_str_no_version = CPE.no_version(cpe_str) - if cpe_str_no_version in self.all_cpes_no_version: - return self.all_cpes_no_version[cpe_str_no_version] - - def find_partial_latest_version(self, cpe_str_partial): - cpe_obj = self.find_partial_obj(cpe_str_partial) - return cpe_obj.cpe_cur_ver - - def find(self, cpe_str): - if self.find_partial(cpe_str): - if cpe_str in self.all_cpes: - return cpe_str - - def gen_update_xml(self, cpe_str): - cpe = self.find_partial_obj(cpe_str) - return cpe.update_xml_dict() diff --git a/support/scripts/cve.py b/support/scripts/cve.py index 7cd6fce4d85..e25825581e0 100755 --- a/support/scripts/cve.py +++ b/support/scripts/cve.py @@ -19,30 +19,16 @@ import datetime import os -import requests # URL checking import distutils.version -import time -import gzip +import json +import subprocess import sys import operator -try: - import ijson - # backend is a module in < 2.5, a string in >= 2.5 - if 'python' in getattr(ijson.backend, '__name__', ijson.backend): - try: - import ijson.backends.yajl2_cffi as ijson - except ImportError: - sys.stderr.write('Warning: Using slow ijson python backend\n') -except ImportError: - sys.stderr.write("You need ijson to parse NVD for CVE check\n") - exit(1) - sys.path.append('utils/') -NVD_START_YEAR = 2002 -NVD_JSON_VERSION = "1.1" -NVD_BASE_URL = "https://nvd.nist.gov/feeds/json/cve/" + NVD_JSON_VERSION +NVD_START_YEAR = 1999 +NVD_BASE_URL = "https://github.com/fkie-cad/nvd-json-data-feeds/" ops = { '>=': operator.ge, @@ -82,41 +68,31 @@ def __init__(self, nvd_cve): self.nvd_cve = nvd_cve @staticmethod - def download_nvd_year(nvd_path, year): - metaf = "nvdcve-%s-%s.meta" % (NVD_JSON_VERSION, year) - path_metaf = os.path.join(nvd_path, metaf) - jsonf_gz = "nvdcve-%s-%s.json.gz" % (NVD_JSON_VERSION, year) - path_jsonf_gz = os.path.join(nvd_path, jsonf_gz) - - # If the database file is less than a day old, we assume the NVD data - # locally available is recent enough. - if os.path.exists(path_jsonf_gz) and os.stat(path_jsonf_gz).st_mtime >= time.time() - 86400: - return path_jsonf_gz - - # If not, we download the meta file - url = "%s/%s" % (NVD_BASE_URL, metaf) - print("Getting %s" % url) - page_meta = requests.get(url) - page_meta.raise_for_status() - - # If the meta file already existed, we compare the existing - # one with the data newly downloaded. If they are different, - # we need to re-download the database. - # If the database does not exist locally, we need to redownload it in - # any case. - if os.path.exists(path_metaf) and os.path.exists(path_jsonf_gz): - meta_known = open(path_metaf, "r").read() - if page_meta.text == meta_known: - return path_jsonf_gz - - # Grab the compressed JSON NVD, and write files to disk - url = "%s/%s" % (NVD_BASE_URL, jsonf_gz) - print("Getting %s" % url) - page_json = requests.get(url) - page_json.raise_for_status() - open(path_jsonf_gz, "wb").write(page_json.content) - open(path_metaf, "w").write(page_meta.text) - return path_jsonf_gz + def download_nvd(nvd_git_dir): + print(f"Updating from {NVD_BASE_URL}") + if os.path.exists(nvd_git_dir): + subprocess.check_call( + ["git", "pull"], + cwd=nvd_git_dir, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + else: + # Create the directory and its parents; git + # happily clones into an empty directory. + os.makedirs(nvd_git_dir) + subprocess.check_call( + ["git", "clone", NVD_BASE_URL, nvd_git_dir], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + + @staticmethod + def sort_id(cve_ids): + def cve_key(cve_id): + year, id_ = cve_id.split('-')[1:] + return (int(year), int(id_)) + return sorted(cve_ids, key=cve_key) @classmethod def read_nvd_dir(cls, nvd_dir): @@ -125,15 +101,15 @@ def read_nvd_dir(cls, nvd_dir): feeds since NVD_START_YEAR. If the files are missing or outdated in nvd_dir, a fresh copy will be downloaded, and kept in .json.gz """ + nvd_git_dir = os.path.join(nvd_dir, "git") + CVE.download_nvd(nvd_git_dir) for year in range(NVD_START_YEAR, datetime.datetime.now().year + 1): - filename = CVE.download_nvd_year(nvd_dir, year) - try: - content = ijson.items(gzip.GzipFile(filename), 'CVE_Items.item') - except: # noqa: E722 - print("ERROR: cannot read %s. Please remove the file then rerun this script" % filename) - raise - for cve in content: - yield cls(cve) + for dirpath, _, filenames in os.walk(os.path.join(nvd_git_dir, f"CVE-{year}")): + for filename in filenames: + if filename[-5:] != ".json": + continue + with open(os.path.join(dirpath, filename), "rb") as f: + yield cls(json.load(f)) def each_product(self): """Iterate over each product section of this cve""" @@ -155,11 +131,11 @@ def parse_node(self, node): for parsed_node in self.parse_node(child): yield parsed_node - for cpe in node.get('cpe_match', ()): + for cpe in node.get('cpeMatch', ()): if not cpe['vulnerable']: return - product = cpe_product(cpe['cpe23Uri']) - version = cpe_version(cpe['cpe23Uri']) + product = cpe_product(cpe['criteria']) + version = cpe_version(cpe['criteria']) # ignore when product is '-', which means N/A if product == '-': return @@ -191,7 +167,7 @@ def parse_node(self, node): v_end = cpe['versionEndExcluding'] yield { - 'id': cpe['cpe23Uri'], + 'id': cpe['criteria'], 'v_start': v_start, 'op_start': op_start, 'v_end': v_end, @@ -199,14 +175,15 @@ def parse_node(self, node): } def each_cpe(self): - for node in self.nvd_cve['configurations']['nodes']: - for cpe in self.parse_node(node): - yield cpe + for nodes in self.nvd_cve.get('configurations', []): + for node in nodes['nodes']: + for cpe in self.parse_node(node): + yield cpe @property def identifier(self): """The CVE unique identifier""" - return self.nvd_cve['cve']['CVE_data_meta']['ID'] + return self.nvd_cve['id'] @property def affected_products(self): diff --git a/support/scripts/fix-rpath b/support/scripts/fix-rpath index 3e67e770e52..1e58646ceaa 100755 --- a/support/scripts/fix-rpath +++ b/support/scripts/fix-rpath @@ -46,27 +46,66 @@ Environment: TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR (default HOST_DIR/opt/ext-toolchain) + PARALLEL_JOBS number of parallel jobs to run + Returns: 0 if success or 1 in case of error EOF } -: ${PATCHELF:=${HOST_DIR}/bin/patchelf} +: "${PATCHELF:=${HOST_DIR}/bin/patchelf}" # ELF files should not be in these sub-directories HOST_EXCLUDEPATHS="/share/terminfo" STAGING_EXCLUDEPATHS="/usr/include /usr/share/terminfo" TARGET_EXCLUDEPATHS="/lib/firmware" +patch_file() { + local PATCHELF rootdir file + local -a sanitize_extra_args + + PATCHELF="${1}" + rootdir="${2}" + file="${3}" + shift 3 + sanitize_extra_args=("${@}") + + # check if it's an ELF file + rpath="$("${PATCHELF}" --print-rpath "${file}" 2>&1)" + if test $? -ne 0 ; then + return 0 + fi + + # make files writable if necessary + changed="$(chmod -c u+w "${file}")" + + # With per-package directory support, most RPATH of host + # binaries will point to per-package directories. This won't + # work with the --make-rpath-relative ${rootdir} invocation as + # the per-package host directory is not within ${rootdir}. So, + # we rewrite all RPATHs pointing to per-package directories so + # that they point to the global host directry. + # shellcheck disable=SC2001 # ${var//search/replace} hard when search or replace have / in them + changed_rpath="$(echo "${rpath}" | sed "s@${PER_PACKAGE_DIR}/[^/]\+/host@${HOST_DIR}@")" + if test "${rpath}" != "${changed_rpath}" ; then + "${PATCHELF}" --set-rpath "${changed_rpath}" "${file}" + fi + + # call patchelf to sanitize the rpath + "${PATCHELF}" --make-rpath-relative "${rootdir}" "${sanitize_extra_args[@]}" "${file}" + # restore the original permission + test "${changed}" != "" && chmod u-w "${file}" +} + main() { - local rootdir - local tree="${1}" - local find_args=( ) - local sanitize_extra_args=( ) + local rootdir tree + local -a find_args sanitize_extra_args + + tree="${1}" if ! "${PATCHELF}" --version > /dev/null 2>&1; then - echo "Error: can't execute patchelf utility '${PATCHELF}'" - exit 1 + echo "Error: can't execute patchelf utility '${PATCHELF}'" + exit 1 fi case "${tree}" in @@ -123,34 +162,14 @@ main() { ;; esac - find_args+=( "-type" "f" "-print" ) - - while read file ; do - # check if it's an ELF file - rpath=$(${PATCHELF} --print-rpath "${file}" 2>&1) - if test $? -ne 0 ; then - continue - fi - - # make files writable if necessary - changed=$(chmod -c u+w "${file}") - - # With per-package directory support, most RPATH of host - # binaries will point to per-package directories. This won't - # work with the --make-rpath-relative ${rootdir} invocation as - # the per-package host directory is not within ${rootdir}. So, - # we rewrite all RPATHs pointing to per-package directories so - # that they point to the global host directry. - changed_rpath=$(echo ${rpath} | sed "s@${PER_PACKAGE_DIR}/[^/]\+/host@${HOST_DIR}@") - if test "${rpath}" != "${changed_rpath}" ; then - ${PATCHELF} --set-rpath ${changed_rpath} "${file}" - fi - - # call patchelf to sanitize the rpath - ${PATCHELF} --make-rpath-relative "${rootdir}" ${sanitize_extra_args[@]} "${file}" - # restore the original permission - test "${changed}" != "" && chmod u-w "${file}" - done < <(find "${rootdir}" ${find_args[@]}) + find_args+=( "-type" "f" "-print0" ) + + export -f patch_file + # Limit the number of cores used + # shellcheck disable=SC2016 # ${@} has to be expanded in the sub-shell. + find "${rootdir}" "${find_args[@]}" \ + | xargs -0 -r -P "${PARALLEL_JOBS:-1}" -I {} \ + bash -c 'patch_file "${@}"' _ "${PATCHELF}" "${rootdir}" {} "${sanitize_extra_args[@]}" # Restore patched patchelf utility test "${tree}" = "host" && mv "${PATCHELF}.__to_be_patched" "${PATCHELF}" @@ -159,4 +178,4 @@ main() { return 0 } -main ${@} +main "${@}" diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains index 23ebfbdce9f..43442212139 100755 --- a/support/scripts/gen-bootlin-toolchains +++ b/support/scripts/gen-bootlin-toolchains @@ -338,6 +338,8 @@ class Toolchain: m = re.match("^BR2_TOOLCHAIN_EXTERNAL_GCC_([0-9_]*)=y$", frag) assert m, "Cannot get gcc version for toolchain %s" % self.fname_prefix selects.append("BR2_TOOLCHAIN_GCC_AT_LEAST_%s" % m[1]) + # respect the GCC requirement for the selected CPU/arch tuning + depends.append("!BR2_ARCH_NEEDS_GCC_AT_LEAST_%s" % str(int(m[1]) + 1)) # kernel headers version if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HEADERS_"): diff --git a/support/scripts/gen-missing-cpe b/support/scripts/gen-missing-cpe deleted file mode 100755 index 0b222f2659a..00000000000 --- a/support/scripts/gen-missing-cpe +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python3 - -import argparse -import sys -import json -import subprocess -import os -from cpedb import CPEDB, CPE - - -def gen_update_xml_reports(cpeids, cpedb, output): - cpe_need_update = [] - - for cpe in cpeids: - result = cpedb.find(cpe) - if not result: - result = cpedb.find_partial(CPE.no_version(cpe)) - if result: - cpe_need_update.append(cpe) - else: - print("WARNING: no match found for '%s'" % cpe) - - for cpe in cpe_need_update: - xml = cpedb.gen_update_xml(cpe) - fname = CPE.product(cpe) + '-' + CPE.version(cpe) + '.xml' - print("Generating %s" % fname) - with open(os.path.join(output, fname), 'w+') as fp: - fp.write(xml) - - print("Generated %d update files out of %d CPEs" % (len(cpe_need_update), len(cpeids))) - - -def get_cpe_ids(): - print("Getting list of CPE for enabled packages") - cmd = ["make", "--no-print-directory", "show-info"] - js = json.loads(subprocess.check_output(cmd).decode("utf-8")) - return set([v["cpe-id"] for k, v in js.items() if "cpe-id" in v]) - - -def resolvepath(path): - return os.path.abspath(os.path.expanduser(path)) - - -def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument('--output', dest='output', - help='Path to the output CPE update files', type=resolvepath, required=True) - parser.add_argument('--nvd-path', dest='nvd_path', - help='Path to the local NVD database', type=resolvepath, required=True) - return parser.parse_args() - - -def __main__(): - args = parse_args() - if not os.path.isdir(args.output): - print("ERROR: output directory %s does not exist" % args.output) - sys.exit(1) - cpedb = CPEDB(args.nvd_path) - cpedb.get_xml_dict() - cpeids = get_cpe_ids() - gen_update_xml_reports(cpeids, cpedb, args.output) - - -if __name__ == "__main__": - __main__() diff --git a/support/scripts/generate-gitlab-ci-yml b/support/scripts/generate-gitlab-ci-yml index aa43aac0196..2d922b9eb25 100755 --- a/support/scripts/generate-gitlab-ci-yml +++ b/support/scripts/generate-gitlab-ci-yml @@ -26,7 +26,7 @@ gen_tests() { local do_basics do_defconfigs do_runtime do_testpkg local defconfigs_ext cfg tst - basics=( check-package DEVELOPERS flake8 package ) + basics=( check-package check-symbol DEVELOPERS package symbol ) defconfigs=( $(cd configs; LC_ALL=C ls -1 *_defconfig) ) @@ -91,7 +91,7 @@ gen_tests() { # Retrieve defconfig for test-pkg from the git commit message (if any) if grep -q -E '^test-pkg config:$' <<<"${CI_COMMIT_DESCRIPTION}"; then - sed -r -n -e '/^test-pkg config:$/{:a;n;p;ba;}' \ + sed -r -n -e '/^test-pkg config:$/{:a;n;s/^ +//;p;ba;}' \ <<<"${CI_COMMIT_DESCRIPTION}" \ >defconfig.frag if [ ! -s defconfig.frag ]; then @@ -132,6 +132,7 @@ gen_tests() { fi if ${do_runtime:-false}; then + printf 'runtime_test_download: { extends: .runtime_test_download }\n' printf '%s: { extends: .runtime_test_base }\n' "${runtimes[@]}" fi diff --git a/support/scripts/mkusers b/support/scripts/mkusers index 4fc06f8fdf8..ee09bbd1f27 100755 --- a/support/scripts/mkusers +++ b/support/scripts/mkusers @@ -26,6 +26,7 @@ error() { shift printf "%s: " "${myname}" >&2 + # shellcheck disable=SC2059 # fmt is the format passed to error() printf "${fmt}" "${@}" >&2 } fail() { @@ -145,6 +146,8 @@ check_user_validity() { fail "invalid username '%s\n'" "${username}" fi + # shellcheck disable=SC2086 # gid is a non-empty int + # shellcheck disable=SC2166 # [ .. -o .. ] works well in this case if [ ${gid} -lt -2 -o ${gid} -eq 0 ]; then fail "invalid gid '%d' for '%s'\n" ${gid} "${username}" elif [ ${gid} -ge 0 ]; then @@ -171,6 +174,8 @@ check_user_validity() { fi fi + # shellcheck disable=SC2086 # uid is a non-empty int + # shellcheck disable=SC2166 # [ .. -o .. ] works well in this case if [ ${uid} -lt -2 -o ${uid} -eq 0 ]; then fail "invalid uid '%d' for '%s'\n" ${uid} "${username}" elif [ ${uid} -ge 0 ]; then @@ -190,6 +195,7 @@ check_user_validity() { fi # check the user does not already exist in another group + # shellcheck disable=SC2166 # [ .. -a .. ] works well in this case if [ -n "${_ugroup}" -a "${_ugroup}" != "${group}" ]; then fail "user '%s' already exists with group '%s' (wants '%s')\n" \ "${username}" "${_ugroup}" "${group}" @@ -218,6 +224,7 @@ generate_gid() { break fi done + # shellcheck disable=SC2086 # gid and maxgid are non-empty ints if [ ${gid} -gt ${maxgid} ]; then fail "can not allocate a GID for group '%s'\n" "${group}" fi @@ -233,6 +240,7 @@ add_one_group() { local members # Generate a new GID if needed + # shellcheck disable=SC2086 # gid is a non-empty int if [ ${gid} -eq ${AUTO_USER_ID} ]; then gid="$( generate_gid "${group}" $FIRST_USER_GID $LAST_USER_GID )" elif [ ${gid} -eq ${AUTO_SYSTEM_ID} ]; then @@ -272,6 +280,7 @@ generate_uid() { break fi done + # shellcheck disable=SC2086 # uid is a non-empty int if [ ${uid} -gt ${maxuid} ]; then fail "can not allocate a UID for user '%s'\n" "${username}" fi @@ -323,10 +332,11 @@ add_one_user() { check_user_validity "${username}" "${uid}" "${group}" "${gid}" # Generate a new UID if needed + # shellcheck disable=SC2086 # uid is a non-empty int if [ ${uid} -eq ${AUTO_USER_ID} ]; then - uid="$( generate_uid "${username}" $FIRST_USER_GID $LAST_USER_GID )" + uid="$( generate_uid "${username}" $FIRST_USER_UID $LAST_USER_UID )" elif [ ${uid} -eq ${AUTO_SYSTEM_ID} ]; then - uid="$( generate_uid "${username}" $FIRST_SYSTEM_GID $LAST_SYSTEM_GID )" + uid="$( generate_uid "${username}" $FIRST_SYSTEM_UID $LAST_SYSTEM_UID )" fi # Remove any previous instance of this user @@ -399,7 +409,7 @@ main() { fi # Read in all the file in memory, exclude empty lines and comments - while read line; do + while read -r line; do ENTRIES+=( "${line}" ) done < <( sed -r -e 's/#.*//; /^[[:space:]]*$/d;' "${USERS_TABLE}" ) @@ -410,14 +420,16 @@ main() { # First, create all the main groups which gid is *not* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" + # shellcheck disable=SC2086 # gid is a non-empty int [ ${gid} -ge 0 ] || continue # Automatic gid add_one_group "${group}" "${gid}" done # Then, create all the main groups which gid *is* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" + # shellcheck disable=SC2086 # gid is a non-empty int [ ${gid} -lt 0 ] || continue # Non-automatic gid add_one_group "${group}" "${gid}" done @@ -428,8 +440,9 @@ main() { # system gid if the uid is a system user (<= LAST_SYSTEM_UID), # otherwise a user gid. for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" if [ "${groups}" != "-" ]; then + # shellcheck disable=SC2086 # uid is a non-empty int if [ ${uid} -le 0 ]; then auto_id=${uid} elif [ ${uid} -le ${LAST_SYSTEM_UID} ]; then @@ -450,8 +463,9 @@ main() { # Now, add users whose uid is *not* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation + # shellcheck disable=SC2086 # uid is a non-empty int [ ${uid} -ge 0 ] || continue # Automatic uid add_one_user "${username}" "${uid}" "${group}" "${gid}" "${passwd}" \ "${home}" "${shell}" "${groups}" "${comment}" @@ -459,8 +473,9 @@ main() { # Finally, add users whose uid *is* automatic for line in "${ENTRIES[@]}"; do - read username uid group gid passwd home shell groups comment <<<"${line}" + read -r username uid group gid passwd home shell groups comment <<<"${line}" [ "${username}" != "-" ] || continue # Magic string to skip user creation + # shellcheck disable=SC2086 # uid is a non-empty int [ ${uid} -lt 0 ] || continue # Non-automatic uid add_one_user "${username}" "${uid}" "${group}" "${gid}" "${passwd}" \ "${home}" "${shell}" "${groups}" "${comment}" diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats index 3248e3678d7..4dc1857a9e6 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -23,21 +23,16 @@ import asyncio import datetime import fnmatch import os -from collections import defaultdict +from collections import defaultdict, namedtuple import re import subprocess import json import sys -import time -import gzip -import xml.etree.ElementTree -import requests brpath = os.path.normpath(os.path.join(os.path.dirname(__file__), "..", "..")) sys.path.append(os.path.join(brpath, "utils")) from getdeveloperlib import parse_developers # noqa: E402 -from cpedb import CPEDB_URL # noqa: E402 INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") URL_RE = re.compile(r"\s*https?://\S*\s*$") @@ -77,6 +72,19 @@ def get_defconfig_list(): ] +Br2Tree = namedtuple("Br2Tree", ["name", "path"]) + + +def get_trees(): + raw_variables = subprocess.check_output(["make", "--no-print-directory", "-s", + "BR2_HAVE_DOT_CONFIG=y", "printvars", + "VARS=BR2_EXTERNAL_NAMES BR2_EXTERNAL_%_PATH"]) + variables = dict(line.split("=") for line in raw_variables.decode().split("\n") if line) + variables["BR2_EXTERNAL_BUILDROOT_PATH"] = brpath + externals = ["BUILDROOT", *variables["BR2_EXTERNAL_NAMES"].split()] + return [Br2Tree(name, os.path.normpath(variables[f"BR2_EXTERNAL_{name}_PATH"])) for name in externals] + + class Package: all_licenses = dict() all_license_files = list() @@ -84,12 +92,14 @@ class Package: all_ignored_cves = dict() all_cpeids = dict() # This is the list of all possible checks. Add new checks to this list so - # a tool that post-processeds the json output knows the checks before + # a tool that post-processes the json output knows the checks before # iterating over the packages. status_checks = ['cve', 'developers', 'hash', 'license', 'license-files', 'patches', 'pkg-check', 'url', 'version'] - def __init__(self, name, path): + def __init__(self, tree, name, path): + self.tree = tree.name + self.tree_path = tree.path self.name = name self.path = path self.pkg_path = os.path.dirname(path) @@ -118,15 +128,26 @@ class Package: def pkgvar(self): return self.name.upper().replace("-", "_") + @property + def pkgdir(self): + return os.path.join(self.tree_path, self.pkg_path) + + @property + def pkgfile(self): + return os.path.join(self.tree_path, self.path) + + @property + def hashpath(self): + return self.pkgfile.replace(".mk", ".hash") + def set_url(self): """ Fills in the .url field """ self.status['url'] = ("warning", "no Config.in") - pkgdir = os.path.dirname(os.path.join(brpath, self.path)) - for filename in os.listdir(pkgdir): + for filename in os.listdir(self.pkgdir): if fnmatch.fnmatch(filename, 'Config.*'): - fp = open(os.path.join(pkgdir, filename), "r") + fp = open(os.path.join(self.pkgdir, filename), "r") for config_line in fp: if URL_RE.match(config_line): self.url = config_line.strip() @@ -172,7 +193,7 @@ class Package: keep_target = True self.infras = list() - with open(os.path.join(brpath, self.path), 'r') as f: + with open(self.pkgfile, 'r') as f: lines = f.readlines() for line in lines: match = INFRA_RE.match(line) @@ -211,8 +232,7 @@ class Package: self.status['hash-license'] = ("na", "no valid package infra") return - hashpath = self.path.replace(".mk", ".hash") - if os.path.exists(os.path.join(brpath, hashpath)): + if os.path.exists(self.hashpath): self.status['hash'] = ("ok", "found") else: self.status['hash'] = ("error", "missing") @@ -225,8 +245,7 @@ class Package: self.status['patches'] = ("na", "no valid package infra") return - pkgdir = os.path.dirname(os.path.join(brpath, self.path)) - for subdir, _, _ in os.walk(pkgdir): + for subdir, _, _ in os.walk(self.pkgdir): self.patch_files = fnmatch.filter(os.listdir(subdir), '*.patch') if self.patch_count == 0: @@ -258,8 +277,7 @@ class Package: if var in self.all_cpeids: self.cpeid = self.all_cpeids[var] - # Set a preliminary status, it might be overridden by check_package_cpes() - self.status['cpe'] = ("warning", "not checked against CPE dictionnary") + self.status['cpe'] = ("ok", "(not checked against CPE dictionary)") else: self.status['cpe'] = ("error", "no verified CPE identifier") @@ -268,12 +286,10 @@ class Package: Fills in the .warnings and .status['pkg-check'] fields """ cmd = [os.path.join(brpath, "utils/check-package")] - pkgdir = os.path.dirname(os.path.join(brpath, self.path)) self.status['pkg-check'] = ("error", "Missing") - for root, dirs, files in os.walk(pkgdir): + for root, dirs, files in os.walk(self.pkgdir): for f in files: - if f.endswith(".mk") or f.endswith(".hash") or f == "Config.in" or f == "Config.in.host": - cmd.append(os.path.join(root, f)) + cmd.append(os.path.join(root, f)) o = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[1] lines = o.splitlines() for line in lines: @@ -328,7 +344,7 @@ class Package: self.is_status_ok('license-files'), self.status['hash'], self.patch_count) -def get_pkglist(npackages, package_list): +def get_pkglist(trees, npackages, package_list): """ Builds the list of Buildroot packages, returning a list of Package objects. Only the .name and .path fields of the Package object are @@ -338,16 +354,21 @@ def get_pkglist(npackages, package_list): package_list: limit to those packages in this list """ WALK_USEFUL_SUBDIRS = ["boot", "linux", "package", "toolchain"] - WALK_EXCLUDES = ["boot/common.mk", + WALK_EXCLUDES = ["boot/barebox/barebox.mk", + "boot/common.mk", "linux/linux-ext-.*.mk", + "package/fftw/fftw.mk", "package/freescale-imx/freescale-imx.mk", "package/gcc/gcc.mk", "package/gstreamer/gstreamer.mk", "package/gstreamer1/gstreamer1.mk", "package/gtk2-themes/gtk2-themes.mk", + "package/kf5/kf5.mk", + "package/llvm-project/llvm-project.mk", "package/matchbox/matchbox.mk", "package/opengl/opengl.mk", "package/qt5/qt5.mk", + "package/qt6/qt6.mk", "package/x11r7/x11r7.mk", "package/doc-asciidoc.mk", "package/pkg-.*.mk", @@ -358,8 +379,8 @@ def get_pkglist(npackages, package_list): "toolchain/toolchain-wrapper.mk"] packages = list() count = 0 - for root, dirs, files in os.walk(brpath): - root = os.path.relpath(root, brpath) + for br_tree, root, dirs, files in ((tree, *rdf) for tree in trees for rdf in os.walk(tree.path)): + root = os.path.relpath(root, br_tree.path) rootdir = root.split("/") if len(rootdir) < 1: continue @@ -380,7 +401,7 @@ def get_pkglist(npackages, package_list): continue if skip: continue - p = Package(pkgname, pkgpath) + p = Package(br_tree, pkgname, pkgpath) packages.append(p) count += 1 if npackages and count == npackages: @@ -499,7 +520,7 @@ def check_package_latest_version_set_status(pkg, status, version, identifier): async def check_package_get_latest_version_by_distro(session, pkg, retry=True): - url = "https://release-monitoring.org//api/project/Buildroot/%s" % pkg.name + url = "https://release-monitoring.org/api/project/Buildroot/%s" % pkg.name try: async with session.get(url) as resp: if resp.status != 200: @@ -647,47 +668,6 @@ def check_package_cves(nvd_path, packages): pkg.status['cve'] = ("ok", "not affected by CVEs") -def check_package_cpes(nvd_path, packages): - class CpeXmlParser: - cpes = [] - - def start(self, tag, attrib): - if tag == "{http://scap.nist.gov/schema/cpe-extension/2.3}cpe23-item": - self.cpes.append(attrib['name']) - - def close(self): - return self.cpes - - print("CPE: Setting up NIST dictionary") - if not os.path.exists(os.path.join(nvd_path, "cpe")): - os.makedirs(os.path.join(nvd_path, "cpe")) - - cpe_dict_local = os.path.join(nvd_path, "cpe", os.path.basename(CPEDB_URL)) - if not os.path.exists(cpe_dict_local) or os.stat(cpe_dict_local).st_mtime < time.time() - 86400: - print("CPE: Fetching xml manifest from [" + CPEDB_URL + "]") - cpe_dict = requests.get(CPEDB_URL) - open(cpe_dict_local, "wb").write(cpe_dict.content) - - print("CPE: Unzipping xml manifest...") - nist_cpe_file = gzip.GzipFile(fileobj=open(cpe_dict_local, 'rb')) - - parser = xml.etree.ElementTree.XMLParser(target=CpeXmlParser()) - while True: - c = nist_cpe_file.read(1024*1024) - if not c: - break - parser.feed(c) - cpes = parser.close() - - for p in packages: - if not p.cpeid: - continue - if p.cpeid in cpes: - p.status['cpe'] = ("ok", "verified CPE identifier") - else: - p.status['cpe'] = ("error", "CPE version unknown in CPE database") - - def calculate_stats(packages): stats = defaultdict(int) stats['packages'] = len(packages) @@ -761,6 +741,7 @@ addedCSSRules.forEach(rule => styleSheet.insertRule(rule)); function sortGrid(sortLabel){ let i = 0; let pkgSortArray = [], sortedPkgArray = [], pkgStringSortArray = [], pkgNumSortArray = []; + const git_hash_regex = /[a-f,0-9]/gi; const columnValues = Array.from(document.getElementsByClassName(sortLabel)); const columnName = document.getElementById(sortLabel); let lastStyle = document.getElementById("sort-css"); @@ -785,7 +766,9 @@ function sortGrid(sortLabel){ pkgSortArray.push(sortArr); }); pkgSortArray.forEach((listing) => { - if ( isNaN(parseInt(listing[1], 10)) ){ + if ( listing[1].length >= 39 && listing[1].match(git_hash_regex).length >= 39){ + pkgStringSortArray.push(listing); + } else if ( isNaN(parseInt(listing[1], 10)) ){ pkgStringSortArray.push(listing); } else { listing[1] = parseFloat(listing[1]); @@ -854,7 +837,7 @@ function expandField(fieldId){ #package-grid, #results-grid { display: grid; grid-gap: 2px; - grid-template-columns: 1fr repeat(12, min-content); + grid-template-columns: min-content 1fr repeat(12, min-content); } #results-grid { grid-template-columns: 3fr 1fr; @@ -865,13 +848,20 @@ function expandField(fieldId){ .centered { text-align: center; } + + .current_version { + overflow: scroll; + width: 21ch; + padding: 10px 2px 10px 2px; + } + .correct, .nopatches, .good_url, .version-good, .cpe-ok, .cve-ok { background: #d2ffc4; } .wrong, .lotsofpatches, .invalid_url, .version-needs-update, .cpe-nok, .cve-nok { background: #ff9a69; } - .somepatches, .missing_url, .version-unknown, .cpe-unknown, .cve-unknown { + .somepatches, .somewarnings, .missing_url, .version-unknown, .cpe-unknown, .cve-unknown { background: #ffd870; } .cve_ignored, .version-error { @@ -920,6 +910,8 @@ def boolean_str(b): def dump_html_pkg(f, pkg): pkg_css_class = pkg.path.replace("/", "_")[:-3] + f.write(f'
{pkg.tree}
\n') f.write(f'
{pkg.path}
\n') # Patch count @@ -982,15 +974,13 @@ def dump_html_pkg(f, pkg): # Current version data_field_id = f'current_version__{pkg_css_class}' - if len(pkg.current_version) > 20: - current_version = pkg.current_version[:20] + "..." - else: - current_version = pkg.current_version + current_version = pkg.current_version f.write(f'
{current_version}
\n') # Latest version data_field_id = f'latest_version__{pkg_css_class}' + div_class = ["centered"] div_class.append(f'_{pkg_css_class}') div_class.append("latest_version data") if pkg.latest_version['status'] == RM_API_STATUS_ERROR: @@ -1028,6 +1018,8 @@ def dump_html_pkg(f, pkg): div_class.append(f'_{pkg_css_class}') if pkg.warnings == 0: div_class.append("correct") + elif pkg.warnings < 5: + div_class.append("somewarnings") else: div_class.append("wrong") f.write(f'
{pkg.warnings}
\n') @@ -1067,9 +1059,9 @@ def dump_html_pkg(f, pkg): f.write(f'
see all ({cve_total}) ▾
\n') if pkg.is_status_error("cve"): - for cve in pkg.cves: + for cve in cvecheck.CVE.sort_id(pkg.cves): f.write(f' {cve}
\n') - for cve in pkg.unsure_cves: + for cve in cvecheck.CVE.sort_id(pkg.unsure_cves): f.write(f' {cve} (unsure)
\n') elif pkg.is_status_na("cve"): f.write(f""" {pkg.status['cve'][1]}""") @@ -1122,31 +1114,33 @@ def dump_html_pkg(f, pkg): def dump_html_all_pkgs(f, packages): f.write("""
-
Tree
+
Package
-
Patch count
-
Infrastructure
-
License
-
License files
-
Hash file
-
Current version
-
Latest version
-
Warnings
-
Upstream URL
-
CVEs
-
CVEs Ignored
-
CPE ID
""") for pkg in sorted(packages): @@ -1217,7 +1211,7 @@ def dump_html(packages, stats, date, commit, output): def dump_json(packages, defconfigs, stats, date, commit, output): # Format packages as a dictionnary instead of a list # Exclude local field that does not contains real date - excluded_fields = ['url_worker', 'name'] + excluded_fields = ['url_worker', 'name', 'tree_path'] pkgs = { pkg.name: { k: v @@ -1276,7 +1270,7 @@ def parse_args(): parser.add_argument('--nvd-path', dest='nvd_path', help='Path to the local NVD database', type=resolvepath) parser.add_argument('--disable', type=list_str, - help='Features to disable, comma-separated (cve, upstream, url, cpe, warning)', + help='Features to disable, comma-separated (cve, upstream, url, warning)', default=[]) args = parser.parse_args() if not args.html and not args.json: @@ -1300,12 +1294,13 @@ def __main__(): package_list = set([v["name"] for v in show_info_js.values() if 'name' in v]) else: package_list = None - date = datetime.datetime.utcnow() + date = datetime.datetime.now(datetime.timezone.utc) commit = subprocess.check_output(['git', '-C', brpath, 'rev-parse', 'HEAD']).splitlines()[0].decode() print("Build package list ...") - packages = get_pkglist(args.npackages, package_list) + all_trees = get_trees() + packages = get_pkglist(all_trees, args.npackages, package_list) print("Getting developers ...") developers = parse_developers() print("Build defconfig list ...") @@ -1338,9 +1333,6 @@ def __main__(): if "cve" not in args.disable and args.nvd_path: print("Checking packages CVEs") check_package_cves(args.nvd_path, packages) - if "cpe" not in args.disable and args.nvd_path: - print("Checking packages CPEs") - check_package_cpes(args.nvd_path, packages) print("Calculate stats") stats = calculate_stats(packages) if args.html: diff --git a/support/testing/conf/binfmt-misc-kernel-fragment.config b/support/testing/conf/binfmt-misc-kernel-fragment.config deleted file mode 100644 index 7c992ff71b4..00000000000 --- a/support/testing/conf/binfmt-misc-kernel-fragment.config +++ /dev/null @@ -1,2 +0,0 @@ -# Needed for binfmt_misc service: "Arbitrary Executable File Formats File System" -CONFIG_BINFMT_MISC=y diff --git a/support/testing/conf/overlayfs-kernel-fragment.config b/support/testing/conf/overlayfs-kernel-fragment.config new file mode 100644 index 00000000000..91222389933 --- /dev/null +++ b/support/testing/conf/overlayfs-kernel-fragment.config @@ -0,0 +1 @@ +CONFIG_OVERLAY_FS=y diff --git a/support/testing/infra/basetest.py b/support/testing/infra/basetest.py index 96c6848dfcb..12d96415dac 100644 --- a/support/testing/infra/basetest.py +++ b/support/testing/infra/basetest.py @@ -9,14 +9,8 @@ """ BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y - BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y - BR2_TOOLCHAIN_EXTERNAL_URL="https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--bleeding-edge-2018.11-1.tar.bz2" - BR2_TOOLCHAIN_EXTERNAL_GCC_8=y - BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y - BR2_TOOLCHAIN_EXTERNAL_LOCALE=y - BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y - BR2_TOOLCHAIN_EXTERNAL_CXX=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y """ MINIMAL_CONFIG = \ @@ -52,7 +46,7 @@ def show_msg(self, msg): def setUp(self): self.show_msg("Starting") - self.b = Builder(self.config, self.builddir, self.logtofile) + self.b = Builder(self.config, self.builddir, self.logtofile, self.jlevel) if not self.keepbuilds: self.b.delete() @@ -88,7 +82,12 @@ def tearDown(self): super(BRTest, self).tearDown() # Run the given 'cmd' with a 'timeout' on the target and - # assert that the command succeeded + # assert that the command succeeded; on error, print the + # faulty command and its output def assertRunOk(self, cmd, timeout=-1): - _, exit_code = self.emulator.run(cmd, timeout) - self.assertEqual(exit_code, 0) + out, exit_code = self.emulator.run(cmd, timeout) + self.assertEqual( + exit_code, + 0, + "\nFailed to run: {}\noutput was:\n{}".format(cmd, ' '+'\n '.join(out)) + ) diff --git a/support/testing/infra/builder.py b/support/testing/infra/builder.py index 922a707220c..a2abb9ed89e 100644 --- a/support/testing/infra/builder.py +++ b/support/testing/infra/builder.py @@ -6,11 +6,12 @@ class Builder(object): - def __init__(self, config, builddir, logtofile): + def __init__(self, config, builddir, logtofile, jlevel=None): self.config = '\n'.join([line.lstrip() for line in config.splitlines()]) + '\n' self.builddir = builddir self.logfile = infra.open_log_file(builddir, "build", logtofile) + self.jlevel = jlevel def is_defconfig_valid(self, configfile, defconfig): """Check if the .config is contains all lines present in the defconfig.""" @@ -87,6 +88,8 @@ def build(self, make_extra_opts=[], make_extra_env={}): env.update(make_extra_env) cmd = ["make", "-C", self.builddir] + if "BR2_PER_PACKAGE_DIRECTORIES=y" in self.config.splitlines() and self.jlevel: + cmd.append(f"-j{self.jlevel}") cmd += make_extra_opts ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py index 53876f828cc..624740fcb16 100644 --- a/support/testing/infra/emulator.py +++ b/support/testing/infra/emulator.py @@ -20,7 +20,7 @@ def __init__(self, builddir, downloaddir, logtofile, timeout_multiplier): # # kernel: path to the kernel image, or the special string # 'builtin'. 'builtin' means a pre-built kernel image will be - # downloaded from ARTEFACTS_URL and suitable options are + # downloaded from ARTIFACTS_URL and suitable options are # automatically passed to qemu and added to the kernel cmdline. So # far only armv5, armv7 and i386 builtin kernels are available. # If None, then no kernel is used, and we assume a bootable device @@ -54,16 +54,16 @@ def boot(self, arch, kernel=None, kernel_cmdline=None, options=None): if arch == "armv7": kernel = infra.download(self.downloaddir, - "kernel-vexpress-5.10.7") + "kernel-vexpress-5.10.202") dtb = infra.download(self.downloaddir, - "vexpress-v2p-ca9-5.10.7.dtb") + "vexpress-v2p-ca9-5.10.202.dtb") qemu_cmd += ["-dtb", dtb] qemu_cmd += ["-M", "vexpress-a9"] elif arch == "armv5": kernel = infra.download(self.downloaddir, - "kernel-versatile-5.10.7") + "kernel-versatile-5.10.202") dtb = infra.download(self.downloaddir, - "versatile-pb-5.10.7.dtb") + "versatile-pb-5.10.202.dtb") qemu_cmd += ["-dtb", dtb] qemu_cmd += ["-M", "versatilepb"] qemu_cmd += ["-device", "virtio-rng-pci"] @@ -84,11 +84,11 @@ def boot(self, arch, kernel=None, kernel_cmdline=None, options=None): # Wait for the login prompt to appear, and then login as root with # the provided password, or no password if not specified. - def login(self, password=None): + def login(self, password=None, timeout=60): # The login prompt can take some time to appear when running multiple # instances in parallel, so set the timeout to a large value index = self.qemu.expect(["buildroot login:", pexpect.TIMEOUT], - timeout=60 * self.timeout_multiplier) + timeout=timeout * self.timeout_multiplier) if index != 0: self.logfile.write("==> System does not boot") raise SystemError("System does not boot") diff --git a/support/testing/run-tests b/support/testing/run-tests index bf400193627..485811b7462 100755 --- a/support/testing/run-tests +++ b/support/testing/run-tests @@ -8,6 +8,8 @@ import nose2 from infra.basetest import BRConfigTest +import infra + def main(): parser = argparse.ArgumentParser(description='Run Buildroot tests') @@ -23,6 +25,8 @@ def main(): help='output directory') parser.add_argument('-d', '--download', help='download directory') + parser.add_argument('-p', '--prepare-only', action='store_true', + help='download emulator builtin binaries') parser.add_argument('-k', '--keep', help='keep build directories', action='store_true') @@ -60,6 +64,16 @@ def main(): BRConfigTest.downloaddir = os.path.abspath(args.download) + if args.prepare_only: + emulator_builtin_binaries = ["kernel-vexpress-5.10.202", + "vexpress-v2p-ca9-5.10.202.dtb", + "kernel-versatile-5.10.202", + "versatile-pb-5.10.202.dtb"] + print("Downloading emulator builtin binaries") + for binary in emulator_builtin_binaries: + infra.download(BRConfigTest.downloaddir, binary) + return 0 + if args.output is None: print("Missing output directory, please use -o/--output") print("") diff --git a/support/testing/tests/boot/test_atf.py b/support/testing/tests/boot/test_atf.py index 4fcb9b241c1..b0e7696e867 100644 --- a/support/testing/tests/boot/test_atf.py +++ b/support/testing/tests/boot/test_atf.py @@ -1,31 +1,6 @@ import infra.basetest -class TestATFVexpress(infra.basetest.BRTest): - config = \ - """ - BR2_aarch64=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.5" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_DTC=y - BR2_TARGET_UBOOT=y - BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" - BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" - BR2_TARGET_VEXPRESS_FIRMWARE=y - """ - - def test_run(self): - pass - - class TestATFAllwinner(infra.basetest.BRTest): config = \ """ @@ -34,16 +9,17 @@ class TestATFAllwinner(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_a64" # BR2_TARGET_ARM_TRUSTED_FIRMWARE_SSP is not set BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04" - BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m64" + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.10" + BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2" BR2_TARGET_UBOOT_NEEDS_DTC=y + BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_NEEDS_PYTHON3=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y diff --git a/support/testing/tests/boot/test_edk2.py b/support/testing/tests/boot/test_edk2.py index c1be8fad95d..16fa10f8c90 100644 --- a/support/testing/tests/boot/test_edk2.py +++ b/support/testing/tests/boot/test_edk2.py @@ -18,12 +18,14 @@ class TestEdk2(infra.basetest.BRTest): BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.34" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y - BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-sbsa/linux.config" + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="support/testing/tests/boot/test_edk2/linux.config" BR2_TARGET_EDK2=y BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y BR2_TARGET_GRUB2=y BR2_TARGET_GRUB2_ARM64_EFI=y BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/board/qemu/aarch64-sbsa/linux.config b/support/testing/tests/boot/test_edk2/linux.config similarity index 100% rename from board/qemu/aarch64-sbsa/linux.config rename to support/testing/tests/boot/test_edk2/linux.config diff --git a/support/testing/tests/boot/test_grub.py b/support/testing/tests/boot/test_grub.py index 2c393f730e5..5315fa23ba0 100644 --- a/support/testing/tests/boot/test_grub.py +++ b/support/testing/tests/boot/test_grub.py @@ -61,7 +61,15 @@ class TestGrubi386EFI(infra.basetest.BRTest): def test_run(self): hda = os.path.join(self.builddir, "images", "disk.img") bios = os.path.join(self.builddir, "images", "OVMF.fd") - self.emulator.boot(arch="i386", options=["-bios", bios, "-hda", hda]) + # In QEMU v5.1.0 up to v7.2.0, the CPU hotplug register block misbehaves. + # EDK2 hang if the bug is detected in Qemu after printing errors to IO port 0x402 + # (requires BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL to see them) + # The Docker image used by the Buildroot gitlab-ci uses Qemu 5.2.0, the workaround + # can be removed as soon as the Docker image is updated to provided Qemu >= 8.0.0. + # https://github.com/tianocore/edk2/commit/bf5678b5802685e07583e3c7ec56d883cbdd5da3 + # http://lists.busybox.net/pipermail/buildroot/2023-July/670825.html + qemu_fw_cfg = "name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes" + self.emulator.boot(arch="i386", options=["-bios", bios, "-hda", hda, "-fw_cfg", qemu_fw_cfg]) self.emulator.login() cmd = "modprobe efivarfs" @@ -104,7 +112,15 @@ class TestGrubX8664EFI(infra.basetest.BRTest): def test_run(self): hda = os.path.join(self.builddir, "images", "disk.img") bios = os.path.join(self.builddir, "images", "OVMF.fd") - self.emulator.boot(arch="x86_64", options=["-bios", bios, "-hda", hda]) + # In QEMU v5.1.0 up to v7.2.0, the CPU hotplug register block misbehaves. + # EDK2 hang if the bug is detected in Qemu after printing errors to IO port 0x402 + # (requires BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL to see them) + # The Docker image used by the Buildroot gitlab-ci uses Qemu 5.2.0, the workaround + # can be removed as soon as the Docker image is updated to provided Qemu >= 8.0.0. + # https://github.com/tianocore/edk2/commit/bf5678b5802685e07583e3c7ec56d883cbdd5da3 + # http://lists.busybox.net/pipermail/buildroot/2023-July/670825.html + qemu_fw_cfg = "name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes" + self.emulator.boot(arch="x86_64", options=["-bios", bios, "-cpu", "Nehalem", "-hda", hda, "-fw_cfg", qemu_fw_cfg]) self.emulator.login() cmd = "modprobe efivarfs" diff --git a/support/testing/tests/boot/test_optee_os.py b/support/testing/tests/boot/test_optee_os.py new file mode 100644 index 00000000000..5f5cd17464c --- /dev/null +++ b/support/testing/tests/boot/test_optee_os.py @@ -0,0 +1,74 @@ +import os + +import infra.basetest + + +class TestOptee(infra.basetest.BRTest): + # A custom configuration is needed to enable OP-TEE support in the + # Kernel. This config is inspired from: + # configs/qemu_arm_vexpress_tz_defconfig + uboot_fragment = \ + infra.filepath("tests/boot/test_optee_os/u-boot.fragment") + config = \ + f""" + BR2_arm=y + BR2_cortex_a15=y + BR2_ARM_FPU_VFPV3D16=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/arm-vexpress-tz/post-build.sh" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.73" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/arm-vexpress-tz/linux.fragment" + BR2_PACKAGE_OPTEE_EXAMPLES=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + BR2_TARGET_ROOTFS_CPIO_UIMAGE=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BL32_RAM_LOCATION=tdram" + BR2_TARGET_OPTEE_OS=y + BR2_TARGET_OPTEE_OS_NEEDS_DTC=y + BR2_TARGET_OPTEE_OS_PLATFORM="vexpress-qemu_virt" + BR2_TARGET_UBOOT=y + BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y + BR2_TARGET_UBOOT_CUSTOM_VERSION=y + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.04" + BR2_TARGET_UBOOT_BOARD_DEFCONFIG="qemu_arm" + BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="{uboot_fragment}" + """ + + def test_run(self): + # There is no Kernel nor rootfs image here. They will be + # loaded by TFTP through the emulated network interface in + # u-boot. + bios = os.path.join(self.builddir, "images", "flash.bin") + tftp_dir = os.path.join(self.builddir, "images") + self.emulator.boot(arch="arm", + options=["-M", "virt,secure=on", + "-d", "unimp", + "-cpu", "cortex-a15", + "-m", "1024M", + "-netdev", f"user,id=vmnic,tftp={tftp_dir}", + "-device", "virtio-net-device,netdev=vmnic", + "-bios", bios]) + self.emulator.login() + + # Check the Kernel has OP-TEE messages + self.assertRunOk("dmesg | grep -F optee:") + + # Check we have OP-TEE devices + self.assertRunOk("ls -al /dev/tee*") + + # Run some OP-TEE examples + examples = ["aes", "hello_world", "hotp", "random", "secure_storage"] + for ex in examples: + self.assertRunOk(f"optee_example_{ex}") diff --git a/support/testing/tests/boot/test_optee_os/u-boot.fragment b/support/testing/tests/boot/test_optee_os/u-boot.fragment new file mode 100644 index 00000000000..b9505a1ff82 --- /dev/null +++ b/support/testing/tests/boot/test_optee_os/u-boot.fragment @@ -0,0 +1,8 @@ +CONFIG_SYS_TEXT_BASE=0x60000000 +CONFIG_BOOTCOMMAND="setenv ipaddr 10.0.2.15 && setenv serverip 10.0.2.2 && tftp ${kernel_addr_r} zImage && tftp ${ramdisk_addr_r} rootfs.cpio.uboot && setenv bootargs console=ttyAMA0,115200 earlyprintk=serial,ttyAMA0,115200 && bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}" +CONFIG_SEMIHOSTING=y +# Drop flash accesses +CONFIG_ENV_IS_IN_FLASH=n +CONFIG_MTD=n +CONFIG_MTD_NOR_FLASH=n +CONFIG_ENV_IS_NOWHERE=y diff --git a/support/testing/tests/boot/test_tfm.py b/support/testing/tests/boot/test_tfm.py new file mode 100644 index 00000000000..77650aaec1a --- /dev/null +++ b/support/testing/tests/boot/test_tfm.py @@ -0,0 +1,12 @@ +import infra.basetest + + +class TestTFMBuild(infra.basetest.BRTest): + config = \ + """ + BR2_TARGET_TRUSTED_FIRMWARE_M=y + BR2_TARGET_TRUSTED_FIRMWARE_M_PLATFORM="arm/mps2/an521" + """ + + def test_run(self): + pass diff --git a/support/testing/tests/core/test_file_capabilities.py b/support/testing/tests/core/test_file_capabilities.py index fe21d76c94a..e2600ae7945 100644 --- a/support/testing/tests/core/test_file_capabilities.py +++ b/support/testing/tests/core/test_file_capabilities.py @@ -13,7 +13,7 @@ class TestFileCapabilities(infra.basetest.BRTest): BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.310" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/support/testing/tests/core/test_timezone.py b/support/testing/tests/core/test_timezone.py index f661519196e..bf4a47fcde1 100644 --- a/support/testing/tests/core/test_timezone.py +++ b/support/testing/tests/core/test_timezone.py @@ -22,15 +22,16 @@ def test_run(self): boot_armv5_cpio(self.emulator, self.builddir) tz, _ = self.emulator.run("TZ=UTC date +%Z") self.assertEqual(tz[0].strip(), "UTC") - tz, _ = self.emulator.run("TZ=America/Los_Angeles date +%Z") - self.assertEqual(tz[0].strip(), "UTC") + # This test is Glibc specific since there is no Time Zone Database installed + # and other C libraries use their own rule for returning time zone name or + # abbreviation when TZ is empty or set with a not installed time zone data file. + tz, _ = self.emulator.run("TZ= date +%Z") + self.assertEqual(tz[0].strip(), "Universal") -class TestGlibcAllTimezone(infra.basetest.BRTest): - config = \ +class TestAllTimezone(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_TZ_INFO=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set @@ -48,11 +49,9 @@ def test_run(self): self.assertEqual(tz[0].strip(), "CET") -class TestGlibcNonDefaultLimitedTimezone(infra.basetest.BRTest): - config = \ +class TestNonDefaultLimitedTimezone(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_TZ_INFO=y BR2_TARGET_TZ_ZONELIST="northamerica" BR2_TARGET_LOCALTIME="America/New_York" diff --git a/support/testing/tests/fs/test_cpio.py b/support/testing/tests/fs/test_cpio.py index 8c0d3579949..172af579bba 100644 --- a/support/testing/tests/fs/test_cpio.py +++ b/support/testing/tests/fs/test_cpio.py @@ -41,9 +41,11 @@ class TestCpioDracutBase(infra.basetest.BRTest): BR2_PACKAGE_PV=y BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO_DRACUT=y + BR2_TARGET_ROOTFS_CPIO_DRACUT_MODULES="{}" BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES="{}" # BR2_TARGET_ROOTFS_TAR is not set - """.format(" ".join(["fs/cpio/dracut.conf", + """.format("support/testing/tests/fs/test_cpio/modules", + " ".join(["fs/cpio/dracut.conf", "support/testing/tests/fs/test_cpio/dracut-cramfs.conf"])) def check_dracut(self): @@ -57,6 +59,7 @@ def check_dracut(self): self.assertEqual(out.find("bin/pv"), -1) # libz should be, because of cramfs self.assertNotEqual(out.find("usr/bin/mkcramfs"), -1) + self.assertNotEqual(out.find("usr/bin/cramfsck"), -1) self.assertNotEqual(out.find("usr/lib/libz.so"), -1) exit_code = boot_img(self.emulator, diff --git a/support/testing/tests/fs/test_cpio/modules/99cramfs/module-setup.sh b/support/testing/tests/fs/test_cpio/modules/99cramfs/module-setup.sh new file mode 100755 index 00000000000..60706c8bd91 --- /dev/null +++ b/support/testing/tests/fs/test_cpio/modules/99cramfs/module-setup.sh @@ -0,0 +1,11 @@ +check() { + return 0 +} + +depends() { + return 0 +} + +install() { + inst_multiple /usr/bin/cramfsck +} diff --git a/support/testing/tests/fs/test_f2fs.py b/support/testing/tests/fs/test_f2fs.py index 425fbe31cac..826077ac942 100644 --- a/support/testing/tests/fs/test_f2fs.py +++ b/support/testing/tests/fs/test_f2fs.py @@ -20,7 +20,7 @@ class TestF2FS(infra.basetest.BRTest): # BR2_TARGET_ROOTFS_TAR is not set BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.310" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" diff --git a/support/testing/tests/fs/test_iso9660.py b/support/testing/tests/fs/test_iso9660.py index 692291267ef..3d08f2e8951 100644 --- a/support/testing/tests/fs/test_iso9660.py +++ b/support/testing/tests/fs/test_iso9660.py @@ -29,7 +29,16 @@ def test_mount_internal_external(emulator, builddir, internal=True, efi=False): img = os.path.join(builddir, "images", "rootfs.iso9660") if efi: efi_img = os.path.join(builddir, "images", "OVMF.fd") - emulator.boot(arch="i386", options=["-cdrom", img, "-bios", efi_img]) + # In QEMU v5.1.0 up to v7.2.0, the CPU hotplug register block misbehaves. + # EDK2 hang if the bug is detected in Qemu after printing errors to IO port 0x402 + # (requires BR2_TARGET_EDK2_OVMF_DEBUG_ON_SERIAL to see them) + # The Docker image used by the Buildroot gitlab-ci uses Qemu 5.2.0, the workaround + # can be removed as soon as the Docker image is updated to provided Qemu >= 8.0.0. + # This workaround is needed only when efi=True since it imply EDK2 is used. + # https://github.com/tianocore/edk2/commit/bf5678b5802685e07583e3c7ec56d883cbdd5da3 + # http://lists.busybox.net/pipermail/buildroot/2023-July/670825.html + qemu_fw_cfg = "name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes" + emulator.boot(arch="i386", options=["-cdrom", img, "-bios", efi_img, "-fw_cfg", qemu_fw_cfg]) else: emulator.boot(arch="i386", options=["-cdrom", img]) emulator.login() diff --git a/support/testing/tests/init/systemd-overlay-fstab/etc/fstab b/support/testing/tests/init/systemd-overlay-fstab/etc/fstab new file mode 100644 index 00000000000..d5c84406db4 --- /dev/null +++ b/support/testing/tests/init/systemd-overlay-fstab/etc/fstab @@ -0,0 +1,2 @@ +/dev/root / auto ro 0 1 +other-var-backing-store /run/buildroot/mounts/var tmpfs defaults diff --git a/support/testing/tests/init/systemd-overlay-mount-unit/usr/lib/systemd/system/run-buildroot-mounts-var.mount b/support/testing/tests/init/systemd-overlay-mount-unit/usr/lib/systemd/system/run-buildroot-mounts-var.mount new file mode 100644 index 00000000000..520cd6d9dae --- /dev/null +++ b/support/testing/tests/init/systemd-overlay-mount-unit/usr/lib/systemd/system/run-buildroot-mounts-var.mount @@ -0,0 +1,13 @@ +[Unit] +Description=Variable permanent storage overlay +ConditionPathIsSymbolicLink=!/var +DefaultDependencies=no +After=local-fs-pre.target + +[Mount] +# Rather than creating an actual writable partition, we just create +# another tmpfs. For tmpfs, the What is not relevant - but we use it in +# the test to distinguish it from other tmpfses +What=other-var-backing-store +Where=/run/buildroot/mounts/var +Type=tmpfs diff --git a/support/testing/tests/init/test_openrc.py b/support/testing/tests/init/test_openrc.py index c6ade7676d5..a1eb8fe2138 100644 --- a/support/testing/tests/init/test_openrc.py +++ b/support/testing/tests/init/test_openrc.py @@ -44,3 +44,16 @@ class TestInitSystemOpenrcRwFull(InitSystemOpenrcBase): def test_run(self): self.start_emulator("ext2") self.check_init() + + +class TestInitSystemOpenrcMergedUsrFull(InitSystemOpenrcBase): + config = InitSystemOpenrcBase.config + \ + """ + BR2_ROOTFS_MERGED_USR=y + BR2_SYSTEM_DHCP="eth0" + BR2_TARGET_ROOTFS_EXT2=y + """ + + def test_run(self): + self.start_emulator("ext2") + self.check_init() diff --git a/support/testing/tests/init/test_systemd.py b/support/testing/tests/init/test_systemd.py index 06c42736ae5..7bbc112a561 100644 --- a/support/testing/tests/init/test_systemd.py +++ b/support/testing/tests/init/test_systemd.py @@ -1,7 +1,15 @@ import infra.basetest +import re from tests.init.base import InitSystemBase as InitSystemBase +# In the following tests, the read-only cases use the default settings, +# which historically used both a factory to populate a tmpfs on /var, +# and pre-populated /var at buildtime. Since these are the default +# settings, and they proved to generate a system that ultimately boots, +# we still want to keep testing that. See later, below, for the +# specialised test cases. + class InitSystemSystemdBase(InitSystemBase): config = \ """ @@ -13,10 +21,14 @@ class InitSystemSystemdBase(InitSystemBase): BR2_INIT_SYSTEMD=y BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # BR2_TARGET_ROOTFS_TAR is not set + BR2_PER_PACKAGE_DIRECTORIES=y """ def check_systemd(self, fs): - self.start_emulator(fs) + if "BR2_LINUX_KERNEL=y" in self.config: + self.start_emulator(fs, "zImage", "vexpress-v2p-ca9") + else: + self.start_emulator(fs) self.check_init("/lib/systemd/systemd") # Test all units are OK @@ -39,19 +51,12 @@ class TestInitSystemSystemdRoNetworkd(InitSystemSystemdBase): """ BR2_SYSTEM_DHCP="eth0" # BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set - BR2_ROOTFS_OVERLAY="{}" BR2_TARGET_ROOTFS_SQUASHFS=y - """.format(infra.filepath("tests/init/systemd-factory")) + """ def test_run(self): self.check_systemd("squashfs") - # This one must be executed on the target, to check that - # the factory feature works as expected - out, exit_code = self.emulator.run("cat /var/foo/bar") - self.assertEqual(exit_code, 0) - self.assertEqual(out[0], "foobar") - class TestInitSystemSystemdRwNetworkd(InitSystemSystemdBase): config = InitSystemSystemdBase.config + \ @@ -190,3 +195,214 @@ class TestInitSystemSystemdRwFull(InitSystemSystemdBase): def test_run(self): self.check_systemd("ext2") + + +# The following tests are all about read-only rootfs, and exercise either +# using an un-populated factory for /var, or an overlaysfs ontop of a +# pre-populated /var. They all specialise the TestInitSystemSystemdRo* +# test cases above. + + +# Helper class for factory-based tests +class InitSystemSystemdBaseFactory(): + config = \ + """ + # BR2_INIT_SYSTEMD_POPULATE_TMPFILES is not set + BR2_ROOTFS_OVERLAY="{}" + """.format(infra.filepath("tests/init/systemd-factory")) + + def test_run(self): + super().test_run() + + # This one must be executed on the target, to check that + # the factory feature works as expected + out, exit_code = self.emulator.run("cat /var/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "foobar") + + # /var/foo/bar is from the /var factory + _, exit_code = self.emulator.run("test -e /usr/share/factory/var/foo/bar") + self.assertEqual(exit_code, 0) + + # We can write in /var/foo/bar + _, exit_code = self.emulator.run("echo barfoo >/var/foo/bar") + self.assertEqual(exit_code, 0) + # ... and it contains the new content + out, exit_code = self.emulator.run("cat /var/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "barfoo") + # ... but the factory is umodified + out, exit_code = self.emulator.run("cat /usr/share/factory/var/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "foobar") + + +class TestInitSystemSystemdRoNetworkdFactory( + InitSystemSystemdBaseFactory, + TestInitSystemSystemdRoNetworkd, +): + config = InitSystemSystemdBaseFactory.config + \ + TestInitSystemSystemdRoNetworkd.config + + +class TestInitSystemSystemdRoIfupdownFactory( + InitSystemSystemdBaseFactory, + TestInitSystemSystemdRoIfupdown, +): + config = InitSystemSystemdBaseFactory.config + \ + TestInitSystemSystemdRoIfupdown.config + + +class TestInitSystemSystemdRoIfupdownDbusbrokerFactory( + InitSystemSystemdBaseFactory, + TestInitSystemSystemdRoIfupdownDbusbroker, +): + config = InitSystemSystemdBaseFactory.config + \ + TestInitSystemSystemdRoIfupdownDbusbroker.config + + +class TestInitSystemSystemdRoIfupdownDbusbrokerDbusFactory( + InitSystemSystemdBaseFactory, + TestInitSystemSystemdRoIfupdownDbusbrokerDbus, +): + config = InitSystemSystemdBaseFactory.config + \ + TestInitSystemSystemdRoIfupdownDbusbrokerDbus.config + + +class TestInitSystemSystemdRoFullFactory( + InitSystemSystemdBaseFactory, + TestInitSystemSystemdRoFull, +): + config = InitSystemSystemdBaseFactory.config + \ + TestInitSystemSystemdRoFull.config + + +# Helper class for overlayfs-based tests +class InitSystemSystemdBaseOverlayfs(): + config = \ + """ + # BR2_INIT_SYSTEMD_VAR_FACTORY is not set + BR2_INIT_SYSTEMD_VAR_OVERLAYFS=y + BR2_ROOTFS_OVERLAY="{}" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.202" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + """.format(infra.filepath("tests/init/systemd-factory"), + infra.filepath("conf/overlayfs-kernel-fragment.config")) + + def test_run(self): + super().test_run() + + # This one must be executed on the target, to check that + # the tmpfiles pre-populate works as expected + out, exit_code = self.emulator.run("cat /var/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "foobar") + + # /var/foo/bar is from the pre-populated /var, so it should + # not be present in the upper of the overlay + _, exit_code = self.emulator.run("test -e /run/buildroot/mounts/var/upper/foo/bar") + self.assertNotEqual(exit_code, 0) + + # We can write in /var/foo/bar + _, exit_code = self.emulator.run("echo barfoo >/var/foo/bar") + self.assertEqual(exit_code, 0) + # ... and it contains the new content + out, exit_code = self.emulator.run("cat /var/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "barfoo") + # ... and it to appears in the upper + _, exit_code = self.emulator.run("test -e /run/buildroot/mounts/var/upper/foo/bar") + self.assertEqual(exit_code, 0) + # ... with the new content + out, exit_code = self.emulator.run("cat /run/buildroot/mounts/var/upper/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "barfoo") + # ... while the lower still has the oldcontent + out, exit_code = self.emulator.run("cat /run/buildroot/mounts/var/lower/foo/bar") + self.assertEqual(exit_code, 0) + self.assertEqual(out[0], "foobar") + + +class TestInitSystemSystemdRoNetworkdOverlayfs( + InitSystemSystemdBaseOverlayfs, + TestInitSystemSystemdRoNetworkd, +): + config = InitSystemSystemdBaseOverlayfs.config + \ + TestInitSystemSystemdRoNetworkd.config + + +class TestInitSystemSystemdRoIfupdownOverlayfs( + InitSystemSystemdBaseOverlayfs, + TestInitSystemSystemdRoIfupdown, +): + config = InitSystemSystemdBaseOverlayfs.config + \ + TestInitSystemSystemdRoIfupdown.config + + +class TestInitSystemSystemdRoIfupdownDbusbrokerOverlayfs( + InitSystemSystemdBaseOverlayfs, + TestInitSystemSystemdRoIfupdownDbusbroker, +): + config = InitSystemSystemdBaseOverlayfs.config + \ + TestInitSystemSystemdRoIfupdownDbusbroker.config + + +class TestInitSystemSystemdRoIfupdownDbusbrokerDbusOverlayfs( + InitSystemSystemdBaseOverlayfs, + TestInitSystemSystemdRoIfupdownDbusbrokerDbus, +): + config = InitSystemSystemdBaseOverlayfs.config + \ + TestInitSystemSystemdRoIfupdownDbusbrokerDbus.config + + +class TestInitSystemSystemdRoFullOverlayfs( + InitSystemSystemdBaseOverlayfs, + TestInitSystemSystemdRoFull, +): + config = InitSystemSystemdBaseOverlayfs.config + \ + TestInitSystemSystemdRoFull.config + + +class InitSystemSystemdBaseOverlayfsVarBacking(InitSystemBase): + @classmethod + def gen_config(cls, overlaydir: str) -> str: + return re.sub( + r'^\s*BR2_ROOTFS_OVERLAY="(.*)"$', + 'BR2_ROOTFS_OVERLAY="\\1 {}"'.format(infra.filepath(overlaydir)), + TestInitSystemSystemdRoFullOverlayfs.config, + flags=re.MULTILINE, + ) + + def check_var_mounted(self): + self.assertRunOk("grep '^other-var-backing-store /run/buildroot/mounts/var tmpfs' /proc/mounts") + + +class TestInitSystemSystemdRoFullOverlayfsVarBackingMountUnit( + TestInitSystemSystemdRoFullOverlayfs, + InitSystemSystemdBaseOverlayfsVarBacking, +): + config = InitSystemSystemdBaseOverlayfsVarBacking.gen_config( + 'tests/init/systemd-overlay-mount-unit', + ) + + def test_run(self): + super().test_run() + self.check_var_mounted() + + +class TestInitSystemSystemdRoFullOverlayfsVarBackingFstab( + TestInitSystemSystemdRoFullOverlayfs, + InitSystemSystemdBaseOverlayfsVarBacking, +): + config = InitSystemSystemdBaseOverlayfsVarBacking.gen_config( + 'tests/init/systemd-overlay-fstab', + ) + + def test_run(self): + super().test_run() + self.check_var_mounted() diff --git a/support/testing/tests/init/test_systemd_selinux.py b/support/testing/tests/init/test_systemd_selinux.py index 73604cfc32e..e9bb3405cd2 100644 --- a/support/testing/tests/init/test_systemd_selinux.py +++ b/support/testing/tests/init/test_systemd_selinux.py @@ -12,17 +12,18 @@ class TestSELinuxSystemd(infra.basetest.BRTest): BR2_INIT_SYSTEMD=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.12" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.26" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y BR2_PACKAGE_LIBSELINUX=y BR2_PACKAGE_REFPOLICY=y """ def wait_boot(self): - # The complete boot with systemd takes more time than what the default multipler permits - self.emulator.timeout_multiplier *= 10 - self.emulator.login() + # The complete boot with systemd takes more time than what the + # default typically allows + self.emulator.login(timeout=600) def run_tests(self, fstype): kernel = os.path.join(self.builddir, "images", "bzImage") diff --git a/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java b/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java index 3d6c17b746c..21d96797880 100644 --- a/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java +++ b/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java @@ -33,7 +33,7 @@ private static void Test( public static void main(String[] args) { var actualVersion = JniWrapper.get_jni_version(); - var expectedVersion = 0x000A0000; + var expectedVersion = 0x00150000; JniTest.Test( "Get JNI Version", actualVersion, diff --git a/support/testing/tests/package/sample_nodejs_basic.js b/support/testing/tests/package/sample_nodejs_basic.js new file mode 100644 index 00000000000..7633173c640 --- /dev/null +++ b/support/testing/tests/package/sample_nodejs_basic.js @@ -0,0 +1,3 @@ +var assert = require('assert'); +assert.strictEqual(1, 1); +console.log("Hello World"); diff --git a/support/testing/tests/package/sample_nodejs_module.js b/support/testing/tests/package/sample_nodejs_module.js new file mode 100644 index 00000000000..57aee734084 --- /dev/null +++ b/support/testing/tests/package/sample_nodejs_module.js @@ -0,0 +1,7 @@ +var assert = require('assert'); +var lodash = require('lodash'); +result = lodash.chunk(['a', 'b', 'c', 'd'], 2); +expected = [ [ 'a', 'b' ], [ 'c', 'd' ] ]; +assert.deepStrictEqual(result, expected) + + diff --git a/support/testing/tests/package/sample_nu.nu b/support/testing/tests/package/sample_nu.nu new file mode 100644 index 00000000000..5287862cf1d --- /dev/null +++ b/support/testing/tests/package/sample_nu.nu @@ -0,0 +1,6 @@ +#! /usr/bin/nu +def greet [name] { + ["hello" $name] +} + +greet "world" diff --git a/support/testing/tests/package/sample_python_crossbar.py b/support/testing/tests/package/sample_python_crossbar.py deleted file mode 100644 index 8160a372198..00000000000 --- a/support/testing/tests/package/sample_python_crossbar.py +++ /dev/null @@ -1,4 +0,0 @@ -import os -import crossbar - -crossbar.run(["version"]) diff --git a/support/testing/tests/package/sample_python_dbus_fast.py b/support/testing/tests/package/sample_python_dbus_fast.py new file mode 100644 index 00000000000..4157bccfcff --- /dev/null +++ b/support/testing/tests/package/sample_python_dbus_fast.py @@ -0,0 +1,45 @@ +import asyncio +from dbus_fast.aio import MessageBus +from dbus_fast.service import ServiceInterface, method +import dbus_fast.introspection as intr +from dbus_fast import BusType + + +class SampleInterface(ServiceInterface): + def __init__(self): + super().__init__('test.interface') + + @method() + def Ping(self): + pass + + @method() + def ConcatStrings(self, what1: 's', what2: 's') -> 's': # noqa: F821 + return what1 + what2 + + +async def main(): + bus_name = 'dbus.fast.sample' + obj_path = '/test/path' + + bus = await MessageBus(bus_type=BusType.SYSTEM).connect() + bus2 = await MessageBus(bus_type=BusType.SYSTEM).connect() + + await bus.request_name(bus_name) + + service_interface = SampleInterface() + bus.export(obj_path, service_interface) + + introspection = await bus2.introspect(bus_name, obj_path) + assert type(introspection) is intr.Node + obj = bus2.get_proxy_object(bus_name, obj_path, introspection) + interface = obj.get_interface(service_interface.name) + + result = await interface.call_ping() + assert result is None + + result = await interface.call_concat_strings('hello ', 'world') + assert result == 'hello world' + + +asyncio.run(main()) diff --git a/support/testing/tests/package/sample_python_docker.py b/support/testing/tests/package/sample_python_docker.py new file mode 100644 index 00000000000..a69097b4125 --- /dev/null +++ b/support/testing/tests/package/sample_python_docker.py @@ -0,0 +1,12 @@ +import docker + +client = docker.from_env() +info = client.info() +images = client.images.list() + +assert len(images) > 0 + +print('Version:', info['ServerVersion']) +print('Images:') +for i in images: + print(i.tags[0]) diff --git a/support/testing/tests/package/sample_python_evdev.py b/support/testing/tests/package/sample_python_evdev.py new file mode 100644 index 00000000000..0c00fa6e2f5 --- /dev/null +++ b/support/testing/tests/package/sample_python_evdev.py @@ -0,0 +1,11 @@ +import evdev + +devices = [evdev.InputDevice(path) for path in evdev.list_devices()] +e = evdev.events.InputEvent(1036996631, 984417, evdev.ecodes.EV_KEY, evdev.ecodes.KEY_A, 2) +k = evdev.events.KeyEvent(e) + +assert(k.keystate == evdev.events.KeyEvent.key_hold) +assert(k.event == e) +assert(k.scancode == evdev.ecodes.KEY_A) +assert(k.keycode == 'KEY_A') +assert(len(devices) > 0) diff --git a/support/testing/tests/package/sample_python_fastapi.py b/support/testing/tests/package/sample_python_fastapi.py new file mode 100644 index 00000000000..ee60be1f964 --- /dev/null +++ b/support/testing/tests/package/sample_python_fastapi.py @@ -0,0 +1,8 @@ +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/") +async def root(): + return {"message": "Hello World"} diff --git a/support/testing/tests/package/sample_python_hkdf.py b/support/testing/tests/package/sample_python_hkdf.py new file mode 100644 index 00000000000..a730c633e14 --- /dev/null +++ b/support/testing/tests/package/sample_python_hkdf.py @@ -0,0 +1,22 @@ +import hashlib +from binascii import hexlify, unhexlify + +from hkdf import Hkdf, hkdf_expand, hkdf_extract + +salt = b"ThisIsTheSalt." +key_in = b"ThisIsTheSecretKey" +key_info = b"KeyInfo1" +key_len = 16 +expected_key = unhexlify(b"b49d6cc9065b72f3a0859377d8bb7299") + +prk = hkdf_extract(salt, input_key_material=key_in, hash=hashlib.sha512) +key1 = hkdf_expand(prk, info=key_info, length=key_len) + +print("key1:", hexlify(key1)) +assert key1 == expected_key + +kdf = Hkdf(salt, input_key_material=key_in, hash=hashlib.sha512) +key2 = kdf.expand(info=key_info, length=key_len) + +print("key2:", hexlify(key2)) +assert key2 == expected_key diff --git a/support/testing/tests/package/sample_python_hwdata.py b/support/testing/tests/package/sample_python_hwdata.py new file mode 100644 index 00000000000..a13c08b32eb --- /dev/null +++ b/support/testing/tests/package/sample_python_hwdata.py @@ -0,0 +1,40 @@ +#! /usr/bin/env python3 + +from hwdata import PCI, PNP, USB + +# Test PCI IDs +pci_vendor_id = '1af4' +pci_device_id = '1003' + +pci = PCI() + +pci_vendor = pci.get_vendor(pci_vendor_id) +print("PCI Vendor: %s" % pci_vendor) +assert (pci_vendor == "Red Hat, Inc.") + +pci_device = pci.get_device(pci_vendor_id, pci_device_id) +print("PCI Device: %s" % pci_device) +assert (pci_device == "Virtio console") + +# Test USB IDs +usb_vendor_id = '1d6b' +usb_device_id = '0001' + +usb = USB() + +usb_vendor = usb.get_vendor(usb_vendor_id) +print("USB Vendor: %s" % usb_vendor) +assert (usb_vendor == "Linux Foundation") + +usb_device = usb.get_device(usb_vendor_id, usb_device_id) +print("USB Device: %s" % usb_device) +assert (usb_device == "1.1 root hub") + +# Test PNP IDs +pnp_id = 'RHT' + +pnp = PNP() + +pnp_vendor = pnp.get_vendor(pnp_id) +print("PNP Vendor: %s" % pnp_vendor) +assert (pnp_vendor == "Red Hat, Inc.") diff --git a/support/testing/tests/package/sample_python_mako.py b/support/testing/tests/package/sample_python_mako.py new file mode 100644 index 00000000000..833ead87be2 --- /dev/null +++ b/support/testing/tests/package/sample_python_mako.py @@ -0,0 +1 @@ +from mako import runtime # noqa diff --git a/support/testing/tests/package/sample_python_mako_ext.py b/support/testing/tests/package/sample_python_mako_ext.py new file mode 100644 index 00000000000..855d64ebf5f --- /dev/null +++ b/support/testing/tests/package/sample_python_mako_ext.py @@ -0,0 +1,3 @@ +from mako import runtime # noqa +import mako.ext.pygmentplugin # noqa +import mako.ext.babelplugin # noqa diff --git a/support/testing/tests/package/sample_python_midiutil.py b/support/testing/tests/package/sample_python_midiutil.py new file mode 100644 index 00000000000..58bf1fbccb4 --- /dev/null +++ b/support/testing/tests/package/sample_python_midiutil.py @@ -0,0 +1,23 @@ +#! /usr/bin/env python3 + +# Taken from: +# https://github.com/MarkCWirt/MIDIUtil/blob/1.2.1/examples/c-major-scale.py + +from midiutil import MIDIFile + +degrees = [60, 62, 64, 65, 67, 69, 71, 72] # MIDI note number +track = 0 +channel = 0 +time = 0 # In beats +duration = 1 # In beats +tempo = 60 # In BPM +volume = 100 # 0-127, as per the MIDI standard + +MyMIDI = MIDIFile(1) # One track +MyMIDI.addTempo(track, time, tempo) + +for i, pitch in enumerate(degrees): + MyMIDI.addNote(track, channel, pitch, time + i, duration, volume) + +with open("major-scale.mid", "wb") as output_file: + MyMIDI.writeFile(output_file) diff --git a/support/testing/tests/package/sample_python_minimalmodbus.py b/support/testing/tests/package/sample_python_minimalmodbus.py new file mode 100644 index 00000000000..dc5db8d9e27 --- /dev/null +++ b/support/testing/tests/package/sample_python_minimalmodbus.py @@ -0,0 +1,11 @@ +import minimalmodbus +from serial.serialutil import SerialException + +# We can't test proper behaviour in emulation, because there is +# actually no emulated modbus hardware, so we rely on the module +# to fail in an expected way to consider it is working correctly. +# Failure (of the script) is success (of the test)! +try: + instrument = minimalmodbus.Instrument('/dev/ttyUSB99', 1) +except SerialException: + pass diff --git a/support/testing/tests/package/sample_python_ml_dtypes.py b/support/testing/tests/package/sample_python_ml_dtypes.py new file mode 100644 index 00000000000..156d54a8758 --- /dev/null +++ b/support/testing/tests/package/sample_python_ml_dtypes.py @@ -0,0 +1,39 @@ +#! /usr/bin/env python3 + +# Tests inspired from commands published on project page: +# https://pypi.org/project/ml-dtypes/ + +from ml_dtypes import bfloat16 + +import numpy as np + +a = np.zeros(4, dtype=bfloat16) +assert a.dtype.name == 'bfloat16' +assert a[0] == 0.0 + +types = [ + 'bfloat16', + 'float8_e4m3b11fnuz', + 'float8_e4m3fn', + 'float8_e4m3fnuz', + 'float8_e5m2', + 'int4', + 'uint4' +] +for t in types: + dtype = np.dtype(t) + assert dtype.name == t + +rng = np.random.default_rng(seed=0) +vals = rng.uniform(size=10000).astype(bfloat16) +sum_vals = vals.sum() +assert sum_vals == 256 + +b = bfloat16(256) + bfloat16(1) +assert b == 256 + +c = np.nextafter(bfloat16(256), bfloat16(np.inf)) +assert c == 258 + +d = vals.sum(dtype='float32').astype(bfloat16) +assert d > 4500 and d < 5500 diff --git a/support/testing/tests/package/sample_python_munch.py b/support/testing/tests/package/sample_python_munch.py new file mode 100644 index 00000000000..b45bec7b7ed --- /dev/null +++ b/support/testing/tests/package/sample_python_munch.py @@ -0,0 +1,20 @@ +from munch import Munch + +b = Munch() +b.hello = 'world' +assert b.hello == 'world' +b['hello'] += "!" +assert b.hello == 'world!' +b.foo = Munch(lol=True) +assert b.foo.lol is True +assert b.foo is b['foo'] + +assert sorted(b.keys()) == ['foo', 'hello'] + +b.update({'ponies': 'are pretty!'}, hello=42) +assert b == Munch({'ponies': 'are pretty!', 'foo': Munch({'lol': True}), 'hello': 42}) + +assert sorted([(k, b[k]) for k in b]) == [('foo', Munch({'lol': True})), ('hello', 42), ('ponies', 'are pretty!')] + +format_munch = Munch(knights='lolcats', ni='can haz') +assert "The {knights} who say {ni}!".format(**format_munch) == 'The lolcats who say can haz!' diff --git a/support/testing/tests/package/sample_python_pysmb.py b/support/testing/tests/package/sample_python_pysmb.py new file mode 100644 index 00000000000..6b37530a84a --- /dev/null +++ b/support/testing/tests/package/sample_python_pysmb.py @@ -0,0 +1,2 @@ +from nmb.NetBIOS import NetBIOS # noqa +from smb.SMBHandler import SMBHandler # noqa diff --git a/support/testing/tests/package/sample_python_segno.py b/support/testing/tests/package/sample_python_segno.py new file mode 100644 index 00000000000..c96d6087cef --- /dev/null +++ b/support/testing/tests/package/sample_python_segno.py @@ -0,0 +1,13 @@ +import segno +import os +import tempfile + +qr = segno.make_qr('http:/www.example.org/') +with tempfile.NamedTemporaryFile('wb', suffix='.png', delete=False) as f: + fn = f.name +qr.save(fn) +expected = b'\211PNG\r\n\032\n' # PNG magic number +with open(fn, mode='rb') as f: + val = f.read(len(expected)) +os.unlink(fn) +assert expected == val diff --git a/support/testing/tests/package/sample_python_spake2.py b/support/testing/tests/package/sample_python_spake2.py new file mode 100644 index 00000000000..49dd914ca89 --- /dev/null +++ b/support/testing/tests/package/sample_python_spake2.py @@ -0,0 +1,22 @@ +from binascii import hexlify + +from spake2 import SPAKE2_A, SPAKE2_B + + +shared_password = b"This Is The Password!" + +alice = SPAKE2_A(shared_password) +alice_msg = alice.start() + +bob = SPAKE2_B(shared_password) +bob_msg = bob.start() + +# Alice and Bob exchange their messages... + +alice_key = alice.finish(bob_msg) +bob_key = bob.finish(alice_msg) + +print("alice_key:", hexlify(alice_key)) +print(" bob_key:", hexlify(bob_key)) + +assert alice_key == bob_key diff --git a/support/testing/tests/package/sample_python_tftpy.py b/support/testing/tests/package/sample_python_tftpy.py new file mode 100644 index 00000000000..ea4d20c9a23 --- /dev/null +++ b/support/testing/tests/package/sample_python_tftpy.py @@ -0,0 +1 @@ +import tftpy diff --git a/support/testing/tests/package/sample_python_uvloop.py b/support/testing/tests/package/sample_python_uvloop.py new file mode 100644 index 00000000000..dc85d3e04e0 --- /dev/null +++ b/support/testing/tests/package/sample_python_uvloop.py @@ -0,0 +1,6 @@ +import uvloop + +async def main(): + print("Hello world!") + +uvloop.run(main()) diff --git a/support/testing/tests/package/test_acl.py b/support/testing/tests/package/test_acl.py new file mode 100644 index 00000000000..e4827c7becb --- /dev/null +++ b/support/testing/tests/package/test_acl.py @@ -0,0 +1,87 @@ +import os + +import infra.basetest + + +class TestAcl(infra.basetest.BRTest): + # Note: this test requires a Kernel with a filesystem on /tmp + # supporting ACLs. This is the case for the basetest reference + # config. Kernel has CONFIG_TMPFS_POSIX_ACL=y, and /tmp is tmpfs + # in the default Buildroot config. + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_ACL=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the programs can execute. + self.assertRunOk("getfacl --version") + self.assertRunOk("setfacl --version") + + # Constants used in this test. + test_user = "acltest" + test_data = "Hello Buildroot!" + test_file = "/tmp/file.txt" + + # Create a test user: + # -D don't set a password + # -h set home directory + # -H don't create home directory + # -s set shell to /bin/sh + self.assertRunOk(f"adduser -D -h /tmp -H -s /bin/sh {test_user}") + + # Create a test file, and make sure the owner is "root" with + # standard Unix permissions to read/write only for the owner. + self.assertRunOk(f"echo '{test_data}' > {test_file}") + self.assertRunOk(f"chown root:root {test_file}") + self.assertRunOk(f"chmod 0600 {test_file}") + + # Check we have no ACL for the test user. + getacl_cmd = f"getfacl -c -p {test_file}" + out, ret = self.emulator.run(getacl_cmd) + self.assertEqual(ret, 0) + self.assertNotIn(f"user:{test_user}:", "\n".join(out)) + + # Reading the file as the test user is expected to fail. + test_read_cmd = f"su - {test_user} -c 'cat {test_file}'" + _, ret = self.emulator.run(test_read_cmd) + self.assertNotEqual(ret, 0) + + # We add a special read ACL for the test user. + cmd = f"setfacl -m u:{test_user}:r {test_file}" + self.assertRunOk(cmd) + + # Check we now have an ACL entry for the test user. + out, ret = self.emulator.run(getacl_cmd) + self.assertEqual(ret, 0) + self.assertIn(f"user:{test_user}:", "\n".join(out)) + + # Reading the file as the test user is now expected to + # succeed. + out, ret = self.emulator.run(test_read_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], test_data) + + # Attempting to write to the file as the test user is expected + # to fail (since we put an ACL only for reading). + cmd = f"su - {test_user} -c 'echo WriteTest > {test_file}'" + _, ret = self.emulator.run(cmd) + self.assertNotEqual(ret, 0) + + # Remove all ACLs. This could have been done with the command + # "setfacl -b". Instead, we use the "chacl -B" command which + # is doing the same. The reason is to slightly improve the + # coverage of this test, by including an execution of "chacl". + self.assertRunOk(f"chacl -B {test_file}") + + # Reading the file as the test user is expected to fail again. + _, ret = self.emulator.run(test_read_cmd) + self.assertNotEqual(ret, 0) diff --git a/support/testing/tests/package/test_acpica.py b/support/testing/tests/package/test_acpica.py new file mode 100644 index 00000000000..f7dd64d7f01 --- /dev/null +++ b/support/testing/tests/package/test_acpica.py @@ -0,0 +1,91 @@ +import os + +import infra.basetest + + +class TestAcpica(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_ACPICA=y + BR2_ROOTFS_OVERLAY="{}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + # overlay to add an ASL source file + infra.filepath("tests/package/test_acpica/rootfs-overlay")) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check a program can execute + self.assertRunOk("iasl -v") + + # Check "acpiexamples" demo is running + self.assertRunOk("acpiexamples") + + # Check "acpihelp" convert error code 0x1 to AE_ERROR + self.assertRunOk("acpihelp -e 1 | grep -F AE_ERROR") + + # Check "acpihelp" convert 0xA3 opcode to NoOpOp + self.assertRunOk("acpihelp -o 0xA3 | grep -F NoOpOp") + + # Compile a simple ASL file + # The output file is automatically set to "dsdt.aml" + self.assertRunOk("iasl dsdt.asl") + + # Evaluate the AML with acpiexec + # STR0 is expected to be "Hello Buildroot!" + cmd = "acpiexec -b 'evaluate STR0' dsdt.aml" + cmd += " | grep -F '\"Hello Buildroot!\"'" + self.assertRunOk(cmd) + + # INT1 is exepcted to be 12345678 + cmd = "acpiexec -b 'evaluate INT1' dsdt.aml" + cmd += " | grep -F 12345678" + self.assertRunOk(cmd) + + # Evalute the TEST method which prints its argument + cmd = "acpiexec -b 'evaluate TST2 \"Hello World\"' dsdt.aml" + cmd += " | grep -F 'Arg0=Hello World'" + self.assertRunOk(cmd) + + # dump aml to text + self.assertRunOk("acpidump -f dsdt.aml -o dsdt.dump") + + # Rebuild dump to binary with acpixtract + # Output is implicitly into the dsdt.dat file + self.assertRunOk("acpixtract -a dsdt.dump") + + # Compare with acpibin + # The rebuilt dsdt.dat is expected to be the same + cmd = "acpibin -a dsdt.aml dsdt.dat" + cmd += " | grep -F 'Files compare exactly'" + self.assertRunOk(cmd) + + # Compare with cmp, to check acpibin + self.assertRunOk("cmp dsdt.aml dsdt.dat") + + # Disassemble the compiled ASL + # Output file is implicitly "dsdt.dsl", we rename it to + # "disa.dsl" to make sure it will not clash with the original + # file, when recompiling. + self.assertRunOk("iasl dsdt.aml && mv -v dsdt.dsl disa.dsl") + + # Disassembled output should contain our string + self.assertRunOk("grep STR0 disa.dsl | grep '\"Hello Buildroot!\"'") + + # Recompile the disassembled file + self.assertRunOk("iasl disa.dsl") + + # Compare the first compiled file with the one recompiled from + # the disassembly. There are expected to be identical. + cmd = "acpibin -a dsdt.aml disa.aml" + cmd += " | grep -F 'Files compare exactly'" + self.assertRunOk(cmd) + + # Also compare with "cmp" + self.assertRunOk("cmp dsdt.aml disa.aml") diff --git a/support/testing/tests/package/test_acpica/rootfs-overlay/root/dsdt.asl b/support/testing/tests/package/test_acpica/rootfs-overlay/root/dsdt.asl new file mode 100644 index 00000000000..24f51565bea --- /dev/null +++ b/support/testing/tests/package/test_acpica/rootfs-overlay/root/dsdt.asl @@ -0,0 +1,9 @@ +DefinitionBlock ("", "DSDT", 2, "", "", 0x0) +{ + Name (STR0, "Hello Buildroot!") + Name (INT1, 0x12345678) + Method (TST2, 1) + { + printf ("Arg0=%o", Arg0) + } +} diff --git a/support/testing/tests/package/test_apache.py b/support/testing/tests/package/test_apache.py new file mode 100644 index 00000000000..f29f4e2524d --- /dev/null +++ b/support/testing/tests/package/test_apache.py @@ -0,0 +1,23 @@ +import os + +import infra.basetest + + +class TestApache(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_APACHE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("httpd -V") + self.assertRunOk("wget http://localhost/index.html") + self.assertRunOk("grep -F 'It works!' index.html") diff --git a/support/testing/tests/package/test_bash.py b/support/testing/tests/package/test_bash.py new file mode 100644 index 00000000000..f0ee8cadc12 --- /dev/null +++ b/support/testing/tests/package/test_bash.py @@ -0,0 +1,47 @@ +import os + +import infra.basetest + + +class TestBash(infra.basetest.BRTest): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_ENABLE_LOCALE_WHITELIST="" + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_BASH=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check that we are indeed not (yet) running bash + out, _ = self.emulator.run('echo "${BASH}"') + self.assertEqual(out[0], "", "Already running bash instead of busybox' sh") + + self.assertRunOk("bash -il") + # Twist! The above command is still runing, it's just that + # bash did display the prompt we expect. Check we are indeed + # actually bash + out, _ = self.emulator.run('echo "${BASH}"') + self.assertEqual(out[0], "/bin/bash", "Not running bash") + # Exit bash, back to busybox' shell + self.emulator.run("exit 0") + + # Check that we are indeed no longer running bash + out, _ = self.emulator.run('echo "${BASH}"') + self.assertEqual(out[0], "", "Still running bash instead of busybox' sh") + + # Try to run with a non-available locale + self.assertRunOk("LC_ALL=en_US bash -il") + out, _ = self.emulator.run('echo "${BASH}"') + self.assertEqual(out[0], "/bin/bash", "Not running bash") + self.emulator.run("exit 0") diff --git a/support/testing/tests/package/test_bc.py b/support/testing/tests/package/test_bc.py new file mode 100644 index 00000000000..46e2612b936 --- /dev/null +++ b/support/testing/tests/package/test_bc.py @@ -0,0 +1,62 @@ +import math +import os + +import infra.basetest + + +class TestBc(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BC=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program executes. + self.assertRunOk("bc --version") + + # We check a square root function of a number slightly larger + # than 32 bits. + value = 123456 + squared_value = value ** 2 + bc_expr = f"sqrt({squared_value})" + cmd = f"echo '{bc_expr}' | bc" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), value) + + # Perform an integer exponentiation producing a large number. + base = 3 + exponent = 4567 + expected_value = base ** exponent + bc_expr = f"{base} ^ {exponent}" + cmd = f"echo '{bc_expr}' | BC_LINE_LENGTH=0 bc" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), expected_value) + + # Test a basic output base conversion of a large number. + hex_str = "DEADBEEF0000ABADC0DE00008BADF00D" + hex_base = 16 + value = int(hex_str, base=hex_base) + bc_expr = f"obase={hex_base} ; {value}" + cmd = f"echo '{bc_expr}' | bc" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], hex_str) + + # Test a floating point computation by estimating Pi. Since we + # use the bc arc-tangent a() function, we need the '-l' + # option. + bc_expr = "4 * a(1)" + cmd = f"echo '{bc_expr}' | bc -l" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertAlmostEqual(float(output[0]), math.pi, places=16) diff --git a/support/testing/tests/package/test_bitcoin.py b/support/testing/tests/package/test_bitcoin.py new file mode 100644 index 00000000000..93aa9383ab6 --- /dev/null +++ b/support/testing/tests/package/test_bitcoin.py @@ -0,0 +1,184 @@ +import os +import time + +import infra.basetest + + +class TestBitcoin(infra.basetest.BRTest): + # infra.basetest.BASIC_TOOLCHAIN_CONFIG cannot be used as it does + # not include BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + # needed by bitcoin. This config also uses an ext4 rootfs as + # bitcoind needs some free disk space to start (so we avoid having + # a larger initrd in RAM). + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.81" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_PACKAGE_BITCOIN=y + BR2_PACKAGE_BITCOIN_WALLET=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="256M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + # Command prefix for the bitcoin command line interface. + cli_cmd = "bitcoin-cli -regtest" + + def create_btc_wallet(self, wallet_name): + """Create an empty wallet.""" + cmd = f"{self.cli_cmd} -named createwallet wallet_name={wallet_name}" + self.assertRunOk(cmd) + + def gen_btc_address(self, wallet_name): + """Generate an address in a wallet.""" + cmd = f"{self.cli_cmd} -rpcwallet={wallet_name} getnewaddress" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return out[0] + + def init_wallet(self, wallet_name): + """Create a wallet and generate an address in it.""" + self.create_btc_wallet(wallet_name) + return self.gen_btc_address(wallet_name) + + def get_wallet_balance(self, wallet): + """Return the (confirmed) balance of a wallet.""" + cmd = f"{self.cli_cmd} -rpcwallet={wallet} getbalance" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return float(out[0]) + + def get_wallet_unconfirmed_balance(self, wallet): + """Return the unconfirmed balance of a wallet.""" + cmd = f"{self.cli_cmd} -rpcwallet={wallet} getunconfirmedbalance" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return float(out[0]) + + def get_block_count(self): + """Returns the height of the most-work fully-validated chain.""" + cmd = f"{self.cli_cmd} getblockcount" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + return int(out[0]) + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a53", + "-m", "256M", + "-drive", f"file={drive},if=virtio,format=raw"]) + self.emulator.login() + + # Values for the test. + wallet1 = "AliceWallet" + wallet2 = "BobWallet" + btc_test_amount = 10 + btc_fee = 0.00001 + req_blk_count = 101 + + # Check the binary can execute. + self.assertRunOk("bitcoind --version") + + # This cleanup is useful when run-test -k is used. It makes + # this test idempotent. Since the drive storage is preserved + # between reboots, this cleanup will make sure the test always + # starts from a clean state. + cmd = "rm -rf ~/.bitcoin" + self.assertRunOk(cmd) + + # The bitcoin daemon is not started. A client ping is expected + # to fail. + ping_cmd = f"{self.cli_cmd} ping" + _, ret = self.emulator.run(ping_cmd) + self.assertNotEqual(ret, 0) + + # Start the daemon. + cmd = f"bitcoind -regtest -daemonwait -fallbackfee={btc_fee:f}" + self.assertRunOk(cmd) + + time.sleep(2 * self.timeout_multiplier) + + # Now the daemon is started, the ping is expected to succeed. + self.assertRunOk(ping_cmd) + + # We create two wallets and addresses. + btc_addr1 = self.init_wallet(wallet1) + btc_addr2 = self.init_wallet(wallet2) + + # Since the regression test block chain is at its genesis + # block, we expect a height of zero. + cur_blk_cnt = self.get_block_count() + self.assertEqual(cur_blk_cnt, 0) + + # We also expect our wallets to be empty. + for wallet in [wallet1, wallet2]: + balance = self.get_wallet_balance(wallet) + self.assertAlmostEqual(balance, 0.0) + + # We request the generation of several blocks for address + # #1. We should receive the 50 BTC reward at this address. + cmd = self.cli_cmd + cmd += f" generatetoaddress {req_blk_count} {btc_addr1}" + self.assertRunOk(cmd) + + # We should now see the previously created blocks. + cur_blk_cnt = self.get_block_count() + self.assertEqual(cur_blk_cnt, req_blk_count) + + # We should also see the 50 BTC reward in the wallet #1. + balance = self.get_wallet_balance(wallet1) + self.assertAlmostEqual(balance, 50.0) + + # The wallet #2 should still be empty. + balance = self.get_wallet_balance(wallet2) + self.assertAlmostEqual(balance, 0.0) + + # We send an amount from wallet #1 to #2. + cmd = f"{self.cli_cmd} -rpcwallet={wallet1}" + cmd += f" sendtoaddress {btc_addr2} {btc_test_amount}" + self.assertRunOk(cmd) + + # The wallet #1 balance is expected to be subtracted by the + # spent amount and the transaction fees. + expected_balance = 50 - btc_test_amount - btc_fee + balance = self.get_wallet_balance(wallet1) + self.assertAlmostEqual(balance, expected_balance, places=4) + + # The transaction is sent, but not confirmed yet. So we should + # still see a (confirmed) balance of zero. + balance = self.get_wallet_balance(wallet2) + self.assertAlmostEqual(balance, 0.0) + + # We should see the transferred amount in the unconfirmed + # balance. + balance = self.get_wallet_unconfirmed_balance(wallet2) + self.assertAlmostEqual(balance, btc_test_amount) + + # We generate 1 block to address #2. This action will confirm + # the previous transaction (but this will not give the 50 BTC + # reward). + cmd = f"{self.cli_cmd} generatetoaddress 1 {btc_addr2}" + self.assertRunOk(cmd) + + # We should see one more block. + cur_blk_cnt = self.get_block_count() + self.assertEqual(cur_blk_cnt, req_blk_count + 1) + + # We should now see the amount in the confirmed balance. + balance = self.get_wallet_balance(wallet2) + self.assertAlmostEqual(balance, btc_test_amount) + + # The unconfirmed balance should now be zero. + balance = self.get_wallet_unconfirmed_balance(wallet2) + self.assertAlmostEqual(balance, 0.0) diff --git a/support/testing/tests/package/test_brotli.py b/support/testing/tests/package/test_brotli.py new file mode 100644 index 00000000000..779b956cb31 --- /dev/null +++ b/support/testing/tests/package/test_brotli.py @@ -0,0 +1,13 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestBrotli(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_BROTLI=y + """ + compress_cmd = "brotli" + decompress_cmd = "brotli -d" + compressed_file_ext = ".br" + timeout = 60 diff --git a/support/testing/tests/package/test_bzip2.py b/support/testing/tests/package/test_bzip2.py new file mode 100644 index 00000000000..4b7ae8180fa --- /dev/null +++ b/support/testing/tests/package/test_bzip2.py @@ -0,0 +1,12 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestBzip2(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_BZIP2=y + """ + compress_cmd = "bzip2" + decompress_cmd = "bunzip2" + compressed_file_ext = ".bz2" diff --git a/support/testing/tests/package/test_clang.py b/support/testing/tests/package/test_clang.py index df3990c6be8..f36faa059a5 100644 --- a/support/testing/tests/package/test_clang.py +++ b/support/testing/tests/package/test_clang.py @@ -14,7 +14,7 @@ class TestClangCompilerRT(infra.basetest.BRTest): BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.283" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/support/testing/tests/package/test_compressor_base.py b/support/testing/tests/package/test_compressor_base.py new file mode 100644 index 00000000000..6555584c103 --- /dev/null +++ b/support/testing/tests/package/test_compressor_base.py @@ -0,0 +1,126 @@ +import os + +import infra.basetest + + +class TestCompressorBase(infra.basetest.BRTest): + """Common class to test a data compression/decompression package. + + Build an image containing the package enabled in config, start the + emulator, login to it. It prepares a test data file with some + redundancy to let compression program reduce the file size. + + Each test case that inherits from this class must have: + __test__ = True - to let nose2 know that it is a test case + config - defconfig fragment with the packages to run the test + compress_cmd - the compression program command (ex: "gzip") + it can also contain arguments (ex: "gzip -9") + It also can have: + decompress_cmd - the decompression program (ex: "gunzip") + if unset, the default value is "un" appended with the + value of "compress_cmd". + check_integrity_cmd + - the integrity check command (ex: "gzip -t") + in unset, the default value is "compress_cmd" appended + with " -t". + compressed_file_ext + - the file extention of compressed files created by the + compress command. (ex: ".gz") + if unset, the default value is a dot "." appended with + the value of "compress_cmd". + timeout - timeout to the compression command. Some compression + program can take more time than the default value + (set to 5 seconds). + """ + __test__ = False + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + compress_cmd = "compressor-unknown" + decompress_cmd = None + check_integrity_cmd = None + compressed_file_ext = None + timeout = 5 + + def __init__(self, names): + """Setup common test variables.""" + super(TestCompressorBase, self).__init__(names) + + if self.decompress_cmd is None: + self.decompress_cmd = "un" + self.compress_cmd + + if self.check_integrity_cmd is None: + self.check_integrity_cmd = self.compress_cmd + " -t" + + if self.compressed_file_ext is None: + self.compressed_file_ext = "." + self.compress_cmd + + self.ref_file = "reference.bin" + self.test_file = "test.bin" + self.comp_test_file = self.test_file + self.compressed_file_ext + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + def test_run(self): + self.login() + self.prepare_data() + self.compress_test() + self.check_integrity_test() + self.uncompress_test() + self.compare_test() + + def prepare_data(self): + # Create a data file composed of: 128kB of random data, then + # 128kB of zeroes, then a repetition of the 1st 128kB of + # random. + self.assertRunOk("dd if=/dev/urandom of=rand.bin bs=128k count=1") + self.assertRunOk("dd if=/dev/zero of=zeroes.bin bs=128k count=1") + self.assertRunOk(f"cat rand.bin zeroes.bin rand.bin > {self.ref_file}") + + # Keep a copy of the reference data since + # compressor/decompressor programs usually unlink source data + # file. + self.assertRunOk(f"cp {self.ref_file} {self.test_file}") + + def compress_test(self): + # Run the compression + self.assertRunOk(f"{self.compress_cmd} {self.test_file}", timeout=self.timeout) + + # Check that the compressed file was created with the expected name + self.assertRunOk(f"test -e {self.comp_test_file}") + + # Remove the input test file. Some compressors (like gzip) are + # removing it automatically by default. Some others (like lz4) + # are keeping those by default. We always remove it to make + # sure a new file will be recreated by the decompression. + self.assertRunOk(f"rm -f {self.test_file}") + + # Check the compressed file is smaller than the input. + # The "ls -l" command is for simplifying debugging + self.assertRunOk(f"ls -l {self.ref_file} {self.comp_test_file}") + ref_sz_cmd = f"wc -c < {self.ref_file}" + comp_sz_cmd = f"wc -c < {self.comp_test_file}" + self.assertRunOk(f"test $({ref_sz_cmd}) -gt $({comp_sz_cmd})") + + def check_integrity_test(self): + # Check the compressed file integrity + self.assertRunOk(f"{self.check_integrity_cmd} {self.comp_test_file}") + + def uncompress_test(self): + # Run the decompression + self.assertRunOk(f"{self.decompress_cmd} {self.comp_test_file}") + + # Check the decompressed file was created with the correct name + self.assertRunOk(f"test -e {self.test_file}") + + def compare_test(self): + # Check the decompressed file is exactly the same as the + # reference created at the beginning + self.assertRunOk(f"cmp {self.test_file} {self.ref_file}") diff --git a/support/testing/tests/package/test_coremark.py b/support/testing/tests/package/test_coremark.py new file mode 100644 index 00000000000..8bd2f32143b --- /dev/null +++ b/support/testing/tests/package/test_coremark.py @@ -0,0 +1,33 @@ +import os + +import infra.basetest + + +class TestCoreMark(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_COREMARK=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + log_file = "run1.log" + + # Run a CoreMark benchmark. + self.assertRunOk(f"coremark > {log_file}", timeout=60) + + # Print the log file on console, for debugging. + self.assertRunOk(f"cat {log_file}") + + # The "coremark" program return code is always 0 (success). + # So the correct execution is validated from the run log. + valid_msg = "Correct operation validated." + cmd = f"grep -F '{valid_msg}' {log_file}" + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_cryptsetup.py b/support/testing/tests/package/test_cryptsetup.py new file mode 100644 index 00000000000..759dfd7c5f2 --- /dev/null +++ b/support/testing/tests/package/test_cryptsetup.py @@ -0,0 +1,137 @@ +import os +import subprocess + +import infra.basetest + + +class TestCryptSetup(infra.basetest.BRTest): + # A specific configuration is needed for using cryptsetup: + # - A kernel config fragment enables all the parts needed for + # mounting a LUKS2 volume, + # - Enable OpenSSL for cryptsetup crypto backend library, + # - Enable e2fsprog for formatting a ext4 filesystem. + kern_frag = \ + infra.filepath("tests/package/test_cryptsetup/linux-cryptsetup.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.75" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kern_frag}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_CRYPTSETUP=y + BR2_PACKAGE_E2FSPROGS=y + BR2_PACKAGE_OPENSSL=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + disk_file = os.path.join(self.builddir, "images", "disk.img") + self.emulator.logfile.write(f"Creating disk image: {disk_file}") + subprocess.check_call( + ["dd", "if=/dev/urandom", f"of={disk_file}", "bs=1M", "count=20"], + stdout=self.emulator.logfile, + stderr=self.emulator.logfile) + + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + + bootargs = ["console=ttyAMA0"] + qemu_opts = ["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img, + "-drive", f"file={disk_file},if=virtio,format=raw"] + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=bootargs, + options=qemu_opts) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("cryptsetup --version") + + passkey = "ThisIsAPassKey." + dev = "/dev/vda" + dm_name = "luks-vol" + dm_dev = f"/dev/mapper/{dm_name}" + mnt_pt = "/mnt/secure-volume" + + # Check the device is NOT detected as a LUKS volume, because + # it is not formatted yet. + is_luks_cmd = f"cryptsetup isLuks {dev}" + _, ret = self.emulator.run(is_luks_cmd) + self.assertNotEqual(ret, 0) + + # Format the LUKS volume. + cmd = f"echo {passkey} | cryptsetup luksFormat {dev}" + self.assertRunOk(cmd, timeout=30) + + # Check the device is now detected as a LUKS device. + self.assertRunOk(is_luks_cmd) + + # Dump LUKS device header information. + self.assertRunOk(f"cryptsetup luksDump {dev}") + + # Open the LUKS device + luks_open_cmd = f"echo {passkey} | " + luks_open_cmd += f"cryptsetup open --type luks {dev} {dm_name}" + self.assertRunOk(luks_open_cmd, timeout=10) + + # Create an ext4 filesystem. + self.assertRunOk(f"mke2fs -T ext4 {dm_dev}", timeout=10) + + # Create the mount point directory. + self.assertRunOk(f"mkdir {mnt_pt}") + + # Mount the LUKS device. + mount_cmd = f"mount {dm_dev} {mnt_pt}" + self.assertRunOk(mount_cmd) + + # Create a plain text file in the mounted filesystem. + msg = "This is a plain text message" + plain_file = f"{mnt_pt}/file.txt" + self.assertRunOk(f"echo '{msg}' > {plain_file}") + + # Unmount. + self.assertRunOk(f"umount {mnt_pt}") + + # We are supposed to see our plain text message on the + # dm-crypt device. + self.assertRunOk(f"grep -Fq '{msg}' {dm_dev}", timeout=10) + + # Close the LUKS device + self.assertRunOk(f"cryptsetup close {dm_name}") + + # We are NOT supposed to find our plain text message on the + # crypted storage device. + _, ret = self.emulator.run(f"grep -Fq '{msg}' {dev}", timeout=10) + self.assertNotEqual(ret, 0) + + # Try to open LUKS volume with a wrong password. This is + # expected to fail. + cmd = f"echo 'Wrong{passkey}' | " + cmd += f"cryptsetup open --type luks {dev} {dm_name}" + _, ret = self.emulator.run(cmd, timeout=10) + self.assertNotEqual(ret, 0) + + # Check the device-mapper device was NOT created (since we + # tried to open it with a wrong password). + self.assertRunOk(f"test ! -e {dm_dev}") + + # Reopen the LUKS device, with the good passkey this time... + self.assertRunOk(luks_open_cmd, timeout=10) + + # ...remount... + self.assertRunOk(mount_cmd) + + # ...and read back our plain text file. We check we get back + # our original message. + out, ret = self.emulator.run(f"cat {plain_file}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_cryptsetup/linux-cryptsetup.fragment b/support/testing/tests/package/test_cryptsetup/linux-cryptsetup.fragment new file mode 100644 index 00000000000..37d5494fc20 --- /dev/null +++ b/support/testing/tests/package/test_cryptsetup/linux-cryptsetup.fragment @@ -0,0 +1,5 @@ +CONFIG_BLK_DEV_DM=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_XTS=y +CONFIG_DM_CRYPT=y +CONFIG_MD=y diff --git a/support/testing/tests/package/test_ddrescue.py b/support/testing/tests/package/test_ddrescue.py new file mode 100644 index 00000000000..22069714218 --- /dev/null +++ b/support/testing/tests/package/test_ddrescue.py @@ -0,0 +1,94 @@ +import os + +import infra.basetest + + +class TestDdrescue(infra.basetest.BRTest): + + # A specific configuration is needed for testing ddrescue: + # - A kernel config fragment enables loop blk dev and device + # mapper dm-dust, which are used to simulate a failing storage + # block device. + # - dmraid user space package is needed to configure dm-dust + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.15" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_DDRESCUE=y + BR2_PACKAGE_DMRAID=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_ddrescue/linux-ddrescue.fragment") + ) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", "-initrd", img]) + self.emulator.login() + + # Test variables: + dev_img = "/tmp/dev.img" + lo_dev = "/dev/loop0" + dm_dev_name = "dust0" + dm_dev = f"/dev/mapper/{dm_dev_name}" + ddrescue_img = "/tmp/ddrescue.img" + + # Test the program can execute + self.assertRunOk("ddrescue --version") + + # Create a 1MB file of zeroes for initial loopback block device + self.assertRunOk(f"dd if=/dev/zero of={dev_img} bs=1M count=1") + + # Setup lookback block device + self.assertRunOk(f"losetup {lo_dev} {dev_img}") + + # Create and setup dm-dust to simulate a failing block device + # The dev_img file is 1MB: 2048 blocks of 512 bytes each + self.assertRunOk(f"dmsetup create {dm_dev_name} --table '0 2048 dust {lo_dev} 0 512'") + + # Add few bad blocks and enable I/O error emulation + for badblock in [30, 40, 50, 60]: + self.assertRunOk(f"dmsetup message {dm_dev_name} 0 addbadblock {badblock}") + self.assertRunOk(f"dmsetup message {dm_dev_name} 0 enable") + + # Show device mapper status, to make debugging easier + self.assertRunOk(f"dmsetup status {dm_dev_name}") + + # A normal 'dd' is expected to fail with I/O error + cmd = f"dd if={dm_dev} of=/dev/null bs=512" + _, exit_code = self.emulator.run(cmd) + self.assertNotEqual(exit_code, 0) + + # Where a normal 'dd' fails, 'ddrescue' is expected to succeed + self.assertRunOk(f"ddrescue {dm_dev} {ddrescue_img}") + + # ddrescue does not normaly write any output data when there + # is I/O error on the input. The intent is to preserve any + # data that could have been read in a previous pass. There is + # one exception, when the output is a non-existing regular + # file, ddrescue will initialize it with zeroes the first + # time. Since the original image file was also including + # zeroes, the recovered image is expected to be the same as + # the original one. See ddrescue manual: + # https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Introduction + # "Ddrescue does not write zeros to the output when it finds + # bad sectors in the input, and does not truncate the output + # file if not asked to." + # https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Algorithm + # "If the output file is a regular file created by ddrescue, + # the areas marked as bad-sector will contain zeros." + self.assertRunOk(f"cmp {dev_img} {ddrescue_img}") diff --git a/support/testing/tests/package/test_ddrescue/linux-ddrescue.fragment b/support/testing/tests/package/test_ddrescue/linux-ddrescue.fragment new file mode 100644 index 00000000000..5cbe18a89fb --- /dev/null +++ b/support/testing/tests/package/test_ddrescue/linux-ddrescue.fragment @@ -0,0 +1,4 @@ +CONFIG_BLK_DEV_LOOP=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_DUST=y diff --git a/support/testing/tests/package/test_docker_compose.py b/support/testing/tests/package/test_docker_compose.py index 38b669fc6d6..16027c9c3ad 100644 --- a/support/testing/tests/package/test_docker_compose.py +++ b/support/testing/tests/package/test_docker_compose.py @@ -4,6 +4,8 @@ class TestDockerCompose(infra.basetest.BRTest): + scripts = ["conf/docker-compose.yml", + "tests/package/sample_python_docker.py"] config = \ """ BR2_x86_64=y @@ -18,6 +20,8 @@ class TestDockerCompose(infra.basetest.BRTest): BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.262" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}" + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_DOCKER=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_COMPOSE=y @@ -27,7 +31,7 @@ class TestDockerCompose(infra.basetest.BRTest): # BR2_TARGET_ROOTFS_TAR is not set """.format( infra.filepath("tests/package/copy-sample-script-to-target.sh"), - infra.filepath("conf/docker-compose.yml"), + " ".join([infra.filepath(i) for i in scripts]), infra.filepath("conf/docker-compose-kernel.config")) def wait_for_dockerd(self): @@ -46,6 +50,9 @@ def docker_compose_test(self): self.assertRunOk('wget -q -O /tmp/busybox http://127.0.0.1/busybox', 120) self.assertRunOk('cmp /bin/busybox /tmp/busybox', 120) + def python_docker_test(self): + self.assertRunOk('python3 ./sample_python_docker.py', 120) + def test_run(self): kernel = os.path.join(self.builddir, "images", "bzImage") rootfs = os.path.join(self.builddir, "images", "rootfs.ext2") @@ -62,3 +69,4 @@ def test_run(self): self.wait_for_dockerd() self.docker_test() self.docker_compose_test() + self.python_docker_test() diff --git a/support/testing/tests/package/test_dos2unix.py b/support/testing/tests/package/test_dos2unix.py new file mode 100644 index 00000000000..af5850ae3e9 --- /dev/null +++ b/support/testing/tests/package/test_dos2unix.py @@ -0,0 +1,45 @@ +import os + +import infra.basetest + + +class TestDos2Unix(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_DOS2UNIX=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can run. This test also checks that we're + # using the real "dos2unix" rather than the applet provided in + # BusyBox, since the "--version" option is recognized by the + # real dos2unix and return an error in BusyBox. + self.assertRunOk("dos2unix --version") + + # Create a text file with UNIX new-lines + self.assertRunOk("echo -e 'Hello\\nBuildroot' > original.txt") + + # Convert the original UNIX file to DOS + self.assertRunOk("unix2dos -n original.txt dos.txt") + + # DOS file is expected to be different than the UNIX file + _, exit_code = self.emulator.run("cmp original.txt dos.txt") + self.assertNotEqual(exit_code, 0) + + # The "cat -A" command should print '^M$' for CR-LF + self.assertRunOk("cat -A dos.txt | grep -Fq '^M$'") + + # Convert back DOS file to UNIX + self.assertRunOk("dos2unix -n dos.txt unix.txt") + + # "unix.txt" should be identical to "original.txt" + self.assertRunOk("cmp original.txt unix.txt") diff --git a/support/testing/tests/package/test_dtbocfg.py b/support/testing/tests/package/test_dtbocfg.py index d25b1692b44..56a1ed48207 100644 --- a/support/testing/tests/package/test_dtbocfg.py +++ b/support/testing/tests/package/test_dtbocfg.py @@ -8,7 +8,7 @@ class TestDtbocfg(infra.basetest.BRTest): """ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.202" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_PACKAGE_DTBOCFG=y diff --git a/support/testing/tests/package/test_ed.py b/support/testing/tests/package/test_ed.py new file mode 100644 index 00000000000..eee5f8c4fc6 --- /dev/null +++ b/support/testing/tests/package/test_ed.py @@ -0,0 +1,98 @@ +import os + +import infra.basetest + + +class TestEd(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_ED=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def run_ed_cmds(self, ed_cmds): + cmd = "ed < +#include + +int +main(void) +{ + printf("Hello Buildroot!\n"); + exit(EXIT_SUCCESS); +} diff --git a/support/testing/tests/package/test_file/rootfs-overlay/root/plain-text.txt b/support/testing/tests/package/test_file/rootfs-overlay/root/plain-text.txt new file mode 100644 index 00000000000..1c5aa36037f --- /dev/null +++ b/support/testing/tests/package/test_file/rootfs-overlay/root/plain-text.txt @@ -0,0 +1 @@ +This is a plain text file... diff --git a/support/testing/tests/package/test_file/rootfs-overlay/root/plain-text.txt.gz b/support/testing/tests/package/test_file/rootfs-overlay/root/plain-text.txt.gz new file mode 100644 index 00000000000..95d398f8d17 Binary files /dev/null and b/support/testing/tests/package/test_file/rootfs-overlay/root/plain-text.txt.gz differ diff --git a/support/testing/tests/package/test_file/rootfs-overlay/root/random-data.bin b/support/testing/tests/package/test_file/rootfs-overlay/root/random-data.bin new file mode 100644 index 00000000000..eea0ae8b767 Binary files /dev/null and b/support/testing/tests/package/test_file/rootfs-overlay/root/random-data.bin differ diff --git a/support/testing/tests/package/test_file/rootfs-overlay/root/script.py b/support/testing/tests/package/test_file/rootfs-overlay/root/script.py new file mode 100755 index 00000000000..79191b30487 --- /dev/null +++ b/support/testing/tests/package/test_file/rootfs-overlay/root/script.py @@ -0,0 +1,3 @@ +#! /usr/bin/env python3 + +print("Hello Buildroot!") diff --git a/support/testing/tests/package/test_file/rootfs-overlay/root/script.sh b/support/testing/tests/package/test_file/rootfs-overlay/root/script.sh new file mode 100755 index 00000000000..75b2d5e017f --- /dev/null +++ b/support/testing/tests/package/test_file/rootfs-overlay/root/script.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +echo "Hello Buildroot!" diff --git a/support/testing/tests/package/test_file/rootfs-overlay/root/symlink-to-plain-text.txt b/support/testing/tests/package/test_file/rootfs-overlay/root/symlink-to-plain-text.txt new file mode 120000 index 00000000000..a3ae3c00588 --- /dev/null +++ b/support/testing/tests/package/test_file/rootfs-overlay/root/symlink-to-plain-text.txt @@ -0,0 +1 @@ +plain-text.txt \ No newline at end of file diff --git a/support/testing/tests/package/test_firewalld.py b/support/testing/tests/package/test_firewalld.py new file mode 100644 index 00000000000..700337f6373 --- /dev/null +++ b/support/testing/tests/package/test_firewalld.py @@ -0,0 +1,102 @@ +"""Test firewalld for both systemd and sysvinit.""" +import os +import time +import infra.basetest + + +class TestFirewalldSystemd(infra.basetest.BRTest): + """Build the kernel as firewalld requires several the nftable options.""" + + config = """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_INIT_SYSTEMD=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.61" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_FIREWALLD=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + kernel_file = os.path.join(self.builddir, "images", "zImage") + dtb_file = os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb") + self.emulator.boot(arch="armv7", + kernel=kernel_file, + kernel_cmdline=["console=ttyAMA0,115200"], + options=[ + "-initrd", cpio_file, + "-dtb", dtb_file, + "-M", "vexpress-a9" + ]) + # It takes quite some time for the system to boot with firewalld, + self.emulator.login(timeout=120) + + # It may take some time for firewalld to finish startup. + # Give it at least 15 seconds. + is_active = False + for i in range(15): + output, _ = self.emulator.run("systemctl is-active firewalld") + if output[0] == "active": + is_active = True + break + time.sleep(1) + if not is_active: + self.fail("firewalld failed to activate!") + + cmd = "firewall-cmd --state" + output, exit_code = self.emulator.run(cmd, timeout=10) + self.assertIn("running", output[0]) + self.assertEqual(exit_code, 0) + + +class TestFirewalldSysVInit(infra.basetest.BRTest): + """Build the kernel as firewalld requires several nftable options.""" + + config = """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.61" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_FIREWALLD=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + kernel_file = os.path.join(self.builddir, "images", "zImage") + dtb_file = os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb") + self.emulator.boot(arch="armv7", + kernel=kernel_file, + kernel_cmdline=["console=ttyAMA0,115200"], + options=[ + "-initrd", cpio_file, + "-dtb", dtb_file, + "-M", "vexpress-a9" + ]) + # It takes quite some time for the system to boot with firewalld. + self.emulator.login(timeout=120) + cmd = "firewall-cmd --state" + output, exit_code = self.emulator.run(cmd, timeout=10) + self.assertIn("running", output[0]) + self.assertEqual(exit_code, 0) diff --git a/support/testing/tests/package/test_fluidsynth.py b/support/testing/tests/package/test_fluidsynth.py new file mode 100644 index 00000000000..20d4da0c50a --- /dev/null +++ b/support/testing/tests/package/test_fluidsynth.py @@ -0,0 +1,61 @@ +import os + +import infra.basetest + + +class TestFluidsynth(infra.basetest.BRTest): + # infra.basetest.BASIC_TOOLCHAIN_CONFIG cannot be used as it is + # armv5 and based on qemu versatilepb which is limited to 256MB of + # RAM. The test needs 1GB of RAM (larger initrd and soundfont is + # loaded in memory). + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.86" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_AUBIO=y + BR2_PACKAGE_FLUIDSYNTH=y + BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE=y + BR2_PACKAGE_FLUID_SOUNDFONT=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MIDIUTIL=y + BR2_ROOTFS_OVERLAY="{}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + # overlay to add helper test scripts + infra.filepath("tests/package/test_fluidsynth/rootfs-overlay")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "1G", "-initrd", img]) + self.emulator.login() + + # Test the binary executes + self.assertRunOk("fluidsynth --version") + + # Create a simple MIDI file programmatically + self.assertRunOk("/root/gen_midi_file.py /tmp/output.mid") + + # Convert the MIDI file to a WAV file + cmd = "fluidsynth" + cmd += " -F /tmp/output.wav" + cmd += " /usr/share/soundfonts/FluidR3_GM.sf2" + cmd += " /tmp/output.mid" + self.assertRunOk(cmd) + + # Extract notes in the WAV file with Aubio + self.assertRunOk("aubionotes /tmp/output.wav > /tmp/notes.txt") + + # Check the extracted notes are the expected ones + self.assertRunOk("/root/check_notes.py < /tmp/notes.txt") diff --git a/support/testing/tests/package/test_fluidsynth/rootfs-overlay/root/check_notes.py b/support/testing/tests/package/test_fluidsynth/rootfs-overlay/root/check_notes.py new file mode 100755 index 00000000000..7301e14a9f0 --- /dev/null +++ b/support/testing/tests/package/test_fluidsynth/rootfs-overlay/root/check_notes.py @@ -0,0 +1,24 @@ +#! /usr/bin/env python3 +# +# This script reads the output of the "aubionotes" command and +# validates it contains three expected notes (A2, E3, A3) in the +# correct order. Silences or other notes are allowed in between those +# notes, to allow some flexibility. + +import sys + +found = 0 +notes = [57, 64, 69] + +for line in sys.stdin: + fields = line.split() + if len(fields) >= 1: + value = round(float(fields[0])) + if value == notes[found]: + found += 1 + if found == len(notes): + print("Found all notes") + sys.exit(0) + +print("Error: all notes not found") +sys.exit(1) diff --git a/support/testing/tests/package/test_fluidsynth/rootfs-overlay/root/gen_midi_file.py b/support/testing/tests/package/test_fluidsynth/rootfs-overlay/root/gen_midi_file.py new file mode 100755 index 00000000000..aa53a25af3f --- /dev/null +++ b/support/testing/tests/package/test_fluidsynth/rootfs-overlay/root/gen_midi_file.py @@ -0,0 +1,23 @@ +#! /usr/bin/env python3 +# +# This script generates a MIDI file with only 3 notes: A2, E3, A3 +# usage: gen_midi_file.py [output-filename] + +import sys + +from midiutil import MIDIFile + +output_filename = "output.mid" +if len(sys.argv) >= 2: + output_filename = sys.argv[1] + +notes = [57, 64, 69] # A2, E3, A3 + +midi = MIDIFile() +midi.addTempo(track=0, time=0, tempo=60) + +for i, p in enumerate(notes): + midi.addNote(track=0, channel=0, pitch=p, time=i, duration=1, volume=100) + +with open(output_filename, "wb") as output_file: + midi.writeFile(output_file) diff --git a/support/testing/tests/package/test_flutter.py b/support/testing/tests/package/test_flutter.py new file mode 100644 index 00000000000..a3e98a43e5f --- /dev/null +++ b/support/testing/tests/package/test_flutter.py @@ -0,0 +1,54 @@ +import os +import infra.basetest + + +class TestFlutter(infra.basetest.BRTest): + config = f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_ROOTFS_OVERLAY="{infra.filepath("tests/package/test_flutter/overlay")}" + BR2_PER_PACKAGE_DIRECTORIES=y + BR2_INIT_SYSTEMD=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.54" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{infra.filepath("tests/package/test_flutter/linux-vkms.fragment")}" + BR2_PACKAGE_LIBDRM=y + BR2_PACKAGE_MESA3D=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y + BR2_PACKAGE_MESA3D_OPENGL_ES=y + BR2_PACKAGE_FLUTTER_PI=y + BR2_PACKAGE_FLUTTER_PI_RAW_KEYBOARD_PLUGIN=y + BR2_PACKAGE_FLUTTER_PI_TEXT_INPUT_PLUGIN=y + BR2_PACKAGE_FLUTTER_GALLERY=y + BR2_PACKAGE_FLUTTER_ENGINE=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="512M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.ext2") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot( + arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "512M", + "-smp", "4", + "-vga", "std", + "-vnc", "none", + "-drive", f"file={img},if=virtio,format=raw"]) + self.emulator.login() + cmd = "systemctl is-active flutter-gallery" + output, exit_code = self.emulator.run(cmd, 10) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "active") diff --git a/support/testing/tests/package/test_flutter/linux-vkms.fragment b/support/testing/tests/package/test_flutter/linux-vkms.fragment new file mode 100644 index 00000000000..3fc7a5dded6 --- /dev/null +++ b/support/testing/tests/package/test_flutter/linux-vkms.fragment @@ -0,0 +1,2 @@ +CONFIG_DEBUG_FS=y +CONFIG_DRM_VKMS=y diff --git a/support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service b/support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service new file mode 120000 index 00000000000..40993fb16c4 --- /dev/null +++ b/support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service @@ -0,0 +1 @@ +../../../../usr/lib/systemd/system/flutter-gallery.service \ No newline at end of file diff --git a/support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service b/support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service new file mode 100644 index 00000000000..88a2bcbf0bb --- /dev/null +++ b/support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service @@ -0,0 +1,11 @@ +[Unit] +Description=flutter-gallery daemon +After=dbus.service systemd-udevd.service + +[Service] +ExecStart=/usr/bin/flutter-pi --release /usr/share/flutter/gallery/release/ +Restart=always +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/support/testing/tests/package/test_fping.py b/support/testing/tests/package/test_fping.py new file mode 100644 index 00000000000..507c4ce73b7 --- /dev/null +++ b/support/testing/tests/package/test_fping.py @@ -0,0 +1,45 @@ +import os +import time + +import infra.basetest + + +class TestFping(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_FPING=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("fping --version") + + # Fping v5.1 need to wait few seconds after a kernel booted + # before starting. This sleep time can be removed when the + # issue will be closed and the package updated. See: + # https://github.com/schweikert/fping/issues/288 + time.sleep(5 * self.timeout_multiplier) + + # Run 3 pings on localhost. + self.assertRunOk("fping -e -c 3 localhost") + + # Run pings on a local subnet and print statistics. + self.assertRunOk("fping -s -g 127.0.0.0/28") + + # Test an IPv6 ping. + self.assertRunOk("fping -6 ::1") + + # Create a prohibited route to make fping fail. + self.assertRunOk("ip route add to prohibit 192.168.12.0/24") + + # We expect fping to fail when pinging the prohibited network. + _, ret = self.emulator.run("fping 192.168.12.34") + self.assertNotEqual(ret, 0) diff --git a/support/testing/tests/package/test_fwts.py b/support/testing/tests/package/test_fwts.py new file mode 100644 index 00000000000..ef792136c22 --- /dev/null +++ b/support/testing/tests/package/test_fwts.py @@ -0,0 +1,67 @@ +import os + +import infra.basetest + + +class TestFwts(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ROOTFS_EXT2_SIZE="128M" + BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/aarch64-sbsa/assemble-flash-images support/scripts/genimage.sh" + BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/qemu/aarch64-sbsa/genimage.cfg" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.28" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y + BR2_TARGET_EDK2=y + BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y + BR2_TARGET_GRUB2=y + BR2_TARGET_GRUB2_ARM64_EFI=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.9" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y + BR2_PACKAGE_FWTS=y + BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE=y + BR2_PACKAGE_HOST_GENIMAGE=y + BR2_PACKAGE_HOST_DOSFSTOOLS=y + BR2_PACKAGE_HOST_MTOOLS=y + """ + + def test_run(self): + hda = os.path.join(self.builddir, "images", "disk.img") + flash0 = os.path.join(self.builddir, "images", "SBSA_FLASH0.fd") + flash1 = os.path.join(self.builddir, "images", "SBSA_FLASH1.fd") + self.emulator.boot(arch="aarch64", + options=["-M", "sbsa-ref", + "-cpu", "cortex-a57", + "-m", "512M", + "-pflash", flash0, + "-pflash", flash1, + "-hda", hda]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("fwts --version") + + # We run a simple UEFI runtime service variable interface test + # suite. Those tests are using the fwts efi_runtime kernel + # module. + self.assertRunOk("fwts -q uefirtvariable", timeout=30) + + # The previous fwts invocation is expected to have created a + # "results.log" report. We check the file exists and contains + # a known header string. + expected_str = "Results generated by fwts:" + cmd = f"grep -F '{expected_str}' results.log" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertTrue(out[0].startswith(expected_str)) diff --git a/support/testing/tests/package/test_gawk.py b/support/testing/tests/package/test_gawk.py new file mode 100644 index 00000000000..7d737a96008 --- /dev/null +++ b/support/testing/tests/package/test_gawk.py @@ -0,0 +1,120 @@ +import os + +import infra.basetest + + +class TestGawk(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_GAWK=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def basic_gawk_tests(self): + # Check the program can execute + self.assertRunOk("gawk --version") + + # Check "awk" is "gawk": the Buildroot gawk package recipe is + # supposed to install the symbolic link. + output, exit_code = self.emulator.run("awk --version") + self.assertEqual(exit_code, 0) + self.assertTrue(output[0].startswith("GNU Awk")) + + # Check "gawk" can return a specific exit code + code = 123 + cmd = "gawk 'BEGIN { exit(" + str(code) + "); }'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, code) + + # Run a basic print program + test_string = "Hello Buildroot" + cmd = "gawk 'BEGIN {print \"" + test_string + "\"; }'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], test_string) + + def create_test_data(self): + # Create some test data + entries = ["one", "two", "three", "four"] + for entry in entries: + self.assertRunOk(f"echo {entry} >> data1.txt") + + def add_line_numbers(self): + # Add line numbers with gawk + cmd = "gawk '{ print NR \"\\t\" $1; }' data1.txt > data2.txt" + self.assertRunOk(cmd) + + def sum_column(self): + # Check the sum of the first column is 1+2+3+4 == 10 + awk_prg = "BEGIN { SUM = 0; } { SUM = SUM + $1; } END { print SUM; }" + cmd = f"gawk '{awk_prg}' data2.txt" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), 10) + + def uppercase_column(self): + # Extract only column 2 and convert it to upper case + cmd = "gawk '{ print toupper($2); }' data2.txt > data3.txt" + self.assertRunOk(cmd) + + # Prepare the same output using "data1.txt" and the "tr" command, + # for verification + cmd = "tr a-z A-Z < data1.txt > data3-tr.txt" + self.assertRunOk(cmd) + + # "gawk" and "tr" output are expected to be the same + self.assertRunOk("cmp data3.txt data3-tr.txt") + + def gawk_head(self): + # Show the first 2 lines of a file + cmd = "gawk 'NR <= 2 { print $0; }' data2.txt > data4.txt" + self.assertRunOk(cmd) + + # Prepare the same output using the "head" command + cmd = "head -2 data2.txt > data4-head.txt" + self.assertRunOk(cmd) + + # "gawk" and "tr" output are expected to be the same + self.assertRunOk("cmp data4.txt data4-head.txt") + + def gawk_specific(self): + # Use PROCINFO, which is a gawk specific feature: + # https://www.gnu.org/software/gawk/manual/gawk.html#POSIX_002fGNU + awk_platform_prog = "BEGIN { print PROCINFO[\"platform\"]; }" + cmd = f"gawk '{awk_platform_prog}'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "posix") + + # Using the same gawk feature when running in POSIX mode should not + # produce output. + cmd = f"gawk --posix '{awk_platform_prog}'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertTrue(len(output) == 1 and len(output[0]) == 0) + + def gawk_numeric(self): + value = 1234 + squared_value = value * value + cmd = "gawk 'BEGIN { print sqrt(" + str(squared_value) + "); }'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), value) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.basic_gawk_tests() + self.create_test_data() + self.add_line_numbers() + self.sum_column() + self.uppercase_column() + self.gawk_head() + self.gawk_specific() + self.gawk_numeric() diff --git a/support/testing/tests/package/test_ghostscript.py b/support/testing/tests/package/test_ghostscript.py new file mode 100644 index 00000000000..3c6c16ef2c1 --- /dev/null +++ b/support/testing/tests/package/test_ghostscript.py @@ -0,0 +1,48 @@ +import os + +import infra.basetest + + +class TestGhostscript(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_ghostscript/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_GHOSTSCRIPT=y + BR2_PACKAGE_TESSERACT_OCR=y + BR2_PACKAGE_TESSERACT_OCR_LANG_ENG=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("gs --version") + + doc_basename = "document" + ps_file = doc_basename + ".ps" + pgm_file = doc_basename + ".pgm" + txt_file = doc_basename + ".txt" + + # Render a basic PostScript file to an image file. + cmd = "gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pgmraw -r150" + cmd += f" -dTextAlphaBits=4 -sOutputFile='{pgm_file}' {ps_file}" + self.assertRunOk(cmd) + + # Run text recognition on the image file. + cmd = f"tesseract {pgm_file} {doc_basename}" + self.assertRunOk(cmd, timeout=30) + + # Check we extracted the expected string from the input + # PostScript file. + cmd = f"cat {txt_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], "Hello Buildroot!") diff --git a/support/testing/tests/package/test_ghostscript/rootfs-overlay/root/document.ps b/support/testing/tests/package/test_ghostscript/rootfs-overlay/root/document.ps new file mode 100644 index 00000000000..5ca2b3581fa Binary files /dev/null and b/support/testing/tests/package/test_ghostscript/rootfs-overlay/root/document.ps differ diff --git a/support/testing/tests/package/test_glslsandbox_player.py b/support/testing/tests/package/test_glslsandbox_player.py new file mode 100644 index 00000000000..3b0dd60395b --- /dev/null +++ b/support/testing/tests/package/test_glslsandbox_player.py @@ -0,0 +1,50 @@ +import os + +import infra.basetest + + +class TestGlslsandboxPlayer(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.32" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_PACKAGE_LIBDRM=y + BR2_PACKAGE_MESA3D=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y + BR2_PACKAGE_MESA3D_LLVM=y + BR2_PACKAGE_MESA3D_OPENGL_EGL=y + BR2_PACKAGE_MESA3D_OPENGL_ES=y + BR2_PACKAGE_GLSLSANDBOX_PLAYER=y + BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_glslsandbox_player/linux-vkms.fragment")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", "-initrd", img]) + self.emulator.login() + + # We force a small resolution in order to keep a relatively + # fast software rendering + cmd = "GSP_DRM_MODE=640x480 " + # We run 3 frames of a reduced resolution of SimpleMandel + cmd += "glslsandbox-player -S SimpleMandel -w0 -f3 -R8 -N -vv -r1 -D" + self.assertRunOk(cmd, timeout=30) + + # Since we render 3 frames and request a dump of the last one, + # a ppm image file is expected to be present + self.assertRunOk("test -s SimpleMandel-00002.ppm") diff --git a/support/testing/tests/package/test_glslsandbox_player/linux-vkms.fragment b/support/testing/tests/package/test_glslsandbox_player/linux-vkms.fragment new file mode 100644 index 00000000000..ec2ed4460c7 --- /dev/null +++ b/support/testing/tests/package/test_glslsandbox_player/linux-vkms.fragment @@ -0,0 +1 @@ +CONFIG_DRM_VKMS=y diff --git a/support/testing/tests/package/test_glxinfo.py b/support/testing/tests/package/test_glxinfo.py index 79be596635b..3ccbdca8d9b 100644 --- a/support/testing/tests/package/test_glxinfo.py +++ b/support/testing/tests/package/test_glxinfo.py @@ -10,17 +10,11 @@ class TestGlxinfo(infra.basetest.BRTest): """ BR2_x86_core2=y BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y - BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y - BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2018.11-1.tar.bz2" - BR2_TOOLCHAIN_EXTERNAL_GCC_8=y - BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y - BR2_TOOLCHAIN_EXTERNAL_CXX=y - BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y - BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.204" + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.26" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config" BR2_PACKAGE_MESA3D_DEMOS=y @@ -48,7 +42,8 @@ def login(self): self.emulator.boot(arch="i386", kernel=kern, kernel_cmdline=["root=/dev/vda console=ttyS0"], - options=["-M", "pc", "-m", "512", "-drive", "file={},if=virtio,format=raw".format(img)]) + options=["-M", "pc", "-cpu", "core2duo", "-m", "512", + "-drive", "file={},if=virtio,format=raw".format(img)]) self.emulator.login() def test_run(self): diff --git a/support/testing/tests/package/test_gnupg2.py b/support/testing/tests/package/test_gnupg2.py new file mode 100644 index 00000000000..2b18f54fa32 --- /dev/null +++ b/support/testing/tests/package/test_gnupg2.py @@ -0,0 +1,114 @@ +import os + +import infra.basetest + + +class TestGnupg2(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_GNUPG2=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Some common data for all the tests + plain_data = "Some plain text data" + plain_file = "file.txt" + gpg_file = plain_file + ".gpg" + asc_file = plain_file + ".asc" + sig_file = plain_file + ".sig" + good_passphrase = "Good Passphrase" + gpg_userid = "br-test@buildroot" + + # Test the program can execute + self.assertRunOk("gpg --version") + + # Generate plain text data + cmd = "echo '{}' > {}".format(plain_data, plain_file) + self.assertRunOk(cmd) + + # Test symmetric encrypt + cmd = "gpg --batch --symmetric" + cmd += " --passphrase '{}' {}".format(good_passphrase, plain_file) + self.assertRunOk(cmd, timeout=10) + + # Test symmetric decrypt + cmd = "gpg --batch --decrypt" + cmd += " --passphrase '{}' {}".format(good_passphrase, gpg_file) + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn(plain_data, output) + + # Test a failed decrypt with a bad password + cmd = "gpg --batch --decrypt" + cmd += " --passphrase 'A-Bad-Password' {}".format(gpg_file) + _, exit_code = self.emulator.run(cmd) + self.assertNotEqual(exit_code, 0) + + # Test the generation of an asymmetric key + cmd = "gpg --batch --passphrase ''" + cmd += " --quick-generate-key {} default default".format(gpg_userid) + self.assertRunOk(cmd) + + # Test asymmetric encrypt+sign + cmd = "gpg --batch --yes --encrypt --sign" + cmd += " --recipient {} {}".format(gpg_userid, plain_file) + self.assertRunOk(cmd) + + # Test asymmetric decrypt+verify + cmd = "gpg --decrypt {}".format(gpg_file) + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn(plain_data, output) + self.assertRegex("\n".join(output), r'gpg: Good signature') + + # Test asymmetric armored encrypt+sign + cmd = "gpg --batch --yes --armor --encrypt --sign" + cmd += " --recipient {} {}".format(gpg_userid, plain_file) + self.assertRunOk(cmd) + + # Test asymmetric armored decrypt+verify + cmd = "gpg --armor --decrypt {}".format(asc_file) + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn(plain_data, output) + self.assertRegex("\n".join(output), r'gpg: Good signature') + + # Test detached signature + cmd = "gpg --batch --yes --detach-sign {}".format(plain_file) + self.assertRunOk(cmd) + + # Test detached signature verification + cmd = "gpg --verify {}".format(sig_file) + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertRegex("\n".join(output), r'gpg: Good signature') + + # Test detached armored signature + cmd = "gpg --batch --yes --armor --detach-sign {}".format(plain_file) + self.assertRunOk(cmd) + + # Test detached armored signature verification + cmd = "gpg --armor --verify {}".format(asc_file) + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertRegex("\n".join(output), r'gpg: Good signature') + + # Test the signature verification of a corrupted file actually fails + cmd = "echo 'CORRUPTED' >> {}".format(plain_file) + self.assertRunOk(cmd) + + cmd = "gpg --verify {}".format(sig_file) + _, exit_code = self.emulator.run(cmd) + self.assertNotEqual(exit_code, 0) + + cmd = "gpg --armor --verify {}".format(asc_file) + _, exit_code = self.emulator.run(cmd) + self.assertNotEqual(exit_code, 0) diff --git a/support/testing/tests/package/test_gnuplot.py b/support/testing/tests/package/test_gnuplot.py new file mode 100644 index 00000000000..a2255405373 --- /dev/null +++ b/support/testing/tests/package/test_gnuplot.py @@ -0,0 +1,73 @@ +import os + +import infra.basetest + + +class TestGnuplot(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_gnuplot/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_GNUPLOT=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def gen_gnuplot_cmd(self, gpcmd): + return f"gnuplot -e '{gpcmd}'" + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We check the program can run. + self.assertRunOk("gnuplot --version") + + # When the locale is C, Gnuplot print the warning: + # "line 0: warning: iconv failed to convert degree sign" + # We set the locale to avoid this warning. + self.assertRunOk('export LC_ALL="en_US.UTF-8"') + + # We check Gnuplot can print a string. + string = "Hello Buildroot !" + cmd = self.gen_gnuplot_cmd(f'print "{string}"') + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], string) + + # We check Gnuplot can do a simple arithmetic operation. + op1 = 123 + op2 = 456 + expected_result = op1 * op2 + cmd = self.gen_gnuplot_cmd(f"print {op1} * {op2}") + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(int(out[0]), expected_result) + + # We check Gnuplot can return a specific exit code. + exit_code = 123 + cmd = self.gen_gnuplot_cmd(f"exit status {exit_code}") + _, ret = self.emulator.run(cmd) + self.assertEqual(ret, exit_code) + + # We render a simple plot on the terminal. + gpcmd = "set term dumb; set grid; plot [-5:5] x**2;" + cmd = self.gen_gnuplot_cmd(gpcmd) + self.assertRunOk(cmd) + + # We check a Gnuplot script executes correctly. + cmd = "gnuplot /root/gnuplot-test.plot" + self.assertRunOk(cmd) + + # Our Gnuplot script is supposed to have generated a text + # output of the plot. We check this file contains the plot + # title set in the script. + exp_str = "Buildroot Test Plot" + cmd = f"grep -Fo '{exp_str}' /root/gnuplot-test.txt" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], exp_str) diff --git a/support/testing/tests/package/test_gnuplot/rootfs-overlay/root/gnuplot-test.plot b/support/testing/tests/package/test_gnuplot/rootfs-overlay/root/gnuplot-test.plot new file mode 100644 index 00000000000..04046be04b3 --- /dev/null +++ b/support/testing/tests/package/test_gnuplot/rootfs-overlay/root/gnuplot-test.plot @@ -0,0 +1,4 @@ +set term dumb +set output "gnuplot-test.txt" +set title "Buildroot Test Plot" +plot sin(x) diff --git a/support/testing/tests/package/test_gnuradio.py b/support/testing/tests/package/test_gnuradio.py new file mode 100644 index 00000000000..1fc0479d21f --- /dev/null +++ b/support/testing/tests/package/test_gnuradio.py @@ -0,0 +1,42 @@ +import os + +import infra.basetest + + +class TestGnuradio(infra.basetest.BRTest): + # infra.basetest.BASIC_TOOLCHAIN_CONFIG cannot be used as it does + # not include: BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + # needed by gnuradio + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.39" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_GNURADIO=y + BR2_PACKAGE_GNURADIO_BLOCKS=y + BR2_PACKAGE_GNURADIO_PYTHON=y + BR2_PACKAGE_PYTHON3=y + BR2_ROOTFS_OVERLAY="{}" + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + # overlay to add a gnuradio python test script + infra.filepath("tests/package/test_gnuradio/rootfs-overlay")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", "-initrd", img]) + self.emulator.login() + + self.assertRunOk("/root/test_gnuradio.py", timeout=30) diff --git a/support/testing/tests/package/test_gnuradio/rootfs-overlay/root/test_gnuradio.py b/support/testing/tests/package/test_gnuradio/rootfs-overlay/root/test_gnuradio.py new file mode 100755 index 00000000000..4b63674533e --- /dev/null +++ b/support/testing/tests/package/test_gnuradio/rootfs-overlay/root/test_gnuradio.py @@ -0,0 +1,68 @@ +#! /usr/bin/env python3 + +from gnuradio import blocks +from gnuradio import gr + +INPUT_LENGTH = 100 +MUL_CONST = 3 +ADD_CONST = 5 + + +def compute_expected_data(input_data): + # demux input + even = input_data[::2] + odd = input_data[1::2] + + # multiply "even" list by MUL_CONST + even = [x * MUL_CONST for x in even] + + # add 5 to all "odd" elements + odd = [y + ADD_CONST for y in odd] + + # mux the two lists + mux = [v for t in zip(even, odd) for v in t] + + return mux + + +def main(): + + gr.log.info("Starting Buildroot Test for GNU Radio " + gr.version()) + + input_data = list(range(INPUT_LENGTH)) + + tb = gr.top_block() + + # Create Gnuradio Blocks + src = blocks.vector_source_i(input_data) + demux = blocks.deinterleave(gr.sizeof_int) + mul = blocks.multiply_const_ii(MUL_CONST) + add = blocks.add_const_ii(ADD_CONST) + mux = blocks.interleave(gr.sizeof_int) + sink = blocks.vector_sink_i() + + # Create connection in top block + tb.connect(src, demux) + tb.connect((demux, 0), mul) + tb.connect((demux, 1), add) + tb.connect(mul, (mux, 0)) + tb.connect(add, (mux, 1)) + tb.connect(mux, sink) + + tb.run() + + gnuradio_data = sink.data() + expected_data = compute_expected_data(input_data) + + # For easy debugging + if gnuradio_data != expected_data: + print("Gnuradio output:", gnuradio_data) + print("Expected output:", expected_data) + + assert gnuradio_data == expected_data + + gr.log.info("Test PASSED") + + +if __name__ == "__main__": + main() diff --git a/support/testing/tests/package/test_gzip.py b/support/testing/tests/package/test_gzip.py new file mode 100644 index 00000000000..1d5f3748539 --- /dev/null +++ b/support/testing/tests/package/test_gzip.py @@ -0,0 +1,13 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestGzip(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_GZIP=y + """ + compress_cmd = "gzip" + decompress_cmd = "gunzip" + compressed_file_ext = ".gz" diff --git a/support/testing/tests/package/test_highway.py b/support/testing/tests/package/test_highway.py new file mode 100644 index 00000000000..f32363e26f1 --- /dev/null +++ b/support/testing/tests/package/test_highway.py @@ -0,0 +1,22 @@ +import os + +import infra.basetest + + +class TestHighway(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_HIGHWAY=y + BR2_PACKAGE_HIGHWAY_EXAMPLES=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("hwy_benchmark", timeout=20) diff --git a/support/testing/tests/package/test_iozone.py b/support/testing/tests/package/test_iozone.py new file mode 100644 index 00000000000..9a9843df56d --- /dev/null +++ b/support/testing/tests/package/test_iozone.py @@ -0,0 +1,22 @@ +import os + +import infra.basetest + + +class TestIozone(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_IOZONE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("iozone -v") + self.assertRunOk("iozone -s64 -r4") diff --git a/support/testing/tests/package/test_iperf.py b/support/testing/tests/package/test_iperf.py new file mode 100644 index 00000000000..31f04d98967 --- /dev/null +++ b/support/testing/tests/package/test_iperf.py @@ -0,0 +1,23 @@ +import os + +import infra.basetest + + +class TestIperf(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_IPERF=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("iperf --version") + self.assertRunOk("iperf -s -D") + self.assertRunOk("iperf -c 127.0.0.1 -t 3") diff --git a/support/testing/tests/package/test_iperf3.py b/support/testing/tests/package/test_iperf3.py new file mode 100644 index 00000000000..9aac4c6fd0b --- /dev/null +++ b/support/testing/tests/package/test_iperf3.py @@ -0,0 +1,23 @@ +import os + +import infra.basetest + + +class TestIperf3(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_IPERF3=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("iperf3 --version") + self.assertRunOk("iperf3 -s -D") + self.assertRunOk("iperf3 -c 127.0.0.1 -t 3") diff --git a/support/testing/tests/package/test_iptables.py b/support/testing/tests/package/test_iptables.py new file mode 100644 index 00000000000..ee57b315589 --- /dev/null +++ b/support/testing/tests/package/test_iptables.py @@ -0,0 +1,78 @@ +import os + +import infra.basetest + + +class TestIptables(infra.basetest.BRTest): + # The iptables package has _LINUX_CONFIG_FIXUPS, so we cannot use + # the runtime test pre-built Kernel. We need to compile a Kernel + # to make sure it will include the required configuration. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.82" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_IPTABLES=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "256M", + "-initrd", img]) + self.emulator.login() + + # We check the program can execute. + self.assertRunOk("iptables --version") + + # We delete all rules in all chains. We also set default + # policies to ACCEPT for INPUT and OUPUT chains. This should + # already be the case (default Kernel config). This makes sure + # this test starts from a known state and also those common + # command invocations works. + self.assertRunOk("iptables --flush") + self.assertRunOk("iptables --policy INPUT ACCEPT") + self.assertRunOk("iptables --policy OUTPUT ACCEPT") + + # We add a filter rule to drop all the ICMP protocol to the + # IPv4 destination 127.0.0.2, in the INPUT chain. This should + # block all pings (icmp echo-requests). + cmd = "iptables --append INPUT" + cmd += " --protocol icmp --destination 127.0.0.2 --jump DROP" + self.assertRunOk(cmd) + + # We check we can list rules. + self.assertRunOk("iptables --list") + + # A ping to 127.0.0.1 is expected to work, because it's not + # matching our rule. We expect 3 replies (-c), with 0.5s + # internal (-i), and set a maximum timeout of 2s. + ping_cmd_prefix = "ping -c 3 -i 0.5 -W 2 " + self.assertRunOk(ping_cmd_prefix + "127.0.0.1") + + # A ping to 127.0.0.2 is expected to fail, because our rule is + # supposed to drop it. + ping_test_cmd = ping_cmd_prefix + "127.0.0.2" + _, exit_code = self.emulator.run(ping_test_cmd) + self.assertNotEqual(exit_code, 0) + + # We delete our only rule #1 in the INPUT chain. + self.assertRunOk("iptables --delete INPUT 1") + + # Since we deleted the rule, the ping test command which was + # supposed to fail earlier is now supposed to succeed. + self.assertRunOk(ping_test_cmd) diff --git a/support/testing/tests/package/test_jailhouse.py b/support/testing/tests/package/test_jailhouse.py new file mode 100644 index 00000000000..4634fc4de2e --- /dev/null +++ b/support/testing/tests/package/test_jailhouse.py @@ -0,0 +1,103 @@ +import os +import time + +import infra.basetest + + +class TestJailhouse(infra.basetest.BRTest): + # This test uses a specific configuration, mainly for matching the + # requirements of the Jailhouse Qemu inmate demo. We also use the + # Linux kernel from Siemens, which includes patches for + # Jailhouse. Finally, we use the kernel config from + # board/qemu/aarch64-virt rather than the Kernel defconfig, for + # faster build (as it enable less components, but includes + # everything needed for this test). + kernel_ver = "eb6927f7eea77f823b96c0c22ad9d4a2d7ffdfce" + kernel_url = \ + f"$(call github,siemens,linux,{kernel_ver})/linux-{kernel_ver}.tar.gz" + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_TARBALL=y + BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="{kernel_url}" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_PACKAGE_JAILHOUSE=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + # Qemu option and Kernel args are taken from Jailhouse demo. See: + # https://github.com/siemens/jailhouse/blob/master/README.md + # We also add oops=panic to improve the test coverage. + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0 mem=768M oops=panic"], + options=["-M", "virt,gic-version=3,virtualization=on,its=off", + "-cpu", "cortex-a57", + "-m", "1G", + "-smp", "16", + "-drive", f"file={drive},if=none,format=raw,id=hd0", + "-device", "virtio-blk-device,drive=hd0"]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("jailhouse --version") + + # Load the kernel module. + self.assertRunOk("modprobe jailhouse") + + # Check the device is present. + self.assertRunOk("ls -al /dev/jailhouse") + + # Load the cell config this this qemu test. + self.assertRunOk("jailhouse enable /etc/jailhouse/qemu-arm64.cell") + + # Dump the jailhouse console, and check we see its + # initialization string. + out, ret = self.emulator.run("jailhouse console") + self.assertEqual(ret, 0) + self.assertIn("Initializing Jailhouse hypervisor", "\n".join(out)) + + # Create the cell. + cell_cfg = "/etc/jailhouse/qemu-arm64-inmate-demo.cell" + cmd = f"jailhouse cell create {cell_cfg}" + self.assertRunOk(cmd) + + # Load the demo image. + cell_name = "inmate-demo" + img = "/usr/libexec/jailhouse/demos/gic-demo.bin" + cmd = f"jailhouse cell load {cell_name} {img}" + self.assertRunOk(cmd) + + # List Jailhouse cells and check we see the one we loaded. + out, ret = self.emulator.run("jailhouse cell list") + self.assertEqual(ret, 0) + self.assertIn(cell_name, "\n".join(out)) + + # We should also see our cell in sysfs. + cmd = "cat /sys/devices/jailhouse/cells/1/name" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], cell_name) + + # Start the cell. + self.assertRunOk(f"jailhouse cell start {cell_name}") + + # Let the demo cell run for few seconds... + time.sleep(3) + + # Stop and unload the cell. + self.assertRunOk(f"jailhouse cell shutdown {cell_name}") + self.assertRunOk(f"jailhouse cell destroy {cell_name}") + + # Stop and unload jailhouse. + self.assertRunOk("jailhouse disable") + self.assertRunOk("modprobe -r jailhouse") diff --git a/support/testing/tests/package/test_jq.py b/support/testing/tests/package/test_jq.py new file mode 100644 index 00000000000..67420abb6b1 --- /dev/null +++ b/support/testing/tests/package/test_jq.py @@ -0,0 +1,62 @@ +import json +import os + +import infra.basetest + + +class TestJq(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_jq/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_JQ=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("jq --version") + + # Run jq on examples extracted from JSON RFC: + # https://www.rfc-editor.org/rfc/rfc8259.txt + for i in range(1, 6): + fname = f"ex13-{i}.json" + cmd = f"jq -M '.' {fname}" + self.assertRunOk(cmd) + + # Check the execution fails on a non JSON file. + cmd = "jq -M '.' broken.json" + _, ret = self.emulator.run(cmd) + self.assertNotEqual(ret, 0) + + # Check an execution of a simple query. Note that output is a + # JSON (quoted) string. + cmd = "jq -M '.[1].City' ex13-2.json" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], '"SUNNYVALE"') + + # Run the same query with the -r option, to output raw text + # (i.e. strings without quotes). + cmd = "jq -r -M '.[1].City' ex13-2.json" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], "SUNNYVALE") + + # Print the ex13-2.json file as compact JSON (with option -c). + cmd = "jq -c -M '.' ex13-2.json" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + # We reload this compact string using the Python json parser, + # to test interoperability. We check the same element as in + # previous queries in the Python object. + json_data = json.loads(out[0]) + self.assertEqual(json_data[1]["City"], "SUNNYVALE") diff --git a/support/testing/tests/package/test_jq/rootfs-overlay/root/broken.json b/support/testing/tests/package/test_jq/rootfs-overlay/root/broken.json new file mode 100644 index 00000000000..fc2bf945652 --- /dev/null +++ b/support/testing/tests/package/test_jq/rootfs-overlay/root/broken.json @@ -0,0 +1 @@ +[ This is is NOT a JSON file! } diff --git a/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-1.json b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-1.json new file mode 100644 index 00000000000..52b7b6493fc --- /dev/null +++ b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-1.json @@ -0,0 +1,14 @@ +{ + "Image": { + "Width": 800, + "Height": 600, + "Title": "View from 15th Floor", + "Thumbnail": { + "Url": "http://www.example.com/image/481989943", + "Height": 125, + "Width": 100 + }, + "Animated" : false, + "IDs": [116, 943, 234, 38793] + } +} diff --git a/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-2.json b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-2.json new file mode 100644 index 00000000000..b4545b28c8e --- /dev/null +++ b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-2.json @@ -0,0 +1,22 @@ +[ + { + "precision": "zip", + "Latitude": 37.7668, + "Longitude": -122.3959, + "Address": "", + "City": "SAN FRANCISCO", + "State": "CA", + "Zip": "94107", + "Country": "US" + }, + { + "precision": "zip", + "Latitude": 37.371991, + "Longitude": -122.026020, + "Address": "", + "City": "SUNNYVALE", + "State": "CA", + "Zip": "94085", + "Country": "US" + } +] diff --git a/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-3.json b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-3.json new file mode 100644 index 00000000000..6ccebb9abe0 --- /dev/null +++ b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-3.json @@ -0,0 +1 @@ +"Hello world!" diff --git a/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-4.json b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-4.json new file mode 100644 index 00000000000..d81cc0710eb --- /dev/null +++ b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-4.json @@ -0,0 +1 @@ +42 diff --git a/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-5.json b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-5.json new file mode 100644 index 00000000000..27ba77ddaf6 --- /dev/null +++ b/support/testing/tests/package/test_jq/rootfs-overlay/root/ex13-5.json @@ -0,0 +1 @@ +true diff --git a/support/testing/tests/package/test_kexec.py b/support/testing/tests/package/test_kexec.py new file mode 100644 index 00000000000..51d43b0572f --- /dev/null +++ b/support/testing/tests/package/test_kexec.py @@ -0,0 +1,100 @@ +import os + +import infra.basetest + + +class TestKexec(infra.basetest.BRTest): + + # A specific configuration is needed for using kexec: + # - We use Aarch64 since it is well supported for kexec, + # - A kernel config fragment enables all the kexec parts, + # - The kernel Image is installed on target filesystem to be + # reloaded through kexec, + # - We use a ext4 rootfs image exposed as a virtio storage (rather + # than cpio initrd). This avoids needing to install the initrd + # inside the rootfs. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.15" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="{}" + BR2_LINUX_KERNEL_INSTALL_TARGET=y + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_KEXEC=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_kexec/linux-kexec.fragment"), + infra.filepath("tests/package/test_kexec/qemu-aarch64-virt-5.2-machine.dts") + ) + + def test_run(self): + hda = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + dtb = os.path.join(self.builddir, "images", "qemu-aarch64-virt-5.2-machine.dtb") + # Notes: + # Sufficient memory is needed to load the kernel: having at + # least 512MB works. kexec could silently fail if not enough + # memory is present. KASLR needs to be disabled for the test: + # we pass "nokaslr" to kernel bootargs, and also pass a custom + # devicetree to qemu virt machine. This devicetree is based on + # qemu aarch64 5.2 dts with kaslr-seed set 0. + # With newer qemu >= 7.0 we can disable KASLR from the qemu + # command line using "dtb-kaslr-seed=off". + bootargs = ["root=/dev/vda console=ttyAMA0 nokaslr"] + qemu_opts = ["-M", "virt", "-dtb", dtb, "-cpu", "cortex-a57", "-m", "512M", + "-drive", f"file={hda},if=virtio,format=raw"] + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=bootargs, + options=qemu_opts) + self.emulator.login() + + # Test the program can execute + self.assertRunOk("kexec --version") + + # Check the kexec kernel is NOT loaded: + self.assertRunOk("test \"$(cat /sys/kernel/kexec_loaded)\" -eq 0") + + # Load the Kernel: + # "--append br-test" adds a dummy kernel args we'll be able to + # check in the second executed kernel. + # We use the dtb image from /sys/firmware/fdt (since we don't + # have the dtb file in the system) + self.assertRunOk("kexec -d -l --dtb=/sys/firmware/fdt --reuse-cmdline --serial=ttyAMA0 --append=br-test /boot/Image") + + # Check the kexec kernel IS loaded: + self.assertRunOk("test \"$(cat /sys/kernel/kexec_loaded)\" -eq 1") + + # Create a marker file in tmpfs which is supposed to disappear + # after kexec kernel restart. + self.assertRunOk("touch /dev/shm/br-kexec-marker") + + # Execute the loaded kernel (i.e perform a kexec reboot) + # qemu.sendline() is used here because no exit code nor + # program return is expected, since kexec is like a + # reboot. The login is expected to be reached after the + # command is issued. + self.emulator.qemu.sendline("kexec -d -e") + + # Wait for the login, and log again + self.emulator.login() + + # Check the "br-test" dummy kernel arg is present + self.assertRunOk("grep br-test /proc/cmdline") + + # Check the test marker file is no longer here + self.assertRunOk("test ! -e /dev/shm/br-kexec-marker") + + # After restart, the kernel is not supposed to have a kexec + # loaded image: + self.assertRunOk("test \"$(cat /sys/kernel/kexec_loaded)\" -eq 0") diff --git a/support/testing/tests/package/test_kexec/linux-kexec.fragment b/support/testing/tests/package/test_kexec/linux-kexec.fragment new file mode 100644 index 00000000000..04c65f5cae1 --- /dev/null +++ b/support/testing/tests/package/test_kexec/linux-kexec.fragment @@ -0,0 +1,5 @@ +CONFIG_KEXEC=y +CONFIG_KEXEC_FILE=y +CONFIG_PROC_KCORE=y +CONFIG_DEBUG_KERNEL=y +CONFIG_KALLSYMS_ALL=y diff --git a/support/testing/tests/package/test_kexec/qemu-aarch64-virt-5.2-machine.dts b/support/testing/tests/package/test_kexec/qemu-aarch64-virt-5.2-machine.dts new file mode 100644 index 00000000000..ad96a51c40c --- /dev/null +++ b/support/testing/tests/package/test_kexec/qemu-aarch64-virt-5.2-machine.dts @@ -0,0 +1,373 @@ +/dts-v1/; + +/ { + interrupt-parent = <0x8001>; + #size-cells = <0x02>; + #address-cells = <0x02>; + compatible = "linux,dummy-virt"; + + psci { + migrate = <0x84000005>; + cpu_on = <0x84000003>; + cpu_off = <0x84000002>; + cpu_suspend = <0x84000001>; + method = "hvc"; + compatible = "arm,psci-0.2\0arm,psci"; + }; + + memory@40000000 { + reg = <0x00 0x40000000 0x00 0x8000000>; + device_type = "memory"; + }; + + platform@c000000 { + interrupt-parent = <0x8001>; + ranges = <0x00 0x00 0xc000000 0x2000000>; + #address-cells = <0x01>; + #size-cells = <0x01>; + compatible = "qemu,platform\0simple-bus"; + }; + + fw-cfg@9020000 { + dma-coherent; + reg = <0x00 0x9020000 0x00 0x18>; + compatible = "qemu,fw-cfg-mmio"; + }; + + virtio_mmio@a000000 { + dma-coherent; + interrupts = <0x00 0x10 0x01>; + reg = <0x00 0xa000000 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000200 { + dma-coherent; + interrupts = <0x00 0x11 0x01>; + reg = <0x00 0xa000200 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000400 { + dma-coherent; + interrupts = <0x00 0x12 0x01>; + reg = <0x00 0xa000400 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000600 { + dma-coherent; + interrupts = <0x00 0x13 0x01>; + reg = <0x00 0xa000600 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000800 { + dma-coherent; + interrupts = <0x00 0x14 0x01>; + reg = <0x00 0xa000800 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000a00 { + dma-coherent; + interrupts = <0x00 0x15 0x01>; + reg = <0x00 0xa000a00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000c00 { + dma-coherent; + interrupts = <0x00 0x16 0x01>; + reg = <0x00 0xa000c00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a000e00 { + dma-coherent; + interrupts = <0x00 0x17 0x01>; + reg = <0x00 0xa000e00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001000 { + dma-coherent; + interrupts = <0x00 0x18 0x01>; + reg = <0x00 0xa001000 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001200 { + dma-coherent; + interrupts = <0x00 0x19 0x01>; + reg = <0x00 0xa001200 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001400 { + dma-coherent; + interrupts = <0x00 0x1a 0x01>; + reg = <0x00 0xa001400 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001600 { + dma-coherent; + interrupts = <0x00 0x1b 0x01>; + reg = <0x00 0xa001600 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001800 { + dma-coherent; + interrupts = <0x00 0x1c 0x01>; + reg = <0x00 0xa001800 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001a00 { + dma-coherent; + interrupts = <0x00 0x1d 0x01>; + reg = <0x00 0xa001a00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001c00 { + dma-coherent; + interrupts = <0x00 0x1e 0x01>; + reg = <0x00 0xa001c00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a001e00 { + dma-coherent; + interrupts = <0x00 0x1f 0x01>; + reg = <0x00 0xa001e00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002000 { + dma-coherent; + interrupts = <0x00 0x20 0x01>; + reg = <0x00 0xa002000 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002200 { + dma-coherent; + interrupts = <0x00 0x21 0x01>; + reg = <0x00 0xa002200 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002400 { + dma-coherent; + interrupts = <0x00 0x22 0x01>; + reg = <0x00 0xa002400 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002600 { + dma-coherent; + interrupts = <0x00 0x23 0x01>; + reg = <0x00 0xa002600 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002800 { + dma-coherent; + interrupts = <0x00 0x24 0x01>; + reg = <0x00 0xa002800 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002a00 { + dma-coherent; + interrupts = <0x00 0x25 0x01>; + reg = <0x00 0xa002a00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002c00 { + dma-coherent; + interrupts = <0x00 0x26 0x01>; + reg = <0x00 0xa002c00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a002e00 { + dma-coherent; + interrupts = <0x00 0x27 0x01>; + reg = <0x00 0xa002e00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003000 { + dma-coherent; + interrupts = <0x00 0x28 0x01>; + reg = <0x00 0xa003000 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003200 { + dma-coherent; + interrupts = <0x00 0x29 0x01>; + reg = <0x00 0xa003200 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003400 { + dma-coherent; + interrupts = <0x00 0x2a 0x01>; + reg = <0x00 0xa003400 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003600 { + dma-coherent; + interrupts = <0x00 0x2b 0x01>; + reg = <0x00 0xa003600 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003800 { + dma-coherent; + interrupts = <0x00 0x2c 0x01>; + reg = <0x00 0xa003800 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003a00 { + dma-coherent; + interrupts = <0x00 0x2d 0x01>; + reg = <0x00 0xa003a00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003c00 { + dma-coherent; + interrupts = <0x00 0x2e 0x01>; + reg = <0x00 0xa003c00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + virtio_mmio@a003e00 { + dma-coherent; + interrupts = <0x00 0x2f 0x01>; + reg = <0x00 0xa003e00 0x00 0x200>; + compatible = "virtio,mmio"; + }; + + gpio-keys { + #address-cells = <0x01>; + #size-cells = <0x00>; + compatible = "gpio-keys"; + + poweroff { + gpios = <0x8003 0x03 0x00>; + linux,code = <0x74>; + label = "GPIO Key Poweroff"; + }; + }; + + pl061@9030000 { + phandle = <0x8003>; + clock-names = "apb_pclk"; + clocks = <0x8000>; + interrupts = <0x00 0x07 0x04>; + gpio-controller; + #gpio-cells = <0x02>; + compatible = "arm,pl061\0arm,primecell"; + reg = <0x00 0x9030000 0x00 0x1000>; + }; + + pcie@10000000 { + interrupt-map-mask = <0x1800 0x00 0x00 0x07>; + interrupt-map = <0x00 0x00 0x00 0x01 0x8001 0x00 0x00 0x00 0x03 0x04 0x00 0x00 0x00 0x02 0x8001 0x00 0x00 0x00 0x04 0x04 0x00 0x00 0x00 0x03 0x8001 0x00 0x00 0x00 0x05 0x04 0x00 0x00 0x00 0x04 0x8001 0x00 0x00 0x00 0x06 0x04 0x800 0x00 0x00 0x01 0x8001 0x00 0x00 0x00 0x04 0x04 0x800 0x00 0x00 0x02 0x8001 0x00 0x00 0x00 0x05 0x04 0x800 0x00 0x00 0x03 0x8001 0x00 0x00 0x00 0x06 0x04 0x800 0x00 0x00 0x04 0x8001 0x00 0x00 0x00 0x03 0x04 0x1000 0x00 0x00 0x01 0x8001 0x00 0x00 0x00 0x05 0x04 0x1000 0x00 0x00 0x02 0x8001 0x00 0x00 0x00 0x06 0x04 0x1000 0x00 0x00 0x03 0x8001 0x00 0x00 0x00 0x03 0x04 0x1000 0x00 0x00 0x04 0x8001 0x00 0x00 0x00 0x04 0x04 0x1800 0x00 0x00 0x01 0x8001 0x00 0x00 0x00 0x06 0x04 0x1800 0x00 0x00 0x02 0x8001 0x00 0x00 0x00 0x03 0x04 0x1800 0x00 0x00 0x03 0x8001 0x00 0x00 0x00 0x04 0x04 0x1800 0x00 0x00 0x04 0x8001 0x00 0x00 0x00 0x05 0x04>; + #interrupt-cells = <0x01>; + ranges = <0x1000000 0x00 0x00 0x00 0x3eff0000 0x00 0x10000 0x2000000 0x00 0x10000000 0x00 0x10000000 0x00 0x2eff0000 0x3000000 0x80 0x00 0x80 0x00 0x80 0x00>; + reg = <0x40 0x10000000 0x00 0x10000000>; + msi-parent = <0x8002>; + dma-coherent; + bus-range = <0x00 0xff>; + linux,pci-domain = <0x00>; + #size-cells = <0x02>; + #address-cells = <0x03>; + device_type = "pci"; + compatible = "pci-host-ecam-generic"; + }; + + pl031@9010000 { + clock-names = "apb_pclk"; + clocks = <0x8000>; + interrupts = <0x00 0x02 0x04>; + reg = <0x00 0x9010000 0x00 0x1000>; + compatible = "arm,pl031\0arm,primecell"; + }; + + pl011@9000000 { + clock-names = "uartclk\0apb_pclk"; + clocks = <0x8000 0x8000>; + interrupts = <0x00 0x01 0x04>; + reg = <0x00 0x9000000 0x00 0x1000>; + compatible = "arm,pl011\0arm,primecell"; + }; + + pmu { + }; + + intc@8000000 { + phandle = <0x8001>; + reg = <0x00 0x8000000 0x00 0x10000 0x00 0x8010000 0x00 0x10000>; + compatible = "arm,cortex-a15-gic"; + ranges; + #size-cells = <0x02>; + #address-cells = <0x02>; + interrupt-controller; + #interrupt-cells = <0x03>; + + v2m@8020000 { + phandle = <0x8002>; + reg = <0x00 0x8020000 0x00 0x1000>; + msi-controller; + compatible = "arm,gic-v2m-frame"; + }; + }; + + flash@0 { + bank-width = <0x04>; + reg = <0x00 0x00 0x00 0x4000000 0x00 0x4000000 0x00 0x4000000>; + compatible = "cfi-flash"; + }; + + cpus { + #size-cells = <0x00>; + #address-cells = <0x01>; + + cpu@0 { + reg = <0x00>; + compatible = "arm,cortex-a15"; + device_type = "cpu"; + }; + }; + + timer { + interrupts = <0x01 0x0d 0x104 0x01 0x0e 0x104 0x01 0x0b 0x104 0x01 0x0a 0x104>; + always-on; + compatible = "arm,armv7-timer"; + }; + + apb-pclk { + phandle = <0x8000>; + clock-output-names = "clk24mhz"; + clock-frequency = <0x16e3600>; + #clock-cells = <0x00>; + compatible = "fixed-clock"; + }; + + chosen { + stdout-path = "/pl011@9000000"; + /* Buildroot specific: KASLR needs to be disabled for the Kexec test. */ + kaslr-seed = <0 0>; + }; +}; diff --git a/support/testing/tests/package/test_kmscube.py b/support/testing/tests/package/test_kmscube.py new file mode 100644 index 00000000000..0ddeb679392 --- /dev/null +++ b/support/testing/tests/package/test_kmscube.py @@ -0,0 +1,45 @@ +import os + +import infra.basetest + + +class TestKmsCube(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_PACKAGE_KMSCUBE=y + BR2_PACKAGE_LIBDRM=y + BR2_PACKAGE_MESA3D=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y + BR2_PACKAGE_MESA3D_LLVM=y + BR2_PACKAGE_MESA3D_OPENGL_EGL=y + BR2_PACKAGE_MESA3D_OPENGL_ES=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_kmscube/linux-vkms.fragment")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-smp", "4", + "-m", "256M", + "-initrd", img]) + self.emulator.login() + + cmd = "kmscube --vmode=640x480 --count=10" + self.assertRunOk(cmd, timeout=30) diff --git a/support/testing/tests/package/test_kmscube/linux-vkms.fragment b/support/testing/tests/package/test_kmscube/linux-vkms.fragment new file mode 100644 index 00000000000..ec2ed4460c7 --- /dev/null +++ b/support/testing/tests/package/test_kmscube/linux-vkms.fragment @@ -0,0 +1 @@ +CONFIG_DRM_VKMS=y diff --git a/support/testing/tests/package/test_less.py b/support/testing/tests/package/test_less.py new file mode 100644 index 00000000000..3d8c4fc94c0 --- /dev/null +++ b/support/testing/tests/package/test_less.py @@ -0,0 +1,57 @@ +import os + +import infra.basetest + + +class TestLess(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_LESS=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. This command also checks that + # the "less" program is from the actual "less" package, rather + # than the Busybox implementation (the Busybox "less" applet + # does not recognize the "--version" option and would fail). + self.assertRunOk("less --version") + + # We create a test file. + ref_txt = "Hello Buildroot!" + input_fname = "input.txt" + self.assertRunOk(f"echo \'{ref_txt}\' > {input_fname}") + + # "less" is mainly an interactive user program and uses + # terminal control characters. This test checks a basic "less" + # invocation in which there is no user interaction. The + # program is expected to give back the input data. + output, exit_code = self.emulator.run(f"less -F {input_fname}") + self.assertEqual(exit_code, 0) + # "less" might insert a carriage-return ^M control character, + # which will be converted to a new-line (by the + # str.splitlines() in Emulator.run()). We check that our + # reference text line is in the output (rather than only + # testing output[0]). + self.assertIn(ref_txt, output) + + # We redo about the same test, with "less" reading stdin this + # time. We also use the "less -o log" option to log the output + # into a file. We expect to see our reference text on stdout. + output_fname = "output.txt" + cmd = f"cat {input_fname} | less -F -o {output_fname}" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn(ref_txt, output) + + # The output file content which logged the output is also + # expected to be the same as the input. + self.assertRunOk(f"cmp {input_fname} {output_fname}") diff --git a/support/testing/tests/package/test_libcamera.py b/support/testing/tests/package/test_libcamera.py new file mode 100644 index 00000000000..8953021b822 --- /dev/null +++ b/support/testing/tests/package/test_libcamera.py @@ -0,0 +1,79 @@ +import os + +import infra.basetest + + +class TestLibCamera(infra.basetest.BRTest): + # A specific configuration is needed for testing libcamera: + # a kernel config fragment enables v4l2 vimc driver. + # The libevent package is also enabled to have the libcamera "cam" + # test application. + kernel_fragment = \ + infra.filepath("tests/package/test_libcamera/linux-vimc.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.76" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kernel_fragment}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_LIBCAMERA=y + BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC=y + BR2_PACKAGE_LIBEVENT=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img]) + self.emulator.login() + + # The Kernel config of this test has only one v4l2 vimc + # driver. The camera index is expected to be #1. + cam_idx = 1 + + # We test libcamera with its simple "cam" application, by + # requesting a list of available cameras. + cmd = "cam --list" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + # libcamera generates info messages. We filter only the + # line(s) starting with our camera index. + cam_line = [ln for ln in out if ln.startswith(f"{cam_idx}:")] + # We should have the vimc camera in this line. + self.assertIn("platform/vimc.0", cam_line[0]) + + # List the camera information. + cmd = f"cam --camera {cam_idx} --info" + self.assertRunOk(cmd) + + # List the camera controls and check we have a brightness + # control. + cmd = f"cam --camera {cam_idx} --list-controls" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertIn("Control: Brightness:", "\n".join(out)) + + # List the camera properties and check we have a camera + # "Model" property. + cmd = f"cam --camera {cam_idx} --list-properties" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertIn("Property: Model = ", "\n".join(out)) + + # Capture few frames. + cmd = f"cam --camera {cam_idx} --capture=5" + cmd += " --stream width=160,height=120,role=video,pixelformat=RGB888" + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_libcamera/linux-vimc.fragment b/support/testing/tests/package/test_libcamera/linux-vimc.fragment new file mode 100644 index 00000000000..04436e7518d --- /dev/null +++ b/support/testing/tests/package/test_libcamera/linux-vimc.fragment @@ -0,0 +1,4 @@ +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_TEST_SUPPORT=y +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VIDEO_VIMC=y diff --git a/support/testing/tests/package/test_libgpgme.py b/support/testing/tests/package/test_libgpgme.py new file mode 100644 index 00000000000..b497891249c --- /dev/null +++ b/support/testing/tests/package/test_libgpgme.py @@ -0,0 +1,88 @@ +import os + +import infra.basetest + + +class TestLibGpgme(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LIBGPGME=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We check the binary program can execute. + self.assertRunOk("gpgme-tool --version") + + # Some common data for all the tests. + plain_data = "Hello Buildroot!" + gpg_userid = "br-test@buildroot" + plain_file = "reference-plain.txt" + enc_file = "encrypted.dat" + dec_file = "decrypted.txt" + + # We did not create a gpg key yet. We should not be able to + # list our key. + gpgme_listkey = f"echo LISTKEYS | gpgme-tool | grep '{gpg_userid}'" + _, exit_code = self.emulator.run(gpgme_listkey) + self.assertNotEqual(exit_code, 0) + + # We now create our gpg key. + cmd = "gpg --batch --passphrase ''" + cmd += f" --quick-generate-key {gpg_userid} default default" + self.assertRunOk(cmd, timeout=30) + + # We should now see our key in the list. + self.assertRunOk(gpgme_listkey) + + # We generate a plain text data file. + cmd = f"echo '{plain_data}' > {plain_file}" + self.assertRunOk(cmd) + + # We encrypt the plain text file using gpgme-tool commands. + gpgme_enc_cmds = [ + "RESET", + f"INPUT FILE={plain_file}", + f"OUTPUT FILE={enc_file}", + f"RECIPIENT {gpg_userid}", + "ENCRYPT", + "BYE" + ] + cmd = "gpgme-tool < + + + Buildroot Test Page + + +

Hello Buildroot !

+ + diff --git a/support/testing/tests/package/test_lrzip.py b/support/testing/tests/package/test_lrzip.py new file mode 100644 index 00000000000..31559d4e877 --- /dev/null +++ b/support/testing/tests/package/test_lrzip.py @@ -0,0 +1,12 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestLrzip(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_LRZIP=y + """ + compress_cmd = "lrzip" + decompress_cmd = "lrunzip" + compressed_file_ext = ".lrz" diff --git a/support/testing/tests/package/test_lrzsz.py b/support/testing/tests/package/test_lrzsz.py new file mode 100644 index 00000000000..23b4cdc531f --- /dev/null +++ b/support/testing/tests/package/test_lrzsz.py @@ -0,0 +1,42 @@ +import os + +import infra.basetest + + +class TestLrzsz(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LRZSZ=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + fifo = "/tmp/return-fifo" + data_fname = "data" + data_path = f"/tmp/{data_fname}" + + # We check a program can execute. + self.assertRunOk("sz --version") + + # We create a data file, to be transferred. + cmd = f"dd if=/dev/urandom of={data_path} bs=1M count=1" + self.assertRunOk(cmd) + + # We create a fifo, used as a return fifo. + self.assertRunOk(f"mkfifo {fifo}") + + # We transfer the test data using ZMODEM over the pipe and our + # return fifo. + self.assertRunOk(f"sz {data_path} < {fifo} | rz > {fifo}") + + # The rz command is supposed to have created the received file + # in the current directory. We expect the received data to be + # the same as the original input file. + self.assertRunOk(f"cmp {data_path} {data_fname}") diff --git a/support/testing/tests/package/test_lsof.py b/support/testing/tests/package/test_lsof.py new file mode 100644 index 00000000000..b0478dfbb70 --- /dev/null +++ b/support/testing/tests/package/test_lsof.py @@ -0,0 +1,41 @@ +import os + +import infra.basetest + + +class TestLsof(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_LSOF=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + test_file = "/tmp/this-is-a-test-file" + + # Check the program can execute + self.assertRunOk("lsof -v") + + # Check a normal program invocation + self.assertRunOk("lsof") + + # Check lsof fails if requested file is not opened + _, exit_code = self.emulator.run("lsof {}".format(test_file)) + self.assertNotEqual(exit_code, 0) + + # Open the test file from the shell on descriptor 10 + self.assertRunOk("exec 10> {}".format(test_file)) + + # Check that lsof now show the file + output, exit_code = self.emulator.run("lsof {}".format(test_file)) + self.assertEqual(exit_code, 0) + # output[0] is the lsof header line + self.assertIn(test_file, output[1]) diff --git a/support/testing/tests/package/test_ltrace.py b/support/testing/tests/package/test_ltrace.py new file mode 100644 index 00000000000..9ef64ba5dd7 --- /dev/null +++ b/support/testing/tests/package/test_ltrace.py @@ -0,0 +1,32 @@ +import os + +import infra.basetest + + +class TestLtrace(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LTRACE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute + self.assertRunOk("ltrace --version") + + # Run ltrace on a ls + cmd = "ltrace -a 0 -o ltrace.log ls /" + self.assertRunOk(cmd) + + # Check the ltrace log contains occurrences of libc malloc() + cmd = "grep -Ec 'malloc\\([0-9]+\\)' ltrace.log" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertGreater(int(out[0]), 0) diff --git a/support/testing/tests/package/test_lvm2.py b/support/testing/tests/package/test_lvm2.py new file mode 100644 index 00000000000..75ea3fa449f --- /dev/null +++ b/support/testing/tests/package/test_lvm2.py @@ -0,0 +1,160 @@ +import os +import subprocess + +import infra.basetest + + +class TestLvm2(infra.basetest.BRTest): + # The lvm2 package has _LINUX_CONFIG_FIXUPS, so we cannot use + # the runtime test pre-built Kernel. We need to compile a Kernel + # to make sure it will include the required configuration. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.77" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_E2FSPROGS=y + BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y + BR2_PACKAGE_LVM2=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def get_free_disk_space(self, path): + out, ret = self.emulator.run(f"df -k {path}") + self.assertEqual(ret, 0) + return int(out[1].split()[3]) + + def test_run(self): + # Test configuration: + storage_devs = ["/dev/vda", "/dev/vdb", "/dev/vdc"] + storage_size = 16 # Mega Bytes + lvm_vg = "br_vg" # Volume Group name + lvm_lv = "br_lv" # Logical Volume name + lv_dev = f"/dev/{lvm_vg}/{lvm_lv}" # Logical Volume dev name + mnt_pt = "/mnt/lvm2-storage" + data_file = f"{mnt_pt}/data.bin" + + qemu_storage_opts = [] + for i in range(len(storage_devs)): + disk_file = os.path.join(self.builddir, "images", f"disk{i}.img") + self.emulator.logfile.write(f"Creating disk image: {disk_file}\n") + self.emulator.logfile.flush() + subprocess.check_call( + ["dd", "if=/dev/zero", f"of={disk_file}", + "bs=1M", f"count={storage_size}"], + stdout=self.emulator.logfile, + stderr=self.emulator.logfile) + opts = ["-drive", f"file={disk_file},if=virtio,format=raw"] + qemu_storage_opts += opts + + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img] + qemu_storage_opts) + self.emulator.login() + + # Test the program can execute. + self.assertRunOk("lvm version") + + # We did not created any Physical Volume yet. We should NOT + # see any of our storage devices in a pvscan. + out, ret = self.emulator.run("pvscan") + self.assertEqual(ret, 0) + for dev in storage_devs: + self.assertNotIn(dev, "\n".join(out)) + + # We initialize our Physical Volumes (PVs). + pv_devs = " ".join(storage_devs) + self.assertRunOk(f"pvcreate {pv_devs}") + + # We run few diagnostic commands related to PVs. + self.assertRunOk(f"pvck {pv_devs}") + self.assertRunOk(f"pvdisplay {pv_devs}") + self.assertRunOk("pvs") + + # Now we initialized the PVs, we should see them in a pvscan. + out, ret = self.emulator.run("pvscan") + self.assertEqual(ret, 0) + for dev in storage_devs: + self.assertIn(dev, "\n".join(out)) + + # We create a Volume Group (VG) including two of our three + # PVs. + cmd = f"vgcreate {lvm_vg} {storage_devs[0]} {storage_devs[1]}" + self.assertRunOk(cmd) + + # We run few diagnostic commands related to VGs. + self.assertRunOk(f"vgck {lvm_vg}") + self.assertRunOk(f"vgdisplay {lvm_vg}") + self.assertRunOk("vgscan") + self.assertRunOk("vgs") + + # We create a Logical Volume (LV) in our VG. + self.assertRunOk(f"lvcreate -l 100%FREE -n {lvm_lv} {lvm_vg}") + + # We check LVM created the LV device. + self.assertRunOk(f"ls -al {lv_dev}") + + # We run few diagnostic commands related to LVs. + self.assertRunOk("lvscan") + self.assertRunOk("lvs") + + # We create a ext4 filesystem on our LV. + self.assertRunOk(f"mkfs.ext4 {lv_dev}") + + # We create a mount point directory and mount the device. + self.assertRunOk(f"mkdir -p {mnt_pt}") + self.assertRunOk(f"mount {lv_dev} {mnt_pt}") + + # We create a data file in our new filesystem. Note: this file + # is slightly larger than a single PV. This data file should + # span over the two PVs in the VG. + data_size = storage_size + 4 + cmd = f"dd if=/dev/urandom of={data_file} bs=1M count={data_size}" + self.assertRunOk(cmd) + + # We compute the hash of our data, and save it for later. + hash_cmd = f"sha256sum {data_file}" + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + data_sha256 = out[0] + + # We compute the free space of the mount point. + fs_free_space = self.get_free_disk_space(mnt_pt) + + # We extend of VG with our third PV. + self.assertRunOk(f"vgextend {lvm_vg} {storage_devs[2]}") + + # We grow the LV to use all the space of the VG. + self.assertRunOk(f"lvresize -l +100%FREE {lvm_vg}/{lvm_lv}") + + # We resize the filesystem to use all the LV space. + self.assertRunOk(f"resize2fs {lv_dev}") + + # Now we grew the LV and resized the filesystem, we recompute + # the free space and check we have more. + fs2_free_space = self.get_free_disk_space(mnt_pt) + self.assertGreater(fs2_free_space, fs_free_space) + + # With all those on-the-fly operations on the mounted + # filesystem, the data file should be intact. We should + # recompute the same data checksum as before. + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], data_sha256) + + # Finally, we unmount the filesystem. It should not contain + # any error. + self.assertRunOk(f"umount {mnt_pt}") + self.assertRunOk(f"e2fsck -f -n {lv_dev}") diff --git a/support/testing/tests/package/test_lxc.py b/support/testing/tests/package/test_lxc.py index f66b31f3bac..0d03087a2cb 100644 --- a/support/testing/tests/package/test_lxc.py +++ b/support/testing/tests/package/test_lxc.py @@ -10,6 +10,7 @@ class TestLxc(infra.basetest.BRTest): BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.38" @@ -32,9 +33,9 @@ def run_ok(self, cmd): self.assertRunOk(cmd, 120) def wait_boot(self): - # the complete boot with systemd takes more time than what the default multipler permits - self.emulator.timeout_multiplier *= 10 - self.emulator.login() + # the complete boot with systemd takes more time than what the + # default typically allows + self.emulator.login(timeout=600) def setup_run_test_container(self): self.run_ok("lxc-create -n lxc_iperf3 -t none -f /usr/share/lxc/config/minimal-iperf3.conf") diff --git a/support/testing/tests/package/test_lz4.py b/support/testing/tests/package/test_lz4.py new file mode 100644 index 00000000000..988200250a9 --- /dev/null +++ b/support/testing/tests/package/test_lz4.py @@ -0,0 +1,11 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestLz4(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_LZ4=y + BR2_PACKAGE_LZ4_PROGS=y + """ + compress_cmd = "lz4" diff --git a/support/testing/tests/package/test_lzip.py b/support/testing/tests/package/test_lzip.py new file mode 100644 index 00000000000..374e9e79e0f --- /dev/null +++ b/support/testing/tests/package/test_lzip.py @@ -0,0 +1,12 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestLzip(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_LZIP=y + """ + compress_cmd = "lzip" + decompress_cmd = "lzip -d" + compressed_file_ext = ".lz" diff --git a/support/testing/tests/package/test_lzop.py b/support/testing/tests/package/test_lzop.py new file mode 100644 index 00000000000..8d20ece3d69 --- /dev/null +++ b/support/testing/tests/package/test_lzop.py @@ -0,0 +1,12 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestLzop(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_LZOP=y + """ + compress_cmd = "lzop" + decompress_cmd = "lzop -d" + compressed_file_ext = ".lzo" diff --git a/support/testing/tests/package/test_mdadm.py b/support/testing/tests/package/test_mdadm.py new file mode 100644 index 00000000000..d5abdb0706c --- /dev/null +++ b/support/testing/tests/package/test_mdadm.py @@ -0,0 +1,146 @@ +import os +import subprocess +import time + +import infra.basetest + + +class TestMdadm(infra.basetest.BRTest): + # This test creates a dm-raid volume with mdadm. A specific Kernel + # need to be built with a config fragment enabling this support. + kernel_fragment = \ + infra.filepath("tests/package/test_mdadm/linux-mdadm.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.75" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kernel_fragment}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_E2FSPROGS=y + BR2_PACKAGE_MDADM=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + # Test configuration: + md_dev = "/dev/md0" + storage_devs = ["/dev/vda", "/dev/vdb", "/dev/vdc"] + storage_size = 16 # Mega Bytes + failing_dev = storage_devs[-1] + mnt_pt = "/mnt/raid-storage" + data_file = f"{mnt_pt}/data.bin" + + qemu_storage_opts = [] + for i in range(len(storage_devs)): + disk_file = os.path.join(self.builddir, "images", f"disk{i}.img") + self.emulator.logfile.write(f"Creating disk image: {disk_file}\n") + self.emulator.logfile.flush() + subprocess.check_call( + ["dd", "if=/dev/zero", f"of={disk_file}", + "bs=1M", f"count={storage_size}"], + stdout=self.emulator.logfile, + stderr=self.emulator.logfile) + opts = ["-drive", f"file={disk_file},if=virtio,format=raw"] + qemu_storage_opts += opts + + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img] + qemu_storage_opts) + self.emulator.login() + + # Test the program can execute. + self.assertRunOk("mdadm --version") + + # Show the mdstat, to confirm the Kernel has support and the + # configuration is empty. + cat_mdstat_cmd = "cat /proc/mdstat" + self.assertRunOk(cat_mdstat_cmd) + + # We create a raid5 array with the drives. + cmd = f"mdadm --create --verbose {md_dev} --level=5 " + cmd += f"--raid-devices={len(storage_devs)} " + cmd += " ".join(storage_devs) + self.assertRunOk(cmd) + + # We show again mdstat, to confirm the array creation. This is + # also for debugging. + self.assertRunOk(cat_mdstat_cmd) + + # We format the device as ext4 and mount it. + self.assertRunOk(f"mkfs.ext4 {md_dev}") + self.assertRunOk(f"mkdir -p {mnt_pt}") + self.assertRunOk(f"mount {md_dev} {mnt_pt}") + + # We store some random data on this new filesystem. Note: this + # file is slightly larger than a single storage drive. This + # data file should span over two drives and use the raid5. + file_size = storage_size + 4 + cmd = f"dd if=/dev/urandom of={data_file} bs=1M count={file_size}" + self.assertRunOk(cmd) + + # We compute the hash of our data, and save it for later. + hash_cmd = f"sha256sum {data_file}" + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + data_sha256 = out[0] + + # We run few common mdadm commands. + self.assertRunOk("mdadm --detail --scan") + self.assertRunOk(f"mdadm --query {md_dev}") + self.assertRunOk(f"mdadm --detail --test {md_dev}") + self.assertRunOk(f"mdadm --action=check {md_dev}") + self.assertRunOk(f"mdadm --monitor --oneshot {md_dev}") + + # We mark a device as "failed". + self.assertRunOk(f"mdadm {md_dev} --fail {failing_dev}") + + # The monitoring should now report the array as degraded. + monitor_cmd = f"mdadm --monitor --oneshot {md_dev}" + out, ret = self.emulator.run(monitor_cmd) + self.assertEqual(ret, 0) + self.assertIn("DegradedArray", "\n".join(out)) + + # We remove the failing drive from the array. + self.assertRunOk(f"mdadm {md_dev} --remove {failing_dev}") + + # We wipe the failing drive by writing zeroes. + cmd = f"dd if=/dev/zero of={failing_dev} bs=1M count={storage_size}" + self.assertRunOk(cmd) + + # We add back this blank drive to the array. + self.assertRunOk(f"mdadm {md_dev} --add {failing_dev}") + + # Device rebuild can take a variable amount of time, depending + # on the load of the test controller host. So we will allow + # several attempts, before failing. + for attempt in range(10): + # We wait few seconds to let the device rebuild. + time.sleep(3 * self.timeout_multiplier) + + # Once rebuilt, the array should no longer be marked as + # degraded. + out, ret = self.emulator.run(monitor_cmd) + self.assertEqual(ret, 0) + if "DegradedArray" not in "\n".join(out): + break + else: + self.fail("Timeout while waiting for the array to rebuild.") + + # With all those array manipulations, the data file should not + # be corrupted. We should be able to recompute the same hash + # as before. + out, ret = self.emulator.run(hash_cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], data_sha256) diff --git a/support/testing/tests/package/test_mdadm/linux-mdadm.fragment b/support/testing/tests/package/test_mdadm/linux-mdadm.fragment new file mode 100644 index 00000000000..152192ceb43 --- /dev/null +++ b/support/testing/tests/package/test_mdadm/linux-mdadm.fragment @@ -0,0 +1,3 @@ +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_RAID=y diff --git a/support/testing/tests/package/test_micropython.py b/support/testing/tests/package/test_micropython.py new file mode 100644 index 00000000000..371deb29782 --- /dev/null +++ b/support/testing/tests/package/test_micropython.py @@ -0,0 +1,79 @@ +import os + +import infra.basetest + + +class TestMicroPython(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_MICROPYTHON=y + BR2_PACKAGE_MICROPYTHON_LIB=y + BR2_ROOTFS_OVERLAY="{infra.filepath("tests/package/test_micropython/rootfs-overlay")}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def run_upy_code(self, python_code, opts=""): + cmd = f'micropython {opts} -c "{python_code}"' + output, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0, f"could not run '{cmd}', returnd {ret}: '{output}'") + return output + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # The micropython binary can execute. + self.assertRunOk("micropython -h") + + # Query interpreter version and implementation. + py_code = "import sys ; " + py_code += "print('Version:', sys.version) ; " + py_code += "print('Implementation:', sys.implementation)" + self.run_upy_code(py_code) + + # Check implementation is 'micropython'. + py_code = "import sys ; print(sys.implementation.name)" + output = self.run_upy_code(py_code) + self.assertEqual(output[0], "micropython") + + # Check micropython optimization are correctly reported. + py_code = "import micropython ; print(micropython.opt_level())" + for opt_level in range(4): + output = self.run_upy_code(py_code, f"-O{opt_level}") + self.assertEqual( + int(output[0]), + opt_level, + f"Running '{py_code}' at -O{opt_level} returned '{output}'" + ) + + # Check micropython can return a non-zero exit code. + expected_code = 123 + py_code = "import sys ; " + py_code += f"sys.exit({expected_code})" + cmd = f'micropython -c "{py_code}"' + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, expected_code) + + # Check micropython computes correctly. + input_value = 1234 + expected_output = str(sum(range(input_value))) + py_code = f"print(sum(range(({input_value}))))" + output = self.run_upy_code(py_code) + self.assertEqual(output[0], expected_output) + + # Check a small script can execute. + self.assertRunOk("/root/mandel.py", timeout=10) + + # Check we can use a micropython-lib module. + msg = "Hello Buildroot!" + filename = "file.txt" + gz_filename = f"{filename}.gz" + self.assertRunOk(f"echo '{msg}' > {filename}") + self.assertRunOk(f"gzip {filename}") + out, ret = self.emulator.run(f"/root/zcat.py {gz_filename}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_micropython/rootfs-overlay/root/mandel.py b/support/testing/tests/package/test_micropython/rootfs-overlay/root/mandel.py new file mode 100755 index 00000000000..0552f6894c4 --- /dev/null +++ b/support/testing/tests/package/test_micropython/rootfs-overlay/root/mandel.py @@ -0,0 +1,25 @@ +#! /usr/bin/env micropython + +from micropython import mem_info + +POINTS = list(",.:-;!/>)|&IH%*Z") + + +def mandel(): + for y in range(-15, 16): + for x in range(1, 85): + i = 0 + r = 0 + for k in range(112): + j = (r*r) - (i*i) - 2 + (x/25) + i = 2 * r * i + (y/10) + if j*j + i*i >= 11: + break + r = j + print(POINTS[k & 0xF], end='') + print() + + +if __name__ == '__main__': + mandel() + mem_info() diff --git a/support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py b/support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py new file mode 100755 index 00000000000..3b8c60bdd10 --- /dev/null +++ b/support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py @@ -0,0 +1,15 @@ +#! /usr/bin/env micropython + +import gzip +import sys + + +def main(fname): + with open(fname, "rb") as f: + with gzip.GzipFile(fileobj=f) as g: + s = g.read() + print(s.decode("UTF-8"), end="") + + +if __name__ == "__main__": + main(sys.argv[1]) diff --git a/support/testing/tests/package/test_mtd.py b/support/testing/tests/package/test_mtd.py new file mode 100644 index 00000000000..bdb09c39ec6 --- /dev/null +++ b/support/testing/tests/package/test_mtd.py @@ -0,0 +1,47 @@ +import os + +import infra.basetest + + +class TestMtd(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MTD=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_TARGET_ROOTFS_CPIO=y + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + + self.emulator.login() + + mtd = "/dev/mtd0" + erasesize = 256 * 1024 + test_sectors = 4 + test_size = erasesize * test_sectors + + output, exit_code = self.emulator.run(f"mtd_debug info {mtd}") + output = [x.strip() for x in output if x.strip()] + self.assertEqual(output, [ + "mtd.type = MTD_NORFLASH", + "mtd.flags = MTD_CAP_NORFLASH", + "mtd.size = 134217728 (128M)", + "mtd.erasesize = 262144 (256K)", + "mtd.writesize = 1", + "mtd.oobsize = 0", + "regions = 0", + ]) + + # Test flashcp + self.assertRunOk(f"dd if=/dev/urandom of=random.bin bs={test_size} count=1") + self.assertRunOk(f"flashcp random.bin {mtd}") + self.assertRunOk(f"cmp -s -n {test_size} random.bin {mtd}") + + # Test flash_erase + self.assertRunOk(f"dd if=/dev/zero bs={test_size} count=1 | tr '\\000' '\\377' >nor-erase.bin") + self.assertRunOk(f"flash_erase {mtd} 0 {test_sectors}") + self.assertRunOk(f"cmp -s -n {test_size} nor-erase.bin {mtd}") diff --git a/support/testing/tests/package/test_mtools.py b/support/testing/tests/package/test_mtools.py new file mode 100644 index 00000000000..4a232bc9268 --- /dev/null +++ b/support/testing/tests/package/test_mtools.py @@ -0,0 +1,66 @@ +import os + +import infra.basetest + + +class TestMtools(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MTOOLS=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + dos_img = "dos-fat.img" + mtools_opts = f"-i {dos_img}" + + self.assertRunOk("mtools --version") + + # Create an empty image file to hold the FAT partition + self.assertRunOk(f"dd if=/dev/zero of={dos_img} bs=1M count=1") + + # Any Mtools command is expected to fail on an unformated + # partition. + cmd = f"minfo {mtools_opts} ::" + _, exit_code = self.emulator.run(cmd) + self.assertNotEqual(exit_code, 0) + + # Now, let's format the partition file to FAT + self.assertRunOk(f"mformat {mtools_opts} ::") + + # Run some Mtools commands on this empty partition + self.assertRunOk(f"minfo {mtools_opts} ::") + self.assertRunOk(f"mdir {mtools_opts} ::") + self.assertRunOk(f"mlabel {mtools_opts} -N 12345678 ::BUILDROOT") + + # Create a reference file on our Linux filesystem + self.assertRunOk("echo 'Hello Buildroot!' > file1.txt") + + # Copy the reference file into the DOS image, then perform + # various file manipulations + self.assertRunOk(f"mcopy {mtools_opts} file1.txt ::file2.txt") + self.assertRunOk(f"mcopy {mtools_opts} ::file2.txt ::file3.txt") + self.assertRunOk(f"mdel {mtools_opts} ::file2.txt") + self.assertRunOk(f"mren {mtools_opts} ::file3.txt ::file4.txt") + self.assertRunOk(f"mmd {mtools_opts} ::dir1") + self.assertRunOk(f"mmove {mtools_opts} ::file4.txt ::dir1") + self.assertRunOk(f"mdir {mtools_opts} ::dir1") + self.assertRunOk(f"mdu {mtools_opts} -a ::") + + # Copy back the file from the DOS image to the Linux + # filesystem + self.assertRunOk(f"mcopy {mtools_opts} ::dir1/file4.txt file5.txt") + + # We expect this last copied file to have the same content as + # the reference one created at the beginning + self.assertRunOk("cmp file1.txt file5.txt") + + # Delete a directory tree containing a file + self.assertRunOk(f"mdeltree {mtools_opts} ::dir1") diff --git a/support/testing/tests/package/test_mtr.py b/support/testing/tests/package/test_mtr.py new file mode 100644 index 00000000000..d78b33a31a5 --- /dev/null +++ b/support/testing/tests/package/test_mtr.py @@ -0,0 +1,22 @@ +import os + +import infra.basetest + + +class TestMtr(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MTR=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("mtr --version") + self.assertRunOk("mtr -r -c 5 127.0.0.1", timeout=30) diff --git a/support/testing/tests/package/test_netcat.py b/support/testing/tests/package/test_netcat.py new file mode 100644 index 00000000000..88d58a72f39 --- /dev/null +++ b/support/testing/tests/package/test_netcat.py @@ -0,0 +1,40 @@ +import os +import time + +import infra.basetest + + +class TestNetCat(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_NETCAT=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("nc --version") + + msg = "Hello Buildroot!" + out_file = "output.txt" + port = 12345 + + cmd = f"nc -n -l -p {port} > {out_file} 2> /dev/null &" + self.assertRunOk(cmd) + + time.sleep(5) + + cmd = f"echo '{msg}' | nc -n -c 127.0.0.1 {port}" + self.assertRunOk(cmd) + + cmd = f"cat {out_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_netsnmp.py b/support/testing/tests/package/test_netsnmp.py new file mode 100644 index 00000000000..9561e49828d --- /dev/null +++ b/support/testing/tests/package/test_netsnmp.py @@ -0,0 +1,44 @@ +import os + +import infra.basetest + + +class TestNetSNMP(infra.basetest.BRTest): + rootfs_overlay = \ + infra.filepath("tests/package/test_netsnmp/rootfs-overlay") + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_NETSNMP=y + BR2_ROOTFS_OVERLAY="{rootfs_overlay}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # We check the daemon and a client program can execute. + self.assertRunOk("snmpd --version") + self.assertRunOk("snmpget --version") + + # The daemon is supposed to be started by the initscript, + # since we included a /etc/snmp/snmpd.conf file. We should be + # able to walk through the SNMPv2 system MIB. + self.assertRunOk("snmpwalk -v 2c -c public 127.0.0.1 system") + + # We check few OIDs has the expected values. sysContact and + # sysLocation are set in the snmpd.conf file. + tests = [ + ("system.sysName.0", "STRING: buildroot"), + ("system.sysContact.0", "STRING: Buildroot Test User"), + ("system.sysLocation.0", "STRING: Buildroot Test Infra") + ] + for oid, expected_out in tests: + cmd = f"snmpget -v 2c -c public -Ov 127.0.0.1 {oid}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], expected_out) diff --git a/support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf b/support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf new file mode 100644 index 00000000000..63a33694f19 --- /dev/null +++ b/support/testing/tests/package/test_netsnmp/rootfs-overlay/etc/snmp/snmpd.conf @@ -0,0 +1,4 @@ +# This is a simple configuration for testing. +syslocation Buildroot Test Infra +syscontact Buildroot Test User +rocommunity public default system diff --git a/support/testing/tests/package/test_nftables.py b/support/testing/tests/package/test_nftables.py new file mode 100644 index 00000000000..142e7d03529 --- /dev/null +++ b/support/testing/tests/package/test_nftables.py @@ -0,0 +1,109 @@ +import os + +import infra.basetest + + +class TestNftables(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.46" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_NFTABLES=y + BR2_PACKAGE_PYTHON3=y + BR2_ROOTFS_OVERLAY="{}" + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_nftables/rootfs-overlay")) + + def nftables_test(self, prog="nft"): + # Table/Chain names for the test + nft_table = "br_ip_table" + nft_chain = "br_ip_chain_in" + + # We flush all nftables rules, to start from a known state. + self.assertRunOk(f"{prog} flush ruleset") + + # We create an ip table. + self.assertRunOk(f"{prog} add table ip {nft_table}") + + # We should be able to list this table. + list_cmd = f"{prog} list tables ip" + output, exit_code = self.emulator.run(list_cmd) + self.assertEqual(exit_code, 0) + self.assertIn(nft_table, output[0]) + + # We create an ip input chain in our table. + cmd = f"{prog} add chain ip" + cmd += f" {nft_table} {nft_chain}" + cmd += " { type filter hook input priority 0 \\; }" + self.assertRunOk(cmd) + + # We list our chain. + cmd = f"{prog} list chain ip {nft_table} {nft_chain}" + self.assertRunOk(cmd) + + # We add a filter rule to drop pings (icmp echo-requests) to + # the 127.0.0.2 destination. + cmd = f"{prog} add rule ip {nft_table} {nft_chain}" + cmd += " ip daddr 127.0.0.2 icmp type echo-request drop" + self.assertRunOk(cmd) + + # We list our rule. + self.assertRunOk(f"{prog} list ruleset ip") + + # A ping to 127.0.0.1 is expected to work, because it's not + # matching our rule. We expect 3 replies (-c), with 0.5s + # internal (-i), and set a maximum timeout of 2s. + ping_cmd_prefix = "ping -c 3 -i 0.5 -W 2 " + self.assertRunOk(ping_cmd_prefix + "127.0.0.1") + + # A ping to 127.0.0.2 is expected to fail, because our rule is + # supposed to drop it. + ping_test_cmd = ping_cmd_prefix + "127.0.0.2" + _, exit_code = self.emulator.run(ping_test_cmd) + self.assertNotEqual(exit_code, 0) + + # We completely delete the table. This should also delete the + # chain and the rule. + self.assertRunOk(f"{prog} delete table ip {nft_table}") + + # We should no longer see the table in the list. + output, exit_code = self.emulator.run(list_cmd) + self.assertEqual(exit_code, 0) + self.assertNotIn(nft_table, "\n".join(output)) + + # Since we deleted the rule, the ping test command which was + # supposed to fail earlier is now supposed to succeed. + self.assertRunOk(ping_test_cmd) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "256M", + "-initrd", img]) + self.emulator.login() + + # We check the program can execute. + self.assertRunOk("nft --version") + + # We run the nftables test sequence using the default "nft" + # user space configuration tool. + self.nftables_test() + + # We run again the same test sequence using our simple nft + # python implementation, to check the language bindings. + self.nftables_test(prog="/root/nft.py") diff --git a/support/testing/tests/package/test_nftables/rootfs-overlay/root/nft.py b/support/testing/tests/package/test_nftables/rootfs-overlay/root/nft.py new file mode 100755 index 00000000000..89de8e25d1a --- /dev/null +++ b/support/testing/tests/package/test_nftables/rootfs-overlay/root/nft.py @@ -0,0 +1,22 @@ +#! /usr/bin/env python3 +# +# This is a simple reimplementation of the "nft" user-space tool in +# Python, in order to test language bindings. It does not support any +# command line argument supported by the nftables "nft" tool, but +# supports all nftables commands used in the Buildroot runtime test. + +import sys + +import nftables + + +nft = nftables.nftables.Nftables() +cmd = " ".join(sys.argv[1:]) +ret_code, output, error = nft.cmd(cmd) + +if len(output) > 0: + print(output.strip()) +if len(error) > 0: + print(error.strip()) + +sys.exit(ret_code) diff --git a/support/testing/tests/package/test_ngrep.py b/support/testing/tests/package/test_ngrep.py new file mode 100644 index 00000000000..29aaa55c2c2 --- /dev/null +++ b/support/testing/tests/package/test_ngrep.py @@ -0,0 +1,49 @@ +import os +import time + +import infra.basetest + + +class TestNgrep(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_NETCAT=y + BR2_PACKAGE_NGREP=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + port = 12345 + msg = 'Hello Buildroot' + + # Check the program can execute. + self.assertRunOk("ngrep -V") + + # Start a netcat server in background accepting connections + cmd = f"nc -l -p {port} >/dev/null 1: + cmd += f" < {test_prefix}/{blas_data_type}in{blas_level}" + + self.assertRunOk(cmd, timeout=30) diff --git a/support/testing/tests/package/test_openssh.py b/support/testing/tests/package/test_openssh.py index 4b48059573c..a28c28f7976 100644 --- a/support/testing/tests/package/test_openssh.py +++ b/support/testing/tests/package/test_openssh.py @@ -32,9 +32,13 @@ def openssh_test(self): class TestOpenSshuClibc(TestOpensshBase): - config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + config = \ TestOpensshBase.opensshconfig + \ """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE=y BR2_TARGET_ROOTFS_CPIO=y """ @@ -43,12 +47,14 @@ def test_run(self): class TestOpenSshGlibc(TestOpensshBase): + config = \ TestOpensshBase.opensshconfig + \ """ BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE=y BR2_PACKAGE_RNG_TOOLS=y BR2_TARGET_ROOTFS_CPIO=y """ diff --git a/support/testing/tests/package/test_pciutils.py b/support/testing/tests/package/test_pciutils.py new file mode 100644 index 00000000000..3221b0cfd1c --- /dev/null +++ b/support/testing/tests/package/test_pciutils.py @@ -0,0 +1,83 @@ +import os + +import infra.basetest + + +class TestPCIUtils(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_PCIUTILS=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + + # Note: we add a qemu pci-testdev in order to have a stable + # device ID, and for writing in configuration space without + # interfering with the rest of the emulation. See: + # https://www.qemu.org/docs/master/specs/pci-testdev.html + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file, + "-device", "pci-testdev"]) + self.emulator.login() + + # Check the program executes. This test also check that we + # have "lspci" from the pciutils package, rather than the + # busybox applet (which does not recognize the --version + # option)" + self.assertRunOk("lspci --version") + + # Check few program invocations. + self.assertRunOk("lspci") + for lspci_opt in ["-t", "-n", "-v", "-vv", "-x"]: + self.assertRunOk(f"lspci {lspci_opt}") + + # Check we can see the qemu pci-testdev. + # Vendor: 1b36: Red Hat, Inc. + # Device: 0005: QEMU PCI Test Device + pci_vendor_id = "1b36" + pci_device_id = "0005" + pci_dev = f"{pci_vendor_id}:{pci_device_id}" + cmd = f"lspci -d {pci_dev}" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn("Red Hat, Inc.", output[0]) + self.assertIn("QEMU PCI Test Device", output[0]) + + # We disable INTx emulation by setting bit 10 of the COMMAND + # register in the configuration space. See: + # https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/tree/lib/header.h?h=v3.10.0#n26 + dis_int_x = 0x400 + data_mask = f"{hex(dis_int_x)}:{hex(dis_int_x)}" + cmd = f"setpci -d {pci_dev} COMMAND.w={data_mask}" + self.assertRunOk(cmd) + + # We read back and check the value. + cmd = f"setpci -d {pci_dev} COMMAND.w" + output, exit_code = self.emulator.run(cmd) + read_value = int(output[0], 16) + self.assertEqual(exit_code, 0) + self.assertTrue((read_value & dis_int_x) == dis_int_x) + + # We check lspci now see the disabled INTx emulation. + cmd = f"lspci -vv -d {pci_dev} | grep -F 'DisINTx+'" + self.assertRunOk(cmd) + + # We re-enable the INTx emulation by clearing the bit 10. + data_mask = f"0x0:{hex(dis_int_x)}" + cmd = f"setpci -d {pci_dev} COMMAND.w={data_mask}" + self.assertRunOk(cmd) + + # We read back and check the value, again. + cmd = f"setpci -d {pci_dev} COMMAND.w" + output, exit_code = self.emulator.run(cmd) + read_value = int(output[0], 16) + self.assertEqual(exit_code, 0) + self.assertTrue((read_value & dis_int_x) == 0) + + # We check lspci now see the enabled INTx emulation. + cmd = f"lspci -vv -d {pci_dev} | grep -F 'DisINTx-'" + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_perftest.py b/support/testing/tests/package/test_perftest.py new file mode 100644 index 00000000000..08089456c27 --- /dev/null +++ b/support/testing/tests/package/test_perftest.py @@ -0,0 +1,48 @@ +import os + +import infra.basetest + + +class TestPerftest(infra.basetest.BRTest): + + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.33" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_IPROUTE2=y + BR2_PACKAGE_LIBMNL=y + BR2_PACKAGE_RDMA_CORE=y + BR2_PACKAGE_PERFTEST=y + """.format( + infra.filepath("tests/package/test_rdma_core/linux-rdma.fragment") + ) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "512M", "-initrd", img]) + self.emulator.login() + + # Add the rxe0 interface + self.assertRunOk("ip link set dev eth0 up") + self.assertRunOk("rdma link add rxe0 type rxe netdev eth0") + + # start a server + self.assertRunOk("ib_read_bw > /dev/null 2>&1 &") + + # start a client + self.assertRunOk("sleep 1 && ib_read_bw 127.0.0.1") diff --git a/support/testing/tests/package/test_perl_dbd_mysql.py b/support/testing/tests/package/test_perl_dbd_mysql.py index f8fe832b41e..93551b420fa 100644 --- a/support/testing/tests/package/test_perl_dbd_mysql.py +++ b/support/testing/tests/package/test_perl_dbd_mysql.py @@ -1,4 +1,5 @@ from tests.package.test_perl import TestPerlBase +import os class TestPerlDBDmysql(TestPerlBase): @@ -13,8 +14,18 @@ class TestPerlDBDmysql(TestPerlBase): """ BR2_PACKAGE_PERL=y BR2_PACKAGE_PERL_DBD_MYSQL=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="120M" """ + def login(self): + ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-drive", "file=%s,if=scsi,format=raw" % ext2_file], + kernel_cmdline=["rootwait", "root=/dev/sda"]) + self.emulator.login() + def test_run(self): self.login() self.module_test("DBI") diff --git a/support/testing/tests/package/test_pigz.py b/support/testing/tests/package/test_pigz.py new file mode 100644 index 00000000000..92a4170265d --- /dev/null +++ b/support/testing/tests/package/test_pigz.py @@ -0,0 +1,12 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestPigz(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_PIGZ=y + """ + compress_cmd = "pigz -p3" + decompress_cmd = "pigz -d -p3" + compressed_file_ext = ".gz" diff --git a/support/testing/tests/package/test_pixz.py b/support/testing/tests/package/test_pixz.py index eeff10eaa1b..6620bd4a827 100644 --- a/support/testing/tests/package/test_pixz.py +++ b/support/testing/tests/package/test_pixz.py @@ -1,40 +1,18 @@ -import os +from tests.package.test_compressor_base import TestCompressorBase -import infra.basetest - -class TestPixz(infra.basetest.BRTest): - config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ +class TestPixz(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ """ BR2_PACKAGE_PIXZ=y - BR2_TARGET_ROOTFS_CPIO=y - # BR2_TARGET_ROOTFS_TAR is not set """ - - def test_run(self): - cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv5", - kernel="builtin", - options=["-initrd", cpio_file]) - self.emulator.login() - - # Prepare input file with random data and zeroes. - # We keep the size small (4 MB) for the sake of test time. - cmd = "dd if=/dev/urandom of=orig bs=1M count=2 && " \ - "dd if=/dev/zero of=orig bs=1M count=2 seek=2" - self.assertRunOk(cmd) - - # Compress. - # We ask for 3 threads for good measure but with a very small file on a - # uniprocessor qemu this is only a light validation. - cmd = "cp -v orig compressed && pixz -p 3 compressed" - self.assertRunOk(cmd, timeout=60) - - # Uncompress. - cmd = "cp -v compressed.xz uncompressed.xz && pixz -d uncompressed.xz" - self.assertRunOk(cmd) - - # Verify. - # The ls is there for debugging. - cmd = "ls -l && cmp orig uncompressed" - self.assertRunOk(cmd) + compress_cmd = "pixz -p3" + decompress_cmd = "pixz -d" + compressed_file_ext = ".xz" + + def check_integrity_test(self): + # Do nothing for the integrity test because "pixz" does not + # implement this feature. The "-t" option has other functions: + # https://github.com/vasi/pixz/blob/v1.0.7/src/pixz.1.asciidoc#options + pass diff --git a/support/testing/tests/package/test_polkit.py b/support/testing/tests/package/test_polkit.py index 3da63c437b4..3414fd51597 100644 --- a/support/testing/tests/package/test_polkit.py +++ b/support/testing/tests/package/test_polkit.py @@ -44,7 +44,7 @@ def test_run(self): for rule_path in TestPolkitInfra.rule_paths: cmd = "su brtest -c '/bin/systemctl restart systemd-timesyncd.service'" _, exit_code = self.emulator.run(cmd, 10) - self.assertEqual(exit_code, 1) + self.assertNotEqual(exit_code, 0) cmd = "cp /root/{file} {path}".format(file=rule_file, path=rule_path) _, exit_code = self.emulator.run(cmd, 10) diff --git a/support/testing/tests/package/test_postgresql.py b/support/testing/tests/package/test_postgresql.py new file mode 100644 index 00000000000..bd41fc3f1b2 --- /dev/null +++ b/support/testing/tests/package/test_postgresql.py @@ -0,0 +1,197 @@ +import os + +import infra.basetest + + +class TestPostgreSQL(infra.basetest.BRTest): + # We use a specific configuration for: + # - using Aarch64, to have more than 256MB memory, + # - to have an ext4 rootfs image exposed as a virtio storage + # (rather than cpio initrd). This will save some memory, as the + # rootfs image is big. + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.72" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_PACKAGE_POSTGRESQL=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="256M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def __init__(self, names): + super(TestPostgreSQL, self).__init__(names) + self.db_admin = "postgres" + self.db_user = "br_user" + self.db_name = "br_database" + self.backup_file = "dump.sql" + self.pgdata_dir = "/var/lib/pgsql" + + def run_user_db_query(self, user, database, query, opts=None): + cmd = f"psql --username={user} --dbname={database}" + cmd += f' --command="{query}"' + if opts is not None: + cmd += " " + opts + self.assertRunOk(cmd) + + def run_admin_sql_query(self, query, opts=None): + self.run_user_db_query(self.db_admin, self.db_admin, query, opts) + + def run_sql_query(self, query, opts=None): + self.run_user_db_query(self.db_user, self.db_name, query, opts) + + def cleanup_database(self): + # This cleanup is useful when run-test -k is used. It makes + # this test idempotent. Since the drive storage is preserved + # between reboots, this cleanup will prevent errors during the + # user/db creation. + + # Drop the test database, if it exists. + cmd = f"dropdb --username={self.db_admin} " + cmd += f"--if-exists {self.db_name}" + self.assertRunOk(cmd) + + # Drop the test user, if it exists. + cmd = f"dropuser --username={self.db_admin} " + cmd += f"--if-exists {self.db_user}" + self.assertRunOk(cmd) + + def create_tables(self): + sql_query = "CREATE TABLE fruits (" + sql_query += "id integer PRIMARY KEY, name varchar(16) NOT NULL);" + self.run_sql_query(sql_query) + + sql_query = "CREATE TABLE colors (" + sql_query += "id integer PRIMARY KEY, name varchar(16) NOT NULL);" + self.run_sql_query(sql_query) + + sql_query = "CREATE TABLE fruit_colors (" + sql_query += "fruit_id integer REFERENCES fruits(id), " + sql_query += "color_id integer REFERENCES colors(id), " + sql_query += "UNIQUE (fruit_id, color_id));" + self.run_sql_query(sql_query) + + def insert_data(self): + fruits = ["Banana", "Blueberry", "Orange", "Raspberry"] + fruit_id = 1 + for fruit in fruits: + sql_query = "INSERT INTO fruits (id, name) " + sql_query += f"VALUES ({fruit_id}, '{fruit}');" + self.run_sql_query(sql_query) + fruit_id += 1 + + colors = ["Blue", "Orange", "Red", "Yellow"] + color_id = 1 + for color in colors: + sql_query = "INSERT INTO colors (id, name) " + sql_query += f"VALUES ({color_id}, '{color}');" + self.run_sql_query(sql_query) + color_id += 1 + + fruit_colors = [(1, 4), (2, 1), (3, 2), (4, 3)] + for fruit_color in fruit_colors: + fruit_id, color_id = fruit_color + sql_query = "INSERT INTO fruit_colors (fruit_id, color_id) " + sql_query += f"VALUES ({fruit_id}, {color_id});" + self.run_sql_query(sql_query) + + def query_database(self): + sql_query = "SELECT " + sql_query += "fruits.name AS fruit, colors.name AS color " + sql_query += "FROM fruits, colors, fruit_colors " + sql_query += "WHERE fruits.id = fruit_colors.fruit_id " + sql_query += "AND colors.id = fruit_colors.color_id " + sql_query += "ORDER BY fruit;" + self.run_sql_query(sql_query) + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["root=/dev/vda console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "512M", + "-smp", "2", + "-drive", f"file={drive},if=virtio,format=raw"]) + self.emulator.login() + + # Check the server binary can execute. + self.assertRunOk("postgres --version") + + # Check the client binary can execute. + self.assertRunOk("psql --version") + + # Check the server is ready. + self.assertRunOk("pg_isready") + + # Query the server version from the client. + sql_query = "SELECT version();" + self.run_admin_sql_query(sql_query, + opts="--tuples-only --no-align") + + self.cleanup_database() + + # Create a new user. + cmd = f"createuser --username={self.db_admin} " + cmd += "--no-superuser --no-createdb --no-createrole " + cmd += self.db_user + self.assertRunOk(cmd) + + # Create a new database. + cmd = f"createdb --username={self.db_admin} " + cmd += f"--owner={self.db_user} " + cmd += f'{self.db_name} "Test Database for Buildroot Test"' + self.assertRunOk(cmd) + + self.create_tables() + + self.insert_data() + + self.query_database() + + # Update a table. + sql_query = "UPDATE fruits SET name = 'Lemon' WHERE id = 1;" + self.run_sql_query(sql_query) + + # Backup the test database. + cmd = f"pg_dump --username={self.db_user} --dbname={self.db_name} " + cmd += f"--file={self.backup_file} --inserts" + self.assertRunOk(cmd) + + # Drop all the tables. + sql_query = "DROP TABLE fruit_colors, fruits, colors;" + self.run_sql_query(sql_query) + + # Query the server status. + cmd = f"su - {self.db_admin} -c 'pg_ctl status -D {self.pgdata_dir}'" + self.assertRunOk(cmd) + + # Stop the server. + cmd = f"su - {self.db_admin} -c 'pg_ctl stop -D {self.pgdata_dir}'" + self.assertRunOk(cmd) + + # Check the server is no longer ready. + _, exit_code = self.emulator.run("pg_isready") + self.assertNotEqual(exit_code, 0) + + # Restart the server. + cmd = f"su - {self.db_admin} -c 'pg_ctl start -D {self.pgdata_dir}'" + self.assertRunOk(cmd) + + # Restore the backup. + cmd = f"psql --username={self.db_user} --dbname={self.db_name} " + cmd += f"--file={self.backup_file}" + self.assertRunOk(cmd) + + # Query on last time our data, to check the backup restoration + # succeeded. + self.query_database() diff --git a/support/testing/tests/package/test_python.py b/support/testing/tests/package/test_python.py index d6f69a83c76..c9ecf9acda6 100644 --- a/support/testing/tests/package/test_python.py +++ b/support/testing/tests/package/test_python.py @@ -29,7 +29,7 @@ def math_floor_test(self, timeout=-1): def libc_time_test(self, timeout=-1): cmd = self.interpreter + " -c '" cmd += "import ctypes;" - cmd += "libc = ctypes.cdll.LoadLibrary(\"libc.so.1\");" + cmd += "libc = ctypes.cdll.LoadLibrary(\"libc.so.6\");" cmd += "print(libc.time(None))'" self.assertRunOk(cmd, timeout) diff --git a/support/testing/tests/package/test_python_autobahn.py b/support/testing/tests/package/test_python_autobahn.py index 6c1678a6152..f785b1af975 100644 --- a/support/testing/tests/package/test_python_autobahn.py +++ b/support/testing/tests/package/test_python_autobahn.py @@ -3,14 +3,8 @@ class TestPythonPy3Autobahn(TestPythonPackageBase): __test__ = True - # Need to use a different toolchain than the default due to - # python-cryptography using Rust (not available with uclibc) - config = \ + config = TestPythonPackageBase.config + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_AUTOBAHN=y BR2_TARGET_ROOTFS_CPIO=y diff --git a/support/testing/tests/package/test_python_boto3.py b/support/testing/tests/package/test_python_boto3.py index 126ddae63a9..02a1f69d407 100644 --- a/support/testing/tests/package/test_python_boto3.py +++ b/support/testing/tests/package/test_python_boto3.py @@ -9,7 +9,7 @@ class TestPythonPy3Boto3(TestPythonPackageBase): BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_BOTO3=y BR2_TARGET_ROOTFS_EXT2=y - BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + BR2_TARGET_ROOTFS_EXT2_SIZE="250M" """ sample_scripts = ["tests/package/sample_python_boto3.py"] timeout = 10 diff --git a/support/testing/tests/package/test_python_botocore.py b/support/testing/tests/package/test_python_botocore.py index 48c2f3cc025..0f3dc93a37a 100644 --- a/support/testing/tests/package/test_python_botocore.py +++ b/support/testing/tests/package/test_python_botocore.py @@ -9,10 +9,10 @@ class TestPythonPy3Botocore(TestPythonPackageBase): BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_BOTOCORE=y BR2_TARGET_ROOTFS_EXT2=y - BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + BR2_TARGET_ROOTFS_EXT2_SIZE="250M" """ sample_scripts = ["tests/package/sample_python_botocore.py"] - timeout = 10 + timeout = 30 def login(self): ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2") diff --git a/support/testing/tests/package/test_python_crossbar.py b/support/testing/tests/package/test_python_crossbar.py deleted file mode 100644 index 178b16be829..00000000000 --- a/support/testing/tests/package/test_python_crossbar.py +++ /dev/null @@ -1,29 +0,0 @@ -from tests.package.test_python import TestPythonPackageBase -import os - - -class TestPythonPy3Crossbar(TestPythonPackageBase): - __test__ = True - # Need to use a different toolchain than the default due to - # python-cryptography using Rust (not available with uclibc) - config = \ - """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y - BR2_PACKAGE_PYTHON3=y - BR2_PACKAGE_PYTHON_CROSSBAR=y - BR2_TARGET_ROOTFS_EXT2=y - BR2_TARGET_ROOTFS_EXT2_SIZE="120M" - """ - sample_scripts = ["tests/package/sample_python_crossbar.py"] - timeout = 60 - - def login(self): - ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2") - self.emulator.boot(arch="armv5", - kernel="builtin", - options=["-drive", "file=%s,if=scsi,format=raw" % ext2_file], - kernel_cmdline=["rootwait", "root=/dev/sda"]) - self.emulator.login() diff --git a/support/testing/tests/package/test_python_cryptography.py b/support/testing/tests/package/test_python_cryptography.py index bf11c02e5c0..ee8e75f8853 100644 --- a/support/testing/tests/package/test_python_cryptography.py +++ b/support/testing/tests/package/test_python_cryptography.py @@ -3,14 +3,8 @@ class TestPythonPy3Cryptography(TestPythonPackageBase): __test__ = True - # Need to use a different toolchain than the default due to - # python-cryptography using Rust (not available with uclibc) - config = \ + config = TestPythonPackageBase.config + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y BR2_TARGET_ROOTFS_CPIO=y diff --git a/support/testing/tests/package/test_python_dbus_fast.py b/support/testing/tests/package/test_python_dbus_fast.py new file mode 100644 index 00000000000..5f67cfd8cc3 --- /dev/null +++ b/support/testing/tests/package/test_python_dbus_fast.py @@ -0,0 +1,40 @@ +import textwrap + + +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3DBusFast(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_DBUS=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_DBUS_FAST=y + """ + sample_scripts = ["tests/package/sample_python_dbus_fast.py"] + + def run_sample_scripts(self): + config = \ + """ + + + + + + + + """ + config = textwrap.dedent(config) + config_dir = "/etc/dbus-1/system.d" + config_fn = "dbus.fast.sample.conf" + + # Setup and reload D-Bus configuration + self.emulator.run("mkdir -p " + config_dir) + self.emulator.run("cat > " + config_dir + "/" + config_fn + + " < /dev/null 2>&1 & " self.assertRunOk(cmd, timeout=timeout) - - cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" - self.assertRunOk(cmd) + # give some time to setup the server + for attempt in range(30 * self.emulator.timeout_multiplier): + time.sleep(1) + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + if exit_code == 0: + break + self.assertEqual(exit_code, 0, "Timeout while waiting for django server") class TestPythonPy3Django(TestPythonDjango): diff --git a/support/testing/tests/package/test_python_evdev.py b/support/testing/tests/package/test_python_evdev.py new file mode 100644 index 00000000000..162e53072ed --- /dev/null +++ b/support/testing/tests/package/test_python_evdev.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Evdev(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_EVDEV=y + """ + sample_scripts = ["tests/package/sample_python_evdev.py"] diff --git a/support/testing/tests/package/test_python_fastapi.py b/support/testing/tests/package/test_python_fastapi.py new file mode 100644 index 00000000000..85cdd0b65ae --- /dev/null +++ b/support/testing/tests/package/test_python_fastapi.py @@ -0,0 +1,57 @@ +import os +import time + +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Fastapi(TestPythonPackageBase): + """Test fastapi, uvicorn and pydantic2. + + fastapi needs an asgi server to run. Since we select uvicorn as + asgi server here, uvicorn is tested as well. + + pydantic is an major dependency of fastapi so it is implicitly + tested here as well. + """ + __test__ = True + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_FASTAPI=y + BR2_PACKAGE_PYTHON_UVICORN=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + sample_scripts = ["tests/package/sample_python_fastapi.py"] + timeout = 60 + + def test_run(self): + self.login() + self.check_sample_scripts_exist() + cmd = "uvicorn sample_python_fastapi:app > /dev/null 2>&1 &" + + _, exit_code = self.emulator.run(cmd, timeout=self.timeout) + + # Give enough time for the uvicorn server to start up + for attempt in range(30): + time.sleep(1) + + cmd = "wget -q -O - http://127.0.0.1:8000/" + output, exit_code = self.emulator.run(cmd, timeout=self.timeout) + if exit_code == 0: + self.assertEqual(output[0], '{"message":"Hello World"}') + break + else: + self.assertTrue(False, "Timeout while waiting for fastapi server") + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() diff --git a/support/testing/tests/package/test_python_flask.py b/support/testing/tests/package/test_python_flask.py index 9d8587e9188..32d9da34a56 100644 --- a/support/testing/tests/package/test_python_flask.py +++ b/support/testing/tests/package/test_python_flask.py @@ -21,9 +21,13 @@ def test_run(self): _, exit_code = self.emulator.run(cmd, timeout=self.timeout) # Give enough time for the flask server to start up - time.sleep(30) + for attempt in range(30): + time.sleep(1) - cmd = "wget -q -O - http://127.0.0.1:5000/" - output, exit_code = self.emulator.run(cmd, timeout=self.timeout) - self.assertEqual(exit_code, 0) - self.assertEqual(output[0], "Hello, World!") + cmd = "wget -q -O - http://127.0.0.1:5000/" + output, exit_code = self.emulator.run(cmd, timeout=self.timeout) + if exit_code == 0: + self.assertEqual(output[0], 'Hello, World!') + break + else: + self.assertTrue(False, "Timeout while waiting for flask server") diff --git a/support/testing/tests/package/test_python_hkdf.py b/support/testing/tests/package/test_python_hkdf.py new file mode 100644 index 00000000000..e93c24ff604 --- /dev/null +++ b/support/testing/tests/package/test_python_hkdf.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Hkdf(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_HKDF=y + """ + sample_scripts = ["tests/package/sample_python_hkdf.py"] diff --git a/support/testing/tests/package/test_python_hwdata.py b/support/testing/tests/package/test_python_hwdata.py new file mode 100644 index 00000000000..7028d1dd59d --- /dev/null +++ b/support/testing/tests/package/test_python_hwdata.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonHwdata(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_HWDATA=y + """ + sample_scripts = ["tests/package/sample_python_hwdata.py"] + timeout = 10 diff --git a/support/testing/tests/package/test_python_magic_wormhole.py b/support/testing/tests/package/test_python_magic_wormhole.py new file mode 100644 index 00000000000..180cff2e4a4 --- /dev/null +++ b/support/testing/tests/package/test_python_magic_wormhole.py @@ -0,0 +1,62 @@ +import os +import time + +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3MagicWormhole(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE=y + BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER=y + BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + timeout = 60 + + def twistd_cmd(self, command): + s = "twistd" + s += " --pidfile=/tmp/{}.pid".format(command) + s += " --logfile=/tmp/{}.log".format(command) + s += " {}".format(command) + + return s + + def test_run(self): + code = "123-hello-buildroot" + text = "Hello Buildroot!" + + relay_url = "ws://localhost:4000/v1" + transit_helper = "tcp:localhost:4001" + + img = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", kernel="builtin", + options=["-initrd", img]) + + self.emulator.login() + + cmd = self.twistd_cmd("wormhole-mailbox") + self.assertRunOk(cmd, timeout=30) + + cmd = self.twistd_cmd("transitrelay") + self.assertRunOk(cmd, timeout=30) + + wormhole_cmd = "wormhole --relay-url={} --transit-helper={}".format( + relay_url, transit_helper) + + cmd = wormhole_cmd + cmd += f" send --code={code} --text=\"{text}\"" + cmd += " &> /dev/null &" + self.assertRunOk(cmd) + + time.sleep(30 * self.timeout_multiplier) + + wormhole_env = "_MAGIC_WORMHOLE_TEST_KEY_TIMER=100 " + wormhole_env += "_MAGIC_WORMHOLE_TEST_VERIFY_TIMER=100 " + cmd = wormhole_env + wormhole_cmd + " receive {}".format(code) + output, exit_code = self.emulator.run(cmd, timeout=35) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], text) diff --git a/support/testing/tests/package/test_python_mako.py b/support/testing/tests/package/test_python_mako.py new file mode 100644 index 00000000000..ea8fe57a5bb --- /dev/null +++ b/support/testing/tests/package/test_python_mako.py @@ -0,0 +1,25 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Mako(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MAKO=y + """ + sample_scripts = ["tests/package/sample_python_mako.py"] + timeout = 30 + + +class TestPythonPy3MakoExt(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MAKO=y + BR2_PACKAGE_PYTHON_MAKO_EXT_PYGMENTPLUGIN=y + BR2_PACKAGE_PYTHON_MAKO_EXT_BABELPLUGIN=y + """ + sample_scripts = ["tests/package/sample_python_mako_ext.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_midiutil.py b/support/testing/tests/package/test_python_midiutil.py new file mode 100644 index 00000000000..302fbfb1ed3 --- /dev/null +++ b/support/testing/tests/package/test_python_midiutil.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3MidiUtil(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MIDIUTIL=y + """ + sample_scripts = ["tests/package/sample_python_midiutil.py"] diff --git a/support/testing/tests/package/test_python_minimalmodbus.py b/support/testing/tests/package/test_python_minimalmodbus.py new file mode 100644 index 00000000000..53813406deb --- /dev/null +++ b/support/testing/tests/package/test_python_minimalmodbus.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Minimalmodbus(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MINIMALMODBUS=y + """ + sample_scripts = ["tests/package/sample_python_minimalmodbus.py"] diff --git a/support/testing/tests/package/test_python_ml_dtypes.py b/support/testing/tests/package/test_python_ml_dtypes.py new file mode 100644 index 00000000000..83671072477 --- /dev/null +++ b/support/testing/tests/package/test_python_ml_dtypes.py @@ -0,0 +1,13 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3MlDtypes(TestPythonPackageBase): + __test__ = True + + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ML_DTYPES=y + """ + sample_scripts = ["tests/package/sample_python_ml_dtypes.py"] + timeout = 20 diff --git a/support/testing/tests/package/test_python_munch.py b/support/testing/tests/package/test_python_munch.py new file mode 100644 index 00000000000..6853bbaac73 --- /dev/null +++ b/support/testing/tests/package/test_python_munch.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Munch(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_MUNCH=y + """ + sample_scripts = ["tests/package/sample_python_munch.py"] + timeout = 40 diff --git a/support/testing/tests/package/test_python_pysmb.py b/support/testing/tests/package/test_python_pysmb.py new file mode 100644 index 00000000000..cc4c7fb1e57 --- /dev/null +++ b/support/testing/tests/package/test_python_pysmb.py @@ -0,0 +1,12 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Pysmb(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYSMB=y + """ + sample_scripts = ["tests/package/sample_python_pysmb.py"] + timeout = 40 diff --git a/support/testing/tests/package/test_python_s3transfer.py b/support/testing/tests/package/test_python_s3transfer.py index d81560aeb17..1578f3aa74b 100644 --- a/support/testing/tests/package/test_python_s3transfer.py +++ b/support/testing/tests/package/test_python_s3transfer.py @@ -9,7 +9,7 @@ class TestPythonPy3S3transfer(TestPythonPackageBase): BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_S3TRANSFER=y BR2_TARGET_ROOTFS_EXT2=y - BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + BR2_TARGET_ROOTFS_EXT2_SIZE="250M" """ sample_scripts = ["tests/package/sample_python_s3transfer.py"] timeout = 10 diff --git a/support/testing/tests/package/test_python_scipy.py b/support/testing/tests/package/test_python_scipy.py index 007bc9ffa5b..fb51f25d79b 100644 --- a/support/testing/tests/package/test_python_scipy.py +++ b/support/testing/tests/package/test_python_scipy.py @@ -5,18 +5,12 @@ class TestPythonPy3SciPy(TestPythonPackageBase): __test__ = True - # We can't use the base configuration, as we need a glibc - # toolchain for scipy - config = \ + config = TestPythonPackageBase.config + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_SCIPY=y BR2_TARGET_ROOTFS_EXT2=y - BR2_TARGET_ROOTFS_EXT2_SIZE="120M" + BR2_TARGET_ROOTFS_EXT2_SIZE="250M" # BR2_TARGET_ROOTFS_TAR is not set """ sample_scripts = ["tests/package/sample_python_scipy.py"] diff --git a/support/testing/tests/package/test_python_segno.py b/support/testing/tests/package/test_python_segno.py new file mode 100644 index 00000000000..75e71243997 --- /dev/null +++ b/support/testing/tests/package/test_python_segno.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Segno(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_SEGNO=y + """ + sample_scripts = ["tests/package/sample_python_segno.py"] diff --git a/support/testing/tests/package/test_python_service_identity.py b/support/testing/tests/package/test_python_service_identity.py index dbad5f931f8..16ea943d41f 100644 --- a/support/testing/tests/package/test_python_service_identity.py +++ b/support/testing/tests/package/test_python_service_identity.py @@ -3,14 +3,8 @@ class TestPythonPy3ServiceIdentity(TestPythonPackageBase): __test__ = True - # Need to use a different toolchain than the default due to - # python-cryptography using Rust (not available with uclibc) - config = \ + config = TestPythonPackageBase.config + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_SERVICE_IDENTITY=y BR2_TARGET_ROOTFS_CPIO=y diff --git a/support/testing/tests/package/test_python_spake2.py b/support/testing/tests/package/test_python_spake2.py new file mode 100644 index 00000000000..fb47a0802c8 --- /dev/null +++ b/support/testing/tests/package/test_python_spake2.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Spake2(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_SPAKE2=y + """ + sample_scripts = ["tests/package/sample_python_spake2.py"] diff --git a/support/testing/tests/package/test_python_tftpy.py b/support/testing/tests/package/test_python_tftpy.py new file mode 100644 index 00000000000..d64f2c29d74 --- /dev/null +++ b/support/testing/tests/package/test_python_tftpy.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonTftpy(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TFTPY=y + """ + sample_scripts = ["tests/package/sample_python_tftpy.py"] diff --git a/support/testing/tests/package/test_python_treq.py b/support/testing/tests/package/test_python_treq.py index 515f1ea304e..bd472d3b39b 100644 --- a/support/testing/tests/package/test_python_treq.py +++ b/support/testing/tests/package/test_python_treq.py @@ -14,14 +14,8 @@ def run_sample_scripts(self): class TestPythonPy3Treq(TestPythonTreq): __test__ = True - # Need to use a different toolchain than the default due to - # python-cryptography using Rust (not available with uclibc) - config = \ + config = TestPythonPackageBase.config + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_TREQ=y BR2_TARGET_ROOTFS_CPIO=y diff --git a/support/testing/tests/package/test_python_txtorcon.py b/support/testing/tests/package/test_python_txtorcon.py index 6f0c4ca1edb..107f53c6a32 100644 --- a/support/testing/tests/package/test_python_txtorcon.py +++ b/support/testing/tests/package/test_python_txtorcon.py @@ -3,14 +3,8 @@ class TestPythonPy3Txtorcon(TestPythonPackageBase): __test__ = True - # Need to use a different toolchain than the default due to - # python-cryptography using Rust (not available with uclibc) - config = \ + config = TestPythonPackageBase.config + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_TXTORCON=y BR2_TARGET_ROOTFS_CPIO=y diff --git a/support/testing/tests/package/test_python_uvloop.py b/support/testing/tests/package/test_python_uvloop.py new file mode 100644 index 00000000000..c5079ba59c7 --- /dev/null +++ b/support/testing/tests/package/test_python_uvloop.py @@ -0,0 +1,22 @@ +import os + +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Uvloop(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_UVLOOP=y + """ + sample_scripts = ["tests/package/sample_python_uvloop.py"] + + def test_run(self): + self.login() + self.check_sample_scripts_exist() + + cmd = "%s %s" % (self.interpreter, os.path.basename(self.sample_scripts[0])) + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], "Hello world!") diff --git a/support/testing/tests/package/test_rdma_core.py b/support/testing/tests/package/test_rdma_core.py new file mode 100644 index 00000000000..614fb51f48c --- /dev/null +++ b/support/testing/tests/package/test_rdma_core.py @@ -0,0 +1,43 @@ +import os + +import infra.basetest + + +class TestRdmaCore(infra.basetest.BRTest): + + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.91" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_IPROUTE2=y + BR2_PACKAGE_LIBMNL=y + BR2_PACKAGE_RDMA_CORE=y + """.format( + infra.filepath("tests/package/test_rdma_core/linux-rdma.fragment") + ) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "512M", "-initrd", img]) + self.emulator.login() + + # Add the rxe0 interface + self.assertRunOk("rdma link add rxe0 type rxe netdev eth0") + + # ibv_devinfo returns 255 if no devices are found + self.assertRunOk("ibv_devinfo -v") diff --git a/support/testing/tests/package/test_rdma_core/linux-rdma.fragment b/support/testing/tests/package/test_rdma_core/linux-rdma.fragment new file mode 100644 index 00000000000..e305f27e62a --- /dev/null +++ b/support/testing/tests/package/test_rdma_core/linux-rdma.fragment @@ -0,0 +1,9 @@ +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_RDMA_RXE=m +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y +CONFIG_INFINIBAND_RTRS_CLIENT=m +CONFIG_INFINIBAND_RTRS_SERVER=m diff --git a/support/testing/tests/package/test_ruby.py b/support/testing/tests/package/test_ruby.py new file mode 100644 index 00000000000..5d4c0031fb7 --- /dev/null +++ b/support/testing/tests/package/test_ruby.py @@ -0,0 +1,34 @@ +import os +import infra.basetest + + +class TestRuby(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_RUBY=y + BR2_PACKAGE_ZLIB=y + """ + + def version_test(self): + cmd = "ruby -v" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + def zlib_test(self, timeout=-1): + cmd = "ruby -e 'require \"zlib\"'" + _, exit_code = self.emulator.run(cmd, timeout) + self.assertEqual(exit_code, 0) + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + def test_run(self): + self.login() + self.version_test() + self.zlib_test() diff --git a/support/testing/tests/package/test_rust.py b/support/testing/tests/package/test_rust.py index fb9dd2d9165..763125ca20c 100644 --- a/support/testing/tests/package/test_rust.py +++ b/support/testing/tests/package/test_rust.py @@ -1,4 +1,5 @@ import os +import shutil import infra.basetest @@ -54,3 +55,44 @@ class TestRust(TestRustBase): def test_run(self): self.login() self.assertRunOk("rg Buildroot /etc/issue") + + +class TestRustVendoring(infra.basetest.BRConfigTest): + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_RUSTC=y + BR2_PACKAGE_RIPGREP=y + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y + BR2_BACKUP_SITE="" + """ + + def setUp(self): + super(TestRustVendoring, self).setUp() + + def tearDown(self): + self.show_msg("Cleaning up") + if self.b and not self.keepbuilds: + self.b.delete() + + def check_download(self, package): + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + dl_dir = os.path.join(self.builddir, "dl") + # enforce we test the download + if os.path.exists(dl_dir): + shutil.rmtree(dl_dir) + env = {"BR2_DL_DIR": dl_dir} + self.b.build(["{}-dirclean".format(package), + "{}-legal-info".format(package)], + env) + + def test_run(self): + self.check_download("ripgrep") + self.check_download("python-cryptography") diff --git a/support/testing/tests/package/test_screen.py b/support/testing/tests/package/test_screen.py new file mode 100644 index 00000000000..b6264d34dfe --- /dev/null +++ b/support/testing/tests/package/test_screen.py @@ -0,0 +1,61 @@ +import os + +import infra.basetest + + +class TestScreen(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_SCREEN=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + session_name = "BuildrootSession" + message = "HelloBuildroot" + screen_dump = "screen.dump.txt" + + # Check the program can execute + self.assertRunOk("screen --version") + + # There is no "screen" running yet. Listing sessions is + # expected to fail. + _, exit_code = self.emulator.run("screen -ls") + self.assertNotEqual(exit_code, 0) + + # We now start a detached and named session. + self.assertRunOk(f"screen -dmS {session_name}") + + # Since we are supposed to have a running session, it should + # appear in the list. + output, exit_code = self.emulator.run("screen -ls") + self.assertEqual(exit_code, 0) + self.assertIn(session_name, "\n".join(output)) + + # We send an exec command to print a message in the "screen" + # display running in background. + cmd = f"screen -S {session_name} -X exec printf {message}" + self.assertRunOk(cmd) + + # We request a hardcopy of this "screen" display. + cmd = f"screen -S {session_name} -X hardcopy {screen_dump}" + self.assertRunOk(cmd) + + # The dump file is supposed to contain our message. + self.assertRunOk(f"grep -Fo '{message}' {screen_dump}") + + # We request "screen" to quit... + cmd = f"screen -S {session_name} -X quit" + self.assertRunOk(cmd) + + # Since the session is supposed to be terminated, listing + # sessions is expected to fail (again). + _, exit_code = self.emulator.run("screen -ls") + self.assertNotEqual(exit_code, 0) diff --git a/support/testing/tests/package/test_sed.py b/support/testing/tests/package/test_sed.py new file mode 100644 index 00000000000..0a0fdb890a8 --- /dev/null +++ b/support/testing/tests/package/test_sed.py @@ -0,0 +1,118 @@ +import os + +import infra.basetest + + +class TestSed(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_SED=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def check_gnu_sed(self): + in_file = "testfile.txt" + + # We create a test file for this test. + self.assertRunOk(f"echo 'This is a test' > {in_file}") + + # Check we have the GNU sed by testing a GNU extension likely + # not present in other implementation. See: + # https://www.gnu.org/software/sed/manual/sed.html#Extended-Commands + # Note: we cannot search for "GNU sed" in sed --version, + # because busybox sed --version outputs: "This is not GNU sed + # version 4.0". The 'F' and 'Q' sed commands are known to be + # unimplemented in BusyBox 1.36.1. + expected_code = 123 + sed_script = f"F;Q {expected_code}" + cmd = f"sed '{sed_script}' {in_file}" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, expected_code) + self.assertEqual(output, [in_file]) + + def check_sed_substitute(self): + testfile_num = 5 + + # We create few different test files for this test. + cmd = f'for i in $(seq {testfile_num}) ; do ' + cmd += 'echo "=== $i Hello ===" > file$i.txt ; ' + cmd += 'done' + self.assertRunOk(cmd) + + # We reformat file content, in-place. + sed_script = "s/^=== \\([0-9]*\\) \\(Hello\\) ===$/\\2 \\1/" + cmd = f"sed -i '{sed_script}' file[0-9]*.txt" + self.assertRunOk(cmd) + + # We substitute numbers with the string "Buildroot". We use an + # extended regular expression (with the '+'), so we test with + # the '-r' option. + sed_script = "s/[0-9]+/Buildroot/g" + cmd = f"sed -r -i '{sed_script}' file[0-9]*.txt" + self.assertRunOk(cmd) + + # Our previous text manipulations are expected to end up with + # the "Hello Buildroot" string in all files. + cmd = "cat file[0-9]*.txt" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output, ["Hello Buildroot"] * testfile_num) + + def check_sed_line_count(self): + # We use the '=' command to count lines. + line_count = 1234 + cmd = f"seq {line_count} | sed -n '$='" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), line_count) + + def check_sed_line_address(self): + input_file = "strings.txt" + expected_file = "expected.txt" + + # We create simple data for this test. + strings = ["one", "two", "three", "four", "five"] + content = '\\n'.join(strings) + cmd = f"echo -e \"{content}\" > {input_file}" + self.assertRunOk(cmd) + + # The manipulation in this tests are expected to extract the + # first and last of the input. We create the expected data for + # comparison. + expected_output = [strings[0], strings[-1]] + content = '\\n'.join(expected_output) + cmd = f"echo -e \"{content}\" > {expected_file}" + self.assertRunOk(cmd) + + # We remove lines between strings "two" and "four" included. + cmd = f"sed '/two/,/four/d' {input_file} > output1.txt" + self.assertRunOk(cmd) + + # We check output is the same as the expected data. + cmd = f"cmp {expected_file} output1.txt" + self.assertRunOk(cmd) + + # We redo the same manipulation using line number addresses. + cmd = f"sed -n '1p;5p' {input_file} > output2.txt" + self.assertRunOk(cmd) + + # We check again output is correct. + cmd = f"cmp {expected_file} output2.txt" + self.assertRunOk(cmd) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute + self.assertRunOk("sed --version") + + self.check_gnu_sed() + self.check_sed_substitute() + self.check_sed_line_count() + self.check_sed_line_address() diff --git a/support/testing/tests/package/test_shadow.py b/support/testing/tests/package/test_shadow.py new file mode 100644 index 00000000000..9991a57d1d8 --- /dev/null +++ b/support/testing/tests/package/test_shadow.py @@ -0,0 +1,59 @@ +import os + +from infra.basetest import BRTest + + +class TestShadow(BRTest): + username = 'user_test' + # Need to use a different toolchain than the default due to + # shadow package requiring a toolchain w/ headers >= 4.14 + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE=y + BR2_PACKAGE_SHADOW=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="65536" + """ + timeout = 60 + + def login(self): + img = os.path.join(self.builddir, "images", "rootfs.ext4") + self.emulator.boot(arch="armv7", + kernel="builtin", + kernel_cmdline=["root=/dev/mmcblk0", + "rootfstype=ext4"], + options=["-drive", f"file={img},if=sd,format=raw"]) + self.emulator.login() + + def test_nologin(self): + self.login() + + self.assertRunOk("! nologin") + cmd = 'test "$(nologin)" = "This account is currently not available."' + self.assertRunOk(cmd) + + def test_useradd_del(self): + username = self.username + self.login() + + self.assertRunOk(f'userdel {username} || true') + self.assertRunOk(f'groupdel {username} || true') + self.assertRunOk(f'useradd -s /bin/sh {username}') + self.assertRunOk(f'test $(su {username} -c "whoami") = {username}') + self.assertRunOk(f'userdel {username}') + + def test_usermod(self): + username = self.username + new_home = '/tmp' + self.login() + + self.assertRunOk(f'userdel {username} || true') + self.assertRunOk(f'groupdel {username} || true') + self.assertRunOk(f'useradd -s /bin/sh {username}') + self.assertRunOk(f'usermod {username} --home {new_home}') + self.assertRunOk(f'test $(su {username} -c \'echo $HOME\') = {new_home}') + self.assertRunOk(f'userdel {username}') diff --git a/support/testing/tests/package/test_socat.py b/support/testing/tests/package/test_socat.py new file mode 100644 index 00000000000..67b32448435 --- /dev/null +++ b/support/testing/tests/package/test_socat.py @@ -0,0 +1,56 @@ +import os +import time + +import infra.basetest + + +class TestSoCat(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_NETCAT=y + BR2_PACKAGE_SOCAT=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Some values, for the test. + msg = "Hello Buildroot!" + out_file = "output.txt" + port1 = 11111 + port2 = 22222 + + # Check the program can execute. + self.assertRunOk("socat -V") + + # We start the receiver netcat on tcp/port2. + cmd = f"nc -n -l -p {port2} > {out_file} 2> /dev/null &" + self.assertRunOk(cmd) + + time.sleep(2 * self.timeout_multiplier) + + # We start socat in background to listen on tcp/port1 and + # forward to tcp/port2. + cmd = f"socat TCP4-LISTEN:{port1} TCP4:127.0.0.1:{port2} &" + self.assertRunOk(cmd) + + time.sleep(2 * self.timeout_multiplier) + + # We write a message on tcp/port1. Socat is expected to + # forward the message to the receiver on tcp/port2, and write + # our message in a file. + cmd = f"echo '{msg}' | nc -n -c 127.0.0.1 {port1}" + self.assertRunOk(cmd) + + # We check the output file contains our message. + cmd = f"cat {out_file}" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_sox.py b/support/testing/tests/package/test_sox.py new file mode 100644 index 00000000000..74f784a36fc --- /dev/null +++ b/support/testing/tests/package/test_sox.py @@ -0,0 +1,74 @@ +import math +import os + +import infra.basetest + + +class TestSox(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_AUBIO=y + BR2_PACKAGE_SOX=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def note_from_freq(self, freq): + """Return a note number from the input frequency in Hertz.""" + return round((12 * math.log(freq / 440) / math.log(2)) + 69) + + def check_audio_note(self, input_file, expected_note): + """Check the input_file include the expected_note.""" + out, ret = self.emulator.run(f"aubionotes {input_file}", timeout=20) + self.assertEqual(ret, 0) + note_found = False + for line in out: + values = line.split() + if len(values) == 3: + note = round(float(values[0])) + if note == expected_note: + note_found = True + self.assertTrue(note_found, "The expected note was not found") + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("sox --version") + + freq = 440 # General Midi note A3 + expected_note = self.note_from_freq(freq) + wav_file = "ref.wav" + tmpwav_file = "tmp.wav" + + # Generate a sinusoidal tone. + cmd = "sox -V -r 48000 -n -b 16 -c 1" + cmd += f" {wav_file} synth 3 sin {freq} vol -10dB" + self.assertRunOk(cmd) + + # Compute statistics on the generated file. + self.assertRunOk(f"sox {wav_file} -n stat") + + # We check the generated wave file includes the expected note. + self.check_audio_note(wav_file, expected_note) + + # We resample the reference file. + cmd = f"sox -V {wav_file} -r 22050 {tmpwav_file}" + self.assertRunOk(cmd) + + # We should still detect our expected note. + self.check_audio_note(tmpwav_file, expected_note) + + # We convert the file by changing the speed by a factor. + speed_factor = 2 + cmd = f"sox -V {wav_file} {tmpwav_file} speed {speed_factor}" + self.assertRunOk(cmd) + + # We compute the new expected note from this test controller + # side, and check we detect this new note in the audio file. + new_expected_note = self.note_from_freq(freq * speed_factor) + self.check_audio_note(tmpwav_file, new_expected_note) diff --git a/support/testing/tests/package/test_sqlite.py b/support/testing/tests/package/test_sqlite.py new file mode 100644 index 00000000000..215703d7f2e --- /dev/null +++ b/support/testing/tests/package/test_sqlite.py @@ -0,0 +1,101 @@ +import os + +import infra.basetest + + +class TestSQLite(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_SQLITE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + db_file = "buildroot.db" + db_backup = "db_dump.sql" + + def run_sql_query(self, query): + cmd = f'sqlite3 "{self.db_file}" "{query}"' + self.assertRunOk(cmd) + + def create_tables(self): + sql_query = "CREATE TABLE fruits (" + sql_query += "id integer PRIMARY KEY, name varchar(16) NOT NULL);" + self.run_sql_query(sql_query) + + sql_query = "CREATE TABLE colors (" + sql_query += "id integer PRIMARY KEY, name varchar(16) NOT NULL);" + self.run_sql_query(sql_query) + + sql_query = "CREATE TABLE fruit_colors (" + sql_query += "fruit_id integer REFERENCES fruits(id), " + sql_query += "color_id integer REFERENCES colors(id), " + sql_query += "UNIQUE (fruit_id, color_id));" + self.run_sql_query(sql_query) + + def insert_data(self): + fruits = ["Banana", "Blueberry", "Orange", "Raspberry"] + fruit_id = 1 + for fruit in fruits: + sql_query = "INSERT INTO fruits (id, name) " + sql_query += f"VALUES ({fruit_id}, '{fruit}');" + self.run_sql_query(sql_query) + fruit_id += 1 + + colors = ["Blue", "Orange", "Red", "Yellow"] + color_id = 1 + for color in colors: + sql_query = "INSERT INTO colors (id, name) " + sql_query += f"VALUES ({color_id}, '{color}');" + self.run_sql_query(sql_query) + color_id += 1 + + fruit_colors = [(1, 4), (2, 1), (3, 2), (4, 3)] + for fruit_color in fruit_colors: + fruit_id, color_id = fruit_color + sql_query = "INSERT INTO fruit_colors (fruit_id, color_id) " + sql_query += f"VALUES ({fruit_id}, {color_id});" + self.run_sql_query(sql_query) + + def query_database(self): + sql_query = "SELECT " + sql_query += "fruits.name AS fruit, colors.name AS color " + sql_query += "FROM fruits, colors, fruit_colors " + sql_query += "WHERE fruits.id = fruit_colors.fruit_id " + sql_query += "AND colors.id = fruit_colors.color_id " + sql_query += "ORDER BY fruit;" + self.run_sql_query(sql_query) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # The sqlite3 binary can execute. + self.assertRunOk("sqlite3 --version") + + self.create_tables() + self.insert_data() + self.query_database() + + sql_query = "UPDATE fruits SET name = 'Lemon' WHERE id = 1;" + self.run_sql_query(sql_query) + + # Dump the test database for a backup. + cmd = f'echo .dump | sqlite3 "{self.db_file}" > "{self.db_backup}"' + self.assertRunOk(cmd) + + # Drop all the tables. + tables = ["fruit_colors", "fruits", "colors"] + for table in tables: + sql_query = f"DROP TABLE {table};" + self.run_sql_query(sql_query) + + # Restore the backup. + cmd = f'sqlite3 "{self.db_file}" < "{self.db_backup}"' + self.assertRunOk(cmd) + + # Query on last time our data, to check the backup restoration + # succeeded. + self.query_database() diff --git a/support/testing/tests/package/test_strace.py b/support/testing/tests/package/test_strace.py new file mode 100644 index 00000000000..c1cba2173fd --- /dev/null +++ b/support/testing/tests/package/test_strace.py @@ -0,0 +1,37 @@ +import os + +import infra.basetest + + +class TestStrace(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_STRACE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute. + self.assertRunOk("strace --version") + + test_file = "buildroot-strace-test.txt" + test_file_mode = "0600" + strace_log = "strace.log" + + # Create a test file. + self.assertRunOk(f"touch {test_file}") + + # Run strace on a chmod + cmd = f"strace -o {strace_log} chmod {test_file_mode} {test_file}" + self.assertRunOk(cmd) + + # Check the strace log contain a call to chmod() + expected_str = f"chmod(\"{test_file}\", {test_file_mode}) = 0" + self.assertRunOk(f"grep -F '{expected_str}' {strace_log}") diff --git a/support/testing/tests/package/test_stress_ng.py b/support/testing/tests/package/test_stress_ng.py new file mode 100644 index 00000000000..12fd6ec9e64 --- /dev/null +++ b/support/testing/tests/package/test_stress_ng.py @@ -0,0 +1,22 @@ +import os + +import infra.basetest + + +class TestStressNG(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_STRESS_NG=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + self.assertRunOk("stress-ng --version") + self.assertRunOk("stress-ng --cpu 1 --timeout 3") diff --git a/support/testing/tests/package/test_tcl.py b/support/testing/tests/package/test_tcl.py new file mode 100644 index 00000000000..ae94e80a92c --- /dev/null +++ b/support/testing/tests/package/test_tcl.py @@ -0,0 +1,50 @@ +import math +import os + +import infra.basetest + + +class TestTcl(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + f""" + BR2_PACKAGE_TCL=y + # BR2_PACKAGE_TCL_SHLIB_ONLY is not set + BR2_ROOTFS_OVERLAY="{infra.filepath("tests/package/test_tcl/rootfs-overlay")}" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Print tcl the interpreter version and patchlevel. + tcl_cmds = "puts \"tcl_version: $tcl_version\";" + tcl_cmds += "puts \"patchlevel: [info patchlevel]\";" + tcl_cmds += "exit 0" + cmd = f"echo '{tcl_cmds}' | tclsh" + self.assertRunOk(cmd) + + # We check tclsh correctly print a string. + txt = "Hello Buildroot" + cmd = f"echo 'puts \"{txt}\"; exit 0' | tclsh" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], txt) + + # We check tclsh can return a non-zero exit code. + expected_code = 123 + cmd = f"echo 'exit {expected_code}' | tclsh" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, expected_code) + + # We check a tcl program computing factorial run correctly. + input_value = 12 + expected_output = str(math.factorial(input_value)) + cmd = f"/root/factorial.tcl {input_value}" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], expected_output) diff --git a/support/testing/tests/package/test_tcl/rootfs-overlay/root/factorial.tcl b/support/testing/tests/package/test_tcl/rootfs-overlay/root/factorial.tcl new file mode 100755 index 00000000000..0398f24ceb9 --- /dev/null +++ b/support/testing/tests/package/test_tcl/rootfs-overlay/root/factorial.tcl @@ -0,0 +1,11 @@ +#! /usr/bin/env tclsh + +proc factorial {n} { + set f 1 + for {set i 1} {$i <= $n} {incr i} { + set f [expr {$f * $i}] + } + return $f +} + +puts [factorial [lindex $argv 0]] diff --git a/support/testing/tests/package/test_tcpdump.py b/support/testing/tests/package/test_tcpdump.py new file mode 100644 index 00000000000..42bfc960829 --- /dev/null +++ b/support/testing/tests/package/test_tcpdump.py @@ -0,0 +1,46 @@ +import os +import time + +import infra.basetest + + +class TestTcpdump(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_TCPDUMP=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + capture_file = "capture.pcap" + decode_log = "decode.log" + + # Check the program can execute. + self.assertRunOk("tcpdump --version") + + # Run ping in background. + cmd = "ping localhost >/dev/null &" + self.assertRunOk(cmd) + + time.sleep(1) + + # Capture 3 packets with the message. + cmd = f"tcpdump -c 3 -w {capture_file} icmp" + self.assertRunOk(cmd) + + # Decode the capture file. + cmd = f"tcpdump -r {capture_file} > {decode_log}" + self.assertRunOk(cmd) + + # Check we have ICMP echo requests/replies in the + # decoded capture. + cmd = f"grep -E 'ICMP echo (request|reply)' {decode_log}" + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_tesseract_ocr.py b/support/testing/tests/package/test_tesseract_ocr.py new file mode 100644 index 00000000000..232025bad29 --- /dev/null +++ b/support/testing/tests/package/test_tesseract_ocr.py @@ -0,0 +1,43 @@ +import os + +import infra.basetest + + +class TestTesseractOcr(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_FREETYPE=y + BR2_PACKAGE_GHOSTSCRIPT_FONTS=y + BR2_PACKAGE_GRAPHICSMAGICK=y + BR2_PACKAGE_TESSERACT_OCR=y + BR2_PACKAGE_TESSERACT_OCR_LANG_ENG=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + msg = "Hello from Buildroot runtime test." + img_file = "image.pgm" + txt_basename = "text" + txt_file = f"{txt_basename}.txt" + + # Check the program execute. + self.assertRunOk("tesseract --version") + + # Generate an image file including a text message. + cmd = f"gm convert -pointsize 16 label:'{msg}' {img_file}" + self.assertRunOk(cmd) + + # Perform the character recognition. + cmd = f"tesseract {img_file} {txt_basename}" + self.assertRunOk(cmd, timeout=30) + + # Check the decoded text matches the original message. + cmd = f"grep -F '{msg}' {txt_file}" + self.assertRunOk(cmd) diff --git a/support/testing/tests/package/test_thttpd.py b/support/testing/tests/package/test_thttpd.py new file mode 100644 index 00000000000..007bc91f2df --- /dev/null +++ b/support/testing/tests/package/test_thttpd.py @@ -0,0 +1,26 @@ +import os + +import infra.basetest + + +class TestThttpd(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_THTTPD=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + msg = "Hello Buildroot!" + + self.assertRunOk("thttpd -V") + self.assertRunOk(f"echo '{msg}' > /var/www/data/index.html") + self.assertRunOk("wget http://localhost/index.html") + self.assertRunOk(f"grep -F '{msg}' index.html") diff --git a/support/testing/tests/package/test_tmux.py b/support/testing/tests/package/test_tmux.py index 7a10b7a2b04..f2c620d5cac 100644 --- a/support/testing/tests/package/test_tmux.py +++ b/support/testing/tests/package/test_tmux.py @@ -9,6 +9,7 @@ class TestTmux(infra.basetest.BRTest): BR2_PACKAGE_TMUX=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set + BR2_GENERATE_LOCALE="C.UTF-8" """ def test_run(self): diff --git a/support/testing/tests/package/test_trace_cmd.py b/support/testing/tests/package/test_trace_cmd.py new file mode 100644 index 00000000000..5d37aef375f --- /dev/null +++ b/support/testing/tests/package/test_trace_cmd.py @@ -0,0 +1,54 @@ +import os + +import infra.basetest + + +class TestTraceCmd(infra.basetest.BRTest): + # A specific configuration is needed for testing trace-cmd. + # The function tracer need to be enabled in the Kernel. + kern_fragment = \ + infra.filepath("tests/package/test_trace_cmd/linux-ftrace.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.74" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kern_fragment}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_TRACE_CMD=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-m", "256M", + "-initrd", img]) + self.emulator.login() + + # Record calls to kmalloc() from a simple command. + self.assertRunOk("trace-cmd record -e kmalloc ls -l /") + + # Show information about the trace.dat file. + self.assertRunOk("trace-cmd dump") + + # Generate a text report of the trace. + self.assertRunOk("trace-cmd report > trace.txt") + + # Check we have occurrences of "kmalloc:" in the trace report. + cmd = "grep -Fc kmalloc: trace.txt" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertTrue(int(output[0]) > 0) diff --git a/support/testing/tests/package/test_trace_cmd/linux-ftrace.fragment b/support/testing/tests/package/test_trace_cmd/linux-ftrace.fragment new file mode 100644 index 00000000000..ef821466161 --- /dev/null +++ b/support/testing/tests/package/test_trace_cmd/linux-ftrace.fragment @@ -0,0 +1 @@ +CONFIG_FTRACE=y diff --git a/support/testing/tests/package/test_usbutils.py b/support/testing/tests/package/test_usbutils.py new file mode 100644 index 00000000000..83c3f7f920f --- /dev/null +++ b/support/testing/tests/package/test_usbutils.py @@ -0,0 +1,61 @@ +import os + +import infra.basetest + + +class TestUsbUtils(infra.basetest.BRTest): + # A specific configuration is needed for testing usbutils, to + # enable USB 2.0 support in the Kernel. + linux_fragment = \ + infra.filepath("tests/package/test_usbutils/linux-usbutils.fragment") + config = \ + f""" + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.73" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{linux_fragment}" + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + BR2_PACKAGE_EUDEV=y + BR2_PACKAGE_USBUTILS=y + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + # We add a USB keyboard and mouse devices for the test. + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", + "-initrd", img, + "-device", "usb-ehci,id=ehci", + "-device", "usb-kbd,bus=ehci.0", + "-device", "usb-mouse,bus=ehci.0"]) + self.emulator.login() + + # Check the program can execute. We also check the version + # string to make sure we have the usbutils version. The + # BusyBox lsusb ignores arguments. + output, exit_code = self.emulator.run("lsusb --version") + self.assertEqual(exit_code, 0) + self.assertTrue(output[0].startswith("lsusb (usbutils)")) + + # Test few simple and common invocations + self.assertRunOk("lsusb") + self.assertRunOk("lsusb --tree") + self.assertRunOk("lsusb --verbose") + # 1d6b:0002 is Linux Foundation 2.0 root hub + # it should be present. lsusb return an error if no device + # is found. + self.assertRunOk("lsusb -d 1d6b:0002") + # we emulate a USB keyboard and mouse, so usbhid-dump should find them + self.assertRunOk("usbhid-dump") diff --git a/support/testing/tests/package/test_usbutils/linux-usbutils.fragment b/support/testing/tests/package/test_usbutils/linux-usbutils.fragment new file mode 100644 index 00000000000..d9abd2821e8 --- /dev/null +++ b/support/testing/tests/package/test_usbutils/linux-usbutils.fragment @@ -0,0 +1,2 @@ +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y diff --git a/support/testing/tests/package/test_weston.py b/support/testing/tests/package/test_weston.py new file mode 100644 index 00000000000..df1b7a41358 --- /dev/null +++ b/support/testing/tests/package/test_weston.py @@ -0,0 +1,178 @@ +import os +import time + +import infra.basetest + + +class TestWeston(infra.basetest.BRTest): + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_ROOTFS_OVERLAY="{}" + BR2_PER_PACKAGE_DIRECTORIES=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.44" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_PACKAGE_LIBDRM=y + BR2_PACKAGE_MESA3D=y + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y + BR2_PACKAGE_MESA3D_LLVM=y + BR2_PACKAGE_MESA3D_OPENGL_EGL=y + BR2_PACKAGE_MESA3D_OPENGL_ES=y + BR2_PACKAGE_WAYLAND_UTILS=y + BR2_PACKAGE_WESTON=y + BR2_PACKAGE_WESTON_SIMPLE_CLIENTS=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_CPIO_GZIP=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/test_weston/overlay"), + infra.filepath("tests/package/test_weston/linux-vkms.fragment") + ) + + def gen_read_disp_crcs_cmd(self, count=1): + # DRM CRCs are exposed through a sysfs pseudo file, one measure + # per line. The first column is the frame number, the second + # column is the CRC measure. We use "head" to get the needed + # CRC count. + disp_crc_path = "/sys/kernel/debug/dri/0/crtc-0/crc/data" + cmd = f"head -{count} {disp_crc_path}" + + # The DRM CRC sysfs pseudo file lines are terminated by '\n' + # and '\0'. We remove the '\0' to have a text-only output. + cmd += " | tr -d '\\000'" + + # Finally, we drop the frame counter, and keep only the second + # column (CRC values) + cmd += " | cut -f 2 -d ' '" + + return cmd + + def gen_count_unique_disp_crcs_cmd(self, count=10): + # We get the command generating one CRC per line... + cmd = self.gen_read_disp_crcs_cmd(count) + # ...then count the number of unique values + cmd += " | uniq | wc -l" + return cmd + + def start_weston(self): + self.assertRunOk("export XDG_RUNTIME_DIR=/tmp") + + cmd = "weston" + cmd += " --config=/etc/weston.ini" + cmd += " --continue-without-input" + cmd += " --log=/tmp/weston.log" + cmd += " &> /dev/null &" + self.assertRunOk(cmd) + + self.assertRunOk("export WAYLAND_DISPLAY=wayland-1") + + def wait_for_weston(self): + # We wait for the wayland socket to appear... + wayland_socket = "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}" + cmd = f"while [ ! -e \"{wayland_socket}\" ] ; do sleep 1 ; done" + self.assertRunOk(cmd, timeout=10) + time.sleep(4) + + def stop_weston(self): + cmd = "killall weston && sleep 3" + self.assertRunOk(cmd) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") + kern = os.path.join(self.builddir, "images", "Image") + self.emulator.boot(arch="aarch64", + kernel=kern, + kernel_cmdline=["console=ttyAMA0"], + options=["-M", "virt", + "-cpu", "cortex-a57", + "-smp", "4", + "-m", "256M", + "-initrd", img]) + self.emulator.login() + + # Check the weston binary can execute + self.assertRunOk("weston --version") + + self.start_weston() + self.wait_for_weston() + + # Check a simple info client can communicate with the compositor + self.assertRunOk("wayland-info", timeout=10) + + # This test will use the Kernel VKMS DRM Display CRC support, + # which is exposed in debugfs. See: + # https://docs.kernel.org/gpu/drm-uapi.html#display-crc-support + self.assertRunOk("mount -t debugfs none /sys/kernel/debug/") + + # We get 10 consecutive DRM frame CRCs and count how many + # unique CRCs we have. Since weston is supposed to run idle, + # we should have 10 times the same display CRC. + cmd = self.gen_count_unique_disp_crcs_cmd() + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0]), 1) + + # We save the CRC value of an empty weston desktop for + # later... + cmd = self.gen_read_disp_crcs_cmd() + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + weston_desktop_crc = int(output[0], 16) + + # We start the weston-simple-egl in background... Every + # rendered frame is supposed to be different (as the triangle + # animation is derived from the system time). Since all the + # rendering (client application and compositor) is in + # software, we sleep a bit to let those program to settle. + self.assertRunOk("weston-simple-egl >/dev/null 2>&1 &") + time.sleep(8) + + # Since the weston-simple-egl client is supposed to run and + # display something, we are now supposed to measure a + # different display CRC than the one we measured when the + # desktop was empty. + cmd = self.gen_read_disp_crcs_cmd() + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertNotEqual(int(output[0], 16), weston_desktop_crc) + + # While weston-simple-egl is running, we check the VKMS DRM + # CRCs are now changing. We get many CRCs, one per display + # driver refresh (at ~60Hz). Since all the rendering is in + # software, we can expect a slow frame rate. In 300 captured + # CRCs (5s), we expect at least 5 different values (i.e. 1 fps). + # This guarantees the rendering pipeline is working, while we + # remain very permissive to slow emulation situations. + # Increase timeout, as the command is expected to run about 5s, + # which is the default timeout. + cmd = self.gen_count_unique_disp_crcs_cmd(300) + output, exit_code = self.emulator.run(cmd, timeout=10) + self.assertEqual(exit_code, 0) + self.assertGreaterEqual(int(output[0]), 5) + + # We stop weston-simple-egl, and sleep a bit to let Weston do + # its cleanup and desktop repaint refresh... + self.assertRunOk("killall weston-simple-egl") + time.sleep(4) + + # After we stopped the application, we should have the initial + # weston desktop background. The CRC we measure now should be + # the same as the one we saved earlier. + cmd = self.gen_read_disp_crcs_cmd() + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(int(output[0], 16), weston_desktop_crc) + + self.stop_weston() + + # Now weston is supposed to be stopped, + # a simple client is expected to fail. + _, exit_code = self.emulator.run("wayland-info") + self.assertNotEqual(exit_code, 0) diff --git a/support/testing/tests/package/test_weston/linux-vkms.fragment b/support/testing/tests/package/test_weston/linux-vkms.fragment new file mode 100644 index 00000000000..3fc7a5dded6 --- /dev/null +++ b/support/testing/tests/package/test_weston/linux-vkms.fragment @@ -0,0 +1,2 @@ +CONFIG_DEBUG_FS=y +CONFIG_DRM_VKMS=y diff --git a/support/testing/tests/package/test_weston/overlay/etc/weston.ini b/support/testing/tests/package/test_weston/overlay/etc/weston.ini new file mode 100644 index 00000000000..534b5c1f4ad --- /dev/null +++ b/support/testing/tests/package/test_weston/overlay/etc/weston.ini @@ -0,0 +1,15 @@ +# The shell "clock-format" is set to "none", in order to have stable +# display output, independant from the time. The display output can +# then be reliably checked with VKMS CRC. +# "startup-animation" and "close-animation" are set to "none" for +# faster transitions (fade animations with a software GLES +# implementation tend to be slow). +# Finally, we force the smallest standard display output mode +# resolution, again for faster test execution. +[shell] +clock-format=none +startup-animation=none +close-animation=none +[output] +name=Virtual-1 +mode=640x480 diff --git a/support/testing/tests/package/test_xz.py b/support/testing/tests/package/test_xz.py new file mode 100644 index 00000000000..7776c1608fa --- /dev/null +++ b/support/testing/tests/package/test_xz.py @@ -0,0 +1,10 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestXz(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_XZ=y + """ + compress_cmd = "xz" diff --git a/support/testing/tests/package/test_z3.py b/support/testing/tests/package/test_z3.py index 71b074a587a..30794a250b5 100644 --- a/support/testing/tests/package/test_z3.py +++ b/support/testing/tests/package/test_z3.py @@ -4,14 +4,8 @@ class TestZ3(infra.basetest.BRTest): - # Need to use a different toolchain than the default due to - # z3 requiring fenv.h not provided by uclibc. - config = \ + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y - BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_Z3=y BR2_PACKAGE_Z3_PYTHON=y diff --git a/support/testing/tests/package/test_zbar.py b/support/testing/tests/package/test_zbar.py new file mode 100644 index 00000000000..b840df089af --- /dev/null +++ b/support/testing/tests/package/test_zbar.py @@ -0,0 +1,37 @@ +import os + +import infra.basetest + + +class TestZbar(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_IMAGEMAGICK=y + BR2_PACKAGE_LIBQRENCODE=y + BR2_PACKAGE_LIBQRENCODE_TOOLS=y + BR2_PACKAGE_ZBAR=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + txt_msg = "Hello Buildroot!" + qr_img = "qr.png" + + # We check the program can execute. + self.assertRunOk("zbarimg --version") + + # We generate a QR code image containing a message. + self.assertRunOk(f"qrencode -o '{qr_img}' '{txt_msg}'") + + # We decode the QR code image and check the extracted message + # is the expected one. + out, ret = self.emulator.run(f"zbarimg -q --raw {qr_img}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], txt_msg) diff --git a/support/testing/tests/package/test_zchunk.py b/support/testing/tests/package/test_zchunk.py new file mode 100644 index 00000000000..c250b748ef1 --- /dev/null +++ b/support/testing/tests/package/test_zchunk.py @@ -0,0 +1,16 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestZchunk(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_ZCHUNK=y + BR2_PACKAGE_ZSTD=y + """ + compress_cmd = "zck" + + def check_integrity_test(self): + # Do nothing for the integrity test, because "zck" does not + # implement this feature. + pass diff --git a/support/testing/tests/package/test_zfs.py b/support/testing/tests/package/test_zfs.py index 1f01ddd7683..27dbc2869bc 100644 --- a/support/testing/tests/package/test_zfs.py +++ b/support/testing/tests/package/test_zfs.py @@ -40,11 +40,11 @@ def base_test_run(self): cmds = [ # Init - "modprobe zfs", + "modprobe zfs && sleep 2", "mount -o remount,size=132M /tmp", "fallocate -l 64M /tmp/container1.raw", "fallocate -l 64M /tmp/container2.raw", - "zpool create -m /pool pool raidz /tmp/container1.raw /tmp/container2.raw", + "zpool create pool raidz /tmp/container1.raw /tmp/container2.raw", "dd if=/dev/urandom bs=1M count=8 of=/pool/urandom", "sha256sum /pool/urandom > /tmp/urandom.sha256", # Check ZFS diff --git a/support/testing/tests/package/test_zip.py b/support/testing/tests/package/test_zip.py new file mode 100644 index 00000000000..eb2e0169884 --- /dev/null +++ b/support/testing/tests/package/test_zip.py @@ -0,0 +1,15 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestZip(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_ZIP=y + BR2_PACKAGE_UNZIP=y + """ + compress_cmd = "/bin/sh -c 'zip $1.zip $1' /bin/sh" + decompress_cmd = "unzip" + check_integrity_cmd = "unzip -t" + compressed_file_ext = ".zip" diff --git a/support/testing/tests/package/test_zstd.py b/support/testing/tests/package/test_zstd.py new file mode 100644 index 00000000000..24dc5fb90dd --- /dev/null +++ b/support/testing/tests/package/test_zstd.py @@ -0,0 +1,11 @@ +from tests.package.test_compressor_base import TestCompressorBase + + +class TestZstd(TestCompressorBase): + __test__ = True + config = TestCompressorBase.config + \ + """ + BR2_PACKAGE_ZSTD=y + """ + compress_cmd = "zstd" + compressed_file_ext = ".zst" diff --git a/support/testing/tests/toolchain/test_external.py b/support/testing/tests/toolchain/test_external.py index d22f38cedcd..27dfd68500e 100644 --- a/support/testing/tests/toolchain/test_external.py +++ b/support/testing/tests/toolchain/test_external.py @@ -37,103 +37,6 @@ def common_check(self): self.assertTrue(os.path.exists(interp_path)) -class TestExternalToolchainSourceryArmv4(TestExternalToolchain): - config = BASIC_CONFIG + \ - """ - BR2_arm=y - BR2_arm920t=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y - """ - toolchain_prefix = "arm-none-linux-gnueabi" - - def test_run(self): - TestExternalToolchain.common_check(self) - - # Check the architecture variant - arch = infra.get_file_arch(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6") - self.assertEqual(arch, "v4T") - - # Check the sysroot symlink - symlink = os.path.join(self.builddir, "staging", "armv4t") - self.assertTrue(os.path.exists(symlink)) - self.assertEqual(os.readlink(symlink), "./") - - # Boot the system - img = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv5", - kernel="builtin", - options=["-initrd", img]) - self.emulator.login() - - -class TestExternalToolchainSourceryArmv5(TestExternalToolchain): - config = BASIC_CONFIG + \ - """ - BR2_arm=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y - """ - toolchain_prefix = "arm-none-linux-gnueabi" - - def test_run(self): - TestExternalToolchain.common_check(self) - - # Check the architecture variant - arch = infra.get_file_arch(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6") - self.assertEqual(arch, "v5TE") - - # Boot the system - img = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv5", - kernel="builtin", - options=["-initrd", img]) - self.emulator.login() - - -class TestExternalToolchainSourceryArmv7(TestExternalToolchain): - config = BASIC_CONFIG + \ - """ - BR2_arm=y - BR2_cortex_a8=y - BR2_ARM_EABI=y - BR2_ARM_INSTRUCTIONS_THUMB2=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y - """ - toolchain_prefix = "arm-none-linux-gnueabi" - - def test_run(self): - TestExternalToolchain.common_check(self) - - # Check the architecture variant - arch = infra.get_file_arch(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6") - self.assertEqual(arch, "v7") - isa = infra.get_elf_arch_tag(self.builddir, - self.toolchain_prefix, - "lib/libc.so.6", - "Tag_THUMB_ISA_use") - self.assertEqual(isa, "Thumb-2") - - # Check we have the sysroot symlink - symlink = os.path.join(self.builddir, "staging", "thumb2") - self.assertTrue(os.path.exists(symlink)) - self.assertEqual(os.readlink(symlink), "./") - - # Boot the system - img = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv7", - kernel="builtin", - options=["-initrd", img]) - self.emulator.login() - - class TestExternalToolchainLinaroArm(TestExternalToolchain): config = BASIC_CONFIG + \ """ diff --git a/support/testing/tests/toolchain/test_external_bootlin.py b/support/testing/tests/toolchain/test_external_bootlin.py index 923bb0da94c..02090755fde 100644 --- a/support/testing/tests/toolchain/test_external_bootlin.py +++ b/support/testing/tests/toolchain/test_external_bootlin.py @@ -115,6 +115,34 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinAarch64beMuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_aarch64_be=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "aarch64_be-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinAarch64beMuslStable(TestExternalToolchain): + config = """ + BR2_aarch64_be=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "aarch64_be-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinAarch64beUclibcBleedingEdge(TestExternalToolchain): config = """ BR2_aarch64_be=y @@ -647,6 +675,66 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinM68k68xxxGlibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_m68k=y + BR2_m68k_68040=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_GLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "m68k-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinM68k68xxxGlibcStable(TestExternalToolchain): + config = """ + BR2_m68k=y + BR2_m68k_68040=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "m68k-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinM68k68xxxMuslBleedingEdge(TestExternalToolchain): + config = """ + BR2_m68k=y + BR2_m68k_68040=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_MUSL_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "m68k-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinM68k68xxxMuslStable(TestExternalToolchain): + config = """ + BR2_m68k=y + BR2_m68k_68040=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "m68k-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinM68k68xxxUclibcBleedingEdge(TestExternalToolchain): config = """ BR2_m68k=y @@ -1593,6 +1681,34 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinOpenriscGlibcBleedingEdge(TestExternalToolchain): + config = """ + BR2_or1k=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_BLEEDING_EDGE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "or1k-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + +class TestExternalToolchainBootlinOpenriscGlibcStable(TestExternalToolchain): + config = """ + BR2_or1k=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "or1k-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinOpenriscMuslBleedingEdge(TestExternalToolchain): config = """ BR2_or1k=y @@ -2599,6 +2715,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v2GlibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v2=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v2MuslBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2614,6 +2745,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v2MuslStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v2=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v2UclibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2629,6 +2775,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v2UclibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v2=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v3GlibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2644,6 +2805,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v3GlibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v3=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v3MuslBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2659,6 +2835,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v3MuslStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v3=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v3UclibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2674,6 +2865,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v3UclibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v3=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v4GlibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2689,6 +2895,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v4GlibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v4=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v4MuslBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2704,6 +2925,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v4MuslStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v4=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664v4UclibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y @@ -2719,6 +2955,21 @@ def test_run(self): TestExternalToolchain.common_check(self) +class TestExternalToolchainBootlinX8664v4UclibcStable(TestExternalToolchain): + config = """ + BR2_x86_64=y + BR2_x86_x86_64_v4=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y + BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_STABLE=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + toolchain_prefix = "x86_64-linux" + + def test_run(self): + TestExternalToolchain.common_check(self) + + class TestExternalToolchainBootlinX8664corei7GlibcBleedingEdge(TestExternalToolchain): config = """ BR2_x86_64=y diff --git a/support/testing/tests/utils/br2-external/.checkpackageignore b/support/testing/tests/utils/br2-external/.checkpackageignore new file mode 100644 index 00000000000..efb76801738 --- /dev/null +++ b/support/testing/tests/utils/br2-external/.checkpackageignore @@ -0,0 +1 @@ +package/external/external.mk PackageHeader diff --git a/support/testing/tests/utils/br2-external/package/.checkpackageignore b/support/testing/tests/utils/br2-external/package/.checkpackageignore new file mode 100644 index 00000000000..5f4a5e11876 --- /dev/null +++ b/support/testing/tests/utils/br2-external/package/.checkpackageignore @@ -0,0 +1 @@ +external/external.mk PackageHeader diff --git a/support/testing/tests/utils/br2-external/package/.checkpackageignore_outdated b/support/testing/tests/utils/br2-external/package/.checkpackageignore_outdated new file mode 100644 index 00000000000..1df59f3bed3 --- /dev/null +++ b/support/testing/tests/utils/br2-external/package/.checkpackageignore_outdated @@ -0,0 +1 @@ +external/external.mk Indent NewlineAtEof PackageHeader diff --git a/support/testing/tests/utils/br2-external/utils/x-python b/support/testing/tests/utils/br2-external/utils/x-python new file mode 100644 index 00000000000..da7c36c7e0a --- /dev/null +++ b/support/testing/tests/utils/br2-external/utils/x-python @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 +# Trigger flake8 warning "W391 blank line at end of file" + diff --git a/support/testing/tests/utils/br2-external/utils/x-shellscript b/support/testing/tests/utils/br2-external/utils/x-shellscript new file mode 100755 index 00000000000..a7de4124bd1 --- /dev/null +++ b/support/testing/tests/utils/br2-external/utils/x-shellscript @@ -0,0 +1,2 @@ +#!/bin/bash +unused="text" diff --git a/support/testing/tests/utils/test_check_package.py b/support/testing/tests/utils/test_check_package.py index c70ba02324a..2125b341707 100644 --- a/support/testing/tests/utils/test_check_package.py +++ b/support/testing/tests/utils/test_check_package.py @@ -75,6 +75,12 @@ def assert_warnings_generated_for_file(self, stderr): generated = int(stderr[1].split()[0]) self.assertGreater(generated, 0) + def assert_no_warnings_generated_for_file(self, stderr): + """Infer from check-package stderr if no warning was generated and fail otherwise.""" + self.assertIn("warnings generated", stderr[1], stderr) + generated = int(stderr[1].split()[0]) + self.assertEqual(generated, 0) + def test_run(self): """Test the various ways the script can be called in a simple top to bottom sequence.""" @@ -194,10 +200,70 @@ def test_run(self): self.WITH_UTILS_IN_PATH, abs_path) self.assert_file_was_processed(m) self.assert_warnings_generated_for_file(m) - self.assertIn("{}:1: should be 80 hashes (http://nightly.buildroot.org/#writing-rules-mk)".format(rel_file), w) + self.assertIn("{}:1: should be 80 hashes (https://nightly.buildroot.org/#writing-rules-mk)".format(rel_file), w) + + w, m = call_script(["check-package", "-b", abs_file], + self.WITH_UTILS_IN_PATH, infra.basepath()) + self.assert_file_was_processed(m) + self.assert_warnings_generated_for_file(m) + self.assertIn("{}:1: should be 80 hashes (https://nightly.buildroot.org/#writing-rules-mk)".format(abs_file), w) + + # br2-external with ignore list + topdir_path = infra.filepath("tests/utils/br2-external") + topdir_file = os.path.join(topdir_path, "package/external/external.mk") + subdir_path = infra.filepath("tests/utils/br2-external/package") + subdir_file = os.path.join(subdir_path, "external/external.mk") + + w, m = call_script(["check-package", "--ignore-list=.checkpackageignore", "-b", topdir_file], + self.WITH_UTILS_IN_PATH, topdir_path) + self.assert_file_was_processed(m) + self.assert_no_warnings_generated_for_file(m) + + w, m = call_script(["check-package", "--ignore-list=.checkpackageignore", "-b", subdir_file], + self.WITH_UTILS_IN_PATH, subdir_path) + self.assert_file_was_processed(m) + self.assert_no_warnings_generated_for_file(m) + + w, m = call_script(["check-package", "--ignore-list=.checkpackageignore_outdated", "-b", subdir_file], + self.WITH_UTILS_IN_PATH, subdir_path) + self.assert_file_was_processed(m) + self.assert_warnings_generated_for_file(m) + self.assertIn("{}:0: Indent was expected to fail, did you fix the file and forget to update .checkpackageignore_outdated?" + .format(subdir_file), w) + self.assertIn("{}:0: NewlineAtEof was expected to fail, did you fix the file and forget to update " + ".checkpackageignore_outdated?" + .format(subdir_file), w) + + # shell scripts are tested using shellcheck + rel_file = "utils/x-shellscript" + abs_path = infra.filepath("tests/utils/br2-external") + abs_file = os.path.join(abs_path, rel_file) + + w, m = call_script(["check-package", "-b", rel_file], + self.WITH_UTILS_IN_PATH, abs_path) + self.assert_file_was_processed(m) + self.assert_warnings_generated_for_file(m) + self.assertIn("{}:0: run 'shellcheck' and fix the warnings".format(rel_file), w) + + w, m = call_script(["check-package", "-b", abs_file], + self.WITH_UTILS_IN_PATH, infra.basepath()) + self.assert_file_was_processed(m) + self.assert_warnings_generated_for_file(m) + self.assertIn("{}:0: run 'shellcheck' and fix the warnings".format(abs_file), w) + + # python scripts are tested using flake8 + rel_file = "utils/x-python" + abs_path = infra.filepath("tests/utils/br2-external") + abs_file = os.path.join(abs_path, rel_file) + + w, m = call_script(["check-package", "-vvv", "-b", rel_file], + self.WITH_UTILS_IN_PATH, abs_path) + self.assert_file_was_processed(m) + self.assert_warnings_generated_for_file(m) + self.assertIn("{}:0: run 'flake8' and fix the warnings".format(rel_file), w) w, m = call_script(["check-package", "-b", abs_file], self.WITH_UTILS_IN_PATH, infra.basepath()) self.assert_file_was_processed(m) self.assert_warnings_generated_for_file(m) - self.assertIn("{}:1: should be 80 hashes (http://nightly.buildroot.org/#writing-rules-mk)".format(abs_file), w) + self.assertIn("{}:0: run 'flake8' and fix the warnings".format(abs_file), w) diff --git a/support/testing/tests/utils/test_get_developers.py b/support/testing/tests/utils/test_get_developers.py index 12710fe8d34..ffc01f6ce73 100644 --- a/support/testing/tests/utils/test_get_developers.py +++ b/support/testing/tests/utils/test_get_developers.py @@ -48,7 +48,7 @@ def test_run(self): # -v generating error, called from the main dir developers = b'text1\n' out, err, rc = call_get_developers("./utils/get-developers", ["-v"], self.WITH_EMPTY_PATH, topdir, developers) - self.assertIn("Syntax error in DEVELOPERS file, line 0: 'text1'", err) + self.assertIn("Syntax error in DEVELOPERS file, line 1: 'text1'", err) self.assertEqual(rc, 1) self.assertEqual(len(out), 0) self.assertEqual(len(err), 1) @@ -56,7 +56,7 @@ def test_run(self): # -v generating error, called from path developers = b'text2\n' out, err, rc = call_get_developers("get-developers", ["-v"], self.WITH_UTILS_IN_PATH, topdir, developers) - self.assertIn("Syntax error in DEVELOPERS file, line 0: 'text2'", err) + self.assertIn("Syntax error in DEVELOPERS file, line 1: 'text2'", err) self.assertEqual(rc, 1) self.assertEqual(len(out), 0) self.assertEqual(len(err), 1) @@ -69,12 +69,12 @@ def test_run(self): b'N:\tAuthor2 \n' \ b'F:\tutils/get-developers\n' out, err, rc = call_get_developers("get-developers", ["-v"], self.WITH_UTILS_IN_PATH, topdir, developers) - self.assertIn("Syntax error in DEVELOPERS file, line 1", err) - self.assertEqual(rc, 0) + self.assertIn("Syntax error in DEVELOPERS file, line 4", err) + self.assertEqual(rc, 1) self.assertEqual(len(out), 0) self.assertEqual(len(err), 1) - # -v generating error for developer entry with no file entries + # -v generating error for developer entry with no file entries, stopping on first error developers = b'# comment\n' \ b'# comment\n' \ b'\n' \ @@ -83,11 +83,10 @@ def test_run(self): b'N:\tAuthor3 \n' \ b'F:\tutils/get-developers\n' out, err, rc = call_get_developers("get-developers", ["-v"], self.WITH_UTILS_IN_PATH, topdir, developers) - self.assertIn("Syntax error in DEVELOPERS file, line 1", err) - self.assertIn("Syntax error in DEVELOPERS file, line 2", err) - self.assertEqual(rc, 0) + self.assertIn("Syntax error in DEVELOPERS file, line 4", err) + self.assertEqual(rc, 1) self.assertEqual(len(out), 0) - self.assertEqual(len(err), 2) + self.assertEqual(len(err), 1) # -v not generating error for developer entry with empty list of file entries developers = b'# comment\n' \ @@ -109,8 +108,8 @@ def test_run(self): b'F:\tpath/that/does/not/exists/1\n' \ b'F:\tpath/that/does/not/exists/2\n' out, err, rc = call_get_developers("get-developers", ["-v"], self.WITH_UTILS_IN_PATH, topdir, developers) - self.assertIn("WARNING: 'path/that/does/not/exists/1' doesn't match any file", err) - self.assertIn("WARNING: 'path/that/does/not/exists/2' doesn't match any file", err) + self.assertIn("WARNING: 'path/that/does/not/exists/1' doesn't match any file, line 2", err) + self.assertIn("WARNING: 'path/that/does/not/exists/2' doesn't match any file, line 3", err) self.assertEqual(rc, 0) self.assertEqual(len(out), 0) self.assertEqual(len(err), 2) @@ -120,8 +119,8 @@ def test_run(self): b'F:\tpath/that/does/not/exists/1\n' \ b'F:\tpath/that/does/not/exists/2\n' out, err, rc = call_get_developers("./utils/get-developers", ["-c"], self.WITH_EMPTY_PATH, topdir, developers) - self.assertIn("WARNING: 'path/that/does/not/exists/1' doesn't match any file", err) - self.assertIn("WARNING: 'path/that/does/not/exists/2' doesn't match any file", err) + self.assertIn("WARNING: 'path/that/does/not/exists/1' doesn't match any file, line 2", err) + self.assertIn("WARNING: 'path/that/does/not/exists/2' doesn't match any file, line 3", err) self.assertEqual(rc, 0) self.assertGreater(len(out), 1000) self.assertEqual(len(err), 2) diff --git a/system/Config.in b/system/Config.in index 888c24ce81d..e590a8a3ff9 100644 --- a/system/Config.in +++ b/system/Config.in @@ -78,7 +78,6 @@ endchoice # Passwd encoding config BR2_TARGET_GENERIC_PASSWD_METHOD string - default "md5" if BR2_TARGET_GENERIC_PASSWD_MD5 default "sha-256" if BR2_TARGET_GENERIC_PASSWD_SHA256 default "sha-512" if BR2_TARGET_GENERIC_PASSWD_SHA512 @@ -106,12 +105,13 @@ config BR2_INIT_OPENRC bool "OpenRC" depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # openrc select BR2_PACKAGE_OPENRC select BR2_PACKAGE_SKELETON_INIT_OPENRC if BR2_ROOTFS_SKELETON_DEFAULT -comment "openrc needs a toolchain w/ dynamic library" +comment "openrc needs a glibc or musl toolchain w/ dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS && BR2_TOOLCHAIN_USES_UCLIBC # In Buildroot, we decided not to support a split-usr when systemd is # used as an init system. This is a design decision, not a systemd @@ -125,22 +125,26 @@ config BR2_INIT_SYSTEMD depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_TOOLCHAIN_HAS_SSP depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_HOST_GCC_AT_LEAST_5 select BR2_ROOTFS_MERGED_USR select BR2_PACKAGE_SYSTEMD select BR2_PACKAGE_SKELETON_INIT_SYSTEMD if BR2_ROOTFS_SKELETON_DEFAULT -comment "systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5" +comment "systemd needs a glibc toolchain w/ SSP, headers >= 4.14, host and target gcc >= 5" depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_USES_GLIBC || \ !BR2_TOOLCHAIN_HAS_SSP || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ !BR2_HOST_GCC_AT_LEAST_5 +comment "systemd highly recommends Linux >= 4.15" + depends on BR2_INIT_SYSTEMD + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + config BR2_INIT_NONE bool "None" select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_ROOTFS_SKELETON_DEFAULT @@ -154,10 +158,76 @@ source "$BR2_BASE_DIR/.br2-external.in.init" endchoice +if BR2_INIT_SYSTEMD + +choice + bool "/var management" + default BR2_INIT_SYSTEMD_VAR_FACTORY # legacy + depends on !BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW + help + Select how Buildroot provides a read-write /var when the + rootfs is not remounted read-write. + + Note: Buildroot uses a tmpfs, either as a mount point or as + the upper of an overlayfs, so as to at least make the system + bootable out of the box; mounting a filesystem from actual + storage is left to the integration, as it is too specific and + may need preparatory work like partitionning a device and/or + formatting a filesystem first, which falls out of the scope + of Buildroot. + +config BR2_INIT_SYSTEMD_VAR_FACTORY + bool "build a factory to populate a tmpfs" + help + Build a factory of the content of /var as installed by + packages, mount a tmpfs on /var at runtime, so that + systemd-tmpfiles can populate it from the factory. + + This may help on a read-only rootfs. + + It probably does not play very well with triggering a call + to systemd-tmpfiles at build time (below). + + To use persistent storage, provide a systemd dropin for the + var.mount unit, that overrides the What and Type, and possibly + the Options and After, fields. + +config BR2_INIT_SYSTEMD_VAR_OVERLAYFS + bool "mount an overlayfs backed by a tmpfs" + select BR2_INIT_SYSTEMD_POPULATE_TMPFILES + help + Mount an overlayfs on /var, with the upper as a tmpfs. + + To use a persistent storage, provide either a mount unit or a + fstab line to mount it on /run/buildroot/mounts/var, e.g. + + /dev/sdc1 /run/buildroot/mounts/var ext4 defaults + +config BR2_INIT_SYSTEMD_VAR_NONE + bool "do nothing" + help + Choose this if you have custom dispositions (like one or more + of a post-build script, a fakeroot script, systemd units, an + initramfs, or something else) that prepare /var to be writable + on a read-only rootfs. + +endchoice + +config BR2_INIT_SYSTEMD_POPULATE_TMPFILES + bool "trigger systemd-tmpfiles during build" + default y # legacy + help + Act on the systemd-tmpfiles.d database at build time, when + assembling the root filesystems. + + This may help on a read-only filesystem. + + It probably does not play very well with the /var factory + (above). + config BR2_PACKAGE_SYSTEMD_DEFAULT_TARGET string "The default unit systemd starts at bootup" default "multi-user.target" - depends on BR2_INIT_SYSTEMD help Specify the name of the unit configuration file to be started at bootup by systemd. Should end in ".target". @@ -165,6 +235,8 @@ config BR2_PACKAGE_SYSTEMD_DEFAULT_TARGET https://www.freedesktop.org/software/systemd/man/systemd.special.html#default.target +endif # BR2_INIT_SYSTEMD + choice prompt "/dev management" if !BR2_INIT_SYSTEMD default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS @@ -332,7 +404,7 @@ config BR2_SYSTEM_BIN_SH menuconfig BR2_TARGET_GENERIC_GETTY bool "Run a getty (login prompt) after boot" - default y + default y if !BR2_PACKAGE_PETITBOOT if BR2_TARGET_GENERIC_GETTY config BR2_TARGET_GENERIC_GETTY_PORT @@ -443,7 +515,7 @@ config BR2_ENABLE_LOCALE_WHITELIST default "C en_US" depends on BR2_ENABLE_LOCALE_PURGE help - Whitespace seperated list of locales to allow on target. + Whitespace separated list of locales to allow on target. Locales not listed here will be removed from the target. See 'locale -a' on your host for a list of locales available on your build host, or have a look in /usr/share/locale in @@ -623,12 +695,13 @@ config BR2_ROOTFS_POST_IMAGE_SCRIPT config BR2_ROOTFS_POST_SCRIPT_ARGS string "Extra arguments passed to custom scripts" - depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ + depends on BR2_ROOTFS_PRE_BUILD_SCRIPT != "" \ + || BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \ || BR2_ROOTFS_POST_IMAGE_SCRIPT != "" help - Pass these additional arguments to each post-build or - post-image scripts. + Pass these additional arguments to each pre-build, post-build, + post-fakeroot and post-image scripts. Note that all the post-build and post-image scripts will be passed the same set of arguments, you can not pass different diff --git a/toolchain/Config.in b/toolchain/Config.in index 4947ab3aae1..0e142d66a69 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -34,7 +34,6 @@ config BR2_TOOLCHAIN_USES_MUSL select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_HAS_UCONTEXT select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_STATIC_LIBS choice @@ -77,6 +76,12 @@ config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 bool default y if BR2_nios2 +# https://sourceware.org/bugzilla/show_bug.cgi?id=30730 +# Affect toolchains built with binutils 2.40, still not fixed. +config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_30730 + bool + default y if BR2_m68k_cf + # Atomic types can be: # - never lock-free # - sometimes lock-free @@ -115,7 +120,7 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_43744 bool default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 default y if BR2_TOOLCHAIN_GCC_AT_LEAST_9 - depends on BR2_sh4 + depends on BR2_sh # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63261. This bug no # longer exists in gcc 8.x. @@ -141,6 +146,11 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_68485 bool default y if BR2_microblaze +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81426 +config BR2_TOOLCHAIN_HAS_GCC_BUG_81426 + bool + default y if BR2_sh + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83143 # Error: invalid operands (*UND* and .text sections) for `-' on sh4. # This bug no longer exists in gcc 10.x but reappeared on gcc 11.x and @@ -239,6 +249,24 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_107728 depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_OPTIMIZE_0 +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110934 +# ICE: on M68K: in change_address_1, at emit-rtl.cc:2287 +# This bug exists in gcc = 12.3.0 and gcc = 13.2.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_110934 + bool + default y if BR2_m68k + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111001 +# ICE: on SH4: during RTL pass: sh_treg_combine2 +# This bug exist in gcc = 13.2.0 +config BR2_TOOLCHAIN_HAS_GCC_BUG_111001 + bool + default y if BR2_sh + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_13 + depends on BR2_OPTIMIZE_1 || \ + BR2_OPTIMIZE_2 || \ + BR2_OPTIMIZE_3 + config BR2_TOOLCHAIN_HAS_NATIVE_RPC bool @@ -273,6 +301,8 @@ config BR2_TOOLCHAIN_HAS_SSP_STRONG bool default y if BR2_TOOLCHAIN_HAS_SSP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 +# This boolean is true if the toolchain provides a full featured +# ucontext implementation with ucontext_t and {get,make,set}context config BR2_TOOLCHAIN_HAS_UCONTEXT bool @@ -591,6 +621,30 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5 select BR2_TOOLCHAIN_HEADERS_LATEST # This should be selected by the latest version, above, to indicate that @@ -604,6 +658,12 @@ config BR2_TOOLCHAIN_HEADERS_LATEST # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "6.6" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 + default "6.5" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5 + default "6.4" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 + default "6.3" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3 + default "6.2" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2 + default "6.1" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 default "6.0" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0 default "5.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19 default "5.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18 @@ -727,10 +787,15 @@ config BR2_TOOLCHAIN_GCC_AT_LEAST_12 bool select BR2_TOOLCHAIN_GCC_AT_LEAST_11 +config BR2_TOOLCHAIN_GCC_AT_LEAST_13 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_GCC_AT_LEAST string + default "13" if BR2_TOOLCHAIN_GCC_AT_LEAST_13 default "12" if BR2_TOOLCHAIN_GCC_AT_LEAST_12 default "11" if BR2_TOOLCHAIN_GCC_AT_LEAST_11 default "10" if BR2_TOOLCHAIN_GCC_AT_LEAST_10 @@ -814,16 +879,19 @@ config BR2_TOOLCHAIN_HAS_SYNC_8 default y if BR2_TOOLCHAIN_ARM_HAS_SYNC_8 default y if BR2_TOOLCHAIN_X86_HAS_SYNC_8 -# libatomic is available since gcc 4.8, when thread support is -# enabled. Also, libatomic doesn't recognize "uclinux" as a valid OS -# part of the tuple, and is therefore not build on uclinux targets, -# which is why BR2_BINFMT_FLAT configurations are excluded. +# libatomic is available since gcc 4.8, when thread support is enabled. +# However, the gcc logic in libatomic/configure.tgt does not recognize +# "uclinux" as a valid OS part of the target tuple, and therefore it +# does not build libatomic. The "uclinux" part of the tuple is used by +# Buildroot when BR2_BINFMT_FLAT=y. This broken logic has only been +# fixed for arm since gcc 10.1.0. config BR2_TOOLCHAIN_HAS_LIBATOMIC bool - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \ - !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 && \ - BR2_TOOLCHAIN_HAS_THREADS && \ - !BR2_BINFMT_FLAT + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_BINFMT_ELF || \ + (BR2_BINFMT_FLAT && BR2_arm && \ + BR2_TOOLCHAIN_GCC_AT_LEAST_10) # __atomic intrinsics are available: # - with gcc 4.8, either through built-ins or libatomic, on all @@ -859,4 +927,15 @@ config BR2_TOOLCHAIN_HAS_LIBQUADMATH default y if BR2_i386 || BR2_x86_64 default y if BR2_POWERPC_CPU_HAS_VSX +comment "Bare metal toolchain" + +config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT + bool "Build a bare metal toolchain" + select BR2_PACKAGE_NEWLIB_BARE_METAL + help + Select if you need a bare-metal toolchain for building + platform specific firmware images. + +source "toolchain/toolchain-bare-metal-buildroot/Config.in" + endmenu diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index eec46d44c66..839ee278d03 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -19,7 +19,12 @@ copy_toolchain_lib_root = \ rm -fr $(TARGET_DIR)/$${DESTDIR}/$${LIBNAME}; \ if test -h $${LIBPATH} ; then \ cp -d $${LIBPATH} $(TARGET_DIR)/$${DESTDIR}/$${LIBNAME}; \ + OLD_LIBPATH="$${LIBPATH}"; \ LIBPATH="`readlink -f $${LIBPATH}`"; \ + if [ "$${LIBPATH}" = "" ]; then \ + echo "LIBPATH empty after trying to resolve symlink $${OLD_LIBPATH}" 1>&2; \ + exit 1; \ + fi; \ elif test -f $${LIBPATH}; then \ $(INSTALL) -D -m0755 $${LIBPATH} $(TARGET_DIR)/$${DESTDIR}/$${LIBNAME}; \ break ; \ @@ -302,7 +307,7 @@ check_uclibc = \ $(call check_uclibc_feature,__UCLIBC_HAS_LFS__,,$${UCLIBC_CONFIG_FILE},Large file support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_IPV6__,,$${UCLIBC_CONFIG_FILE},IPv6 support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_TOOLCHAIN_HAS_NATIVE_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\ - $(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\ + $(call check_uclibc_feature,__UCLIBC_HAS_XLOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\ $(call check_uclibc_feature,__PTHREADS_DEBUG_SUPPORT__,BR2_TOOLCHAIN_HAS_THREADS_DEBUG,$${UCLIBC_CONFIG_FILE},Thread debugging support) ;\ @@ -338,11 +343,14 @@ check_arm_abi = \ # check_cplusplus = \ __CROSS_CXX=$(strip $1) ; \ - $${__CROSS_CXX} -v > /dev/null 2>&1 ; \ - if test $$? -ne 0 ; then \ + __HAS_CXX=`$${__CROSS_CXX} -v > /dev/null 2>&1 && echo y`; \ + if [ "$${__HAS_CXX}" != "y" -a "$(BR2_INSTALL_LIBSTDCPP)" = y ] ; then \ echo "C++ support is selected but is not available in external toolchain" ; \ exit 1 ; \ - fi + elif [ "$${__HAS_CXX}" = "y" -a "$(BR2_INSTALL_LIBSTDCPP)" != y ] ; then \ + echo "C++ support is not selected but is available in external toolchain" ; \ + exit 1 ; \ + fi \ # # @@ -353,14 +361,16 @@ check_cplusplus = \ check_dlang = \ __CROSS_GDC=$(strip $1) ; \ __o=$(BUILD_DIR)/.br-toolchain-test-dlang.tmp ; \ - printf 'import std.stdio;\nvoid main() { writeln("Hello World!"); }\n' | \ - $${__CROSS_GDC} -x d -o $${__o} - ; \ - if test $$? -ne 0 ; then \ - rm -f $${__o}* ; \ + __HAS_DLANG=`printf 'import std.stdio;\nvoid main() { writeln("Hello World!"); }\n' | \ + $${__CROSS_GDC} -x d -o $${__o} - >/dev/null 2>&1 && echo y`; \ + rm -f $${__o}* ; \ + if [ "$${__HAS_DLANG}" != "y" -a "$(BR2_TOOLCHAIN_HAS_DLANG)" = y ] ; then \ echo "D language support is selected but is not available in external toolchain" ; \ exit 1 ; \ - fi ; \ - rm -f $${__o}* \ + elif [ "$${__HAS_DLANG}" = "y" -a "$(BR2_TOOLCHAIN_HAS_DLANG)" != y ] ; then \ + echo "D language support is not selected but is available in external toolchain" ; \ + exit 1 ; \ + fi \ # # @@ -371,14 +381,16 @@ check_dlang = \ check_fortran = \ __CROSS_FC=$(strip $1) ; \ __o=$(BUILD_DIR)/.br-toolchain-test-fortran.tmp ; \ - printf 'program hello\n\tprint *, "Hello Fortran!\\n"\nend program hello\n' | \ - $${__CROSS_FC} -x f95 -o $${__o} - ; \ - if test $$? -ne 0 ; then \ - rm -f $${__o}* ; \ + __HAS_FORTRAN=`printf 'program hello\n\tprint *, "Hello Fortran!\\\n"\nend program hello\n' | \ + $${__CROSS_FC} -x f95 -ffree-form -o $${__o} - 2>/dev/null && echo y`; \ + rm -f $${__o}* ; \ + if [ "$${__HAS_FORTRAN}" != "y" -a "$(BR2_TOOLCHAIN_HAS_FORTRAN)" = y ] ; then \ echo "Fortran support is selected but is not available in external toolchain" ; \ exit 1 ; \ - fi ; \ - rm -f $${__o}* \ + elif [ "$${__HAS_FORTRAN}" = "y" -a "$(BR2_TOOLCHAIN_HAS_FORTRAN)" != y ] ; then \ + echo "Fortran support is not selected but is available in external toolchain" ; \ + exit 1 ; \ + fi \ # # @@ -389,14 +401,16 @@ check_fortran = \ check_openmp = \ __CROSS_CC=$(strip $1) ; \ __o=$(BUILD_DIR)/.br-toolchain-test-openmp.tmp ; \ - printf '\#include \nint main(void) { return omp_get_thread_num(); }' | \ - $${__CROSS_CC} -fopenmp -x c -o $${__o} - ; \ - if test $$? -ne 0 ; then \ - rm -f $${__o}* ; \ + __HAS_OPENMP=`printf '\#include \nint main(void) { return omp_get_thread_num(); }' | \ + $${__CROSS_CC} -fopenmp -x c -o $${__o} - >/dev/null 2>&1 && echo y` ; \ + rm -f $${__o}* ; \ + if [ "$${__HAS_OPENMP}" != "y" -a "$(BR2_TOOLCHAIN_HAS_OPENMP)" = y ] ; then \ echo "OpenMP support is selected but is not available in external toolchain"; \ exit 1 ; \ - fi ; \ - rm -f $${__o}* \ + elif [ "$${__HAS_OPENMP}" = "y" -a "$(BR2_TOOLCHAIN_HAS_OPENMP)" != y ] ; then \ + echo "OpenMP support is not selected but is available in external toolchain"; \ + exit 1 ; \ + fi \ # # Check that the cross-compiler given in the configuration exists @@ -417,12 +431,16 @@ check_cross_compiler_exists = \ # the host tuple. # - Exclude distro-class toolchains which are not relocatable. # - Exclude broken toolchains which return "libc.a" with -print-file-name. +# - Exclude toolchains used with wrong toolchain cflags or broken toolchains +# which return "libc.a" with -print-file-name and toolchain cflags. # - Exclude toolchains which doesn't support --sysroot option. # # $1: cross-gcc path +# $1: toolchain cflags # check_unusable_toolchain = \ __CROSS_CC=$(strip $1) ; \ + __TOOLCHAIN_CFLAGS=$(strip $2) ; \ vendor=`$${__CROSS_CC} -dumpmachine | cut -f2 -d'-'` ; \ if test "$${vendor}" = "angstrom" ; then \ echo "Angstrom toolchains are not pure toolchains: they contain" ; \ @@ -444,6 +462,13 @@ check_unusable_toolchain = \ echo "Unable to detect the toolchain sysroot, Buildroot cannot use this toolchain." ; \ exit 1 ; \ fi ; \ + libc_a_archsysroot_path=`$${__CROSS_CC} $${__TOOLCHAIN_CFLAGS} -print-file-name=libc.a` ; \ + if test "$${libc_a_archsysroot_path}" = "libc.a" ; then \ + echo "Unable to detect the toolchain architecture sysroot." ; \ + echo "Please check the Target Architecture Variant selected, the toolchains may not support it." ; \ + echo "Buildroot cannot use this toolchain." ; \ + exit 1 ; \ + fi; \ sysroot_dir="$(call toolchain_find_sysroot,$${__CROSS_CC})" ; \ if test -z "$${sysroot_dir}" ; then \ echo "External toolchain doesn't support --sysroot. Cannot use." ; \ @@ -458,7 +483,7 @@ check_unusable_toolchain = \ # check_toolchain_ssp = \ __CROSS_CC=$(strip $1) ; \ - __HAS_SSP=`echo 'void main(){}' | $${__CROSS_CC} -Werror -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \ + __HAS_SSP=`echo 'int main(){}' | $${__CROSS_CC} -Werror -fstack-protector -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 && echo y` ; \ if [ "$(BR2_TOOLCHAIN_HAS_SSP)" != "y" -a "$${__HAS_SSP}" = "y" ] ; then \ echo "SSP support available in this toolchain, please enable BR2_TOOLCHAIN_EXTERNAL_HAS_SSP" ; \ exit 1 ; \ @@ -469,7 +494,7 @@ check_toolchain_ssp = \ fi ; \ __SSP_OPTION=$(2); \ if [ -n "$${__SSP_OPTION}" ] ; then \ - if ! echo 'void main(){}' | $${__CROSS_CC} -Werror $${__SSP_OPTION} -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 ; then \ + if ! echo 'int main(){}' | $${__CROSS_CC} -Werror $${__SSP_OPTION} -x c - -o $(BUILD_DIR)/.br-toolchain-test.tmp >/dev/null 2>&1 ; then \ echo "SSP option $${__SSP_OPTION} not available in this toolchain, please select another SSP level" ; \ exit 1 ; \ fi; \ diff --git a/toolchain/toolchain-bare-metal-buildroot/Config.in b/toolchain/toolchain-bare-metal-buildroot/Config.in new file mode 100644 index 00000000000..6fe969357f6 --- /dev/null +++ b/toolchain/toolchain-bare-metal-buildroot/Config.in @@ -0,0 +1,11 @@ +if BR2_TOOLCHAIN_BARE_METAL_BUILDROOT + +config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH + string "architecture tuple" + help + This option allows to define the architecture tuple for the + bare-metal toolchain. + +source "package/newlib-bare-metal/Config.in" + +endif # BR2_TOOLCHAIN_BARE_METAL_BUILDROOT diff --git a/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk b/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk new file mode 100644 index 00000000000..dbfe30a910d --- /dev/null +++ b/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-bare-metal-buildroot +# +################################################################################ + +TOOLCHAIN_BARE_METAL_BUILDROOT_DEPENDENCIES = newlib-bare-metal +TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE = $(call qstrip,$(BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)) +TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT = $(HOST_DIR)/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)/sysroot +TOOLCHAIN_BARE_METAL_BUILDROOT_ADD_TOOLCHAIN_DEPENDENCY = NO + +$(eval $(virtual-package)) diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 64f7892f98b..0173f40d976 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -111,4 +111,5 @@ source "package/uclibc/Config.in" source "package/glibc/Config.in" source "package/binutils/Config.in.host" source "package/gcc/Config.in.host" +source "package/gcc/Config.in" endif diff --git a/toolchain/toolchain-buildroot/toolchain-buildroot.mk b/toolchain/toolchain-buildroot/toolchain-buildroot.mk index b30cc332d2b..76862fa2e3d 100644 --- a/toolchain/toolchain-buildroot/toolchain-buildroot.mk +++ b/toolchain/toolchain-buildroot/toolchain-buildroot.mk @@ -6,12 +6,15 @@ BR_LIBC = $(call qstrip,$(BR2_TOOLCHAIN_BUILDROOT_LIBC)) -# Triggering the build of the host-gcc-final will automatically do the +# Triggering the build of the gcc-final will automatically do the # build of binutils, uClibc, kernel headers and all the intermediate # gcc steps. -TOOLCHAIN_BUILDROOT_DEPENDENCIES = host-gcc-final +TOOLCHAIN_BUILDROOT_DEPENDENCIES = gcc-final TOOLCHAIN_BUILDROOT_ADD_TOOLCHAIN_DEPENDENCY = NO +# Not really a virtual package, but we use the virtual package infra here so +# both the build log and build directory look nicer (toolchain-buildroot-virtual +# instead of toolchain-buildroot-undefined) $(eval $(virtual-package)) diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index c1c159cb8eb..af9082cf6eb 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -11,7 +11,6 @@ choice # Aarch64 (use ARM toolchain by default) source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" -source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in" # Aarch64 big-endian source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in" @@ -23,15 +22,12 @@ source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in" # ARM (use ARM toolchain by default) source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in" source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" -source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in" # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in" -# MIPS (use codesourcery toolchain by default) +# MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in" -source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in" -source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in" # NIOSII source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in" @@ -115,7 +111,6 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX # Aarch64 source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options" # Aarch64 big-endian source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options" @@ -127,15 +122,12 @@ source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.o # ARM source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options" source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options" # ARM big-endian source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options" # MIPS source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options" -source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options" # NIOSII source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options" diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 299b6008aa1..ddf1d70ab42 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -563,7 +563,7 @@ endif # kernel headers version, type of C library and all C library features. define $(2)_CONFIGURE_CMDS $$(Q)$$(call check_cross_compiler_exists,$$(TOOLCHAIN_EXTERNAL_CC)) - $$(Q)$$(call check_unusable_toolchain,$$(TOOLCHAIN_EXTERNAL_CC)) + $$(Q)$$(call check_unusable_toolchain,$$(TOOLCHAIN_EXTERNAL_CC),"$$(TOOLCHAIN_EXTERNAL_CFLAGS)") $$(Q)SYSROOT_DIR="$$(call toolchain_find_sysroot,$$(TOOLCHAIN_EXTERNAL_CC))" ; \ $$(call check_kernel_headers_version,\ $$(BUILD_DIR),\ @@ -576,18 +576,10 @@ define $(2)_CONFIGURE_CMDS $$(call check_arm_abi,\ "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)") ; \ fi ; \ - if test "$$(BR2_INSTALL_LIBSTDCPP)" = "y" ; then \ - $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ - fi ; \ - if test "$$(BR2_TOOLCHAIN_HAS_DLANG)" = "y" ; then \ - $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ - fi ; \ - if test "$$(BR2_TOOLCHAIN_HAS_FORTRAN)" = "y" ; then \ - $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ - fi ; \ - if test "$$(BR2_TOOLCHAIN_HAS_OPENMP)" = "y" ; then \ - $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ - fi ; \ + $$(call check_cplusplus,$$(TOOLCHAIN_EXTERNAL_CXX)) ; \ + $$(call check_dlang,$$(TOOLCHAIN_EXTERNAL_GDC)) ; \ + $$(call check_fortran,$$(TOOLCHAIN_EXTERNAL_FC)) ; \ + $$(call check_openmp,$$(TOOLCHAIN_EXTERNAL_CC)) ; \ if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \ $$(call check_uclibc,$$$${SYSROOT_DIR}) ; \ elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \ diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in index eeb88579feb..1cee601a89a 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in @@ -1,12 +1,13 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE - bool "Arm AArch64 BE 2021.07" + bool "Arm AArch64 BE 13.2.rel1" depends on BR2_aarch64_be depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_OPENMP help diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash index 1079917c98a..a9830c43c32 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash @@ -1,4 +1,2 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64_be-none-linux-gnu.tar.xz.asc -md5 54cbaef7db7eb3de27732500f9da9c6f gcc-arm-10.3-2021.07-x86_64-aarch64_be-none-linux-gnu.tar.xz -# locally calculated -sha256 63c34cac07ceadd74620ea87f27af1aa6a6f55c20a5bc116af21a59ddb6b6a6a gcc-arm-10.3-2021.07-x86_64-aarch64_be-none-linux-gnu.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64_be-none-linux-gnu.tar.xz.sha256asc +sha256 fe864b2b15127f58867a171cfcd639318609e734fbc8b78bb40258312a21a097 arm-gnu-toolchain-13.2.rel1-x86_64-aarch64_be-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk index 5a6dbc60d5b..7771269b0d5 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 2021.07 -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)/binrel +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 13.2.rel1 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SITE = https://developer.arm.com/-/media/Files/downloads/gnu/$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)/binrel -TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SOURCE = gcc-arm-10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-none-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SOURCE = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-none-linux-gnu.tar.xz $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index 9eb5d64a9d1..2565707def9 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,12 +1,13 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 - bool "Arm AArch64 2021.07" + bool "Arm AArch64 13.2.rel1" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_OPENMP help diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash index ca1ea48bcb6..9de90d4b06e 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -1,4 +1,2 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz.asc -md5 07bbe2b5277b75ba36a924e9136366a4 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz -# locally calculated -sha256 1e33d53dea59c8de823bbdfe0798280bdcd138636c7060da9d77a97ded095a84 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz.sha256asc +sha256 12fcdf13a7430655229b20438a49e8566e26551ba08759922cdaf4695b0d4e23 arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk index 356e0810b3f..f9adda89214 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2021.07 -TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)/binrel +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 13.2.rel1 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu/$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)/binrel -TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-10.3-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-none-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-none-linux-gnu.tar.xz $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index 28c6541406e..bee8d61164b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -3,22 +3,23 @@ comment "Arm toolchains available for Cortex-A with NEON + EABIhf" depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF || !BR2_ARM_CPU_HAS_NEON config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM - bool "Arm ARM 2021.07" + bool "Arm ARM 13.2.rel1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_ARM_CPU_HAS_NEON depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64" depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_OPENMP help - Arm toolchain for the ARM architecture. It uses GCC 10.3, - GDB 10.2, glibc 2.33, Binutils 2.36.1. It generates code + Arm toolchain for the ARM architecture. It uses GCC 13.2, + GDB 13, glibc 2.38, Binutils 2.41. It generates code that runs on all Cortex-A profile devices. The code generated uses the hard floating point calling convention, and uses the NEON FPU instructions. diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash index 1fc2c5de57d..e979e5f5080 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash @@ -1,7 +1,4 @@ -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz.asc -md5 87ec580b290df2febc7c476f59484635 gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz -# From https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-aarch64-arm-none-linux-gnueabihf.tar.xz.asc -md5 0f1c5c90f5c62e1d1066f75fb3e51e21 gcc-arm-10.3-2021.07-aarch64-arm-none-linux-gnueabihf.tar.xz -# locally calculated -sha256 aa074fa8371a4f73fecbd16bd62c8b1945f23289e26414794f130d6ccdf8e39c gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz -sha256 fccd7af76988da2b077f939eb2a78baa9935810918d2bf3f837bc74f52efa825 gcc-arm-10.3-2021.07-aarch64-arm-none-linux-gnueabihf.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz.sha256asc +sha256 df0f4927a67d1fd366ff81e40bd8c385a9324fbdde60437a512d106215f257b3 arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz +# From https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-aarch64-arm-none-linux-gnueabihf.tar.xz.sha256asc +sha256 8ad384bb328bccc44396d85c8f8113b7b8c5e11bcfef322e77cda3ebe7baadb5 arm-gnu-toolchain-13.2.rel1-aarch64-arm-none-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk index 8731a4f0e5d..5962121af6d 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk @@ -4,9 +4,9 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2021.07 -TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)/binrel +TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 13.2.rel1 +TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu/$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)/binrel -TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = gcc-arm-10.3-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-$(HOSTARCH)-arm-none-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = arm-gnu-toolchain-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-$(HOSTARCH)-arm-none-linux-gnueabihf.tar.xz $(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options index c9eec1915bc..37daa731f2b 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options @@ -58,13 +58,15 @@ config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL choice prompt "Bootlin toolchain variant" config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE - bool "aarch64 glibc bleeding-edge 2021.11-1" + bool "aarch64 glibc bleeding-edge 2023.11-1" depends on BR2_aarch64 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -81,13 +83,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE - bool "aarch64 glibc stable 2021.11-1" + bool "aarch64 glibc stable 2023.11-1" depends on BR2_aarch64 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -104,13 +108,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE - bool "aarch64 musl bleeding-edge 2021.11-1" + bool "aarch64 musl bleeding-edge 2023.11-1" depends on BR2_aarch64 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -127,13 +133,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE - bool "aarch64 musl stable 2021.11-1" + bool "aarch64 musl stable 2023.11-1" depends on BR2_aarch64 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -149,14 +157,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE - bool "aarch64 uclibc bleeding-edge 2021.11-1" + bool "aarch64 uclibc bleeding-edge 2023.11-1" depends on BR2_aarch64 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -172,14 +182,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE - bool "aarch64 uclibc stable 2021.11-1" + bool "aarch64 uclibc stable 2023.11-1" depends on BR2_aarch64 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -195,13 +207,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE - bool "aarch64be glibc bleeding-edge 2021.11-1" + bool "aarch64be glibc bleeding-edge 2023.11-1" depends on BR2_aarch64_be + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -218,13 +232,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE - bool "aarch64be glibc stable 2021.11-1" + bool "aarch64be glibc stable 2023.11-1" depends on BR2_aarch64_be + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -240,15 +256,66 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_MUSL_BLEEDING_EDGE + bool "aarch64be musl bleeding-edge 2023.11-1" + depends on BR2_aarch64_be + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the aarch64be architecture, using the + musl C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_MUSL_STABLE + bool "aarch64be musl stable 2023.11-1" + depends on BR2_aarch64_be + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the aarch64be architecture, using the + musl C library. This is a stable version, which means it is + using stable and proven versions of gcc, gdb and binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE - bool "aarch64be uclibc bleeding-edge 2021.11-1" + bool "aarch64be uclibc bleeding-edge 2023.11-1" depends on BR2_aarch64_be - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -264,14 +331,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE - bool "aarch64be uclibc stable 2021.11-1" + bool "aarch64be uclibc stable 2023.11-1" depends on BR2_aarch64_be - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -287,11 +356,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE - bool "arcle-750d uclibc bleeding-edge 2021.11-1" + bool "arcle-750d uclibc bleeding-edge 2023.11-1" depends on BR2_arcle depends on BR2_arc750d - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -311,11 +381,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE - bool "arcle-750d uclibc stable 2021.11-1" + bool "arcle-750d uclibc stable 2023.11-1" depends on BR2_arcle depends on BR2_arc750d + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -335,12 +406,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE - bool "arcle-hs38 glibc bleeding-edge 2021.11-1" + bool "arcle-hs38 glibc bleeding-edge 2023.11-1" depends on BR2_arcle depends on BR2_archs38 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_SSP @@ -359,9 +431,10 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE - bool "arcle-hs38 glibc stable 2021.11-3" + bool "arcle-hs38 glibc stable 2023.11-1" depends on BR2_arcle depends on BR2_archs38 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 @@ -383,11 +456,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE - bool "arcle-hs38 uclibc bleeding-edge 2021.11-1" + bool "arcle-hs38 uclibc bleeding-edge 2023.11-1" depends on BR2_arcle depends on BR2_archs38 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -407,11 +481,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE - bool "arcle-hs38 uclibc stable 2021.11-1" + bool "arcle-hs38 uclibc stable 2023.11-1" depends on BR2_arcle depends on BR2_archs38 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -431,15 +506,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE - bool "armv5-eabi glibc bleeding-edge 2021.11-1" + bool "armv5-eabi glibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -456,15 +533,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE - bool "armv5-eabi glibc stable 2021.11-1" + bool "armv5-eabi glibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -481,15 +560,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE - bool "armv5-eabi musl bleeding-edge 2021.11-1" + bool "armv5-eabi musl bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -506,15 +587,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE - bool "armv5-eabi musl stable 2021.11-1" + bool "armv5-eabi musl stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -531,16 +614,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE - bool "armv5-eabi uclibc bleeding-edge 2021.11-1" + bool "armv5-eabi uclibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -556,16 +641,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE - bool "armv5-eabi uclibc stable 2021.11-1" + bool "armv5-eabi uclibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV5 depends on BR2_ARM_EABI - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -581,15 +668,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE - bool "armv6-eabihf glibc bleeding-edge 2021.11-1" + bool "armv6-eabihf glibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -606,15 +695,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE - bool "armv6-eabihf glibc stable 2021.11-1" + bool "armv6-eabihf glibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -631,15 +722,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE - bool "armv6-eabihf musl bleeding-edge 2021.11-1" + bool "armv6-eabihf musl bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -656,15 +749,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE - bool "armv6-eabihf musl stable 2021.11-1" + bool "armv6-eabihf musl stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -681,16 +776,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE - bool "armv6-eabihf uclibc bleeding-edge 2021.11-1" + bool "armv6-eabihf uclibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -706,16 +803,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE - bool "armv6-eabihf uclibc stable 2021.11-1" + bool "armv6-eabihf uclibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV6 depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -731,15 +830,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE - bool "armv7-eabihf glibc bleeding-edge 2021.11-1" + bool "armv7-eabihf glibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -756,15 +857,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE - bool "armv7-eabihf glibc stable 2021.11-1" + bool "armv7-eabihf glibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -781,15 +884,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE - bool "armv7-eabihf musl bleeding-edge 2021.11-1" + bool "armv7-eabihf musl bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -806,15 +911,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE - bool "armv7-eabihf musl stable 2021.11-1" + bool "armv7-eabihf musl stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -831,16 +938,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE - bool "armv7-eabihf uclibc bleeding-edge 2021.11-1" + bool "armv7-eabihf uclibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -856,16 +965,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE - bool "armv7-eabihf uclibc stable 2021.11-1" + bool "armv7-eabihf uclibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -881,15 +992,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_BLEEDING_EDGE - bool "armebv7-eabihf glibc bleeding-edge 2021.11-1" + bool "armebv7-eabihf glibc bleeding-edge 2023.11-1" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -906,15 +1019,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_STABLE - bool "armebv7-eabihf glibc stable 2021.11-1" + bool "armebv7-eabihf glibc stable 2023.11-1" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -931,15 +1046,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_BLEEDING_EDGE - bool "armebv7-eabihf musl bleeding-edge 2021.11-1" + bool "armebv7-eabihf musl bleeding-edge 2023.11-1" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -956,15 +1073,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_STABLE - bool "armebv7-eabihf musl stable 2021.11-1" + bool "armebv7-eabihf musl stable 2023.11-1" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -981,16 +1100,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_BLEEDING_EDGE - bool "armebv7-eabihf uclibc bleeding-edge 2021.11-1" + bool "armebv7-eabihf uclibc bleeding-edge 2023.11-1" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1006,16 +1127,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_STABLE - bool "armebv7-eabihf uclibc stable 2021.11-1" + bool "armebv7-eabihf uclibc stable 2023.11-1" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A depends on BR2_ARM_EABIHF - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1031,15 +1154,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE - bool "armv7m uclibc bleeding-edge 2021.11-1" + bool "armv7m uclibc bleeding-edge 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7M - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1053,15 +1178,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE - bool "armv7m uclibc stable 2021.11-1" + bool "armv7m uclibc stable 2023.11-1" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7M - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1074,15 +1201,117 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_GLIBC_BLEEDING_EDGE + bool "m68k-68xxx glibc bleeding-edge 2023.11-1" + depends on BR2_m68k_m68k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the m68k-68xxx architecture, using + the glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_GLIBC_STABLE + bool "m68k-68xxx glibc stable 2023.11-1" + depends on BR2_m68k_m68k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the m68k-68xxx architecture, using + the glibc C library. This is a stable version, which means + it is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_MUSL_BLEEDING_EDGE + bool "m68k-68xxx musl bleeding-edge 2023.11-1" + depends on BR2_m68k_m68k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the m68k-68xxx architecture, using + the musl C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_MUSL_STABLE + bool "m68k-68xxx musl stable 2023.11-1" + depends on BR2_m68k_m68k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the m68k-68xxx architecture, using + the musl C library. This is a stable version, which means + it is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE - bool "m68k-68xxx uclibc bleeding-edge 2021.11-1" + bool "m68k-68xxx uclibc bleeding-edge 2023.11-1" depends on BR2_m68k_m68k - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1098,14 +1327,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE - bool "m68k-68xxx uclibc stable 2021.11-1" + bool "m68k-68xxx uclibc stable 2023.11-1" depends on BR2_m68k_m68k - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1121,14 +1352,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE - bool "m68k-coldfire uclibc bleeding-edge 2021.11-1" + bool "m68k-coldfire uclibc bleeding-edge 2023.11-1" depends on BR2_m68k_cf - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1142,14 +1375,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE - bool "m68k-coldfire uclibc stable 2021.11-1" + bool "m68k-coldfire uclibc stable 2023.11-1" depends on BR2_m68k_cf - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1163,12 +1398,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE - bool "microblazebe glibc bleeding-edge 2021.11-1" + bool "microblazebe glibc bleeding-edge 2023.11-1" depends on BR2_microblazebe + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1186,12 +1422,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE - bool "microblazebe glibc stable 2021.11-1" + bool "microblazebe glibc stable 2023.11-1" depends on BR2_microblazebe + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1209,12 +1446,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE - bool "microblazebe musl bleeding-edge 2021.11-1" + bool "microblazebe musl bleeding-edge 2023.11-1" depends on BR2_microblazebe + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1232,12 +1470,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE - bool "microblazebe musl stable 2021.11-1" + bool "microblazebe musl stable 2023.11-1" depends on BR2_microblazebe + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1255,11 +1494,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE - bool "microblazebe uclibc bleeding-edge 2021.11-1" + bool "microblazebe uclibc bleeding-edge 2023.11-1" depends on BR2_microblazebe + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -1279,11 +1519,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE - bool "microblazebe uclibc stable 2021.11-1" + bool "microblazebe uclibc stable 2023.11-1" depends on BR2_microblazebe + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -1303,12 +1544,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE - bool "microblazeel glibc bleeding-edge 2021.11-1" + bool "microblazeel glibc bleeding-edge 2023.11-1" depends on BR2_microblazeel + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1326,12 +1568,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE - bool "microblazeel glibc stable 2021.11-1" + bool "microblazeel glibc stable 2023.11-1" depends on BR2_microblazeel + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1349,12 +1592,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE - bool "microblazeel musl bleeding-edge 2021.11-1" + bool "microblazeel musl bleeding-edge 2023.11-1" depends on BR2_microblazeel + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1372,12 +1616,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE - bool "microblazeel musl stable 2021.11-1" + bool "microblazeel musl stable 2023.11-1" depends on BR2_microblazeel + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN select BR2_TOOLCHAIN_HAS_THREADS @@ -1395,11 +1640,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE - bool "microblazeel uclibc bleeding-edge 2021.11-1" + bool "microblazeel uclibc bleeding-edge 2023.11-1" depends on BR2_microblazeel + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -1419,11 +1665,12 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE - bool "microblazeel uclibc stable 2021.11-1" + bool "microblazeel uclibc stable 2023.11-1" depends on BR2_microblazeel + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP @@ -1443,15 +1690,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE - bool "mips32 glibc bleeding-edge 2021.11-1" + bool "mips32 glibc bleeding-edge 2023.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1468,15 +1717,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE - bool "mips32 glibc stable 2021.11-1" + bool "mips32 glibc stable 2023.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1493,15 +1744,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE - bool "mips32 musl bleeding-edge 2021.11-1" + bool "mips32 musl bleeding-edge 2023.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1518,15 +1771,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE - bool "mips32 musl stable 2021.11-1" + bool "mips32 musl stable 2023.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1542,16 +1797,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE - bool "mips32 uclibc bleeding-edge 2021.11-1" + bool "mips32 uclibc bleeding-edge 2023.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1567,16 +1824,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE - bool "mips32 uclibc stable 2021.11-1" + bool "mips32 uclibc stable 2023.11-1" depends on BR2_mips depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1592,15 +1851,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE - bool "mips32el glibc bleeding-edge 2021.11-1" + bool "mips32el glibc bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1617,15 +1878,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE - bool "mips32el glibc stable 2021.11-1" + bool "mips32el glibc stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1642,15 +1905,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE - bool "mips32el musl bleeding-edge 2021.11-1" + bool "mips32el musl bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1667,15 +1932,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE - bool "mips32el musl stable 2021.11-1" + bool "mips32el musl stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1691,16 +1958,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE - bool "mips32el uclibc bleeding-edge 2021.11-1" + bool "mips32el uclibc bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1716,16 +1985,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE - bool "mips32el uclibc stable 2021.11-1" + bool "mips32el uclibc stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1741,15 +2012,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE - bool "mips32r5el glibc bleeding-edge 2021.11-1" + bool "mips32r5el glibc bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1766,15 +2039,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE - bool "mips32r5el glibc stable 2021.11-1" + bool "mips32r5el glibc stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1791,15 +2066,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE - bool "mips32r5el musl bleeding-edge 2021.11-1" + bool "mips32r5el musl bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1816,15 +2093,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE - bool "mips32r5el musl stable 2021.11-1" + bool "mips32r5el musl stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1841,16 +2120,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE - bool "mips32r5el uclibc bleeding-edge 2021.11-1" + bool "mips32r5el uclibc bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1866,16 +2147,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE - bool "mips32r5el uclibc stable 2021.11-1" + bool "mips32r5el uclibc stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r5 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -1891,15 +2174,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE - bool "mips32r6el glibc bleeding-edge 2021.11-1" + bool "mips32r6el glibc bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1916,15 +2201,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE - bool "mips32r6el glibc stable 2021.11-1" + bool "mips32r6el glibc stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1941,15 +2228,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE - bool "mips32r6el musl bleeding-edge 2021.11-1" + bool "mips32r6el musl bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1966,15 +2255,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE - bool "mips32r6el musl stable 2021.11-1" + bool "mips32r6el musl stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -1991,16 +2282,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE - bool "mips32r6el uclibc bleeding-edge 2021.11-1" + bool "mips32r6el uclibc bleeding-edge 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2016,16 +2309,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE - bool "mips32r6el uclibc stable 2021.11-1" + bool "mips32r6el uclibc stable 2023.11-1" depends on BR2_mipsel depends on BR2_mips_32r6 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2041,16 +2336,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE - bool "mips64-n32 glibc bleeding-edge 2021.11-1" + bool "mips64-n32 glibc bleeding-edge 2023.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2067,16 +2364,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE - bool "mips64-n32 glibc stable 2021.11-1" + bool "mips64-n32 glibc stable 2023.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2093,16 +2392,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE - bool "mips64-n32 musl bleeding-edge 2021.11-1" + bool "mips64-n32 musl bleeding-edge 2023.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2119,16 +2420,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE - bool "mips64-n32 musl stable 2021.11-1" + bool "mips64-n32 musl stable 2023.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2145,17 +2448,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE - bool "mips64-n32 uclibc bleeding-edge 2021.11-1" + bool "mips64-n32 uclibc bleeding-edge 2023.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2171,17 +2476,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE - bool "mips64-n32 uclibc stable 2021.11-1" + bool "mips64-n32 uclibc stable 2023.11-1" depends on BR2_mips64 depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2197,16 +2504,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE - bool "mips64el-n32 glibc bleeding-edge 2021.11-1" + bool "mips64el-n32 glibc bleeding-edge 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2223,16 +2532,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE - bool "mips64el-n32 glibc stable 2021.11-1" + bool "mips64el-n32 glibc stable 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2249,16 +2560,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE - bool "mips64el-n32 musl bleeding-edge 2021.11-1" + bool "mips64el-n32 musl bleeding-edge 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2275,16 +2588,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE - bool "mips64el-n32 musl stable 2021.11-1" + bool "mips64el-n32 musl stable 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2301,17 +2616,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE - bool "mips64el-n32 uclibc bleeding-edge 2021.11-1" + bool "mips64el-n32 uclibc bleeding-edge 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2327,17 +2644,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE - bool "mips64el-n32 uclibc stable 2021.11-1" + bool "mips64el-n32 uclibc stable 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2353,16 +2672,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE - bool "mips64r6el-n32 glibc bleeding-edge 2021.11-1" + bool "mips64r6el-n32 glibc bleeding-edge 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2379,16 +2700,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE - bool "mips64r6el-n32 glibc stable 2021.11-1" + bool "mips64r6el-n32 glibc stable 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2405,16 +2728,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE - bool "mips64r6el-n32 musl bleeding-edge 2021.11-1" + bool "mips64r6el-n32 musl bleeding-edge 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2431,16 +2756,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE - bool "mips64r6el-n32 musl stable 2021.11-1" + bool "mips64r6el-n32 musl stable 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2457,17 +2784,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE - bool "mips64r6el-n32 uclibc bleeding-edge 2021.11-1" + bool "mips64r6el-n32 uclibc bleeding-edge 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2483,17 +2812,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE - bool "mips64r6el-n32 uclibc stable 2021.11-1" + bool "mips64r6el-n32 uclibc stable 2023.11-1" depends on BR2_mips64el depends on BR2_mips_64r6 depends on BR2_MIPS_NABI32 depends on !BR2_MIPS_SOFT_FLOAT - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2509,13 +2840,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE - bool "nios2 glibc bleeding-edge 2021.11-1" + bool "nios2 glibc bleeding-edge 2023.11-1" depends on BR2_nios2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2532,13 +2865,15 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE - bool "nios2 glibc stable 2021.11-1" + bool "nios2 glibc stable 2023.11-1" depends on BR2_nios2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2554,15 +2889,69 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE - bool "openrisc musl bleeding-edge 2021.11-5" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_BLEEDING_EDGE + bool "openrisc glibc bleeding-edge 2023.11-1" depends on BR2_or1k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the openrisc architecture, using the + glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_STABLE + bool "openrisc glibc stable 2023.11-1" + depends on BR2_or1k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the openrisc architecture, using the + glibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE + bool "openrisc musl bleeding-edge 2023.11-1" + depends on BR2_or1k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2579,14 +2968,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE - bool "openrisc musl stable 2021.11-5" + bool "openrisc musl stable 2023.11-1" depends on BR2_or1k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2602,15 +2993,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE - bool "openrisc uclibc bleeding-edge 2021.11-5" + bool "openrisc uclibc bleeding-edge 2023.11-1" depends on BR2_or1k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2626,15 +3019,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE - bool "openrisc uclibc stable 2021.11-5" + bool "openrisc uclibc stable 2023.11-1" depends on BR2_or1k + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_EXTERNAL_HAS_NO_GDBSERVER - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2650,14 +3045,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE - bool "powerpc-440fp glibc bleeding-edge 2021.11-1" + bool "powerpc-440fp glibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2674,14 +3071,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE - bool "powerpc-440fp glibc stable 2021.11-1" + bool "powerpc-440fp glibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2698,14 +3097,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE - bool "powerpc-440fp musl bleeding-edge 2021.11-1" + bool "powerpc-440fp musl bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2721,14 +3122,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE - bool "powerpc-440fp musl stable 2021.11-1" + bool "powerpc-440fp musl stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2744,15 +3147,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE - bool "powerpc-440fp uclibc bleeding-edge 2021.11-1" + bool "powerpc-440fp uclibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2768,15 +3173,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE - bool "powerpc-440fp uclibc stable 2021.11-1" + bool "powerpc-440fp uclibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_440fp - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2792,14 +3199,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE - bool "powerpc-e300c3 glibc bleeding-edge 2021.11-1" + bool "powerpc-e300c3 glibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2816,14 +3225,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE - bool "powerpc-e300c3 glibc stable 2021.11-1" + bool "powerpc-e300c3 glibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2840,14 +3251,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_BLEEDING_EDGE - bool "powerpc-e300c3 musl bleeding-edge 2021.11-1" + bool "powerpc-e300c3 musl bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2863,14 +3276,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_STABLE - bool "powerpc-e300c3 musl stable 2021.11-1" + bool "powerpc-e300c3 musl stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2886,15 +3301,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_BLEEDING_EDGE - bool "powerpc-e300c3 uclibc bleeding-edge 2021.11-1" + bool "powerpc-e300c3 uclibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2910,15 +3327,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_STABLE - bool "powerpc-e300c3 uclibc stable 2021.11-1" + bool "powerpc-e300c3 uclibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e300c3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -2934,14 +3353,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE - bool "powerpc-e500mc glibc bleeding-edge 2021.11-1" + bool "powerpc-e500mc glibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2958,14 +3379,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE - bool "powerpc-e500mc glibc stable 2021.11-1" + bool "powerpc-e500mc glibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -2982,14 +3405,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE - bool "powerpc-e500mc musl bleeding-edge 2021.11-1" + bool "powerpc-e500mc musl bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3005,14 +3430,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE - bool "powerpc-e500mc musl stable 2021.11-1" + bool "powerpc-e500mc musl stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3028,15 +3455,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE - bool "powerpc-e500mc uclibc bleeding-edge 2021.11-1" + bool "powerpc-e500mc uclibc bleeding-edge 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3052,15 +3481,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE - bool "powerpc-e500mc uclibc stable 2021.11-1" + bool "powerpc-e500mc uclibc stable 2023.11-1" depends on BR2_powerpc depends on BR2_powerpc_e500mc - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3076,14 +3507,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE - bool "powerpc64-e5500 glibc bleeding-edge 2021.11-1" + bool "powerpc64-e5500 glibc bleeding-edge 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e5500 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3100,14 +3533,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE - bool "powerpc64-e5500 glibc stable 2021.11-1" + bool "powerpc64-e5500 glibc stable 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e5500 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3124,14 +3559,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE - bool "powerpc64-e6500 glibc bleeding-edge 2021.11-1" + bool "powerpc64-e6500 glibc bleeding-edge 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3148,14 +3585,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE - bool "powerpc64-e6500 glibc stable 2021.11-1" + bool "powerpc64-e6500 glibc stable 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3172,14 +3611,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_BLEEDING_EDGE - bool "powerpc64-e6500 musl bleeding-edge 2021.11-1" + bool "powerpc64-e6500 musl bleeding-edge 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3196,14 +3637,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_STABLE - bool "powerpc64-e6500 musl stable 2021.11-1" + bool "powerpc64-e6500 musl stable 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_e6500 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3220,14 +3663,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE - bool "powerpc64-power8 glibc bleeding-edge 2021.11-2" + bool "powerpc64-power8 glibc bleeding-edge 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3244,14 +3689,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE - bool "powerpc64-power8 glibc stable 2021.11-1" + bool "powerpc64-power8 glibc stable 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3268,14 +3715,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE - bool "powerpc64-power8 musl bleeding-edge 2021.11-2" + bool "powerpc64-power8 musl bleeding-edge 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3292,14 +3741,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE - bool "powerpc64-power8 musl stable 2021.11-1" + bool "powerpc64-power8 musl stable 2023.11-1" depends on BR2_powerpc64 depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3316,14 +3767,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE - bool "powerpc64le-power8 glibc bleeding-edge 2021.11-2" + bool "powerpc64le-power8 glibc bleeding-edge 2023.11-1" depends on BR2_powerpc64le depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3340,14 +3793,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE - bool "powerpc64le-power8 glibc stable 2021.11-1" + bool "powerpc64le-power8 glibc stable 2023.11-1" depends on BR2_powerpc64le depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3364,14 +3819,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE - bool "powerpc64le-power8 musl bleeding-edge 2021.11-2" + bool "powerpc64le-power8 musl bleeding-edge 2023.11-1" depends on BR2_powerpc64le depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3388,14 +3845,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE - bool "powerpc64le-power8 musl stable 2021.11-1" + bool "powerpc64le-power8 musl stable 2023.11-1" depends on BR2_powerpc64le depends on BR2_powerpc_power8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3412,16 +3871,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE - bool "riscv32-ilp32d glibc bleeding-edge 2021.11-1" + bool "riscv32-ilp32d glibc bleeding-edge 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_32 depends on BR2_RISCV_ABI_ILP32D + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3438,16 +3899,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE - bool "riscv64-lp64d glibc bleeding-edge 2021.11-1" + bool "riscv64-lp64d glibc bleeding-edge 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3464,16 +3927,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE - bool "riscv64-lp64d glibc stable 2021.11-1" + bool "riscv64-lp64d glibc stable 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3490,16 +3955,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE - bool "riscv64-lp64d musl bleeding-edge 2021.11-1" + bool "riscv64-lp64d musl bleeding-edge 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3516,16 +3983,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE - bool "riscv64-lp64d musl stable 2021.11-1" + bool "riscv64-lp64d musl stable 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3542,18 +4011,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE - bool "riscv64-lp64d uclibc bleeding-edge 2021.11-1" + bool "riscv64-lp64d uclibc bleeding-edge 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3569,18 +4040,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE - bool "riscv64-lp64d uclibc stable 2021.11-1" + bool "riscv64-lp64d uclibc stable 2023.11-1" depends on BR2_riscv depends on BR2_riscv_g depends on BR2_RISCV_64 depends on BR2_RISCV_ABI_LP64D depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3596,14 +4069,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_BLEEDING_EDGE - bool "s390x-z13 glibc bleeding-edge 2021.11-1" + bool "s390x-z13 glibc bleeding-edge 2023.11-1" depends on BR2_s390x depends on BR2_s390x_z13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3620,14 +4095,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_STABLE - bool "s390x-z13 glibc stable 2021.11-1" + bool "s390x-z13 glibc stable 2023.11-1" depends on BR2_s390x depends on BR2_s390x_z13 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3644,14 +4121,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE - bool "sh-sh4 glibc bleeding-edge 2021.11-1" + bool "sh-sh4 glibc bleeding-edge 2023.11-1" depends on BR2_sh depends on BR2_sh4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3668,14 +4147,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE - bool "sh-sh4 glibc stable 2021.11-1" + bool "sh-sh4 glibc stable 2023.11-1" depends on BR2_sh depends on BR2_sh4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3692,14 +4173,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE - bool "sh-sh4 musl bleeding-edge 2021.11-1" + bool "sh-sh4 musl bleeding-edge 2023.11-1" depends on BR2_sh depends on BR2_sh4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3716,14 +4199,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE - bool "sh-sh4 musl stable 2021.11-1" + bool "sh-sh4 musl stable 2023.11-1" depends on BR2_sh depends on BR2_sh4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3739,15 +4224,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE - bool "sh-sh4 uclibc bleeding-edge 2021.11-1" + bool "sh-sh4 uclibc bleeding-edge 2023.11-1" depends on BR2_sh depends on BR2_sh4 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3763,15 +4250,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE - bool "sh-sh4 uclibc stable 2021.11-1" + bool "sh-sh4 uclibc stable 2023.11-1" depends on BR2_sh depends on BR2_sh4 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3787,14 +4276,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE - bool "sh-sh4aeb glibc bleeding-edge 2021.11-1" + bool "sh-sh4aeb glibc bleeding-edge 2023.11-1" depends on BR2_sh depends on BR2_sh4aeb + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3811,14 +4302,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE - bool "sh-sh4aeb glibc stable 2021.11-1" + bool "sh-sh4aeb glibc stable 2023.11-1" depends on BR2_sh depends on BR2_sh4aeb + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3835,14 +4328,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE - bool "sh-sh4aeb musl bleeding-edge 2021.11-1" + bool "sh-sh4aeb musl bleeding-edge 2023.11-1" depends on BR2_sh depends on BR2_sh4aeb + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3859,14 +4354,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE - bool "sh-sh4aeb musl stable 2021.11-1" + bool "sh-sh4aeb musl stable 2023.11-1" depends on BR2_sh depends on BR2_sh4aeb + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3882,14 +4379,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE - bool "sparc64 glibc bleeding-edge 2021.11-1" + bool "sparc64 glibc bleeding-edge 2023.11-1" depends on BR2_sparc64 depends on BR2_sparc_v9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3906,14 +4405,16 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE - bool "sparc64 glibc stable 2021.11-1" + bool "sparc64 glibc stable 2023.11-1" depends on BR2_sparc64 depends on BR2_sparc_v9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -3930,15 +4431,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE - bool "sparcv8 uclibc bleeding-edge 2021.11-3" + bool "sparcv8 uclibc bleeding-edge 2022.08-2" depends on BR2_sparc depends on BR2_sparc_v8 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3954,15 +4457,17 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE - bool "sparcv8 uclibc stable 2021.11-1" + bool "sparcv8 uclibc stable 2022.08-1" depends on BR2_sparc depends on BR2_sparc_v8 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -3978,16 +4483,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE - bool "x86-64 glibc bleeding-edge 2021.11-5" + bool "x86-64 glibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4004,16 +4511,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE - bool "x86-64 glibc stable 2021.11-5" + bool "x86-64 glibc stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4030,16 +4539,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE - bool "x86-64 musl bleeding-edge 2021.11-5" + bool "x86-64 musl bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4056,16 +4567,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE - bool "x86-64 musl stable 2021.11-5" + bool "x86-64 musl stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4081,17 +4594,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_BLEEDING_EDGE - bool "x86-64 uclibc bleeding-edge 2021.11-5" + bool "x86-64 uclibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4107,17 +4622,19 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_STABLE - bool "x86-64 uclibc stable 2021.11-5" + bool "x86-64 uclibc stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4133,7 +4650,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE - bool "x86-64-v2 glibc bleeding-edge 2021.11-5" + bool "x86-64-v2 glibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4142,11 +4659,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4162,8 +4681,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE - bool "x86-64-v2 musl bleeding-edge 2021.11-5" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_STABLE + bool "x86-64-v2 glibc stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4172,28 +4691,30 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_EXTERNAL_MUSL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC help Bootlin toolchain for the x86-64-v2 architecture, using the - musl C library. This is a bleeding-edge version, which - means it is using the latest versions of gcc, gdb and + glibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and binutils. https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE - bool "x86-64-v2 uclibc bleeding-edge 2021.11-5" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE + bool "x86-64-v2 musl bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4202,28 +4723,30 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 - select BR2_USE_WCHAR - select BR2_ENABLE_LOCALE + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + select BR2_TOOLCHAIN_EXTERNAL_MUSL help Bootlin toolchain for the x86-64-v2 architecture, using the - uclibc C library. This is a bleeding-edge version, which + musl C library. This is a bleeding-edge version, which means it is using the latest versions of gcc, gdb and binutils. https://toolchains.bootlin.com/ -config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE - bool "x86-64-v3 glibc bleeding-edge 2021.11-5" +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_STABLE + bool "x86-64-v2 musl stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4232,30 +4755,161 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 - depends on BR2_X86_CPU_HAS_AVX - depends on BR2_X86_CPU_HAS_AVX2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_EXTERNAL_MUSL help - Bootlin toolchain for the x86-64-v3 architecture, using the - glibc C library. This is a bleeding-edge version, which - means it is using the latest versions of gcc, gdb and + Bootlin toolchain for the x86-64-v2 architecture, using the + musl C library. This is a stable version, which means it is + using stable and proven versions of gcc, gdb and binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE + bool "x86-64-v2 uclibc bleeding-edge 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v2 architecture, using the + uclibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_STABLE + bool "x86-64-v2 uclibc stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v2 architecture, using the + uclibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE + bool "x86-64-v3 glibc bleeding-edge 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-v3 architecture, using the + glibc C library. This is a bleeding-edge version, which + means it is using the latest versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_STABLE + bool "x86-64-v3 glibc stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-v3 architecture, using the + glibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and binutils. https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE - bool "x86-64-v3 musl bleeding-edge 2021.11-5" + bool "x86-64-v3 musl bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4266,11 +4920,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSE42 depends on BR2_X86_CPU_HAS_AVX depends on BR2_X86_CPU_HAS_AVX2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4286,8 +4942,41 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_STABLE + bool "x86-64-v3 musl stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64-v3 architecture, using the + musl C library. This is a stable version, which means it is + using stable and proven versions of gcc, gdb and binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE - bool "x86-64-v3 uclibc bleeding-edge 2021.11-5" + bool "x86-64-v3 uclibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4298,12 +4987,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSE42 depends on BR2_X86_CPU_HAS_AVX depends on BR2_X86_CPU_HAS_AVX2 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4318,8 +5009,42 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_STABLE + bool "x86-64-v3 uclibc stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v3 architecture, using the + uclibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE - bool "x86-64-v4 glibc bleeding-edge 2021.11-5" + bool "x86-64-v4 glibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4331,11 +5056,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_AVX depends on BR2_X86_CPU_HAS_AVX2 depends on BR2_X86_CPU_HAS_AVX512 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4351,8 +5078,43 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_STABLE + bool "x86-64-v4 glibc stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_X86_CPU_HAS_AVX512 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + help + Bootlin toolchain for the x86-64-v4 architecture, using the + glibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE - bool "x86-64-v4 musl bleeding-edge 2021.11-5" + bool "x86-64-v4 musl bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4364,11 +5126,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_AVX depends on BR2_X86_CPU_HAS_AVX2 depends on BR2_X86_CPU_HAS_AVX512 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4384,8 +5148,42 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_STABLE + bool "x86-64-v4 musl stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_X86_CPU_HAS_AVX512 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + depends on BR2_USE_MMU + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_MUSL + help + Bootlin toolchain for the x86-64-v4 architecture, using the + musl C library. This is a stable version, which means it is + using stable and proven versions of gcc, gdb and binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE - bool "x86-64-v4 uclibc bleeding-edge 2021.11-5" + bool "x86-64-v4 uclibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4397,12 +5195,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_AVX depends on BR2_X86_CPU_HAS_AVX2 depends on BR2_X86_CPU_HAS_AVX512 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4417,8 +5217,43 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ +config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_STABLE + bool "x86-64-v4 uclibc stable 2023.11-1" + depends on BR2_x86_64 + depends on BR2_X86_CPU_HAS_MMX + depends on BR2_X86_CPU_HAS_SSE + depends on BR2_X86_CPU_HAS_SSE2 + depends on BR2_X86_CPU_HAS_SSE3 + depends on BR2_X86_CPU_HAS_SSSE3 + depends on BR2_X86_CPU_HAS_SSE4 + depends on BR2_X86_CPU_HAS_SSE42 + depends on BR2_X86_CPU_HAS_AVX + depends on BR2_X86_CPU_HAS_AVX2 + depends on BR2_X86_CPU_HAS_AVX512 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + select BR2_USE_WCHAR + select BR2_ENABLE_LOCALE + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + help + Bootlin toolchain for the x86-64-v4 architecture, using the + uclibc C library. This is a stable version, which means it + is using stable and proven versions of gcc, gdb and + binutils. + + https://toolchains.bootlin.com/ + config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE - bool "x86-64-core-i7 glibc bleeding-edge 2021.11-1" + bool "x86-64-core-i7 glibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4427,11 +5262,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4448,7 +5285,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE - bool "x86-64-core-i7 glibc stable 2021.11-1" + bool "x86-64-core-i7 glibc stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4457,11 +5294,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4478,7 +5317,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE - bool "x86-64-core-i7 musl bleeding-edge 2021.11-1" + bool "x86-64-core-i7 musl bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4487,11 +5326,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4508,7 +5349,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE - bool "x86-64-core-i7 musl stable 2021.11-1" + bool "x86-64-core-i7 musl stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4517,11 +5358,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4538,7 +5381,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE - bool "x86-64-core-i7 uclibc bleeding-edge 2021.11-1" + bool "x86-64-core-i7 uclibc bleeding-edge 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4547,12 +5390,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4568,7 +5413,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE - bool "x86-64-core-i7 uclibc stable 2021.11-1" + bool "x86-64-core-i7 uclibc stable 2023.11-1" depends on BR2_x86_64 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE @@ -4577,12 +5422,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE depends on BR2_X86_CPU_HAS_SSSE3 depends on BR2_X86_CPU_HAS_SSE4 depends on BR2_X86_CPU_HAS_SSE42 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4598,18 +5445,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE - bool "x86-core2 glibc bleeding-edge 2021.11-1" + bool "x86-core2 glibc bleeding-edge 2023.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4626,18 +5475,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE - bool "x86-core2 glibc stable 2021.11-1" + bool "x86-core2 glibc stable 2023.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4654,18 +5505,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE - bool "x86-core2 musl bleeding-edge 2021.11-1" + bool "x86-core2 musl bleeding-edge 2023.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4681,18 +5534,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE - bool "x86-core2 musl stable 2021.11-1" + bool "x86-core2 musl stable 2023.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4707,19 +5562,21 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE - bool "x86-core2 uclibc bleeding-edge 2021.11-1" + bool "x86-core2 uclibc bleeding-edge 2023.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4735,19 +5592,21 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE - bool "x86-core2 uclibc stable 2021.11-1" + bool "x86-core2 uclibc stable 2023.11-1" depends on BR2_i386 depends on BR2_X86_CPU_HAS_MMX depends on BR2_X86_CPU_HAS_SSE depends on BR2_X86_CPU_HAS_SSE2 depends on BR2_X86_CPU_HAS_SSE3 depends on BR2_X86_CPU_HAS_SSSE3 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4763,7 +5622,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE - bool "x86-i686 glibc bleeding-edge 2021.11-1" + bool "x86-i686 glibc bleeding-edge 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -4773,11 +5632,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE depends on !BR2_x86_c3 depends on !BR2_x86_winchip_c6 depends on !BR2_x86_winchip2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4794,7 +5655,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE - bool "x86-i686 glibc stable 2021.11-1" + bool "x86-i686 glibc stable 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -4804,11 +5665,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE depends on !BR2_x86_c3 depends on !BR2_x86_winchip_c6 depends on !BR2_x86_winchip2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG @@ -4825,7 +5688,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE - bool "x86-i686 musl bleeding-edge 2021.11-1" + bool "x86-i686 musl bleeding-edge 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -4835,11 +5698,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE depends on !BR2_x86_c3 depends on !BR2_x86_winchip_c6 depends on !BR2_x86_winchip2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4855,7 +5720,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE - bool "x86-i686 musl stable 2021.11-1" + bool "x86-i686 musl stable 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -4865,11 +5730,13 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE depends on !BR2_x86_c3 depends on !BR2_x86_winchip_c6 depends on !BR2_x86_winchip2 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 depends on BR2_USE_MMU - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4884,7 +5751,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE - bool "x86-i686 uclibc bleeding-edge 2021.11-1" + bool "x86-i686 uclibc bleeding-edge 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -4894,12 +5761,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE depends on !BR2_x86_c3 depends on !BR2_x86_winchip_c6 depends on !BR2_x86_winchip2 - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4915,7 +5784,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE - bool "x86-i686 uclibc stable 2021.11-1" + bool "x86-i686 uclibc stable 2023.11-1" depends on BR2_i386 depends on !BR2_x86_i486 depends on !BR2_x86_i586 @@ -4925,12 +5794,14 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE depends on !BR2_x86_c3 depends on !BR2_x86_winchip_c6 depends on !BR2_x86_winchip2 - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4946,16 +5817,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE - bool "xtensa-lx60 uclibc bleeding-edge 2021.11-1" + bool "xtensa-lx60 uclibc bleeding-edge 2023.11-1" depends on BR2_xtensa depends on BR2_XTENSA_CUSTOM depends on BR2_XTENSA_LITTLE_ENDIAN - select BR2_TOOLCHAIN_GCC_AT_LEAST_11 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS @@ -4971,16 +5844,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE https://toolchains.bootlin.com/ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_STABLE - bool "xtensa-lx60 uclibc stable 2021.11-1" + bool "xtensa-lx60 uclibc stable 2023.11-1" depends on BR2_xtensa depends on BR2_XTENSA_CUSTOM depends on BR2_XTENSA_LITTLE_ENDIAN - select BR2_TOOLCHAIN_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 + select BR2_TOOLCHAIN_GCC_AT_LEAST_12 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 select BR2_USE_WCHAR select BR2_ENABLE_LOCALE select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_FORTRAN + select BR2_TOOLCHAIN_HAS_OPENMP select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash index 99e9ffc9ef9..38cdba5d7dc 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash +++ b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash @@ -1,394 +1,428 @@ # This file was auto-generated by support/scripts/gen-bootlin-toolchains # Do not edit -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--bleeding-edge-2021.11-1.sha256 -sha256 55b90e0e844ac02a7fc3352be42b7cb9bb3ec582c23649dbb77e05c60eb84434 aarch64--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2021.11-1.sha256 -sha256 dec070196608124fa14c3f192364c5b5b057d7f34651ad58ebb8fc87959c97f7 aarch64--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--bleeding-edge-2021.11-1.sha256 -sha256 c56f51c518eca9e614cc639ffb99719531c1022275045a43dfcdf79a142ba4dc aarch64--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--stable-2021.11-1.sha256 -sha256 6919b4cf04b8c5628a2a93bcf4b05e1143ab15dfb4bc2acde02a2e3c075bf041 aarch64--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 9ba30538bb38a3ee4db5289469fd0a539ba248b00da4e1b1b6f5c3724c20deef aarch64--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2021.11-1.sha256 -sha256 ec629adb0acd80d56b00f35e9fe823571bdcdb72072c7fc2d50607b3882c1f98 aarch64--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--bleeding-edge-2021.11-1.sha256 -sha256 8d610107f7bea8957d71dca45bb84368c74e01da786a113d1089b72ee79ca095 aarch64be--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--stable-2021.11-1.sha256 -sha256 6327121b67799ea967882cba746d25cf6a274a061f283d5c1b2818a651da0c9a aarch64be--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 809d448f3f54fd9a4b01440acc697c022f3f0107e1bf0e9de3ee454a57be99e4 aarch64be--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--stable-2021.11-1.sha256 -sha256 08898011a5f12bf3fa0646a794bb63422fa24d20eb79d01665b2f91aa65f75aa aarch64be--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 088b03942306b572db93025eae703086ddbfe9886e14544cf68ecd9dfa0ad4b4 arcle-750d--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--stable-2021.11-1.sha256 -sha256 6a7454aa1559ef304dfa55361763167848eb6d47539be31b24c7cf6723f581fd arcle-750d--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--bleeding-edge-2021.11-1.sha256 -sha256 e2a35602cf3a518e16681184c5ac095693dbc1d3edd1ae219da2dfff0cce7d67 arcle-hs38--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--stable-2021.11-3.sha256 -sha256 c7c00e3dcdb5123098cea365cfcf261e36adcf816bdd62e4e1ad661e1145f084 arcle-hs38--glibc--stable-2021.11-3.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 552b2387ed8129fd205d3387ca508f816d1a67b90dd1d5ea16ff4872c5129fd9 arcle-hs38--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--stable-2021.11-1.sha256 -sha256 85ea258031a8c304dce0a660c18e67ec415a032f0d9f2c4080f04a47efb44c48 arcle-hs38--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--bleeding-edge-2021.11-1.sha256 -sha256 72a1964f1ba61d730b6be3b178bb4bc24de191a2ad8ada36e067d57011aae1a4 armv5-eabi--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--stable-2021.11-1.sha256 -sha256 22de590c491057d2f974b315055b357511319227c6084cccb1532e30c829687c armv5-eabi--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--bleeding-edge-2021.11-1.sha256 -sha256 4906e6b454c1f9b2041d617df7e253f96288050f9760859868d60857e6bab924 armv5-eabi--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--stable-2021.11-1.sha256 -sha256 2201fa9ce6d1226dafaf060cc568029d853af158b2ab182dcb8c7956bd993408 armv5-eabi--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 0187e76a377a096f7228b243637224cbe0dca12f5736202f813473723c566ea3 armv5-eabi--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--stable-2021.11-1.sha256 -sha256 888e65c2a75d125422ef4d2c144e3fed37d9a00169a78b4613fac34e7f9349ce armv5-eabi--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--bleeding-edge-2021.11-1.sha256 -sha256 c585b4129f60d3ae45c7b77fc6baf87f1c6a3d6d66b06059e1bf9f6e2fcf2899 armv6-eabihf--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--stable-2021.11-1.sha256 -sha256 c40177a063aa7db47747cbf4f26254d63abee9e20d8d88210261b50f03b51b22 armv6-eabihf--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--bleeding-edge-2021.11-1.sha256 -sha256 d6114bbde0a308cf7057aa9c4f5641432c1e785d3decc650f64f5cb261370078 armv6-eabihf--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--stable-2021.11-1.sha256 -sha256 41c463f2cd2984a2d53e5dee2e9a81b09c6cac2ba7b306766bdfc8f4865977bf armv6-eabihf--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 aca019db7e6167d5cf8d8ff68b10bad7d9dd7ae8784f991960754e8d027f424e armv6-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--stable-2021.11-1.sha256 -sha256 e7e19796a2f0b0d839508a721506e148cb4383ed82dcc2ff4b3c0c496a4229f3 armv6-eabihf--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2021.11-1.sha256 -sha256 1d2b488d047d1a1694305613adb918167a36bf0857cd6bda3ce87a0e4c2b7f28 armv7-eabihf--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2021.11-1.sha256 -sha256 6d10f356811429f1bddc23a174932c35127ab6c6f3b738b768f0c29c3bf92f10 armv7-eabihf--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--bleeding-edge-2021.11-1.sha256 -sha256 31a373fded82805ac4ddac7608c5075b2086999dcd46ce6ba33c432b24faffaf armv7-eabihf--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--stable-2021.11-1.sha256 -sha256 767c99155f74d5620cfd59d0224df2f82dec7ce58be24d702081dca9793408a9 armv7-eabihf--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 8d6cea2dfec2205ead2e6476f664d81442228d3b1e3fb9b320a54c68706ab9a2 armv7-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--stable-2021.11-1.sha256 -sha256 3f8b1101a7318e2a6260a6b1c916b9b3bc69e8fd866d9e88eb85d3a496ad5064 armv7-eabihf--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--glibc--bleeding-edge-2021.11-1.sha256 -sha256 1f7c0485d07718ed8b99288b5e2ec825d6931c92d7db8c880892682f7d717a40 armebv7-eabihf--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--glibc--stable-2021.11-1.sha256 -sha256 bfc67cd580e357cf390cb3590fa89e738818af11ae9167e263178304c1656ccb armebv7-eabihf--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--musl--bleeding-edge-2021.11-1.sha256 -sha256 488ec97dbbd37c5431c60b0bf6485948ba026ca5097e9e258f4847fbccaa0181 armebv7-eabihf--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--musl--stable-2021.11-1.sha256 -sha256 2a8d0752eaa480eff29b274e88c20e13ad41059f213991769b14684f219d7e12 armebv7-eabihf--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 a9665d2792bf9219c4a7153879d681b5f12c48e47b48969b1a87443b7ed9f26f armebv7-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--uclibc--stable-2021.11-1.sha256 -sha256 84c7a58351ec618a48a5b357777c48dbbfd52dc48983ebf988a29483693bacbf armebv7-eabihf--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 392215b53d8c03ca501481f6cfaa720676cf5a67ad1f25647f5a096398f57b28 armv7m--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--stable-2021.11-1.sha256 -sha256 2fca1ac4e767f8ce182a92c74f7b1e4866e7b74b447a2e4c62176379421bedbe armv7m--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 2b694fb4397421504e805a71db182efd55b25fa6403ecf225cddd4a8212903b0 m68k-68xxx--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--stable-2021.11-1.sha256 -sha256 9b3afcd370cbe4912f730696d89ca5f8d26581992c80bdff027b2dd6a8910899 m68k-68xxx--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 0e6743d8679cfe197223e011a2e1e064a213f6032d2f4b0d922b9124fe981d84 m68k-coldfire--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--stable-2021.11-1.sha256 -sha256 27ed1e76826a8824d72ef702d3a770544757a0d297c9992eb623012f1d9b387c m68k-coldfire--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--bleeding-edge-2021.11-1.sha256 -sha256 1512dde9d646c4c34e5a637d5d6b3be777e199e3f16340ed26e8f0b085cdbdf0 microblazebe--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--stable-2021.11-1.sha256 -sha256 c853fe33b9454d3e31951ef99c53b6a6ad09f2458cf79ad4b1680c125a011899 microblazebe--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--bleeding-edge-2021.11-1.sha256 -sha256 65d6486dd8fd8c6a0aad44346d77a8d4f2473230b967ac7fa12e639603e9f007 microblazebe--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--stable-2021.11-1.sha256 -sha256 5195575b4bd178dbdc8080e728fa485df13ede62ae684cdda131c1d55e655b11 microblazebe--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 c0d8bf9ce99eada90be299e7d448b9cc578005d26b80205788a639c587071a36 microblazebe--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--stable-2021.11-1.sha256 -sha256 2de12511a0a9b8369f769ccd0ecf32939948b95079e0fd57d3ea390ad4c4ff43 microblazebe--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--bleeding-edge-2021.11-1.sha256 -sha256 fa871c5a4fc700f5a7d9e04ddda271d69395066afea98df2de2bba78826b461e microblazeel--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--stable-2021.11-1.sha256 -sha256 f7c64f142f970cd084ffa0e14bc3ac957db921e559eb036cb0f098d2f187328b microblazeel--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--bleeding-edge-2021.11-1.sha256 -sha256 6978582d587f89fd02d11e89f1b0eee320ad45c42a51ec4fca8fc24b69f65c46 microblazeel--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--stable-2021.11-1.sha256 -sha256 4bd56f3fa100b71174888fc4da1f710ed2f56433edc570ba435f2ffdfc3bcc49 microblazeel--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 ee3cf68bb5680b44087aa8e805f74397fb34283ce9ad4d7a303f777e2242b796 microblazeel--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--stable-2021.11-1.sha256 -sha256 61a33972e3a282c5334717eef0922a3617c881dd3c28a0aed7dfaf69df8493c8 microblazeel--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--bleeding-edge-2021.11-1.sha256 -sha256 b4b28cc187dbcd6d55e3c00a1b4a08cf68797946c284a48f30be2f659756b2d7 mips32--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--stable-2021.11-1.sha256 -sha256 42c6d72edd35249cda113796aa776556f8e8aa285fa8e511d2784a65c4df71d6 mips32--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--bleeding-edge-2021.11-1.sha256 -sha256 7609a3d3601e9aaf8c08f68f1d70539858f17229ca4985842d290e8c35e1b7e3 mips32--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--stable-2021.11-1.sha256 -sha256 999faca83c3490662ba5ae855935dd9bde270d11d234294cd6c9cc9ca0bfe17c mips32--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 58240ac30e5bbec4cb07d92ad4250693cd4f4c9761e6e9602e3cbe0d9077ea4e mips32--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--stable-2021.11-1.sha256 -sha256 e010dd9fca694f658af457e473831ec9a22da7262ed9f460fee1bf30081d4a1a mips32--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--bleeding-edge-2021.11-1.sha256 -sha256 6167ef7286741551ccb53ffb62e45611fc258e62cd1880418a2cf94051a51e05 mips32el--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--stable-2021.11-1.sha256 -sha256 018e3393e1ba50444ae0a05db05a295553b3af224afdf20b52f9d271f1ec91a4 mips32el--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--bleeding-edge-2021.11-1.sha256 -sha256 66f7991de789d4a9ea0206e4f1c7e380521778b771295315af8e98984a1a2b1d mips32el--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--stable-2021.11-1.sha256 -sha256 381ec343ffde3c905addfe27e5ae737b4709142d5949c327f783c26d0acd05d1 mips32el--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 ce6e49762e54ba4a2a6477d14dd6f37b3d6d116905150a80cd4ed2afeaec2633 mips32el--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--stable-2021.11-1.sha256 -sha256 18baf32f742acd9c9eab78eca040f265194bb10589d6e8bccb964ccd8a22307a mips32el--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--bleeding-edge-2021.11-1.sha256 -sha256 5524925d82e1c28cbc272d94e8b9f40603d623875d09989a862fda7b88e5f163 mips32r5el--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2021.11-1.sha256 -sha256 5911d789152f922adbf99d231f3267c0e7aec8942b73a759a44d1410ed6d6493 mips32r5el--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--bleeding-edge-2021.11-1.sha256 -sha256 a599b59ab19aa10d841fbf50f58fdf2a09263a3cdcb01499225f259ef5615be1 mips32r5el--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--stable-2021.11-1.sha256 -sha256 5ea65771ca522b77f3cc39f12ef09eda59d9e4743dc7057067f73e86983107c2 mips32r5el--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 84bef9c460f2abf00fa5c18f850a9d9e4fdf9e7d593a1ad5f7b6efe34dfcf037 mips32r5el--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--stable-2021.11-1.sha256 -sha256 48b058d3057a611eb3d09b3a206bc38e449f0ea0cd7c8ebf2ee99da9182d0707 mips32r5el--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--bleeding-edge-2021.11-1.sha256 -sha256 161ec4ca6dad1b5d3e79880e30c7f618e24fc1c8dbfcbaec50db02ac73c111af mips32r6el--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--stable-2021.11-1.sha256 -sha256 c50ba26a9fad62180dc4816cfa6451f82ba3ea9c9f069899874c012a5472fa77 mips32r6el--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--bleeding-edge-2021.11-1.sha256 -sha256 81637b0ddfda0ed02bd549fda70efddbcabe6ad943156311d034f3b8a8bce086 mips32r6el--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--stable-2021.11-1.sha256 -sha256 d858e9b2a7d826f23cd6432e5c1cad2f4f98447682cdcf7df1430daabfbf49c0 mips32r6el--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 40b78cbfb757b328f5b0a861c6ed1e4f716784bdc2d5e6eba9d2dcad5057002c mips32r6el--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--stable-2021.11-1.sha256 -sha256 e39de078f5f713ab385e5f008e181062265e6a3979904263d283f90304146014 mips32r6el--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--bleeding-edge-2021.11-1.sha256 -sha256 d8543128dc7a115fdee418dfee954d65cb0fb60aae161222fc03177a190bfef1 mips64-n32--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--stable-2021.11-1.sha256 -sha256 8d5c891bb2eecccf1f9c51095d266c899dae4dd7e75ef19ff6c66c8e4602919c mips64-n32--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--bleeding-edge-2021.11-1.sha256 -sha256 7cf2177c2e41651a25676a9d1c96bbe8c254f94db920a1b3a7aa5708b17b1ef1 mips64-n32--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--stable-2021.11-1.sha256 -sha256 ac997df9a0f82f0ce60ac904ce75245741fa432c4d85c8e8ae88c35296dfaa99 mips64-n32--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 e5119b684b078fd0c3bf7f7eb09ab31dff666cbbbc3d91118ae912e197ca3852 mips64-n32--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--stable-2021.11-1.sha256 -sha256 8f5c1293e789eb04ab3f0bcb415c6ee0ef5ae26cd77354374984752548ac4e2c mips64-n32--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--bleeding-edge-2021.11-1.sha256 -sha256 d1063f99d389f0065b8db5331597969450f1f813265ddf9205215fec5500997c mips64el-n32--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--stable-2021.11-1.sha256 -sha256 73bbd84905e1fd094f7426f64e01f6058f21409218306b80e94bd2ad0aaa8ad3 mips64el-n32--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--bleeding-edge-2021.11-1.sha256 -sha256 a0a48faf217468e9eb1dd820d16ced1caa8f00706e9f48cb1e64899963f3bcba mips64el-n32--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--stable-2021.11-1.sha256 -sha256 c9c895ea09900ec5c63931af0716cf12f48f7c9826629ac48c4cee4e596af5ee mips64el-n32--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 5d3573faab6757efd4e2a78e2c1361d3e8e7b821fd385d016fbe71c56d9cc1d2 mips64el-n32--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--stable-2021.11-1.sha256 -sha256 cd95e539cbb343c3e57c9f2d7d786ea2b0b58009f1b87a4b48eb9d4bb73a205a mips64el-n32--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--bleeding-edge-2021.11-1.sha256 -sha256 7b551725f9e6f5eefc56ad67b5daa10812d4895842ec5986eeb93a79455e4762 mips64r6el-n32--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--stable-2021.11-1.sha256 -sha256 c575274871f30d019c121947e0f65973475e16baf621f235c54bfc292353d5d0 mips64r6el-n32--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--bleeding-edge-2021.11-1.sha256 -sha256 2b85466873cf847b62b5c66198cc01002890a7a41e5cc9262b4906dcef640ead mips64r6el-n32--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--stable-2021.11-1.sha256 -sha256 4210ca4ded17fdeb7cc7a5cf0d7d4676161d711f70708ca50be62ce397687672 mips64r6el-n32--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 de1a1cff7c02d804aa949b813d92c3d55a33e47602bd538bac6deaa155c93c6d mips64r6el-n32--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--stable-2021.11-1.sha256 -sha256 30d82c7ca41a0df9931a29a46ed881f21a889e9e59baf04e820c6679be87a7fb mips64r6el-n32--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--bleeding-edge-2021.11-1.sha256 -sha256 5c2dc11062f4817e81a328b12ab30be486b7e68c7c876eb45fffca72332a8804 nios2--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--stable-2021.11-1.sha256 -sha256 f6f37f1e551edda0251ece8d906ed720bd8ec45da9d4b3e1d13721bdc9ef2882 nios2--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--bleeding-edge-2021.11-5.sha256 -sha256 03f46c8fdded0002a2a04749bcf86136ec26a841654bf9fdc14575cc510739c6 openrisc--musl--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--stable-2021.11-5.sha256 -sha256 409e4a7473125e7de7c8b0e6bc1cb971d53e63ac057e9a19102e4ce1467f442a openrisc--musl--stable-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--bleeding-edge-2021.11-5.sha256 -sha256 9028d4e526f9e805b021791443805541a179eaf2e47a2af4dfbefb2021e44e9f openrisc--uclibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--stable-2021.11-5.sha256 -sha256 f07d8e465f7e94e55330cfb55bbaf9fc27e4bb7b688271ead60a15aec3dbbf76 openrisc--uclibc--stable-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2021.11-1.sha256 -sha256 53afdbe1e48d0c60d560db8d17042a99288661fe10eebbfcfec4e56a6c2ca594 powerpc-440fp--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2021.11-1.sha256 -sha256 d7fc756c954184cfc4e6118e0e0ac33613916973f6af4aafaa162959662aea96 powerpc-440fp--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2021.11-1.sha256 -sha256 094bad002682608cfc7b095a35c3d495cad793ec0f15a7c035a11eae69d0211e powerpc-440fp--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2021.11-1.sha256 -sha256 187226d9c427e91bae57058060950cfbd61fb89993edf42386a2c4281ca681ba powerpc-440fp--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 6c5d3ef56effad9bea791ee814f108929e967eb88a992d21b7d9f9d8d51a048a powerpc-440fp--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2021.11-1.sha256 -sha256 9a9663674fc2af69b403bfacc5c9d6c0d7ea7c7aa4b93c928bfd79bfb634b828 powerpc-440fp--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--bleeding-edge-2021.11-1.sha256 -sha256 89164ef2be5f5eb5f0de9d8d821d76a1e69c963529bc450a1caf61944665f929 powerpc-e300c3--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--stable-2021.11-1.sha256 -sha256 1665004c81e0dfe1c8aa15a691232537c27a4343d80f8c035f83623b65d99ae3 powerpc-e300c3--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--bleeding-edge-2021.11-1.sha256 -sha256 6bbb7d8416708754debc216f122366d7cc25b9372b59e16590f2d942fc727cee powerpc-e300c3--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--stable-2021.11-1.sha256 -sha256 e97a52ed0d2f617f869e055d076c62e0698cdffd17e8b5945d0285f98cb57de2 powerpc-e300c3--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 9b886501833b6785bdbfff90e3d7b191eca4e59fea0c039c772c43825032fb86 powerpc-e300c3--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--stable-2021.11-1.sha256 -sha256 31fc2c3b1f2878eb71766c7c0d8b88cdd4c1b2b66e34237917557df818e1c4e0 powerpc-e300c3--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--bleeding-edge-2021.11-1.sha256 -sha256 a2505f7d2968c5324747653da2b367fde7c86c68fcfcb2051c07b27fc0726988 powerpc-e500mc--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--stable-2021.11-1.sha256 -sha256 f9a86eee7817042d26aeda8473c23d7da22920ace233e7ad8714cc87409767ca powerpc-e500mc--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--bleeding-edge-2021.11-1.sha256 -sha256 0f58c7a792de85703c715100dc8fde2575acd4f41523dbcf2ca920611f8e38f3 powerpc-e500mc--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--stable-2021.11-1.sha256 -sha256 367219213274c0b291855354f5cf2f59a915cf0d9538db9236d7829423a79c92 powerpc-e500mc--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 0c9616694108bcc879fdbd804b6ec42b17101bddea2a9426f023f625c3def39b powerpc-e500mc--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--stable-2021.11-1.sha256 -sha256 5a6e8489e39ddd73d413926c1d00b7cb214e5a083bdea6bf7fbcd5b4a3b82d47 powerpc-e500mc--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--bleeding-edge-2021.11-1.sha256 -sha256 62c53dd85d6172a1d13833d2303561a6e943d73836faa3be0eb5c8d937ae3bf1 powerpc64-e5500--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2021.11-1.sha256 -sha256 4c8c2884ed5f42155508ffb5c62343312427904f469ce003bfb6b547075cd4aa powerpc64-e5500--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--bleeding-edge-2021.11-1.sha256 -sha256 62845f66f9b29c001e85b86557b953b2275fd1ecbf681500521b8386d8df1ed6 powerpc64-e6500--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--stable-2021.11-1.sha256 -sha256 054d3793f1c8c42ff9310163d4eb45ce09be7654f01221ff28914bc28950f832 powerpc64-e6500--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--bleeding-edge-2021.11-1.sha256 -sha256 21452d9a1e4a5fe980054c0367f00f640ff0f6af4f0443469c340106f902c9c6 powerpc64-e6500--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--stable-2021.11-1.sha256 -sha256 015285c7313ffd6c25984db3df003a703868758919f59e8d0b9b45cd494e54cd powerpc64-e6500--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--bleeding-edge-2021.11-2.sha256 -sha256 19618e538bd170e3ed458a1ff9593ca169078eb9a990cbab0af635aed622429e powerpc64-power8--glibc--bleeding-edge-2021.11-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--stable-2021.11-1.sha256 -sha256 7b35b694e79b4829e5f2fdb2bd1570035619f665be2a73d0568e4c1f4b6ce56d powerpc64-power8--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--bleeding-edge-2021.11-2.sha256 -sha256 6f5a6674bbe028bcf2cb6820a57b53e06b06ab4b7359397b77fada3ef06635b5 powerpc64-power8--musl--bleeding-edge-2021.11-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--stable-2021.11-1.sha256 -sha256 9dff16b6af51f0492093f08e4d7571b787afa37e059ea1105ded18a7fa7baa88 powerpc64-power8--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--bleeding-edge-2021.11-2.sha256 -sha256 624b2bb3763e3bd085b69c39cb9a1574d60dbb29780469c2b171bba564c3d1d3 powerpc64le-power8--glibc--bleeding-edge-2021.11-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--stable-2021.11-1.sha256 -sha256 04473768185c3a1848f4f323380dc7caffa13d1e1bcb49317cebf090917fee2a powerpc64le-power8--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--bleeding-edge-2021.11-2.sha256 -sha256 e81d0b3c9128cd0069dc8bcfbf512e395175e4c4f0a9ed500a3d7b15a76f8e65 powerpc64le-power8--musl--bleeding-edge-2021.11-2.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--stable-2021.11-1.sha256 -sha256 09dafac6313ad49731de6d93ef2f1c2806a6a78127d0441adcee76a7a256f4e3 powerpc64le-power8--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2021.11-1.sha256 -sha256 63defd144fdb1d40712316e2c3acd37275d6407b52d70efcd36e7f7129b4a0d0 riscv32-ilp32d--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--bleeding-edge-2021.11-1.sha256 -sha256 13984509df102d452f64fbe576e9240920bc677838c2380e57fad8236fca70bc riscv64-lp64d--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2021.11-1.sha256 -sha256 70fe7d9fc74220b08b2ae0d3527641f4b938a1e4eb6bb305b2ac68fa76f2d6a4 riscv64-lp64d--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--bleeding-edge-2021.11-1.sha256 -sha256 0ba18be42bc1aac9992384c86efeb83cb55215eab565f71cef340f61a1fec420 riscv64-lp64d--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--stable-2021.11-1.sha256 -sha256 42ca8024547e51e6126e3c9e711d80815aa4b2997900dfc8af4b9514105e8b78 riscv64-lp64d--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 02dd9fe4a024f84c7f73b7155640066017c7d18dd90c4da6efe6f0e66d24f75c riscv64-lp64d--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--stable-2021.11-1.sha256 -sha256 01f061e1b3d106d25614ae5bd64df3a3588bc960caa3bbad14b50f718a558f41 riscv64-lp64d--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--bleeding-edge-2021.11-1.sha256 -sha256 d8e657ba00929007e938c7fc398fb5aee8abeceea3ad1cd304c05e7f47d9ef30 s390x-z13--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--stable-2021.11-1.sha256 -sha256 04d8c28bc1af09a949cfe76991379fef4b0876448192625a22c028c7daf92e3f s390x-z13--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--bleeding-edge-2021.11-1.sha256 -sha256 64c14617fb95b1eeb50564d1e0ccbf73fa73e5e58aea6b192549fc7127e4bd5c sh-sh4--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--stable-2021.11-1.sha256 -sha256 702125cce2aaee4025cc4eb07614fe51a4e56498e8d0b2b8a5863d31840829e0 sh-sh4--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--bleeding-edge-2021.11-1.sha256 -sha256 37fefd46ded9067cb836f067073c4df501265e86d887ff91015087747a5613d4 sh-sh4--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--stable-2021.11-1.sha256 -sha256 7f77aefe39c1dc9bfe1fe637c7c957fba19898d0b04db4ba7a0b76bb97ed72e9 sh-sh4--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 3285ac52a681a951d7d080d6645f3d02451de644582928d71469813e95bd928f sh-sh4--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--stable-2021.11-1.sha256 -sha256 841c400d303021311895bf61fa7d16292ef19cf021ea06c091a424f43294f6a5 sh-sh4--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--bleeding-edge-2021.11-1.sha256 -sha256 b1ebde33ada33d1006046c589891d96af902eefcea1d9e103ae738c9fe26c36f sh-sh4aeb--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--stable-2021.11-1.sha256 -sha256 3afebc93a72af85a31c6d096b5939c60bb87939b051c6cddc52e1e540714267a sh-sh4aeb--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--bleeding-edge-2021.11-1.sha256 -sha256 c9216bd579ac3f0fa7d0efb9e1892f5d34eba10ee183d03fc87ca17c4b8eb6d4 sh-sh4aeb--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--stable-2021.11-1.sha256 -sha256 1e58aaab9d77019df71777a3c9a2457f691355a6a7aed6b9897921e38571117a sh-sh4aeb--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--bleeding-edge-2021.11-1.sha256 -sha256 0b83bb7f3ce7b67a5c359c95c695398054d13903259014147d4c99e2884e1377 sparc64--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--stable-2021.11-1.sha256 -sha256 0ef307f6c91733ee82ce65801768013f7e6220b605f4e152158cb55b4f983582 sparc64--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--bleeding-edge-2021.11-3.sha256 -sha256 3c85420becb7caa84a9a229483f3f2d7158eb66817acdfa5d5700c3a05436cba sparcv8--uclibc--bleeding-edge-2021.11-3.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--stable-2021.11-1.sha256 -sha256 f6d35e33338b26e71403b4c6d3944ab561f2a6e9b801ab33fbb401b4722044dd sparcv8--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--bleeding-edge-2021.11-5.sha256 -sha256 024fd8edc91b9bfd643f8cf94e3f3ff2a6457aea654d10ef3516db8c3d94d5f5 x86-64--glibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--stable-2021.11-5.sha256 -sha256 6fe812add925493ea0841365f1fb7ca17fd9224bab61a731063f7f12f3a621b0 x86-64--glibc--stable-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--bleeding-edge-2021.11-5.sha256 -sha256 468e6b73146595923fe87980a30adb54cd78f4c1e2f228e1a2c9bb705ea4243d x86-64--musl--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--stable-2021.11-5.sha256 -sha256 2943617f6537ca195a66fb9db4a801a5dd1c108741c400d530d558d06908dd75 x86-64--musl--stable-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--bleeding-edge-2021.11-5.sha256 -sha256 4aa8b8e2806d6fc87ba64ccec0a59b8a2fb5d157cda006d893e3f2264b7f0f10 x86-64--uclibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--stable-2021.11-5.sha256 -sha256 e68fd1b23f4a5c5132f2122e4012c17eb24e5179b2ff45bb793a27ac30dd454f x86-64--uclibc--stable-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--glibc--bleeding-edge-2021.11-5.sha256 -sha256 af20cf98ce937f298e0958e16793bb4c7b08236bc69ab11574a4266cccc3823d x86-64-v2--glibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--musl--bleeding-edge-2021.11-5.sha256 -sha256 17add21a0337d2f7d0d79d1f21db88098c3474920d71f902be46e8995eb86d35 x86-64-v2--musl--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--uclibc--bleeding-edge-2021.11-5.sha256 -sha256 b3ef49012af9fc9c2c8a44b0a20722be69b518cec5db06e48480291fc28aefe0 x86-64-v2--uclibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--glibc--bleeding-edge-2021.11-5.sha256 -sha256 244d4afab02b9c54c76385657d26798515331d7d4fa90928315366f31b9cc39e x86-64-v3--glibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--musl--bleeding-edge-2021.11-5.sha256 -sha256 551cff1b6425e2a6ced7b7ad032fba49b43ed095faae38d1842260ac0b5d6dbf x86-64-v3--musl--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--uclibc--bleeding-edge-2021.11-5.sha256 -sha256 30188f50adef711b55ac1d5be7218e0d6ee4200ddb8660e4d4971a9cefe22f91 x86-64-v3--uclibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--glibc--bleeding-edge-2021.11-5.sha256 -sha256 0cd2de7c4103aa8cf47b72dc71146eb3bf7742a18d56c93128340ab3f4175804 x86-64-v4--glibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--musl--bleeding-edge-2021.11-5.sha256 -sha256 e159da16459e0f0d06a9a7467d5121202ab95e2fa6bf8abffdc0008c72fe9b07 x86-64-v4--musl--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--uclibc--bleeding-edge-2021.11-5.sha256 -sha256 984f011d170d3e46322ae4a110c86ebf995598d877f410201b3fb3d86e25dac2 x86-64-v4--uclibc--bleeding-edge-2021.11-5.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--bleeding-edge-2021.11-1.sha256 -sha256 a3dbfcd3347a72ca344ae77882f929615776ea9b1b058eeea0a0915e7db89b69 x86-64-core-i7--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--stable-2021.11-1.sha256 -sha256 3d443bb0bc6d16982824952a02dcb8b7d10c258b4e0debb47708fb9a02573951 x86-64-core-i7--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--bleeding-edge-2021.11-1.sha256 -sha256 c724f0a8338c57e65479844eeb1725ffce2157a195067601e8893c0f781d2a86 x86-64-core-i7--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--stable-2021.11-1.sha256 -sha256 008aa485ad85deda4af41f6ab162ee33be96c2f479e93a03dd9ee360fbf461b1 x86-64-core-i7--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 99ac2c1fb6bd819222578d4d3c2d3043d3f08f48a988fe7a56ecb2dc44950ebb x86-64-core-i7--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--stable-2021.11-1.sha256 -sha256 f7224ebf557f96b3854c4760f0d561f33f02e71586e6c5b958fdb686ecf5a058 x86-64-core-i7--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2021.11-1.sha256 -sha256 51a7aa03b16fca52a6ac88c7272a727a56a120fb1a03edaff7da741471dffa63 x86-core2--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--stable-2021.11-1.sha256 -sha256 6afb13f10694756f2c7b69e0e5fdd416d3c446d2d630ed9a707797613c38fb15 x86-core2--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--bleeding-edge-2021.11-1.sha256 -sha256 b779acc67eff7ae349a1ecb6d092576131537ce4d92530447d6483e3b7320186 x86-core2--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--stable-2021.11-1.sha256 -sha256 9f79cd4443386b9611d917506bcb6fd9d844e7934905a7368827441644ae7821 x86-core2--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 1a3803d19a6d65a943dab7c4cfb29f37e1c96b1155bdd6c04e5fc609c135b970 x86-core2--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--stable-2021.11-1.sha256 -sha256 235be5851ccdbf579163a0d57b4caba48c63c808f7a08e6476f56c3537636520 x86-core2--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2021.11-1.sha256 -sha256 bb21d6fdb83ef1603346c27572a0622a890633d4fc1ab28bf0aa387a44c8dfee x86-i686--glibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--stable-2021.11-1.sha256 -sha256 9deb1c61a3196114ba1996c0cbe4c4135af9e82f1a0f9111084c86badee3ff30 x86-i686--glibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--bleeding-edge-2021.11-1.sha256 -sha256 313e4bbd8a19fc927b2d9d059cfacdb89cb41213d34158cac2ba00b071468273 x86-i686--musl--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--stable-2021.11-1.sha256 -sha256 fa6cd3e2aa25287e03070eba526983a902d8622ad148b57027acf85d690eaf27 x86-i686--musl--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 4ee09d8c4524e6e6f19db07ed49f8e43a60e806bc57134f9ac2477d41c98340e x86-i686--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--stable-2021.11-1.sha256 -sha256 d15cfe391474ea19e6a468c011955027581c6a16953380baf3c5718ad42fc45d x86-i686--uclibc--stable-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--bleeding-edge-2021.11-1.sha256 -sha256 469450c734051b9dfb7021532a5ec6fb35b3cf79a95613836e654c3e666b4150 xtensa-lx60--uclibc--bleeding-edge-2021.11-1.tar.bz2 -# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--stable-2021.11-1.sha256 -sha256 2fd9dc2d1ec8a167ae3c353682bc4d166f25a7db1c1b889e3058bc644bd3f92c xtensa-lx60--uclibc--stable-2021.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--bleeding-edge-2023.11-1.sha256 +sha256 9d4c3a45e5f781060b81779ba116b2118805f214c3b1042ce8ecde5c4aeb12c3 aarch64--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--glibc--stable-2023.11-1.sha256 +sha256 5b1fde169c9ed678ee75a729286531a291c6ce5ee9d8a8b598b3abbef35c05f2 aarch64--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--bleeding-edge-2023.11-1.sha256 +sha256 f63c27eabff2b3e733ad132866a5301d90a9068f2b83ff5d36e907bd958951dc aarch64--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--musl--stable-2023.11-1.sha256 +sha256 3554391a9ae82cc1fe35a6ab0c9efa34a5bac5474b6d527474997256e148c297 aarch64--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 02100c2670b441bcd54481bf731215e0d7c9be671407fe15678a9ad03b5056d5 aarch64--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2023.11-1.sha256 +sha256 82fe36e1c02f9662bd3ad59267ba3ae850d67e9e09a1d229ec3f25b691da0065 aarch64--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--bleeding-edge-2023.11-1.sha256 +sha256 0594958f0e4822adcd5dcdddc6feec3a23d37afd2dc86c80edd7cef5094c02cf aarch64be--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--glibc--stable-2023.11-1.sha256 +sha256 f622cacaed216dac40461653329dde6f4391f9339ea4b848118f7eff92018b5a aarch64be--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--musl--bleeding-edge-2023.11-1.sha256 +sha256 c495eb4bf875934502e36005499bc28a47b3762b199dcfff57516ce70fe1c0a6 aarch64be--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--musl--stable-2023.11-1.sha256 +sha256 72016bafd0e0b70c05f5b3f71302b8cd6cd3fce54b4dd9acfb3fb6560af9f30f aarch64be--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 f956f0aec2e6e46cab1e92f0cd7b0fa691eb4202b087758e668d6bcfe773532e aarch64be--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs/aarch64be--uclibc--stable-2023.11-1.sha256 +sha256 39fb6f1d32ad9baa664832d5633d04e2991898a173a4133ed73a36ccbae33f9f aarch64be--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 b2a39fc18a3c2b3e10c61ce862fb1c90d53e38ccb21323a7f808ed4004c89d0c arcle-750d--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs/arcle-750d--uclibc--stable-2023.11-1.sha256 +sha256 1be435efc78ee2ca8d97ba64e45c21f669a3d6f8bad7850f921fdac249e93472 arcle-750d--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--bleeding-edge-2023.11-1.sha256 +sha256 ede78dd37096f3b13ef6797059c7be5d771ffb2361cfeb97be4ce46f90c69309 arcle-hs38--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--glibc--stable-2023.11-1.sha256 +sha256 91c048fb79152969253a3bb96a9cd77c79c2ba5a3081d2da7cf103069661e303 arcle-hs38--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 970c5176001abac9746f21922b56f9628c8bb1bef8596a5badba1efb05decf33 arcle-hs38--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs/arcle-hs38--uclibc--stable-2023.11-1.sha256 +sha256 b6c98633c33fe0ce5d7ba03c0a9bb55ab9a0ded69f3ed3d3813a5c133aa4e3ca arcle-hs38--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--bleeding-edge-2023.11-1.sha256 +sha256 80b67f939e5cbd1d2fa13fe063fd5d8aca1f5a702adf010547d8904864fe2209 armv5-eabi--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--glibc--stable-2023.11-1.sha256 +sha256 06837abc0a4bd7f163d2c1697d1e3d13f4d37f486c3a827f259fe7d3219c9a22 armv5-eabi--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--bleeding-edge-2023.11-1.sha256 +sha256 10f67c422fc926c38824e3606e955a37373ca5f337aecd06998e65803379ac3c armv5-eabi--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--musl--stable-2023.11-1.sha256 +sha256 c6bd48c4341bc496fdb37dbda2caef5d2bba69d764aab3c317eaf20554474a38 armv5-eabi--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 95f17ecd4de11130b818146fb236ca30d0a0e86eba55bd18b1264d16f45020ff armv5-eabi--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs/armv5-eabi--uclibc--stable-2023.11-1.sha256 +sha256 4ec295deb930584a3da8baab7b23438180195d8bddf03fe9a93ca08ce4bd4a22 armv5-eabi--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--bleeding-edge-2023.11-1.sha256 +sha256 8f1ef62275d34c556e4cbe14af429fac250132d2191f4ff86c77f8395edf9e4a armv6-eabihf--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--glibc--stable-2023.11-1.sha256 +sha256 dc71ac978e3e9ec25832decf8490472b3a0998c8d2214468f20bf546ab833ee2 armv6-eabihf--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--bleeding-edge-2023.11-1.sha256 +sha256 48cd51a76e8068c78312ed022d31d12831d9ae8da4d0f23f76429c8f9760663f armv6-eabihf--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--musl--stable-2023.11-1.sha256 +sha256 3620458bb0fe685d78b0c6645aae547b16df0e7966f4d66d672500c96aafd787 armv6-eabihf--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 3aee5156a27adb30311a3878fa8028fa103dfad08dda4f417087c5b2f271aee9 armv6-eabihf--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs/armv6-eabihf--uclibc--stable-2023.11-1.sha256 +sha256 07df70ed0812549bb4e8b8ff930e6a5ce0952e00a19b534223b469728412bf29 armv6-eabihf--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2023.11-1.sha256 +sha256 609ac558671aa69e1200dc27204136efbef4bbc6dd98f4b77f24717e38797a77 armv7-eabihf--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--stable-2023.11-1.sha256 +sha256 d0a575b156e5c481dbe079cd3e292fb8eefed39392a90cdde871e7b9e77fd420 armv7-eabihf--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--bleeding-edge-2023.11-1.sha256 +sha256 fcc4421b04ede8996d350a3517890c48ba200a9102787ddd288f2c5037b3de4c armv7-eabihf--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--musl--stable-2023.11-1.sha256 +sha256 c01a2b2a762b0e19a7847f4877ba5b35d90bd7e23704956dfe575e8113a1ad7a armv7-eabihf--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 ded310ccbe78d411f9e027d7b8e4029746b86aa0d66a7151dcf50f49ebcbf85b armv7-eabihf--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--stable-2023.11-1.sha256 +sha256 39fcb1928454392112f0a5168b2e284d3564a24dff116efdcb71c67b672682ca armv7-eabihf--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--glibc--bleeding-edge-2023.11-1.sha256 +sha256 d16d65752cc6ea0f81661aac23322cd48fb3b5608bb30588667d8191fecf8fab armebv7-eabihf--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--glibc--stable-2023.11-1.sha256 +sha256 8294077f6be32fc4a3a76d8802d179e30a35bcf104ac90e6bdfe1d51827e11a9 armebv7-eabihf--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--musl--bleeding-edge-2023.11-1.sha256 +sha256 a6c478cf6916d82589628d35d1317415bcd6f86455facc1453f8cffdf524092d armebv7-eabihf--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--musl--stable-2023.11-1.sha256 +sha256 cb316d86590f49c29fe1a99988d8a71001a6b76cf996a7c0c15b648b017899f8 armebv7-eabihf--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 f88e930fdb895aaf9edf5d168c57a8672e46900f326e9c3c2146b81c2a3807b6 armebv7-eabihf--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs/armebv7-eabihf--uclibc--stable-2023.11-1.sha256 +sha256 fc20f9c0e9551b2d5e0ffd1154aa8d282589503c8e239b049fc719974f338e76 armebv7-eabihf--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 ffacf7a1e9d376a487e5d2fb0788a3f2a37d9da3b8daab5cdecc0a502cc0cd37 armv7m--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs/armv7m--uclibc--stable-2023.11-1.sha256 +sha256 3baeaa139d8263477baaa51da8ad2e5e8129c71bf0a7b956543b3c4f7a40b36a armv7m--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--glibc--bleeding-edge-2023.11-1.sha256 +sha256 f7a41da2a2765d67ee3184df876741a459c6f85024dcc7434bd10f27451f6ecd m68k-68xxx--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--glibc--stable-2023.11-1.sha256 +sha256 79b120e67b7f17a1f265f5a5685b602ee3755f32047c657d837e9fc5c9ac7afa m68k-68xxx--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--musl--bleeding-edge-2023.11-1.sha256 +sha256 20c700a7c16b7fec587cd2b2269875ee53d33f1141e29900c53c5855f59acf9e m68k-68xxx--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--musl--stable-2023.11-1.sha256 +sha256 83ce067a39a6c6e5b1771b6ccfc2e7028bb479b8bcb28694ad96b5595767ac4d m68k-68xxx--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 8c9d1628519b233c8377d9a6906c31ea08a2df73ec72f5b368b23318aeea8dbc m68k-68xxx--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs/m68k-68xxx--uclibc--stable-2023.11-1.sha256 +sha256 17bec666be6c4d7d796055fa04c180dd41dc8f85898e1177c36585642fbb1496 m68k-68xxx--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 3bf997d9333430de431811c09b7b47551b134b70a6bce7f93aea86b39efd75fc m68k-coldfire--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs/m68k-coldfire--uclibc--stable-2023.11-1.sha256 +sha256 87e6f40abe2a17eca8c60b3fa15dab7c2f6cbda34a2bc79f5228d71927337158 m68k-coldfire--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--bleeding-edge-2023.11-1.sha256 +sha256 d05a6bdd547ca1b8f72a64989af3fa46db2ec054d319310dc3219a2414f11e67 microblazebe--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--glibc--stable-2023.11-1.sha256 +sha256 cdb5de2bd88c0ec95f24d56550b47eb256e74f10f7e579da4bcb486d0198d138 microblazebe--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--bleeding-edge-2023.11-1.sha256 +sha256 55c14a3b40036029aedad93e64e7e33f590808608eb446cc641e6bf28b4bea58 microblazebe--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--musl--stable-2023.11-1.sha256 +sha256 93fe4e169b35e84dbd55e1ac97722b0f685e88701171ee4af24e89f54aa647ff microblazebe--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 ebbafd02b80bbd65c79644aba48da3ef471fe43c89e7c257b57c881048f35033 microblazebe--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs/microblazebe--uclibc--stable-2023.11-1.sha256 +sha256 cee44f3c1f87dfaac941df61a27ab854e1e0898978d484214782369b5a324029 microblazebe--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--bleeding-edge-2023.11-1.sha256 +sha256 04f90560bb9bf8905ac2f5ca7b3d9484fcb29b25e296612cc28a9d6551c3363c microblazeel--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--glibc--stable-2023.11-1.sha256 +sha256 d3ab9b6ef87c793c236b599e93e39df001faeb4f8f402fb496e4f456a4aa709a microblazeel--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--bleeding-edge-2023.11-1.sha256 +sha256 bf539dda6f5793c8d5b64add457f72bac4aa41c27369e67c79079ef683c653d3 microblazeel--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--musl--stable-2023.11-1.sha256 +sha256 2f2018e378a0f6c7075766239217b268fd45a0103ac5af5143869ca49db3cb56 microblazeel--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 24c1687ae24ad115129261ba34be831d65e5aae4f0f1536fd5df7ed9c1e53da6 microblazeel--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs/microblazeel--uclibc--stable-2023.11-1.sha256 +sha256 40c25f81998bf10e73f9a8f5934d8c8028adfb1ff8436abd8e8ecccdc25ad82d microblazeel--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--bleeding-edge-2023.11-1.sha256 +sha256 fb7fb26666b9d8d2cac1aadb18f2cb7819b8b3a1ec26800b12594791bfa72604 mips32--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--glibc--stable-2023.11-1.sha256 +sha256 062d5df972b7b628337fdecba84cbe2b33f9c863e59c9702556ef252e7b44750 mips32--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--bleeding-edge-2023.11-1.sha256 +sha256 91b6680324773afad77a211acf1357cd06526faa860943267fdb0ffa61a845f0 mips32--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--musl--stable-2023.11-1.sha256 +sha256 c0053f5475d960a7a1a2872ebddaf7f054aa55337dd2d6c4e81c25758244a75f mips32--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 66edf00bd30bb1ac0885aeb891679f2e2ba33910d99e7cd85bab4400ffc014f3 mips32--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs/mips32--uclibc--stable-2023.11-1.sha256 +sha256 5f4f81dbc9b7faff25dc4e3223562d5f064cf31e628eec7902b3b00c66153ed1 mips32--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--bleeding-edge-2023.11-1.sha256 +sha256 90afdb045301503974a7337822645c975766b1749472a4b98de8251737e97434 mips32el--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--glibc--stable-2023.11-1.sha256 +sha256 60fc28d1521dfeefbfedb20776eeadec5b9bade7a55d0ea0c901766f722da3bd mips32el--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--bleeding-edge-2023.11-1.sha256 +sha256 b22b3eb247529eb320f2d5d1cec0b903c2509ef11b16ca77715f62bba0d687b0 mips32el--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--musl--stable-2023.11-1.sha256 +sha256 a76bdda55776c0b1a546ef20652b78134b96bdefa4f8cc792eb46d913df9138b mips32el--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 4106d5a4c45b6200cfaccb78a61344120d2e4610cea5e14168a9ab7a50e869c3 mips32el--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs/mips32el--uclibc--stable-2023.11-1.sha256 +sha256 9aa9b2d99778ae8848ba629690cda55a9fee4175016b551c7726995a57b80478 mips32el--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--bleeding-edge-2023.11-1.sha256 +sha256 c50c257de4ed262fb2a82b3eaa973d927d3a36506214918e4b7a9c4b208f5622 mips32r5el--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2023.11-1.sha256 +sha256 58a7b63b8a957d99146218aaa28bdf5d01bd64cb6e97c50592f6bbe09b0d76a0 mips32r5el--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--bleeding-edge-2023.11-1.sha256 +sha256 3ad2cef7e834c565a9cb9ccfb3576c87ecbc7f0a7d460b071cecfeb6b867704e mips32r5el--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--musl--stable-2023.11-1.sha256 +sha256 571abc2312dae8b4e49effbd0e81bdf48523427512f5a24744c0c4d3d6a9af35 mips32r5el--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 047296dbb1a33a98ec7b4b7ef7e34fca97cb44d86f7f1e6832bb0490471263b4 mips32r5el--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--uclibc--stable-2023.11-1.sha256 +sha256 7c92a47bd9e22445ec4bde739866f5ab75dfacac8a73d687165774c5a124b7cf mips32r5el--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--bleeding-edge-2023.11-1.sha256 +sha256 114c1b6cfc6b0eae974fb1141b40ec4fc49f10c398fd345845afbcc34a345e22 mips32r6el--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--glibc--stable-2023.11-1.sha256 +sha256 6dd4457db666b58707f5e2d36d5c3045506f6f90d8f754d6321fa6758be3aa0e mips32r6el--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--bleeding-edge-2023.11-1.sha256 +sha256 d1e03c69e1365582c2ab8962a4279c0f83753dc95b754d9deec96aa18eec54ce mips32r6el--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--musl--stable-2023.11-1.sha256 +sha256 35d831a96647305ed674e5127e1f8dc6fc4b14d3f94aa867ef47eeef8c0becb6 mips32r6el--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 22e09f0d9c69a4dbe3bc0602579fff19dc3820d92aed73b202714a8728b4d0d6 mips32r6el--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs/mips32r6el--uclibc--stable-2023.11-1.sha256 +sha256 383c82e3c0accba7b0b5b1c3bfd5e4ee4521932f525823a95724aa3ff796d0be mips32r6el--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--bleeding-edge-2023.11-1.sha256 +sha256 dd43c76fa9d5b0894582912cf3c1a562e0b8f401910952aadcec856c209b055c mips64-n32--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--glibc--stable-2023.11-1.sha256 +sha256 e17670f46efcac70105bd360573fcee3b9e2410a688806ec90f6012a419b88d2 mips64-n32--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--bleeding-edge-2023.11-1.sha256 +sha256 bf442bd32f0a7cb0fe0e2ea229f08bd65af6f471478599aa0b80ab484186a56f mips64-n32--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--musl--stable-2023.11-1.sha256 +sha256 a7c733e4695d9851bb70d03b40e84ae75383bffd20894293718f24a6284bd071 mips64-n32--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 10b53c93acb9a8cb29137156dc859fd10ccb8a2edee12fbd70e11658fd0c3643 mips64-n32--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs/mips64-n32--uclibc--stable-2023.11-1.sha256 +sha256 e6fe6d734c2c2044b48413d19b75af3dd8b9e8d470f29c98001ab1d833d7c5bf mips64-n32--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--bleeding-edge-2023.11-1.sha256 +sha256 d3f022b9a550a4c132b7b569ffee1450ba9aa3821b937df9acb4a5a50e9c0404 mips64el-n32--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--glibc--stable-2023.11-1.sha256 +sha256 e2d1a56763c8680f458f66962749b14992985721fb63621dd3907096205fdf5b mips64el-n32--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--bleeding-edge-2023.11-1.sha256 +sha256 688a5749fad712ca241f64be4b6e96cbfab98dbd528eb0e6c477f2d466215b2a mips64el-n32--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--musl--stable-2023.11-1.sha256 +sha256 c108ccfd651d89af088777b5cc1aebb6a2be24107875c93c00af94da3edcec53 mips64el-n32--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 c0fe0e58eff17318fd7783b85d9b7586dfa67cea60d7ff0b245af07e55a8334a mips64el-n32--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs/mips64el-n32--uclibc--stable-2023.11-1.sha256 +sha256 66f8c87c8649a32c597863791cfec8c44c1edc0a3438dc6919fd164541318fc0 mips64el-n32--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--bleeding-edge-2023.11-1.sha256 +sha256 10b1215c32c441d004c0020c3512ff23447da89fe0a24e86de35590fa8ea74d3 mips64r6el-n32--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--glibc--stable-2023.11-1.sha256 +sha256 30aa25c3bcbd085d8bd22a1055f083e9bf7d37dcf91847651dda802d1ee99295 mips64r6el-n32--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--bleeding-edge-2023.11-1.sha256 +sha256 ba6a72fdb04b5b4741ad5562a7baf881b83bdad245cdc5cc7ba2b2f1fc481dae mips64r6el-n32--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--musl--stable-2023.11-1.sha256 +sha256 7efe8e663f909e382bfa1035c231051757c3d66a79640864db3b2182b6d122ca mips64r6el-n32--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 d259f6b0b78da1296106b070630cc08f7d346af4b57d15f348b53a3a531e4e23 mips64r6el-n32--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs/mips64r6el-n32--uclibc--stable-2023.11-1.sha256 +sha256 f55e95fb54c7d71274f5050941925c11d180fe7e98c0f0d1b91e8b36672e235e mips64r6el-n32--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--bleeding-edge-2023.11-1.sha256 +sha256 aef966d00fde3297115ac0ae52226b61f8d8f89efc46c15ebf796d8d9a64b951 nios2--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs/nios2--glibc--stable-2023.11-1.sha256 +sha256 d9d6137443055c1e7ae086ab746ab1246d0772aec85db61b04e0fcc0acdf655e nios2--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--glibc--bleeding-edge-2023.11-1.sha256 +sha256 cd9489ab73dbcf7a2f915b4c75021c22d43cb4bd3c8a2bd95f324040a2d548c1 openrisc--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--glibc--stable-2023.11-1.sha256 +sha256 35eb515b554a8dcb60cae731aba49b9588cfec379f434d106de9a971015d7cf1 openrisc--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--bleeding-edge-2023.11-1.sha256 +sha256 7efab1b6d4ef49f0c4be87992567a510f7147a0e131bbfc7f88c06ac399048ff openrisc--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--musl--stable-2023.11-1.sha256 +sha256 2ece0d83ae58072d8ca22043b19f1121ecefadd456ca4d33737696c667307a47 openrisc--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 04e0941036df0478c809c9bda56d2425ccaf48665c311de6605a8b050107665a openrisc--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs/openrisc--uclibc--stable-2023.11-1.sha256 +sha256 a83587690bef62c3d45458db20efb101b41c55695da2f38fdb2998e4b3ccadc9 openrisc--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--bleeding-edge-2023.11-1.sha256 +sha256 78aca713c2aaf75b176a5334cf3af8387037bcce5960d8638f728feb90c84d84 powerpc-440fp--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--glibc--stable-2023.11-1.sha256 +sha256 12760035aa457b31b58eefb1b4c0b76b87021b8fddee721c390a536adcc308aa powerpc-440fp--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--bleeding-edge-2023.11-1.sha256 +sha256 49ae0f78dd343c5b40b2d732b58d34f1203e3e50f13b767d160c98efeda404f4 powerpc-440fp--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--musl--stable-2023.11-1.sha256 +sha256 9bfd63773d1cd8e1cf6f83c12dbe0ecf9759df2858da46cc3dac2bfb4c8a7c67 powerpc-440fp--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 b7f5407567e636c6efc765f4a1e32cb64a166c6a863b9ac42589f8834e4ed6d8 powerpc-440fp--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs/powerpc-440fp--uclibc--stable-2023.11-1.sha256 +sha256 e60268e6826db3574cf2bc74c53daa92db2dd48de2884f3c25be41656bd4e5ef powerpc-440fp--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--bleeding-edge-2023.11-1.sha256 +sha256 0b5d51e7b5d991025d934a30711f07cfe482ad3ccccdb4608638eec0910f0d7b powerpc-e300c3--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--glibc--stable-2023.11-1.sha256 +sha256 cafdd55bd0f82aaef09203eeee1a7294f6cf8cf6b4cc669f8a5cdd01e897d4e7 powerpc-e300c3--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--bleeding-edge-2023.11-1.sha256 +sha256 9ddec25bccd33ccbabdfa3140a7f1b7283ff2443e83ef5f3be12e95b9a256d7f powerpc-e300c3--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--musl--stable-2023.11-1.sha256 +sha256 fcf15c1bb605abb906b7f6b7d2d5ba1a16de9b2eb03ae4d57d8b4480ce295371 powerpc-e300c3--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 db57a356f63111d7c615cb1f1095f6193c453709facd41c3d492a423f5ff5070 powerpc-e300c3--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs/powerpc-e300c3--uclibc--stable-2023.11-1.sha256 +sha256 e27984bbee08d4f1a794ce90e1b78e68ee8750403666452525e7360655d99f32 powerpc-e300c3--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--bleeding-edge-2023.11-1.sha256 +sha256 07b26929d9f2a8d0225a1df4b4f01497e475478c4f5d5465a810585dd4b44a4a powerpc-e500mc--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--glibc--stable-2023.11-1.sha256 +sha256 e0b50deb4ffba15fcead9ecea75a6f4af6feca6012a60ddd76591874a47e5338 powerpc-e500mc--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--bleeding-edge-2023.11-1.sha256 +sha256 89302d5660e58e68fdf75d238ead582c586d26c0aa717bb5cd3d1f024420c400 powerpc-e500mc--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--musl--stable-2023.11-1.sha256 +sha256 59274e8641885915e226083f4474606f17600cc09e8a097129e9e04ee29a672a powerpc-e500mc--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 5f9db756eeb6d8c76574a578f823368a78e437204534d071fed63fe967156dd6 powerpc-e500mc--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs/powerpc-e500mc--uclibc--stable-2023.11-1.sha256 +sha256 7b6921f004698556681aa26ea0091931b5bd71bf0a785ff947d5b02c86d77f37 powerpc-e500mc--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--bleeding-edge-2023.11-1.sha256 +sha256 814de1a235c805ec6a0035cf8633e5a31fdcec93a3aaaabf44cb0ca23eaa1d93 powerpc64-e5500--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2023.11-1.sha256 +sha256 3e55842372cfb4ac35ccfb4a1cf1ccc1a207eaa27fa0c8d32641cda07316b93b powerpc64-e5500--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--bleeding-edge-2023.11-1.sha256 +sha256 1e4e9684763822079cc3df10b290510cb4241706f287835ec1a07ec309d2b8a7 powerpc64-e6500--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--glibc--stable-2023.11-1.sha256 +sha256 ef93463f56824079cc4cc849892004d9d06316011c51063d6c88838369065717 powerpc64-e6500--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--bleeding-edge-2023.11-1.sha256 +sha256 facb722bb19e7bf837a65a3ff15d4d80918dc36fe3a3f87a760d759f616d1d91 powerpc64-e6500--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs/powerpc64-e6500--musl--stable-2023.11-1.sha256 +sha256 fff880e6fc09efe3d5aaaa6a561fb6af3885dbeae8a73b1981c072196c3abc4a powerpc64-e6500--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--bleeding-edge-2023.11-1.sha256 +sha256 d8c135613d6d75d9974c3da437628bea05d93c7db3a86bc092979621621cb773 powerpc64-power8--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--glibc--stable-2023.11-1.sha256 +sha256 cd74cbce020c82966bdf2d4a1cb3de682043939c6dd3ad211d45ddfe56edcaaa powerpc64-power8--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--bleeding-edge-2023.11-1.sha256 +sha256 6dbcdd017bbb21179f47e17298b3de78a44d6991f51f57b584f30bb76817c76f powerpc64-power8--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs/powerpc64-power8--musl--stable-2023.11-1.sha256 +sha256 f8496ecc9019cabb3fc1515da26a051abae4cc60c530619f0bef5d82c56f8a7a powerpc64-power8--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--bleeding-edge-2023.11-1.sha256 +sha256 04effeaf9d9e1961fe65f54015b92e329ce2cbe6c66af10b21519d0cd06a7236 powerpc64le-power8--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--glibc--stable-2023.11-1.sha256 +sha256 606f82f3b218791f4411082ff7f6c7ab6e8955b5a3537f0f61646b9594402458 powerpc64le-power8--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--bleeding-edge-2023.11-1.sha256 +sha256 79ae7450434e969643018e4ddb249716c9c631a2a39937b5cd183393477d5410 powerpc64le-power8--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs/powerpc64le-power8--musl--stable-2023.11-1.sha256 +sha256 c9402692c883f5512b966fe517038d9b30b93de328dd5dd2e7af20d25e4509ca powerpc64le-power8--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2023.11-1.sha256 +sha256 19bd2ecfd1f7a56795ed1807ddadbbe3d0807fc19bb95625ca5a126810bd3fc4 riscv32-ilp32d--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--bleeding-edge-2023.11-1.sha256 +sha256 7a53268f429109ee416df5ed6ef47b1a2d88d7760371aabaf8f4f24481dfb89e riscv64-lp64d--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2023.11-1.sha256 +sha256 80e84af7ebed4e8e52fc2d17994f7bcb2e7bdc069e2d1f1c4656977cd73d9d5d riscv64-lp64d--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--bleeding-edge-2023.11-1.sha256 +sha256 023dadabe58ff6079b27ebfde9495440180dc473b8c5da2c55e95ce68e095c15 riscv64-lp64d--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--musl--stable-2023.11-1.sha256 +sha256 09522ec60b13766090acaa715402cb11edaa39217642fbd7315fbe37b6032275 riscv64-lp64d--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 fcfa3624eb6024b55c264ec87790265beab393cfc8f867afda8954e4c3b744c4 riscv64-lp64d--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--uclibc--stable-2023.11-1.sha256 +sha256 aebb6034d3512e3c29337c368dcf4a1e58756c725032d814047a3635178cb5ad riscv64-lp64d--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--bleeding-edge-2023.11-1.sha256 +sha256 716031aaa6b2d566b0c9abf3992f1b7dabc845eb81934ec97ce0ff37157c9269 s390x-z13--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs/s390x-z13--glibc--stable-2023.11-1.sha256 +sha256 4ff3c21eb060c9df2e795fab18fa267300a581ba3fa55e62084e9233c386515f s390x-z13--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--bleeding-edge-2023.11-1.sha256 +sha256 96b9082e3ee2b7c7b8170fa8d93f50629d170f4dfc345978327ed562d0efe42b sh-sh4--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--glibc--stable-2023.11-1.sha256 +sha256 e957c0854780cb48b0fcb54eddf9ef40ed496b8fb3d0c905f9c36dd8263f3cf0 sh-sh4--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--bleeding-edge-2023.11-1.sha256 +sha256 57e28d5a164fdcaed5a6cfd1225e346e873d4e48f8f1ced8153af0c8669bd081 sh-sh4--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--musl--stable-2023.11-1.sha256 +sha256 b6847ac7355ad469d752799ffa08df4eef2a7ba49974242e1cefa9d9720bc894 sh-sh4--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 ee15660db075af19c7e768da73c6f57336b4201bd397e20fdd0357630fdf4e40 sh-sh4--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs/sh-sh4--uclibc--stable-2023.11-1.sha256 +sha256 8d0e0f3a54cb5b601d7c9c093138ba537e11f400a3e44ee0b10d28b96f9704fb sh-sh4--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--bleeding-edge-2023.11-1.sha256 +sha256 760b5970d4c9b82bd6d469a142713bc70564a83d86123b1c5ae1fb0ccf9711d7 sh-sh4aeb--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--glibc--stable-2023.11-1.sha256 +sha256 e734eeba730881e1135abb94797ece8865b924ff31c918df93fcfbf21dddba7d sh-sh4aeb--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--bleeding-edge-2023.11-1.sha256 +sha256 d2a7024ca6869117118e136c8577d11c954acfd4aa71112f431be0c76fffea2f sh-sh4aeb--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs/sh-sh4aeb--musl--stable-2023.11-1.sha256 +sha256 3e48605bbf9407f9625cc367b55ab35f20a308cb44c69e85583b2fe10c9c604d sh-sh4aeb--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--bleeding-edge-2023.11-1.sha256 +sha256 8ee180782f8094d90e28e4977ea018094363d0678c1d149838098bedcab4aa71 sparc64--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs/sparc64--glibc--stable-2023.11-1.sha256 +sha256 78eeafc8c9b28dbf5a90d2f8ebc4e1a0623147e5f4bdbcd29b32d6ee760c9d1b sparc64--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--bleeding-edge-2022.08-2.sha256 +sha256 ccd4110fa574d2323f038394c0603245384002fbe906204db36fe200c9c8f886 sparcv8--uclibc--bleeding-edge-2022.08-2.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs/sparcv8--uclibc--stable-2022.08-1.sha256 +sha256 da3b9f0a936401cbd3cc305b86d3611531391354cc0226a0eeb3ce4ddcc7b7dc sparcv8--uclibc--stable-2022.08-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--bleeding-edge-2023.11-1.sha256 +sha256 c97b280a36ae4411ec97717b2c67622912ef436efa55a31f888187492d4e5e4b x86-64--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--glibc--stable-2023.11-1.sha256 +sha256 e3c0ef1618df3a3100a8a167066e7b19fdd25ee2c4285cf2cfe3ef34f0456867 x86-64--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--bleeding-edge-2023.11-1.sha256 +sha256 b362a4b12a19e2baa3590386a531d8b65abad0d323aba317aea5146da13b8659 x86-64--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--musl--stable-2023.11-1.sha256 +sha256 d1df97230234a52c60e53fa7d1a6f14721295b8b49f40801c0e3ca1017b5bee3 x86-64--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 e32b885a41257dd5809f99d6d165994da3d1ce9efe2051f5c223a8243aaa37d9 x86-64--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs/x86-64--uclibc--stable-2023.11-1.sha256 +sha256 1b77c4238b3e1958472094f46f866cfe7eab6c25d728db8c3ece8121e2095035 x86-64--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--glibc--bleeding-edge-2023.11-1.sha256 +sha256 6b8cc256ccc35777b4d5b6a2baaa2d9a4cbb48f4e111860d20b310f983cf00e0 x86-64-v2--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--glibc--stable-2023.11-1.sha256 +sha256 45b1749ac5473f4ef629a32dcc423419b608c9cb80840b49501afb8af008c381 x86-64-v2--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--musl--bleeding-edge-2023.11-1.sha256 +sha256 ef2e717b55f34ad320c532a21782c308fdff5a462b413af868f52543dee043cf x86-64-v2--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--musl--stable-2023.11-1.sha256 +sha256 ae070e245dfc0bf882b6dcc4ad6c080b11f0b8d2f235f65c0cc1069a06f5e4a0 x86-64-v2--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 530f31ce5f8d002eb7e044f61b49e242d1e15a182e7e09ccf9f64080e6a28ac9 x86-64-v2--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs/x86-64-v2--uclibc--stable-2023.11-1.sha256 +sha256 a11189869ca3636abd12691758ab08dd41ef54c3cdcf936a141d48c4f2903237 x86-64-v2--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--glibc--bleeding-edge-2023.11-1.sha256 +sha256 49031a3567c018a94d8158f8f5767d3438da21c8ad493c90c641d11e55f44d81 x86-64-v3--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--glibc--stable-2023.11-1.sha256 +sha256 19376ffd5187f2c96d99a9f12d15ae51c8bf351d25a7186e379fae815feedd22 x86-64-v3--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--musl--bleeding-edge-2023.11-1.sha256 +sha256 6817017e68cb3d8e09eb048ccd70ee66e5cd72e49fb77806825614802a62077e x86-64-v3--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--musl--stable-2023.11-1.sha256 +sha256 05f73caedf28c257d66e4365b9e496069bdc1294bfa1b9697e64a380d63eaf99 x86-64-v3--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 45ee398da5195584062e573eed27a660d99a10e8f129c6fb27b2d6b418a05bae x86-64-v3--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs/x86-64-v3--uclibc--stable-2023.11-1.sha256 +sha256 9848d205bcbdba3fd2e1c61cdd5d33ed03f842639d4f4e0a0057c410811bed79 x86-64-v3--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--glibc--bleeding-edge-2023.11-1.sha256 +sha256 d57fc66d8ae7e7aedf543bf4993fa36be68aeb1020c30d32d26d0fad8952db63 x86-64-v4--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--glibc--stable-2023.11-1.sha256 +sha256 095220c834fb1c1a796e6db7847c9dc191fedca6ae731708a9864f1c0ec0f752 x86-64-v4--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--musl--bleeding-edge-2023.11-1.sha256 +sha256 50757334efcabf2d35083498df04a945cb7e3730dd3893cc478832a02d21147b x86-64-v4--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--musl--stable-2023.11-1.sha256 +sha256 437516c415eacd377946df6167196dd4337da030f304d8c81b5b6889317b136c x86-64-v4--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 f6e25121564440796a9cb196bf9de87e1ed51456d508deb8b061ab4727971ff6 x86-64-v4--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs/x86-64-v4--uclibc--stable-2023.11-1.sha256 +sha256 a35e650c422e64939c8d4578b39fce5c73995688420e51aa6c0f553ba97ba838 x86-64-v4--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--bleeding-edge-2023.11-1.sha256 +sha256 00e1992817c73d2df99f188240e244442f3d50a2a9a994d95ade453916c16ac3 x86-64-core-i7--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--stable-2023.11-1.sha256 +sha256 a3cd2806008fd2bd75bee34d098003ef2cfb06665d15e92d305617d4e021b74e x86-64-core-i7--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--bleeding-edge-2023.11-1.sha256 +sha256 cf084bdf1f62c35996dc922d9c794a08d53ff0d71e888a0bbc4717431aa7c2c6 x86-64-core-i7--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--musl--stable-2023.11-1.sha256 +sha256 38a7be51cdeb738f7d724ba3efe207fddab523c8b128bbbb33f9b7a56d0e70f1 x86-64-core-i7--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 4f08c426b0ebb88a1e66831db780168c5716e319e905b8d41c5f5dba1e98d543 x86-64-core-i7--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--uclibc--stable-2023.11-1.sha256 +sha256 92ee30927596669f133982681010edaaf63100fde41ffea6a778aae367b2ca86 x86-64-core-i7--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2023.11-1.sha256 +sha256 76135ed57c361ac9c3722ff8db64332cffa77669b7051469eb3ef169df790bb6 x86-core2--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--stable-2023.11-1.sha256 +sha256 adde0a7579bd8c7c6b4dd7af2997a6841a541d1e94426d2ad7ebdbb26105b536 x86-core2--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--bleeding-edge-2023.11-1.sha256 +sha256 26206a934621b95ccf5380fe3f69e2218a9531a850dd05f9cdee5cc66e23963e x86-core2--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--musl--stable-2023.11-1.sha256 +sha256 7202c3eb1f71ebbef5db2b042ba7e803574ccf66987c406f3711d98878dbbe24 x86-core2--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 4d73fbe36e86263679a4d5f7331977657cf793fe1ef337ffb6492aedf9d86e1b x86-core2--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--uclibc--stable-2023.11-1.sha256 +sha256 825c95bf3f28a950f90f9f8827c3ee4536729285603ff53611ae260c4beb2ce8 x86-core2--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2023.11-1.sha256 +sha256 007266510779d041524cc1fce4eac2af1ffe38db50d2221cbe09a519c61190c3 x86-i686--glibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--stable-2023.11-1.sha256 +sha256 13afd0f9b7fd7e3c1c598b294494e23ddacb39df23e30a999fbadff31a97c514 x86-i686--glibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--bleeding-edge-2023.11-1.sha256 +sha256 02c465b5612607931c9f0f7eec0239b0ecebab2af3cef79c28993c7ce7f5b079 x86-i686--musl--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--musl--stable-2023.11-1.sha256 +sha256 5d0a0abd6f6227622b217183ab06bcdf63fd6834bcb2a2335666bbb734f3fb11 x86-i686--musl--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 6a40f5bb22f1fb1de6cc6986f31afdfbef5c5c866f3a3a387e1dfc567ed98b8e x86-i686--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--uclibc--stable-2023.11-1.sha256 +sha256 c23e32f9616df27a1b8f77700d7b988c55dce6443598907ceface720c6e960a3 x86-i686--uclibc--stable-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--bleeding-edge-2023.11-1.sha256 +sha256 9434e3522601c9b494bd223fa04376b9b489db47e823266b124f5b7a3b97486c xtensa-lx60--uclibc--bleeding-edge-2023.11-1.tar.bz2 +# From https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs/xtensa-lx60--uclibc--stable-2023.11-1.sha256 +sha256 aa28cb17b03d7fa29c8911a8f9c7b26c2d90c222b1b0a1c727ecc5533b14023e xtensa-lx60--uclibc--stable-2023.11-1.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk index 166cf5f45dd..4a09fd8825c 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk +++ b/toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk @@ -7,1177 +7,1279 @@ # This file was auto-generated by support/scripts/gen-bootlin-toolchains # Do not edit ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = aarch64be--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64be/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-750d--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-750d--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-750d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-3 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = arcle-hs38--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/arcle-hs38/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv5-eabi--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv5-eabi/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv6-eabihf--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv6-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7-eabihf--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armebv7-eabihf--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armebv7-eabihf--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armebv7-eabihf--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armebv7-eabihf--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armebv7-eabihf--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armebv7-eabihf--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armebv7-eabihf/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7m--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = armv7m--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/armv7m/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_MUSL_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-68xxx--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-68xxx/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-coldfire--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = m68k-coldfire--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/m68k-coldfire/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazebe--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazebe/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = microblazeel--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/microblazeel/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32el--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r5el--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips32r6el--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r6el/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64-n32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64el-n32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = mips64r6el-n32--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/mips64r6el-n32/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = nios2--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = nios2--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/nios2/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_BLEEDING_EDGE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs +endif + +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = openrisc--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/openrisc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_440FP_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-440fp--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-440fp/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E300C3_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e300c3--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc-e500mc--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e500mc/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e5500--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e5500--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E6500_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-e6500--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e6500/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64-power8--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-2 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = powerpc64le-power8--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64le-power8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv32-ilp32d--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_LP64D_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = riscv64-lp64d--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = s390x-z13--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_S390X_Z13_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = s390x-z13--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/s390x-z13/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sh-sh4aeb--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sh-sh4aeb/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparc64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparc64--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparc64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-3 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2022.08-2 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparcv8--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2022.08-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = sparcv8--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/sparcv8/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V2_UCLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v2--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v2/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V3_UCLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v3--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v3/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_GLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_MUSL_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-5 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs endif +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_V4_UCLIBC_STABLE),y) +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-v4--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 +TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-v4/tarballs +endif + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-64-core-i7--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-core2--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--glibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--glibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--musl--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--musl--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = x86-i686--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = xtensa-lx60--uclibc--bleeding-edge-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs endif ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_STABLE),y) -TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2021.11-1 +TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION = 2023.11-1 TOOLCHAIN_EXTERNAL_BOOTLIN_SOURCE = xtensa-lx60--uclibc--stable-$(TOOLCHAIN_EXTERNAL_BOOTLIN_VERSION).tar.bz2 TOOLCHAIN_EXTERNAL_BOOTLIN_SITE = https://toolchains.bootlin.com/downloads/releases/toolchains/xtensa-lx60/tarballs endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in deleted file mode 100644 index 2341d088325..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ /dev/null @@ -1,65 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - bool "Codescape IMG GNU Linux Toolchain 2018.09" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - select BR2_TOOLCHAIN_HAS_FORTRAN - select BR2_TOOLCHAIN_HAS_OPENMP - help - Codescape IMG GNU Linux Toolchain 2018.09 for the MIPS - architecture, from MIPS Tech LLC. It uses gcc 6.3.0, - binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers - 4.7. It has support for the following variants: - - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r6' Target Architecture Variant - Enable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r6' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options deleted file mode 100644 index 3eaa2a9522b..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "mips-img-linux-gnu" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codescape-img-mips" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash deleted file mode 100644 index 65e1861f127..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash +++ /dev/null @@ -1,4 +0,0 @@ -# Codescape toolchains from MIPS Tech LLC -# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html -sha256 ac035f3b6a8767522977963d8e1490520d58bccca7956f4503a1eefff6492b71 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz -sha256 09280f4fcbb993607905bf9a43bf5f3db2beed85726f0675b8453e19a9ddc429 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk deleted file mode 100644 index 55424918c77..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -# -# toolchain-external-codescape-img-mips -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2018.09-02 -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STRIP_COMPONENTS = 2 - -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz -else -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz -endif - -# Special fixup for Codescape MIPS toolchains, that have bin- and -# sbin- directories. We create symlinks bin -> bin- and sbin -# -> sbin- so that the rest of Buildroot can find the toolchain -# tools in the appropriate location. -ifeq ($(BR2_MIPS_OABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = o32 -else ifeq ($(BR2_MIPS_NABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n32 -else ifeq ($(BR2_MIPS_NABI64),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX = n64 -endif - -define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS - rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin - ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin - ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin -endef - -# The Codescape toolchain uses a sysroot layout that places them -# side-by-side instead of nested like multilibs. A symlink is needed -# much like for the nested sysroots which are handled in -# copy_toolchain_sysroot but there is not enough information in there -# to determine whether the sysroot layout was nested or side-by-side. -# Add the symlink here for now. -define TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ - ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ - ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} -endef - -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_POST_INSTALL_STAGING_HOOKS += \ - TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STAGING_FIXUPS \ - TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SYMLINK - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in deleted file mode 100644 index c58c55119a7..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ /dev/null @@ -1,76 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - bool "Codescape MTI GNU Linux Toolchain 2018.09" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ - BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - select BR2_TOOLCHAIN_HAS_FORTRAN - select BR2_TOOLCHAIN_HAS_OPENMP - help - Codescape MTI GNU Linux Toolchain 2018.09 for the MIPS - architecture, from MIPS Tech LLC. It uses gcc 6.3.0, - binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers - 4.7. It has support for the following variants: - - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' - - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI - Select 'MIPS (big endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mnan=2008' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Enable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, - microMIPS - Select 'MIPS (little endian)' Target Architecture - Select 'mips 32r2' Target Architecture Variant - Disable 'Use soft-float' - Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n32' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI - Select 'MIPS64 (big endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' - - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI - Select 'MIPS64 (little endian)' Target Architecture - Select 'mips 64r2' Target Architecture Variant - Select 'n64' Target ABI - Disable 'Use soft-float' diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options deleted file mode 100644 index 464c9b84489..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "mips-mti-linux-gnu" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codescape-mti-mips" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash deleted file mode 100644 index b07281de488..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash +++ /dev/null @@ -1,4 +0,0 @@ -# Codescape toolchains from MIPS Tech LLC -# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html -sha256 c883a404fd7ea5718e2249a530802e223381f2be52265f88e9b1ce7035c232f3 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz -sha256 d6310a970b0a8a19ad8e0a2b3ead8c38ee90d0e284a9b2511200ce447f460d2c Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk deleted file mode 100644 index 9bee1ab87d8..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################ -# -# toolchain-external-codescape-mti-mips -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2018.09-02 -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STRIP_COMPONENTS = 2 - -ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz -else -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz -endif - -# Special fixup for Codescape MIPS toolchains, that have bin- and -# sbin- directories. We create symlinks bin -> bin- and sbin -# -> sbin- so that the rest of Buildroot can find the toolchain -# tools in the appropriate location. -ifeq ($(BR2_MIPS_OABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = o32 -else ifeq ($(BR2_MIPS_NABI32),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n32 -else ifeq ($(BR2_MIPS_NABI64),y) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n64 -endif - -define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS - rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin - ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin - ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin -endef - -# The Codescape toolchain uses a sysroot layout that places them -# side-by-side instead of nested like multilibs. A symlink is needed -# much like for the nested sysroots which are handled in -# copy_toolchain_sysroot but there is not enough information in there -# to determine whether the sysroot layout was nested or side-by-side. -# Add the symlink here for now. -define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK - $(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \ - ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \ - ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR} -endef - -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_POST_INSTALL_STAGING_HOOKS += \ - TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS \ - TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in deleted file mode 100644 index 8c0f985c5bf..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in +++ /dev/null @@ -1,19 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 - bool "CodeSourcery AArch64 2014.11" - depends on BR2_aarch64 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 - # a57/a53 and a72/a53 appeared in gcc-6 or were broken before - depends on !BR2_cortex_a57_a53 && !BR2_cortex_a72_a53 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - help - Sourcery CodeBench toolchain for the AArch64 architecture, - from Mentor Graphics. It uses gcc 4.9.1, binutils - 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers - 3.16.2. diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options deleted file mode 100644 index 1eab8392166..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "aarch64-amd-linux-gnu" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codesourcery-aarch64" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash deleted file mode 100644 index 8f8fca0d0c3..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 405aada821146755c5f2df566375c2a682456d6b8451ee47b88cf1a52b093676 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 3f50dd6ee433eb5b6992a1071b988e50379a738f54f58722bc60081613764716 aarch64-amd-2014.11-95-aarch64-amd-linux-gnu.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk deleted file mode 100644 index 192763a0e0e..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/toolchain-external-codesourcery-aarch64.mk +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# -# toolchain-external-codesourcery-aarch64 -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION = 2014.11-95 -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_SOURCE = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 -TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_ACTUAL_SOURCE_TARBALL = aarch64-amd-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in deleted file mode 100644 index aea2ba34f25..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in +++ /dev/null @@ -1,35 +0,0 @@ -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM - bool "Sourcery CodeBench ARM 2014.05" - depends on BR2_arm - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_ARM_EABI - # Unsupported ARM cores - depends on !BR2_cortex_a12 && !BR2_cortex_a17 && !BR2_ARM_CPU_ARMV8A - select BR2_TOOLCHAIN_EXTERNAL_GLIBC - select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_INSTALL_LIBSTDCPP - select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - help - Sourcery CodeBench toolchain for the ARM architecture, from - Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc - 2.18 and gdb 7.7.50, kernel headers 3.13. It has support - for the following variants: - - ARMv5TE, little endian, soft-float, glibc - Select ARM926T, ARM10T, XScale or another ARMv5 core - Select BR2_SOFT_FLOAT - - ARMv4T, little endian, soft-float, glibc - Select ARM720T, ARM920T, ARM922T or another ARMv4 core - Select BR2_SOFT_FLOAT - - ARMv7-A, Thumb 2, little endian, soft-float, glibc - Select Cortex-A8, Cortex-A9 or another ARMv7-A core - Select BR2_SOFT_FLOAT - Set BR2_TARGET_OPTIMIZATION to -mthumb - -comment "Sourcery CodeBench toolchains available for the EABI ABI" - depends on BR2_arm - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 - depends on !BR2_ARM_EABI diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options deleted file mode 100644 index 7f3654dc70a..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options +++ /dev/null @@ -1,9 +0,0 @@ -if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM - -config BR2_TOOLCHAIN_EXTERNAL_PREFIX - default "arm-none-linux-gnueabi" - -config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL - default "toolchain-external-codesourcery-arm" - -endif diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash deleted file mode 100644 index c01a7b17c59..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally calculated -sha256 39ee0e789034334ecc89af94e838e3a4815400ac5ff980f808f466b04778532e arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -sha256 e16a5b1e41d7ff1e74161f9405182001bc8d1360d89564e73911032e6966cc0d arm-2014.05-29-arm-none-linux-gnueabi.src.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk b/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk deleted file mode 100644 index f15a50c43e1..00000000000 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-arm/toolchain-external-codesourcery-arm.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# toolchain-external-codesourcery-arm -# -################################################################################ - -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION = 2014.05-29 - -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_SOURCE = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 -TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_ACTUAL_SOURCE_TARBALL = arm-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX).src.tar.bz2 - -$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index a9cb61365f0..5554d56719a 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -24,6 +24,21 @@ config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX string "Toolchain prefix" default "$(ARCH)-linux" + help + Component name prefix used by your external toolchain. + + Typically, this is the target tuple, e.g. something that + looks like: $(ARCH)-unknown-linux-gnu. + + If unsure, look at the "bin" directory of your toolchain and + note the part of component name before the last dash, i.e. if + you call the toolchain's gcc as $(ARCH)-unknown-linux-gnu-gcc, + the prefix is $(ARCH)-unknown-linux-gnu. + + Note that Buildroot toolchains have shorter aliases that look + like $(ARCH)-linux, as symlinks to the full-tuple components, + so you can leave this option at default value if you use them + as external toolchain. choice bool "External toolchain gcc version" @@ -31,68 +46,88 @@ choice Set to the gcc version that is used by your external toolchain. +config BR2_TOOLCHAIN_EXTERNAL_GCC_13 + bool "13.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_13 + config BR2_TOOLCHAIN_EXTERNAL_GCC_12 bool "12.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_GCC_AT_LEAST_12 config BR2_TOOLCHAIN_EXTERNAL_GCC_11 bool "11.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12 select BR2_TOOLCHAIN_GCC_AT_LEAST_11 config BR2_TOOLCHAIN_EXTERNAL_GCC_10 bool "10.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11 select BR2_TOOLCHAIN_GCC_AT_LEAST_10 config BR2_TOOLCHAIN_EXTERNAL_GCC_9 bool "9.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_GCC_AT_LEAST_9 config BR2_TOOLCHAIN_EXTERNAL_GCC_8 bool "8.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_TOOLCHAIN_EXTERNAL_GCC_7 bool "7.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_7 config BR2_TOOLCHAIN_EXTERNAL_GCC_6 bool "6.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 select BR2_TOOLCHAIN_GCC_AT_LEAST_6 config BR2_TOOLCHAIN_EXTERNAL_GCC_5 bool "5.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 bool "4.9.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 bool "4.8.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7 bool "4.7.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6 bool "4.6.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5 bool "4.5.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4 bool "4.4.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 bool "4.3.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD bool "older" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 help Use this option if your GCC version is older than any of the above. @@ -127,8 +162,32 @@ choice If your toolchain uses headers newer than the latest version in the choice, then select the latest version. +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6 + bool "6.6.x or later" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_5 + bool "6.5.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_5 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_4 + bool "6.4.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_4 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_3 + bool "6.3.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_2 + bool "6.2.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_1 + bool "6.1.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_0 - bool "6.0.x or later" + bool "6.0.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_19 diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in index 53d5dfd8f2e..295a8987f16 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE bool "Linaro AArch64 BE 2018.05" depends on BR2_aarch64_be depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP diff --git a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in index c9b84b1d30e..1b0ec7cd9f8 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in @@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 bool "Linaro AArch64 2018.05" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP diff --git a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in index 015e92f17cd..8b3b4c844eb 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in @@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC diff --git a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in index b338a72bffd..b143ee5e247 100644 --- a/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in +++ b/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in @@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in index c3483f331c7..292e652fb01 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -2,9 +2,9 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC bool "Synopsys ARC 2019.09 toolchain" depends on BR2_arc depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC select BR2_INSTALL_LIBSTDCPP - select BR2_ENABLE_LOCALE select BR2_USE_WCHAR select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c index 37b24dd24a3..f66e588bfd1 100644 --- a/toolchain/toolchain-wrapper.c +++ b/toolchain/toolchain-wrapper.c @@ -154,12 +154,9 @@ static const struct str_len_s unsafe_opts[] = { * or separated (e.g. -I /foo/bar). In the first case, we need only print * the argument as it already contains the path (arg_has_path), while in * the second case we need to print both (!arg_has_path). - * - * If paranoid, exit in error instead of just printing a warning. */ static void check_unsafe_path(const char *arg, const char *path, - int paranoid, int arg_has_path) { const struct str_len_s *p; @@ -168,14 +165,12 @@ static void check_unsafe_path(const char *arg, if (strncmp(path, p->str, p->len)) continue; fprintf(stderr, - "%s: %s: unsafe header/library path used in cross-compilation: '%s%s%s'\n", + "%s: ERROR: unsafe header/library path used in cross-compilation: '%s%s%s'\n", program_invocation_short_name, - paranoid ? "ERROR" : "WARNING", arg, arg_has_path ? "" : "' '", /* close single-quote, space, open single-quote */ arg_has_path ? "" : path); /* so that arg and path are properly quoted. */ - if (paranoid) - exit(1); + exit(1); } } @@ -250,8 +245,6 @@ int main(int argc, char **argv) char *progpath = argv[0]; char *basename; char *env_debug; - char *paranoid_wrapper; - int paranoid; int ret, i, count = 0, debug = 0, found_shared = 0; /* Debug the wrapper to see arguments it was called with. @@ -470,12 +463,6 @@ int main(int argc, char **argv) #endif } - paranoid_wrapper = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); - if (paranoid_wrapper && strlen(paranoid_wrapper) > 0) - paranoid = 1; - else - paranoid = 0; - /* Check for unsafe library and header paths */ for (i = 1; i < argc; i++) { const struct str_len_s *opt; @@ -492,9 +479,9 @@ int main(int argc, char **argv) i++; if (i == argc) break; - check_unsafe_path(argv[i-1], argv[i], paranoid, 0); + check_unsafe_path(argv[i-1], argv[i], 0); } else - check_unsafe_path(argv[i], argv[i] + opt->len, paranoid, 1); + check_unsafe_path(argv[i], argv[i] + opt->len, 1); } } @@ -507,10 +494,28 @@ int main(int argc, char **argv) exec_args = args; #ifdef BR_CCACHE - /* If BR2_USE_CCACHE is not defined, or its value is not 1, - * skip the ccache call */ + /* If BR2_USE_CCACHE is set and its value is 1, enable ccache + * usage */ char *br_use_ccache = getenv("BR2_USE_CCACHE"); - if (!br_use_ccache || strncmp(br_use_ccache, "1", strlen("1"))) + bool ccache_enabled = br_use_ccache && !strncmp(br_use_ccache, "1", strlen("1")); + + if (ccache_enabled) { +#ifdef BR_CCACHE_HASH + /* Allow compilercheck to be overridden through the environment */ + if (setenv("CCACHE_COMPILERCHECK", "string:" BR_CCACHE_HASH, 0)) { + perror(__FILE__ ": Failed to set CCACHE_COMPILERCHECK"); + return 3; + } +#endif +#ifdef BR_CCACHE_BASEDIR + /* Allow compilercheck to be overridden through the environment */ + if (setenv("CCACHE_BASEDIR", BR_CCACHE_BASEDIR, 0)) { + perror(__FILE__ ": Failed to set CCACHE_BASEDIR"); + return 3; + } +#endif + } else + /* ccache is disabled, skip it */ exec_args++; #endif @@ -518,12 +523,14 @@ int main(int argc, char **argv) if (debug > 0) { fprintf(stderr, "Toolchain wrapper executing:"); #ifdef BR_CCACHE_HASH - fprintf(stderr, "%sCCACHE_COMPILERCHECK='string:" BR_CCACHE_HASH "'", - (debug == 2) ? "\n " : " "); + if (ccache_enabled) + fprintf(stderr, "%sCCACHE_COMPILERCHECK='string:" BR_CCACHE_HASH "'", + (debug == 2) ? "\n " : " "); #endif #ifdef BR_CCACHE_BASEDIR - fprintf(stderr, "%sCCACHE_BASEDIR='" BR_CCACHE_BASEDIR "'", - (debug == 2) ? "\n " : " "); + if (ccache_enabled) + fprintf(stderr, "%sCCACHE_BASEDIR='" BR_CCACHE_BASEDIR "'", + (debug == 2) ? "\n " : " "); #endif for (i = 0; exec_args[i]; i++) fprintf(stderr, "%s'%s'", @@ -531,21 +538,6 @@ int main(int argc, char **argv) fprintf(stderr, "\n"); } -#ifdef BR_CCACHE_HASH - /* Allow compilercheck to be overridden through the environment */ - if (setenv("CCACHE_COMPILERCHECK", "string:" BR_CCACHE_HASH, 0)) { - perror(__FILE__ ": Failed to set CCACHE_COMPILERCHECK"); - return 3; - } -#endif -#ifdef BR_CCACHE_BASEDIR - /* Allow compilercheck to be overridden through the environment */ - if (setenv("CCACHE_BASEDIR", BR_CCACHE_BASEDIR, 0)) { - perror(__FILE__ ": Failed to set CCACHE_BASEDIR"); - return 3; - } -#endif - if (execv(exec_args[0], exec_args)) perror(path); diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index 18f1dbea1a1..ac60a7b2483 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/toolchain/toolchain/toolchain.mk @@ -47,4 +47,7 @@ endef TOOLCHAIN_POST_INSTALL_TARGET_HOOKS += TOOLCHAIN_GLIBC_COPY_NSSWITCH_FILE endif +# Not really a virtual package, but we use the virtual package infra here so +# both the build log and build directory look nicer (toolchain-virtual instead +# of toolchain-undefined) $(eval $(virtual-package)) diff --git a/utils/add-custom-hashes b/utils/add-custom-hashes new file mode 100755 index 00000000000..017b25b27fe --- /dev/null +++ b/utils/add-custom-hashes @@ -0,0 +1,111 @@ +#!/usr/bin/env bash +set -e + +# Add hash files for packages with custom versions for +# BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +# +# Run in a configured Buildroot directory, E.G. +# make foo_defconfig; ./utils/add-custom-hashes + +# print BR-style message +# message +message() { + tput smso 2>/dev/null + echo "$*" + tput rmso 2>/dev/null +} + +# print error message and exit +# die +die() { + echo "Error: $*" >&2 + exit 1 +} + +# get package(s) for download file, if any +# get_pkgs +get_pkgs() { + jq --arg file "$2" -r \ + 'to_entries[] | select(.value.downloads[0].source == $file) | .key | strings' "$1" +} + +# get download dir for package +# get_pkg_dl_dir +get_pkg_dl_dir() { + jq --arg pkg "$2" -r '.[$pkg].dl_dir | strings' "$1" +} + +# generate hash file for download file +# gen_hash +gen_hash() { + ( + cd "$1" && printf '# Locally calculated\nsha256 ' && sha256sum "$2" + ) +} + +command -v jq >/dev/null || die 'Script needs jq' + +[ -e .config ] || \ + die "No .config found, please run this in a configured Buildroot (O=) directory" + +message Collecting data + +eval "$(make -s VARS='TOPDIR DL_DIR BR_NO_CHECK_HASH_FOR BR2_GLOBAL_PATCH_DIR' QUOTED_VARS=YES printvars)" +# global patch dir may already have quotes +BR2_GLOBAL_PATCH_DIR=$(echo "$BR2_GLOBAL_PATCH_DIR" | tr -d '"') + +[ -n "$BR2_GLOBAL_PATCH_DIR" ] || die "No BR2_GLOBAL_PATCH_DIR defined, nothing to do" +[ -n "$BR_NO_CHECK_HASH_FOR" ] || die "No packages without hashes found, nothing to do" + +[ -d "$TOPDIR" ] || die "TOPDIR ($TOPDIR) does not look correct" +[ -d "$DL_DIR" ] || die "DL_DIR ($DL_DIR) does not look correct" + +# patch dir may contain multiple dirs, use the last one +# shellcheck disable=SC2086 # we need the word splitting +set -- $BR2_GLOBAL_PATCH_DIR +if [ $# -gt 1 ]; then + BR2_GLOBAL_PATCH_DIR="${!#}"; + message BR2_GLOBAL_PATCH_DIR contains multiple directories, using "$BR2_GLOBAL_PATCH_DIR" +fi + +# patch dir may be relative to TOPDIR +case "$BR2_GLOBAL_PATCH_DIR" in + /*) ;; + *) BR2_GLOBAL_PATCH_DIR="$TOPDIR/$BR2_GLOBAL_PATCH_DIR" + ;; +esac + +[ -d "$BR2_GLOBAL_PATCH_DIR" ] \ + || die "BR2_GLOBAL_PATCH_DIR ($BR2_GLOBAL_PATCH_DIR) does not look correct" + +trap 'rm -f "$JSON"' EXIT +JSON=$(mktemp) +make show-info > "$JSON" + +# ensure files have been downloaded, but without checking +make BR2_DOWNLOAD_FORCE_CHECK_HASHES= source + +message Updating hashes + +for file in $BR_NO_CHECK_HASH_FOR; do + for pkg in $(get_pkgs "$JSON" "$file"); do + HASHFILE="$BR2_GLOBAL_PATCH_DIR/$pkg/$pkg.hash" + PKG_DL_DIR=$(get_pkg_dl_dir "$JSON" "$pkg") + message "Adding hash for $file to $HASHFILE" + mkdir -p "${HASHFILE%/*}" + gen_hash "$DL_DIR/$PKG_DL_DIR" "$file" > "$HASHFILE" + done +done + +# Symlink linux-headers to linux if identical +linux_hash="$BR2_GLOBAL_PATCH_DIR/linux/linux.hash" +linux_headers_hash="$BR2_GLOBAL_PATCH_DIR/linux-headers/linux-headers.hash" +if [ -e "$linux_hash" ] && [ -e "$linux_headers_hash" ] \ + && cmp -s "$linux_hash" "$linux_headers_hash"; then + ln -sf ../linux/linux.hash "$linux_headers_hash" +fi + +message Verifying hashes + +make clean +make BR2_DOWNLOAD_FORCE_CHECK_HASHES=y source diff --git a/utils/brmake b/utils/brmake index e30119dd10b..70dfb6cdc8f 100755 --- a/utils/brmake +++ b/utils/brmake @@ -3,7 +3,7 @@ # License: WTFPL, https://spdx.org/licenses/WTFPL.html main() { - local found ret start d h m mf + local ret start d h m mf if ! which unbuffer >/dev/null 2>&1; then printf "you need to install 'unbuffer' (from package expect or expect-dev)\n" >&2 @@ -13,7 +13,7 @@ main() { start=${SECONDS} ( exec 2>&1; unbuffer make "${@}"; ) \ - > >( while read line; do + > >( while read -r line; do printf "%(%Y-%m-%dT%H:%M:%S)T %s\n" -1 "${line}" done \ |tee -a br.log \ diff --git a/utils/check-package b/utils/check-package index f64daed84c4..de41891b561 100755 --- a/utils/check-package +++ b/utils/check-package @@ -3,21 +3,57 @@ import argparse import inspect +import magic import os import re -import six import sys import checkpackagelib.base import checkpackagelib.lib_config import checkpackagelib.lib_hash +import checkpackagelib.lib_ignore import checkpackagelib.lib_mk import checkpackagelib.lib_patch +import checkpackagelib.lib_python +import checkpackagelib.lib_shellscript import checkpackagelib.lib_sysv VERBOSE_LEVEL_TO_SHOW_IGNORED_FILES = 3 flags = None # Command line arguments. +# There are two Python packages called 'magic': +# https://pypi.org/project/file-magic/ +# https://pypi.org/project/python-magic/ +# Both allow to return a MIME file type, but with a slightly different +# interface. Detect which one of the two we have based on one of the +# attributes. +if hasattr(magic, 'FileMagic'): + # https://pypi.org/project/file-magic/ + def get_filetype(fname): + return magic.detect_from_filename(fname).mime_type +else: + # https://pypi.org/project/python-magic/ + def get_filetype(fname): + return magic.from_file(fname, mime=True) + + +def get_ignored_parsers_per_file(intree_only, ignore_filename): + ignored = dict() + entry_base_dir = '' + + if not ignore_filename: + return ignored + + filename = os.path.abspath(ignore_filename) + entry_base_dir = os.path.join(os.path.dirname(filename)) + + with open(filename, "r") as f: + for line in f.readlines(): + filename, warnings_str = line.split(' ', 1) + warnings = warnings_str.split() + ignored[os.path.join(entry_base_dir, filename)] = warnings + return ignored + def parse_args(): parser = argparse.ArgumentParser() @@ -29,9 +65,11 @@ def parse_args(): parser.add_argument("--br2-external", "-b", dest='intree_only', action="store_false", help="do not apply the pathname filters used for intree files") + parser.add_argument("--ignore-list", dest='ignore_filename', action="store", + help='override the default list of ignored warnings') parser.add_argument("--manual-url", action="store", - default="http://nightly.buildroot.org/", + default="https://nightly.buildroot.org/", help="default: %(default)s") parser.add_argument("--verbose", "-v", action="count", default=0) parser.add_argument("--quiet", "-q", action="count", default=0) @@ -43,26 +81,56 @@ def parse_args(): help="do not run the specified functions (debug)") parser.add_argument("--dry-run", action="store_true", help="print the " "functions that would be called for each file (debug)") + parser.add_argument("--failed-only", action="store_true", help="print only" + " the name of the functions that failed (debug)") + + flags = parser.parse_args() + + flags.ignore_list = get_ignored_parsers_per_file(flags.intree_only, flags.ignore_filename) - return parser.parse_args() + if flags.failed_only: + flags.dry_run = False + flags.verbose = -1 + + return flags + + +def get_lib_from_filetype(fname): + if not os.path.isfile(fname): + return None + filetype = get_filetype(fname) + if filetype == "text/x-shellscript": + return checkpackagelib.lib_shellscript + if filetype in ["text/x-python", "text/x-script.python"]: + return checkpackagelib.lib_python + return None CONFIG_IN_FILENAME = re.compile(r"Config\.\S*$") DO_CHECK_INTREE = re.compile(r"|".join([ + r".checkpackageignore", r"Config.in", r"arch/", + r"board/", r"boot/", r"fs/", r"linux/", r"package/", + r"support/", r"system/", r"toolchain/", + r"utils/", ])) DO_NOT_CHECK_INTREE = re.compile(r"|".join([ r"boot/barebox/barebox\.mk$", r"fs/common\.mk$", r"package/doc-asciidoc\.mk$", r"package/pkg-\S*\.mk$", + r"support/dependencies/[^/]+\.mk$", + r"support/gnuconfig/config\.", + r"support/kconfig/", + r"support/misc/[^/]+\.mk$", + r"support/testing/tests/.*br2-external/", r"toolchain/helpers\.mk$", r"toolchain/toolchain-external/pkg-toolchain-external\.mk$", ])) @@ -80,6 +148,8 @@ def get_lib_from_filename(fname): if os.path.basename(fname) == "external.mk" and \ os.path.exists(fname[:-2] + "desc"): return None + if fname == ".checkpackageignore": + return checkpackagelib.lib_ignore if CONFIG_IN_FILENAME.search(fname): return checkpackagelib.lib_config if fname.endswith(".hash"): @@ -90,7 +160,7 @@ def get_lib_from_filename(fname): return checkpackagelib.lib_patch if SYSV_INIT_SCRIPT_FILENAME.search(fname): return checkpackagelib.lib_sysv - return None + return get_lib_from_filetype(fname) def common_inspect_rules(m): @@ -120,21 +190,25 @@ def is_external_tool(m): return common_inspect_rules(m) -def print_warnings(warnings): +def print_warnings(warnings, xfail): # Avoid the need to use 'return []' at the end of every check function. if warnings is None: - return 0 # No warning generated. + return 0, 0 # No warning generated. + if xfail: + return 0, 1 # Warning not generated, fail expected for this file. for level, message in enumerate(warnings): if flags.verbose >= level: print(message.replace("\t", "< tab >").rstrip()) - return 1 # One more warning to count. + return 1, 1 # One more warning to count. def check_file_using_lib(fname): # Count number of warnings generated and lines processed. nwarnings = 0 nlines = 0 + xfail = flags.ignore_list.get(os.path.abspath(fname), []) + failed = set() lib = get_lib_from_filename(fname) if not lib: @@ -150,30 +224,52 @@ def check_file_using_lib(fname): print("{}: would run: {}".format(fname, functions_to_run)) return nwarnings, nlines - objects = [c[1](fname, flags.manual_url) for c in internal_functions] + objects = [[c[0], c[1](fname, flags.manual_url)] for c in internal_functions] + + for name, cf in objects: + warn, fail = print_warnings(cf.before(), name in xfail) + if fail > 0: + failed.add(name) + nwarnings += warn - for cf in objects: - nwarnings += print_warnings(cf.before()) - if six.PY3: - f = open(fname, "r", errors="surrogateescape") - else: - f = open(fname, "r") lastline = "" - for lineno, text in enumerate(f.readlines()): - nlines += 1 - for cf in objects: - if cf.disable.search(lastline): - continue - nwarnings += print_warnings(cf.check_line(lineno + 1, text)) - lastline = text - f.close() - for cf in objects: - nwarnings += print_warnings(cf.after()) - - tools = [c[1](fname) for c in external_tools] - - for tool in tools: - nwarnings += print_warnings(tool.run()) + with open(fname, "r", errors="surrogateescape") as f: + for lineno, text in enumerate(f): + nlines += 1 + for name, cf in objects: + if cf.disable.search(lastline): + continue + line_sts = cf.check_line(lineno + 1, text) + warn, fail = print_warnings(line_sts, name in xfail) + if fail > 0: + failed.add(name) + nwarnings += warn + lastline = text + + for name, cf in objects: + warn, fail = print_warnings(cf.after(), name in xfail) + if fail > 0: + failed.add(name) + nwarnings += warn + + tools = [[c[0], c[1](fname)] for c in external_tools] + + for name, tool in tools: + warn, fail = print_warnings(tool.run(), name in xfail) + if fail > 0: + failed.add(name) + nwarnings += warn + + for should_fail in xfail: + if should_fail not in failed: + print("{}:0: {} was expected to fail, did you fix the file and forget to update {}?" + .format(fname, should_fail, flags.ignore_filename)) + nwarnings += 1 + + if flags.failed_only: + if len(failed) > 0: + f = " ".join(sorted(failed)) + print("{} {}".format(fname, f)) return nwarnings, nlines @@ -213,7 +309,7 @@ def __main__(): print("{} lines processed".format(total_lines), file=sys.stderr) print("{} warnings generated".format(total_warnings), file=sys.stderr) - if total_warnings > 0: + if total_warnings > 0 and not flags.failed_only: sys.exit(1) diff --git a/utils/check-symbols b/utils/check-symbols new file mode 100755 index 00000000000..bb787909941 --- /dev/null +++ b/utils/check-symbols @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 + +import argparse +import os +import sys + +import checksymbolslib.file as file +from checksymbolslib.db import DB + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('--search', action='store', default=None, + help='print all symbols matching a given regular expression') + return parser.parse_args() + + +def change_to_top_dir(): + base_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + os.chdir(base_dir) + + +def get_full_db(files_to_process): + db = DB() + for f in files_to_process: + file.populate_db_from_file(db, f) + return db + + +def print_filenames_with_pattern(all_files, files_to_process, pattern): + ignored_filenames = file.get_list_of_filenames_with_pattern(all_files, files_to_process, pattern) + processed_filenames = file.get_list_of_filenames_with_pattern(files_to_process, [], pattern) + print('========== filenames found with pattern "{}": {}'.format(pattern, len(processed_filenames))) + for f in processed_filenames: + print(f) + print('========== ignored filenames with pattern "{}": {}'.format(pattern, len(ignored_filenames))) + for f in ignored_filenames: + print(f) + + +def print_symbols_with_pattern(db, pattern): + symbols = db.get_symbols_with_pattern(pattern) + print('========== symbols with pattern "{}": {}'.format(pattern, len(symbols))) + for s in symbols: + print(s, str(symbols[s])) + + +def __main__(): + flags = parse_args() + + change_to_top_dir() + all_files = file.get_list_of_files_in_the_repo() + files_to_process = file.get_list_of_files_to_process(all_files) + db = get_full_db(files_to_process) + + if flags.search: + print_filenames_with_pattern(all_files, files_to_process, flags.search) + print_symbols_with_pattern(db, flags.search) + print('========== warnings:') + + warnings = [] + warnings += db.get_warnings_for_choices_selected() + warnings += db.get_warnings_for_legacy_symbols_being_defined() + warnings += db.get_warnings_for_legacy_symbols_being_used() + warnings += db.get_warnings_for_symbols_with_legacy_note_and_no_comment_on_usage() + warnings += db.get_warnings_for_symbols_with_legacy_note_and_no_usage() + warnings += db.get_warnings_for_symbols_without_definition() + warnings += db.get_warnings_for_symbols_without_usage() + + for filename, lineno, msg in sorted(warnings): + print('{}:{}: {}'.format(filename, lineno, msg), file=sys.stderr) + + if len(warnings) > 0: + sys.exit(1) + + +if __name__ == '__main__': + __main__() diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py index b05831f2c37..f26ca0d8980 100644 --- a/utils/checkpackagelib/lib_config.py +++ b/utils/checkpackagelib/lib_config.py @@ -233,3 +233,41 @@ def check_line(self, lineno, text): return ["{}:{}: should not be indented" .format(self.filename, lineno), text] + + +class RedefinedConfig(_CheckFunction): + CONFIG = re.compile(r"^\s*(menu|)config\s+(BR2_\w+)\b") + IF = re.compile(r"^\s*if\s+([^#]*)\b") + ENDIF = re.compile(r"^\s*endif\b") + + def before(self): + self.configs = {} + self.conditional = [] + + def check_line(self, lineno, text): + if _empty_or_comment(text) or _part_of_help_text(text): + return + + m = self.IF.search(text) + if m is not None: + condition = m.group(1) + self.conditional.append(condition) + return + + m = self.ENDIF.search(text) + if m is not None: + self.conditional.pop() + return + + m = self.CONFIG.search(text) + if m is None: + return + config = m.group(2) + + key = (config, ' AND '.join(self.conditional)) + if key in self.configs.keys(): + previous_line = self.configs[key] + return ["{}:{}: config {} redeclared (previous line: {})" + .format(self.filename, lineno, config, previous_line), + text] + self.configs[key] = lineno diff --git a/utils/checkpackagelib/lib_ignore.py b/utils/checkpackagelib/lib_ignore.py new file mode 100644 index 00000000000..f3698fc3b4d --- /dev/null +++ b/utils/checkpackagelib/lib_ignore.py @@ -0,0 +1,14 @@ +# See utils/checkpackagelib/readme.txt before editing this file. + +import os + +from checkpackagelib.base import _CheckFunction + + +class IgnoreMissingFile(_CheckFunction): + def check_line(self, lineno, text): + fields = text.split() + if not os.path.exists(fields[0]): + return ["{}:{}: ignored file {} is missing" + .format(self.filename, lineno, fields[0]), + text] diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index b50a19ac628..ce2ab5157c4 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -21,6 +21,34 @@ end_conditional = ["endif"] +class DoNotInstallToHostdirUsr(_CheckFunction): + INSTALL_TO_HOSTDIR_USR = re.compile(r"^[^#].*\$\(HOST_DIR\)/usr") + + def check_line(self, lineno, text): + if self.INSTALL_TO_HOSTDIR_USR.match(text.rstrip()): + return ["{}:{}: install files to $(HOST_DIR)/ instead of $(HOST_DIR)/usr/" + .format(self.filename, lineno), + text] + + +class Ifdef(_CheckFunction): + IFDEF = re.compile(r"^\s*(else\s+|)(ifdef|ifndef)\s") + + def check_line(self, lineno, text): + m = self.IFDEF.search(text) + if m is None: + return + word = m.group(2) + if word == 'ifdef': + return ["{}:{}: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL" + .format(self.filename, lineno), + text] + else: + return ["{}:{}: use ifneq ($(SYMBOL),y) instead of ifndef SYMBOL" + .format(self.filename, lineno), + text] + + class Indent(_CheckFunction): COMMENT = re.compile(r"^\s*#") CONDITIONAL = re.compile(r"^\s*({})\s".format("|".join(start_conditional + end_conditional + continue_conditional))) @@ -338,3 +366,76 @@ def check_line(self, lineno, text): return ["{}:{}: use $() to delimit variables, not ${{}}" .format(self.filename, lineno), text] + + +class CPEVariables(_CheckFunction): + """ + Check that the values for the CPE variables are not the default. + - CPE_ID_* variables must not be set to their default + - CPE_ID_VALID must not be set if a non-default CPE_ID variable is set + """ + def before(self): + pkg, _ = os.path.splitext(os.path.basename(self.filename)) + self.CPE_fields_defaults = { + "VALID": "NO", + "PREFIX": "cpe:2.3:a", + "VENDOR": f"{pkg}_project", + "PRODUCT": pkg, + "VERSION": None, + "UPDATE": "*", + } + self.valid = None + self.non_defaults = 0 + self.CPE_FIELDS_RE = re.compile( + r"^\s*(.+_CPE_ID_({}))\s*=\s*(.+)$" + .format("|".join(self.CPE_fields_defaults)), + ) + self.VERSION_RE = re.compile( + rf"^(HOST_)?{pkg.upper().replace('-', '_')}_VERSION\s*=\s*(.+)$", + ) + self.COMMENT_RE = re.compile(r"^\s*#.*") + + def check_line(self, lineno, text): + text = self.COMMENT_RE.sub('', text.rstrip()) + + # WARNING! The VERSION_RE can _also_ match the same lines as CPE_FIELDS_RE, + # but not the other way around. So we must first check for CPE_FIELDS_RE, + # and if not matched, then and only then check for VERSION_RE. + match = self.CPE_FIELDS_RE.match(text) + if match: + var, field, val = match.groups() + return self._check_field(lineno, text, field, var, val) + + match = self.VERSION_RE.match(text) + if match: + self.CPE_fields_defaults["VERSION"] = match.groups()[1] + + def after(self): + # "VALID" counts in the non-defaults; so when "VALID" is present, + # 1 non-default means only "VALID" is present, so that's OK. + if self.valid and self.non_defaults > 1: + return ["{}:{}: 'YES' is implied when a non-default CPE_ID field is specified: {} ({}#cpe-id)".format( + self.filename, + self.valid["lineno"], + self.valid["text"], + self.url_to_manual, + )] + + def _check_field(self, lineno, text, field, var, val): + if field == "VERSION" and self.CPE_fields_defaults[field] is None: + return ["{}:{}: expecting package version to be set before CPE_ID_VERSION".format( + self.filename, + lineno, + )] + if val == self.CPE_fields_defaults[field]: + return ["{}:{}: '{}' is the default value for {} ({}#cpe-id)".format( + self.filename, + lineno, + val, + var, + self.url_to_manual, + )] + else: + if field == "VALID": + self.valid = {"lineno": lineno, "text": text} + self.non_defaults += 1 diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py index caee36158fe..b01d28a7e72 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -61,3 +61,22 @@ def after(self): return ["{}:0: missing Signed-off-by in the header " "({}#_format_and_licensing_of_the_package_patches)" .format(self.filename, self.url_to_manual)] + + +class Upstream(_CheckFunction): + UPSTREAM_ENTRY = re.compile(r"^Upstream: .*$") + + def before(self): + self.found = False + + def check_line(self, lineno, text): + if self.found: + return + if self.UPSTREAM_ENTRY.search(text): + self.found = True + + def after(self): + if not self.found: + return ["{}:0: missing Upstream in the header " + "({}#_additional_patch_documentation)" + .format(self.filename, self.url_to_manual)] diff --git a/utils/checkpackagelib/lib_python.py b/utils/checkpackagelib/lib_python.py new file mode 100644 index 00000000000..f8c17ddc109 --- /dev/null +++ b/utils/checkpackagelib/lib_python.py @@ -0,0 +1 @@ +from checkpackagelib.tool import Flake8 # noqa: F401 diff --git a/utils/checkpackagelib/lib_shellscript.py b/utils/checkpackagelib/lib_shellscript.py new file mode 100644 index 00000000000..9b4f4aed584 --- /dev/null +++ b/utils/checkpackagelib/lib_shellscript.py @@ -0,0 +1,5 @@ +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 +from checkpackagelib.tool import Shellcheck # noqa: F401 diff --git a/utils/checkpackagelib/lib_sysv.py b/utils/checkpackagelib/lib_sysv.py index 386d085afc5..dc4afd71b80 100644 --- a/utils/checkpackagelib/lib_sysv.py +++ b/utils/checkpackagelib/lib_sysv.py @@ -21,6 +21,9 @@ def check_line(self, lineno, text): class NotExecutable(checkpackagelib.tool.NotExecutable): + def ignore(self): + return 'etc/init.d/' in self.filename + def hint(self): return ", just make sure you use '$(INSTALL) -D -m 0755' in the .mk file" diff --git a/utils/checkpackagelib/test_lib_config.py b/utils/checkpackagelib/test_lib_config.py index 91a549adf2e..474d17105ee 100644 --- a/utils/checkpackagelib/test_lib_config.py +++ b/utils/checkpackagelib/test_lib_config.py @@ -385,3 +385,81 @@ def test_HelpText(testname, filename, string, expected): def test_Indent(testname, filename, string, expected): warnings = util.check_file(m.Indent, filename, string) assert warnings == expected + + +RedefinedConfig = [ + ('no redefinition', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_FOO_BAR\n' + 'bool "foo"\n', + []), + ('no conditional', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_BAR\n' + 'bool "bar"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n', + [['any:5: config BR2_PACKAGE_FOO redeclared (previous line: 1)', + 'config BR2_PACKAGE_FOO\n']]), + ('three times', + 'any', + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n', + [['any:3: config BR2_PACKAGE_FOO redeclared (previous line: 1)', + 'config BR2_PACKAGE_FOO\n'], + ['any:5: config BR2_PACKAGE_FOO redeclared (previous line: 1)', + 'config BR2_PACKAGE_FOO\n']]), + ('same conditional', + 'any', + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'config BR2_PACKAGE_BAR\n' + 'bool "bar"\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n', + [['any:6: config BR2_PACKAGE_FOO redeclared (previous line: 2)', + 'config BR2_PACKAGE_FOO\n']]), + ('equivalent conditional', + 'any', + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n', + [['any:8: config BR2_PACKAGE_FOO redeclared (previous line: 2)', + 'config BR2_PACKAGE_FOO\n']]), + ('not equivalent conditional', + 'any', + 'if BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'if !BR2_PACKAGE_BAZ\n' + 'config BR2_PACKAGE_FOO\n' + 'bool "foo"\n' + 'endif\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', RedefinedConfig) +def test_RedefinedConfig(testname, filename, string, expected): + warnings = util.check_file(m.RedefinedConfig, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_ignore.py b/utils/checkpackagelib/test_lib_ignore.py new file mode 100644 index 00000000000..6cd856d6694 --- /dev/null +++ b/utils/checkpackagelib/test_lib_ignore.py @@ -0,0 +1,18 @@ +import pytest +import checkpackagelib.test_util as util +import checkpackagelib.lib_ignore as m + + +IgnoreMissingFile = [ + ('missing ignored file', + '.checkpackageignore', + 'this-file-does-not-exist SomeTest', + [['.checkpackageignore:1: ignored file this-file-does-not-exist is missing', + 'this-file-does-not-exist SomeTest']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', IgnoreMissingFile) +def test_IgnoreMissingFile(testname, filename, string, expected): + warnings = util.check_file(m.IgnoreMissingFile, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_lib_mk.py b/utils/checkpackagelib/test_lib_mk.py index 49fa216fcdf..2086237ebb1 100644 --- a/utils/checkpackagelib/test_lib_mk.py +++ b/utils/checkpackagelib/test_lib_mk.py @@ -3,6 +3,77 @@ import checkpackagelib.lib_mk as m +DoNotInstallToHostdirUsr = [ + ('real case', + 'libapparmor.mk', + 'LIBAPPARMOR_CONF_OPTS += \\\n' + '\t--with-python \\\n' + '\tPYTHON=$(HOST_DIR)/usr/bin/python3 \\\n' + '\tPYTHON_CONFIG=$(STAGING_DIR)/usr/bin/python3-config \\\n' + '\tSWIG=$(SWIG)\n', + [['libapparmor.mk:3: install files to $(HOST_DIR)/ instead of $(HOST_DIR)/usr/', + '\tPYTHON=$(HOST_DIR)/usr/bin/python3 \\\n']]), + ('ignore comment', + 'any', + '# following code do not install to $(HOST_DIR)/usr/\n', + []), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', DoNotInstallToHostdirUsr) +def test_DoNotInstallToHostdirUsr(testname, filename, string, expected): + warnings = util.check_file(m.DoNotInstallToHostdirUsr, filename, string) + assert warnings == expected + + +Ifdef = [ + ('ignore commented line', + 'any', + '# ifdef\n', + []), + ('simple', + 'any', + '\n' + 'ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE\n' + 'endif\n', + [['any:2: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + 'ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE\n']]), + ('ignore indentation', + 'any', + ' ifdef FOO\n' + ' endif\n' + '\tifdef BAR\n' + 'endif\n', + [['any:1: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + ' ifdef FOO\n'], + ['any:3: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + '\tifdef BAR\n']]), + ('typo', + 'any', + '\n' + 'ifndef ($(BR2_ENABLE_LOCALE),y)\n' + 'endif\n', + [['any:2: use ifneq ($(SYMBOL),y) instead of ifndef SYMBOL', + 'ifndef ($(BR2_ENABLE_LOCALE),y)\n']]), + ('else ifdef', + 'any', + 'else ifdef SYMBOL # comment\n', + [['any:1: use ifeq ($(SYMBOL),y) instead of ifdef SYMBOL', + 'else ifdef SYMBOL # comment\n']]), + ('else ifndef', + 'any', + '\t else ifndef\t($(SYMBOL),y) # comment\n', + [['any:1: use ifneq ($(SYMBOL),y) instead of ifndef SYMBOL', + '\t else ifndef\t($(SYMBOL),y) # comment\n']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Ifdef) +def test_Ifdef(testname, filename, string, expected): + warnings = util.check_file(m.Ifdef, filename, string) + assert warnings == expected + + Indent = [ ('ignore comment at beginning of line', 'any', diff --git a/utils/checkpackagelib/test_lib_patch.py b/utils/checkpackagelib/test_lib_patch.py index 3b6fadf38cf..f7487ef3290 100644 --- a/utils/checkpackagelib/test_lib_patch.py +++ b/utils/checkpackagelib/test_lib_patch.py @@ -94,3 +94,25 @@ def test_NumberedSubject(testname, filename, string, expected): def test_Sob(testname, filename, string, expected): warnings = util.check_file(m.Sob, filename, string) assert warnings == expected + + +Upstream = [ + ('good', + 'patch', + 'Upstream: https://some/amazing/patch/submission\n', + []), + ('empty', + 'patch', + '', + [['patch:0: missing Upstream in the header (url#_additional_patch_documentation)']]), + ('bad', + 'patch', + 'Subject: [PATCH 24/105] text\n', + [['patch:0: missing Upstream in the header (url#_additional_patch_documentation)']]), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Upstream) +def test_Upstream(testname, filename, string, expected): + warnings = util.check_file(m.Upstream, filename, string) + assert warnings == expected diff --git a/utils/checkpackagelib/test_tool.py b/utils/checkpackagelib/test_tool.py index a0bf88001de..cfa826f57c4 100644 --- a/utils/checkpackagelib/test_tool.py +++ b/utils/checkpackagelib/test_tool.py @@ -66,6 +66,34 @@ def hint(self): assert warnings == expected +Flake8 = [ + ('empty', + 'empty.py', + '', + []), + ('W391', + 'blank-line.py', + '\n', + ["dir/blank-line.py:0: run 'flake8' and fix the warnings", + "dir/blank-line.py:1:1: W391 blank line at end of file"]), + ('more than one warning', + 'file', + 'import os\n' + 'import re\n' + '\n', + ["dir/file:0: run 'flake8' and fix the warnings", + "dir/file:1:1: F401 'os' imported but unused\n" + "dir/file:2:1: F401 're' imported but unused\n" + 'dir/file:3:1: W391 blank line at end of file']), + ] + + +@pytest.mark.parametrize('testname,filename,string,expected', Flake8) +def test_Flake8(testname, filename, string, expected): + warnings = check_file(m.Flake8, filename, string) + assert warnings == expected + + Shellcheck = [ ('missing shebang', 'empty.sh', diff --git a/utils/checkpackagelib/tool.py b/utils/checkpackagelib/tool.py index e719fdd4079..907ada704fe 100644 --- a/utils/checkpackagelib/tool.py +++ b/utils/checkpackagelib/tool.py @@ -1,14 +1,34 @@ +import flake8.main.application import os import subprocess +import tempfile from checkpackagelib.base import _Tool class NotExecutable(_Tool): + def ignore(self): + return False + def run(self): + if self.ignore(): + return if os.access(self.filename, os.X_OK): return ["{}:0: This file does not need to be executable{}".format(self.filename, self.hint())] +class Flake8(_Tool): + def run(self): + with tempfile.NamedTemporaryFile() as output: + app = flake8.main.application.Application() + app.run(['--output-file={}'.format(output.name), self.filename]) + stdout = output.readlines() + processed_output = [str(line.decode().rstrip()) for line in stdout if line] + if len(stdout) == 0: + return + return ["{}:0: run 'flake8' and fix the warnings".format(self.filename), + '\n'.join(processed_output)] + + class Shellcheck(_Tool): def run(self): cmd = ['shellcheck', self.filename] diff --git a/utils/checksymbolslib/__init__.py b/utils/checksymbolslib/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/utils/checksymbolslib/br.py b/utils/checksymbolslib/br.py new file mode 100644 index 00000000000..f9dc336e646 --- /dev/null +++ b/utils/checksymbolslib/br.py @@ -0,0 +1,143 @@ +import os +import re + + +ignored_directories = [ + 'support/testing/', +] +# Makefile +symbols_used_only_in_source_code = [ + 'BR2_USE_CCACHE', +] +# package/skeleton/Config.in +symbols_used_only_for_host_variant = [ + 'BR2_PACKAGE_SKELETON', +] +# Makefile +# package/pkg-generic.mk +symbols_defined_only_at_command_line = [ + 'BR2_GRAPH_ALT', + 'BR2_GRAPH_DEPS_OPTS', + 'BR2_GRAPH_DOT_OPTS', + 'BR2_GRAPH_OUT', + 'BR2_GRAPH_SIZE_OPTS', + 'BR2_INSTRUMENTATION_SCRIPTS', +] +# Makefile +symbols_defined_only_when_using_br2_external = [ + 'BR2_EXTERNAL', + 'BR2_EXTERNAL_DIRS', + 'BR2_EXTERNAL_MKS', + 'BR2_EXTERNAL_NAMES', +] +# boot/barebox/barebox.mk +symbols_defined_only_for_barebox_variant = [ + 'BR2_TARGET_BAREBOX_AUX_BAREBOXENV', +] +# toolchain/toolchain/toolchain.mk +# toolchain/toolchain-buildroot/toolchain-buildroot.mk +# toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk +symbols_not_defined_for_fake_virtual_packages = [ + 'BR2_PACKAGE_HAS_TOOLCHAIN', + 'BR2_PACKAGE_HAS_TOOLCHAIN_BUILDROOT', + 'BR2_PACKAGE_HAS_TOOLCHAIN_BARE_METAL_BUILDROOT', + 'BR2_PACKAGE_PROVIDES_TOOLCHAIN', + 'BR2_PACKAGE_PROVIDES_TOOLCHAIN_BUILDROOT', + 'BR2_PACKAGE_PROVIDES_TOOLCHAIN_BARE_METAL_BUILDROOT', +] +# fs/common.mk +suffixes_not_defined_for_all_rootfs_types = [ + '_BZIP2', + '_GZIP', + '_LZ4', + '_LZMA', + '_LZO', + '_XZ', + '_ZSTD', +] +# fs/common.mk +rootfs_prefix = 'BR2_TARGET_ROOTFS_' +# package/pkg-generic.mk +package_prefix = 'BR2_PACKAGE_' +# package/pkg-generic.mk +boot_prefix = 'BR2_TARGET_' +# package/pkg-generic.mk +toolchain_prefix = 'BR2_' +# boot/barebox/barebox.mk +barebox_infra_suffixes = [ + '', + '_BAREBOXENV', + '_BOARD_DEFCONFIG', + '_CONFIG_FRAGMENT_FILES', + '_CUSTOM_CONFIG_FILE', + '_CUSTOM_EMBEDDED_ENV_PATH', + '_CUSTOM_ENV', + '_CUSTOM_ENV_PATH', + '_IMAGE_FILE', + '_USE_CUSTOM_CONFIG', + '_USE_DEFCONFIG', +] +re_kconfig_symbol = re.compile(r'\b(BR2_\w+)\b') +# Example lines to be handled: +# config BR2_TOOLCHAIN_EXTERNAL_PREFIX +# menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE +re_kconfig_config = re.compile(r'^\s*(menu|)config\s+(BR2_\w+)') +# Example lines to be handled: +# default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC +# default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" +# default y if BR2_HOSTARCH = "powerpc" +re_kconfig_default = re.compile(r'^\s*default\s') +re_kconfig_default_before_conditional = re.compile(r'^.*\bif\b') +re_kconfig_default_legacy_comment = re.compile(r'#\s*legacy') +# Example lines to be handled: +# depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_TOOLCHAIN_USES_MUSL) +# depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" +re_kconfig_depends = re.compile(r'^\s*depends on\s') +# Example lines to be handled: +# select BR2_PACKAGE_HOST_NODEJS if BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL != "" +# select BR2_PACKAGE_LIBDRM if !(BR2_arm && BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB) +# select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_GNUTLS || BR2_PACKAGE_MBEDTLS) +re_kconfig_select = re.compile(r'^\s*select\s') +re_kconfig_select_conditional = re.compile(r'\bif\s.*') +# Example lines to be handled: +# if !BR2_SKIP_LEGACY +# if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53) +# if BR2_PACKAGE_HAS_LUAINTERPRETER && !BR2_STATIC_LIBS +# if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = "" +re_kconfig_if = re.compile(r'^\s*if\s') +# Example lines to be handled: +# source "$BR2_BASE_DIR/.br2-external.in.jpeg" +re_kconfig_source = re.compile(r'^\s*source\b') + +re_kconfig_choice = re.compile(r'^\s*choice\b') +re_kconfig_endchoice = re.compile(r'^\s*endchoice\b') +re_makefile_eval = re.compile(r'^\s*\$\(eval\b') +re_menu = re.compile(r'^\s*menu\b') +re_endmenu = re.compile(r'^\s*endmenu\b') +re_comments = re.compile(r'#.*$') +re_legacy_special_comment = re.compile(r'#.*(BR2_\w+)\s.*still referenced') +re_host_symbol = re.compile(r'(BR2_PACKAGE_HOST_\w+|BR2_PACKAGE_HAS_HOST_\w+)') +re_makefile_symbol_usage = re.compile(r'\$\((BR2_\w+)\)') +re_makefile_symbol_export = re.compile(r'export\s*(BR2_\w+)') +re_makefile_symbol_attribution = re.compile(r'^\s*(BR2_\w+)\s*[?:=]') + + +def get_package_from_filename(filename): + package = os.path.basename(filename)[:-3].upper().replace('-', '_') + return package + + +def is_an_optional_symbol_for_a_roofts(symbol): + if not symbol.startswith(rootfs_prefix): + return False + for sufix in suffixes_not_defined_for_all_rootfs_types: + if symbol.endswith(sufix): + return True + return False + + +def file_belongs_to_an_ignored_diretory(filename): + for d in ignored_directories: + if filename.startswith(d): + return True + return False diff --git a/utils/checksymbolslib/db.py b/utils/checksymbolslib/db.py new file mode 100644 index 00000000000..71b1e9e8165 --- /dev/null +++ b/utils/checksymbolslib/db.py @@ -0,0 +1,205 @@ +import re + +import checksymbolslib.br as br + + +choice = 'part of a choice' +definition = 'definition' +helper = 'possible config helper' +legacy_definition = 'legacy definition' +legacy_note = 'legacy note' +legacy_usage = 'legacy usage' +select = 'selected' +usage = 'normal usage' +usage_in_legacy = 'usage inside legacy' +virtual = 'virtual' + + +class DB: + def __init__(self): + self.all_symbols = {} + + def __str__(self): + return str(self.all_symbols) + + def add_symbol_entry(self, symbol, filename, lineno, entry_type): + if symbol not in self.all_symbols: + self.all_symbols[symbol] = {} + if entry_type not in self.all_symbols[symbol]: + self.all_symbols[symbol][entry_type] = {} + if filename not in self.all_symbols[symbol][entry_type]: + self.all_symbols[symbol][entry_type][filename] = [] + self.all_symbols[symbol][entry_type][filename].append(lineno) + + def add_symbol_choice(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, choice) + + def add_symbol_definition(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, definition) + + def add_symbol_helper(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, helper) + + def add_symbol_legacy_definition(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, legacy_definition) + + def add_symbol_legacy_note(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, legacy_note) + + def add_symbol_legacy_usage(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, legacy_usage) + + def add_symbol_select(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, select) + + def add_symbol_usage(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, usage) + + def add_symbol_usage_in_legacy(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, usage_in_legacy) + + def add_symbol_virtual(self, symbol, filename, lineno): + self.add_symbol_entry(symbol, filename, lineno, virtual) + + def get_symbols_with_pattern(self, pattern): + re_pattern = re.compile(r'{}'.format(pattern)) + found_symbols = {} + for symbol, entries in self.all_symbols.items(): + if not re_pattern.search(symbol): + continue + found_symbols[symbol] = entries + return found_symbols + + def get_warnings_for_choices_selected(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if choice not in entries: + continue + if select not in entries: + continue + all_items = [] + all_items += entries.get(select, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} is part of a "choice" and should not be "select"ed'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings + + def get_warnings_for_legacy_symbols_being_used(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if legacy_definition not in entries: + continue + if usage not in entries: + continue + all_items = [] + all_items += entries.get(usage, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} is a legacy symbol and should not be referenced'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings + + def get_warnings_for_legacy_symbols_being_defined(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if legacy_definition not in entries: + continue + if definition not in entries: + continue + all_items = [] + all_items += entries.get(definition, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} is a legacy symbol and should not be redefined'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings + + def get_warnings_for_symbols_without_definition(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if definition in entries: + continue + if legacy_definition in entries: + continue + if br.re_host_symbol.search(symbol): + continue + if br.is_an_optional_symbol_for_a_roofts(symbol): + continue + if symbol in br.symbols_defined_only_at_command_line: + continue + if symbol in br.symbols_defined_only_when_using_br2_external: + continue + if symbol in br.symbols_defined_only_for_barebox_variant: + continue + if symbol in br.symbols_not_defined_for_fake_virtual_packages: + continue + if virtual in entries: + continue + all_items = [] + all_items += entries.get(usage, {}).items() + all_items += entries.get(legacy_usage, {}).items() + all_items += entries.get(usage_in_legacy, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} referenced but not defined'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings + + def get_warnings_for_symbols_without_usage(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if usage in entries: + continue + if usage_in_legacy in entries: + continue + if legacy_usage in entries: + continue + if symbol in br.symbols_used_only_in_source_code: + continue + if symbol in br.symbols_used_only_for_host_variant: + continue + if helper in entries: + continue + if choice in entries: + continue + all_items = [] + all_items += entries.get(definition, {}).items() + all_items += entries.get(legacy_definition, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} defined but not referenced'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings + + def get_warnings_for_symbols_with_legacy_note_and_no_comment_on_usage(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if legacy_note not in entries: + continue + if legacy_usage in entries: + continue + all_items = [] + all_items += entries.get(usage, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} missing "# legacy"'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings + + def get_warnings_for_symbols_with_legacy_note_and_no_usage(self): + warnings = [] + for symbol, entries in self.all_symbols.items(): + if legacy_note not in entries: + continue + if legacy_usage in entries: + continue + if usage in entries: + continue + all_items = [] + all_items += entries.get(legacy_note, {}).items() + for filename, linenos in all_items: + for lineno in linenos: + msg = '{} not referenced but has a comment stating it is'.format(symbol) + warnings.append((filename, lineno, msg)) + return warnings diff --git a/utils/checksymbolslib/file.py b/utils/checksymbolslib/file.py new file mode 100644 index 00000000000..0d3315bdc73 --- /dev/null +++ b/utils/checksymbolslib/file.py @@ -0,0 +1,83 @@ +import re +import subprocess + +import checksymbolslib.br as br +import checksymbolslib.kconfig as kconfig +import checksymbolslib.makefile as makefile + + +file_types = [ + kconfig, + makefile, +] + + +def get_list_of_files_in_the_repo(): + cmd = ['git', 'ls-files'] + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout = p.communicate()[0] + processed_output = [str(line.decode().rstrip()) for line in stdout.splitlines() if line] + return processed_output + + +def get_list_of_files_to_process(all_files): + files_to_process = [] + for f in all_files: + if br.file_belongs_to_an_ignored_diretory(f): + continue + for t in file_types: + if t.check_filename(f): + files_to_process.append(f) + break + return files_to_process + + +def get_list_of_filenames_with_pattern(all_files, exclude_list, pattern): + re_pattern = re.compile(r'{}'.format(pattern)) + matching_filenames = [] + for filename in all_files: + if re_pattern.search(filename): + if filename not in exclude_list: + matching_filenames.append(filename) + return matching_filenames + + +def read_file(filename): + file_content_raw = [] + with open(filename, 'r', errors='surrogateescape') as f: + for lineno, text in enumerate(f.readlines()): + file_content_raw.append([lineno + 1, text]) + return file_content_raw + + +def cleanup_file_content(file_content_raw): + cleaned_up_content = [] + continuation = False + last_line = None + first_lineno = None + for cur_lineno, cur_line in file_content_raw: + if continuation: + line = last_line + cur_line + lineno = first_lineno + else: + line = cur_line + lineno = cur_lineno + continuation = False + last_line = None + first_lineno = None + clean_line = line.rstrip('\n') + if clean_line.endswith('\\'): + continuation = True + last_line = clean_line.rstrip('\\') + first_lineno = lineno + continue + cleaned_up_content.append([lineno, clean_line]) + return cleaned_up_content + + +def populate_db_from_file(db, filename): + file_content_raw = read_file(filename) + file_content_to_process = cleanup_file_content(file_content_raw) + for t in file_types: + if t.check_filename(filename): + t.populate_db(db, filename, file_content_to_process) diff --git a/utils/checksymbolslib/kconfig.py b/utils/checksymbolslib/kconfig.py new file mode 100644 index 00000000000..9ad60303051 --- /dev/null +++ b/utils/checksymbolslib/kconfig.py @@ -0,0 +1,139 @@ +import os + +import checksymbolslib.br as br + + +def all_symbols_from(line): + clean_line = br.re_comments.sub('', line) + symbols = br.re_kconfig_symbol.findall(clean_line) + return symbols + + +def handle_definition(db, filename, lineno, line, legacy): + for symbol in all_symbols_from(line): + if legacy: + db.add_symbol_legacy_definition(symbol, filename, lineno) + else: + db.add_symbol_definition(symbol, filename, lineno) + + +def handle_usage(db, filename, lineno, line, legacy): + for symbol in all_symbols_from(line): + if legacy: + db.add_symbol_usage_in_legacy(symbol, filename, lineno) + else: + db.add_symbol_usage(symbol, filename, lineno) + + +def handle_default(db, filename, lineno, line, legacy): + if legacy: + handle_usage(db, filename, lineno, line, legacy) + return + if not br.re_kconfig_default_legacy_comment.search(line): + handle_usage(db, filename, lineno, line, legacy) + return + after = br.re_kconfig_default_before_conditional.sub('', line) + for symbol in all_symbols_from(after): + db.add_symbol_legacy_usage(symbol, filename, lineno) + + +def handle_select(db, filename, lineno, line, legacy): + handle_usage(db, filename, lineno, line, legacy) + before = br.re_kconfig_select_conditional.sub('', line) + for symbol in all_symbols_from(before): + db.add_symbol_select(symbol, filename, lineno) + + +line_type_handlers = { + br.re_kconfig_config: handle_definition, + br.re_kconfig_default: handle_default, + br.re_kconfig_depends: handle_usage, + br.re_kconfig_if: handle_usage, + br.re_kconfig_select: handle_select, + br.re_kconfig_source: handle_usage, +} + + +def handle_line(db, filename, lineno, line, legacy): + if not br.re_kconfig_symbol.search(line): + return + + for regexp, line_type_handler in line_type_handlers.items(): + if regexp.search(line): + line_type_handler(db, filename, lineno, line, legacy) + + +def handle_config_helper(db, filename, file_content): + symbol = None + lineno = None + state = 'none' + for cur_lineno, line in file_content: + if state == 'none': + m = br.re_kconfig_config.search(line) + if m is not None: + symbol = m.group(2) + lineno = cur_lineno + state = 'config' + continue + if state == 'config': + if br.re_kconfig_select.search(line): + db.add_symbol_helper(symbol, filename, lineno) + state = 'none' + continue + m = br.re_kconfig_config.search(line) + if m is not None: + symbol = m.group(2) + lineno = cur_lineno + continue + + +def handle_config_choice(db, filename, file_content): + state = 'none' + for lineno, line in file_content: + if state == 'none': + if br.re_kconfig_choice.search(line): + state = 'choice' + continue + if state == 'choice': + if br.re_kconfig_endchoice.search(line): + state = 'none' + continue + m = br.re_kconfig_config.search(line) + if m is not None: + symbol = m.group(2) + db.add_symbol_choice(symbol, filename, lineno) + continue + + +def handle_note(db, filename, file_content): + state = 'none' + for lineno, line in file_content: + if state == 'none': + if br.re_menu.search(line): + state = 'menu' + continue + if state == 'menu': + if br.re_endmenu.search(line): + state = 'none' + continue + m = br.re_legacy_special_comment.search(line) + if m is not None: + symbol = m.group(1) + db.add_symbol_legacy_note(symbol, filename, lineno) + continue + + +def populate_db(db, filename, file_content): + legacy = filename.endswith('.legacy') + for lineno, line in file_content: + handle_line(db, filename, lineno, line, legacy) + handle_config_helper(db, filename, file_content) + handle_config_choice(db, filename, file_content) + if legacy: + handle_note(db, filename, file_content) + + +def check_filename(filename): + if os.path.basename(filename).startswith('Config.'): + return True + return False diff --git a/utils/checksymbolslib/makefile.py b/utils/checksymbolslib/makefile.py new file mode 100644 index 00000000000..e3894dd1f9c --- /dev/null +++ b/utils/checksymbolslib/makefile.py @@ -0,0 +1,100 @@ +import checksymbolslib.br as br + + +def handle_eval(db, filename, lineno, line): + def add_multiple_symbol_usages(package, prefixes=None, suffixes=None): + for prefix in prefixes or ['']: + for sufix in suffixes or ['']: + symbol = prefix + package + sufix + db.add_symbol_usage(symbol, filename, lineno) + + package = br.get_package_from_filename(filename) + if '$(rootfs)' in line: + suffixes = [''] + br.suffixes_not_defined_for_all_rootfs_types + add_multiple_symbol_usages(package, prefixes=[br.rootfs_prefix], suffixes=suffixes) + return + if '$(kernel-module)' in line: + add_multiple_symbol_usages(package, prefixes=[br.package_prefix]) + return + if '$(barebox-package)' in line: + add_multiple_symbol_usages(package, prefixes=[br.boot_prefix], suffixes=br.barebox_infra_suffixes) + return + + if '-package)' not in line: + return + if package == 'LINUX': + # very special case at package/pkg-generic.mk + add_multiple_symbol_usages('BR2_LINUX_KERNEL') + return + + # mimic package/pkg-generic.mk and package/pkg-virtual.mk + if '$(virtual-' in line: + prefixes = ['BR2_PACKAGE_PROVIDES_', 'BR2_PACKAGE_HAS_'] + if filename.startswith('toolchain/'): + prefix = br.toolchain_prefix + else: + prefix = br.package_prefix + symbol = prefix + package + db.add_symbol_virtual(symbol, filename, lineno) + prefixes.append(prefix) + elif '$(host-virtual-' in line: + prefixes = ['BR2_PACKAGE_HOST_', 'BR2_PACKAGE_PROVIDES_HOST_', 'BR2_PACKAGE_HAS_HOST_'] + elif '$(host-' in line: + prefixes = ['BR2_PACKAGE_HOST_'] + elif filename.startswith('boot/'): + prefixes = [br.boot_prefix] + elif filename.startswith('toolchain/'): + prefixes = [br.toolchain_prefix] + elif '$(toolchain-' in line: + prefixes = [br.toolchain_prefix] + else: + prefixes = [br.package_prefix] + + add_multiple_symbol_usages(package, prefixes=prefixes) + + +def handle_definition(db, filename, lineno, line, legacy): + symbols = br.re_makefile_symbol_attribution.findall(line) + symbols += br.re_makefile_symbol_export.findall(line) + for symbol in symbols: + if legacy: + db.add_symbol_legacy_definition(symbol, filename, lineno) + else: + db.add_symbol_definition(symbol, filename, lineno) + + +def handle_usage(db, filename, lineno, line, legacy): + if br.re_makefile_eval.search(line): + handle_eval(db, filename, lineno, line) + return + + symbols = br.re_makefile_symbol_usage.findall(line) + for symbol in symbols: + if legacy: + db.add_symbol_usage_in_legacy(symbol, filename, lineno) + else: + db.add_symbol_usage(symbol, filename, lineno) + + +def populate_db(db, filename, file_content): + legacy = filename.endswith('.legacy') + for lineno, raw_line in file_content: + line = br.re_comments.sub('', raw_line) + handle_definition(db, filename, lineno, line, legacy) + handle_usage(db, filename, lineno, line, legacy) + + +def check_filename(filename): + if filename.endswith('.mk'): + return True + if filename.endswith('.mk.in'): + return True + if filename.startswith('arch/arch.mk.'): + return True + if filename in [ + 'Makefile', + 'Makefile.legacy', + 'package/Makefile.in' + ]: + return True + return False diff --git a/utils/checksymbolslib/test_db.py b/utils/checksymbolslib/test_db.py new file mode 100644 index 00000000000..15576fa8970 --- /dev/null +++ b/utils/checksymbolslib/test_db.py @@ -0,0 +1,286 @@ +import checksymbolslib.db as m + + +def test_empty_db(): + db = m.DB() + assert str(db) == '{}' + + +def test_one_definition(): + db = m.DB() + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + assert str(db) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}}, + }) + + +def test_three_definitions(): + db = m.DB() + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 9) + db.add_symbol_definition('BR2_bar', 'bar/Config.in', 5) + assert str(db) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7, 9]}}, + 'BR2_bar': {'definition': {'bar/Config.in': [5]}}, + }) + + +def test_definition_and_usage(): + db = m.DB() + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_usage('BR2_foo', 'foo/Config.in', 9) + assert str(db) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}, 'normal usage': {'foo/Config.in': [9]}}, + }) + + +def test_all_entry_types(): + db = m.DB() + db.add_symbol_choice('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_definition('BR2_bar', 'bar/Config.in', 700) + db.add_symbol_helper('BR2_bar', 'bar/Config.in', 700) + db.add_symbol_legacy_definition('BR2_baz', 'Config.in.legacy', 7000) + db.add_symbol_legacy_note('BR2_baz', 'Config.in.legacy', 7001) + db.add_symbol_legacy_usage('BR2_bar', 'Config.in.legacy', 7001) + db.add_symbol_select('BR2_bar', 'Config.in.legacy', 7001) + db.add_symbol_usage('BR2_foo', 'foo/Config.in', 9) + db.add_symbol_usage_in_legacy('BR2_bar', 'Config.in.legacy', 9) + db.add_symbol_virtual('BR2_foo', 'foo/Config.in', 7) + assert str(db) == str({ + 'BR2_foo': { + 'part of a choice': {'foo/Config.in': [7]}, + 'definition': {'foo/Config.in': [7]}, + 'normal usage': {'foo/Config.in': [9]}, + 'virtual': {'foo/Config.in': [7]}}, + 'BR2_bar': { + 'definition': {'bar/Config.in': [700]}, + 'possible config helper': {'bar/Config.in': [700]}, + 'legacy usage': {'Config.in.legacy': [7001]}, + 'selected': {'Config.in.legacy': [7001]}, + 'usage inside legacy': {'Config.in.legacy': [9]}}, + 'BR2_baz': { + 'legacy definition': {'Config.in.legacy': [7000]}, + 'legacy note': {'Config.in.legacy': [7001]}}, + }) + + +def test_get_symbols_with_pattern(): + db = m.DB() + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_usage('BR2_foo', 'foo/Config.in', 9) + db.add_symbol_definition('BR2_bar', 'bar/Config.in', 5) + assert str(db) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}, 'normal usage': {'foo/Config.in': [9]}}, + 'BR2_bar': {'definition': {'bar/Config.in': [5]}}, + }) + symbols = db.get_symbols_with_pattern('foo') + assert str(symbols) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}, 'normal usage': {'foo/Config.in': [9]}}, + }) + symbols = db.get_symbols_with_pattern('FOO') + assert str(symbols) == str({ + }) + symbols = db.get_symbols_with_pattern('foo|FOO') + assert str(symbols) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}, 'normal usage': {'foo/Config.in': [9]}}, + }) + symbols = db.get_symbols_with_pattern('^foo') + assert str(symbols) == str({ + }) + symbols = db.get_symbols_with_pattern('foo|bar') + assert str(symbols) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}, 'normal usage': {'foo/Config.in': [9]}}, + 'BR2_bar': {'definition': {'bar/Config.in': [5]}}, + }) + + +def test_get_warnings_for_choices_selected(): + db = m.DB() + db.add_symbol_choice('BR2_foo', 'foo/Config.in', 1) + db.add_symbol_choice('BR2_bar', 'bar/Config.in', 1) + db.add_symbol_select('BR2_foo', 'bar/Config.in', 2) + assert str(db) == str({ + 'BR2_foo': {'part of a choice': {'foo/Config.in': [1]}, 'selected': {'bar/Config.in': [2]}}, + 'BR2_bar': {'part of a choice': {'bar/Config.in': [1]}}, + }) + warnings = db.get_warnings_for_choices_selected() + assert warnings == [ + ('bar/Config.in', 2, 'BR2_foo is part of a "choice" and should not be "select"ed'), + ] + + +def test_get_warnings_for_legacy_symbols_being_used(): + db = m.DB() + db.add_symbol_legacy_definition('BR2_foo', 'Config.in.legacy', 1) + db.add_symbol_usage('BR2_foo', 'bar/Config.in', 2) + db.add_symbol_legacy_definition('BR2_bar', 'Config.in.legacy', 10) + db.add_symbol_usage_in_legacy('BR2_bar', 'Config.in.legacy', 11) + assert str(db) == str({ + 'BR2_foo': {'legacy definition': {'Config.in.legacy': [1]}, 'normal usage': {'bar/Config.in': [2]}}, + 'BR2_bar': {'legacy definition': {'Config.in.legacy': [10]}, 'usage inside legacy': {'Config.in.legacy': [11]}}, + }) + warnings = db.get_warnings_for_legacy_symbols_being_used() + assert warnings == [ + ('bar/Config.in', 2, 'BR2_foo is a legacy symbol and should not be referenced'), + ] + + +def test_get_warnings_for_legacy_symbols_being_defined(): + db = m.DB() + db.add_symbol_legacy_definition('BR2_foo', 'Config.in.legacy', 1) + db.add_symbol_legacy_definition('BR2_bar', 'Config.in.legacy', 10) + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 8) + assert str(db) == str({ + 'BR2_foo': {'legacy definition': {'Config.in.legacy': [1]}, 'definition': {'foo/Config.in': [7, 8]}}, + 'BR2_bar': {'legacy definition': {'Config.in.legacy': [10]}}, + }) + warnings = db.get_warnings_for_legacy_symbols_being_defined() + assert warnings == [ + ('foo/Config.in', 7, 'BR2_foo is a legacy symbol and should not be redefined'), + ('foo/Config.in', 8, 'BR2_foo is a legacy symbol and should not be redefined'), + ] + + +def test_get_warnings_for_symbols_without_definition(): + db = m.DB() + db.add_symbol_definition('BR2_foo', 'foo/Config.in', 7) + db.add_symbol_legacy_definition('BR2_bar', 'Config.in.legacy', 10) + db.add_symbol_virtual('BR2_baz', 'baz/Config.in', 7) + db.add_symbol_usage('BR2_foo', 'file', 1) + db.add_symbol_usage('BR2_bar', 'file', 1) + db.add_symbol_usage('BR2_baz', 'file', 1) + db.add_symbol_usage('BR2_undef1', 'file', 1) + db.add_symbol_legacy_usage('BR2_undef2', 'file', 2) + db.add_symbol_usage_in_legacy('BR2_undef3', 'file', 3) + db.add_symbol_usage('BR2_undef3', 'another', 1) + db.add_symbol_legacy_usage('BR2_undef3', 'another', 2) + db.add_symbol_usage('BR2_PACKAGE_HOST_undef', 'file', 1) + db.add_symbol_usage('BR2_PACKAGE_HAS_HOST_undef', 'file', 1) + db.add_symbol_usage('BR2_TARGET_ROOTFS_undef_XZ', 'file', 1) + db.add_symbol_usage('BR2_GRAPH_ALT', 'file', 1) + db.add_symbol_usage('BR2_EXTERNAL', 'file', 1) + db.add_symbol_usage('BR2_TARGET_BAREBOX_AUX_BAREBOXENV', 'file', 1) + db.add_symbol_usage('BR2_PACKAGE_HAS_TOOLCHAIN_BUILDROOT', 'file', 1) + assert str(db) == str({ + 'BR2_foo': {'definition': {'foo/Config.in': [7]}, 'normal usage': {'file': [1]}}, + 'BR2_bar': {'legacy definition': {'Config.in.legacy': [10]}, 'normal usage': {'file': [1]}}, + 'BR2_baz': {'virtual': {'baz/Config.in': [7]}, 'normal usage': {'file': [1]}}, + 'BR2_undef1': {'normal usage': {'file': [1]}}, + 'BR2_undef2': {'legacy usage': {'file': [2]}}, + 'BR2_undef3': {'usage inside legacy': {'file': [3]}, 'normal usage': {'another': [1]}, 'legacy usage': {'another': [2]}}, + 'BR2_PACKAGE_HOST_undef': {'normal usage': {'file': [1]}}, + 'BR2_PACKAGE_HAS_HOST_undef': {'normal usage': {'file': [1]}}, + 'BR2_TARGET_ROOTFS_undef_XZ': {'normal usage': {'file': [1]}}, + 'BR2_GRAPH_ALT': {'normal usage': {'file': [1]}}, + 'BR2_EXTERNAL': {'normal usage': {'file': [1]}}, + 'BR2_TARGET_BAREBOX_AUX_BAREBOXENV': {'normal usage': {'file': [1]}}, + 'BR2_PACKAGE_HAS_TOOLCHAIN_BUILDROOT': {'normal usage': {'file': [1]}}, + }) + warnings = db.get_warnings_for_symbols_without_definition() + assert warnings == [ + ('file', 1, 'BR2_undef1 referenced but not defined'), + ('file', 2, 'BR2_undef2 referenced but not defined'), + ('another', 1, 'BR2_undef3 referenced but not defined'), + ('another', 2, 'BR2_undef3 referenced but not defined'), + ('file', 3, 'BR2_undef3 referenced but not defined'), + ] + + +def test_get_warnings_for_symbols_without_usage(): + db = m.DB() + db.add_symbol_definition('BR2_a', 'a/Config.in', 1) + db.add_symbol_definition('BR2_a', 'a/Config.in', 2) + db.add_symbol_usage('BR2_a', 'file', 1) + db.add_symbol_usage('BR2_a', 'file', 2) + db.add_symbol_definition('BR2_b', 'b/Config.in', 2) + db.add_symbol_usage_in_legacy('BR2_b', 'file', 1) + db.add_symbol_definition('BR2_c', 'c/Config.in', 2) + db.add_symbol_legacy_usage('BR2_c', 'file', 1) + db.add_symbol_definition('BR2_USE_CCACHE', 'file', 1) + db.add_symbol_definition('BR2_PACKAGE_SKELETON', 'file', 1) + db.add_symbol_definition('BR2_d', 'd/Config.in', 2) + db.add_symbol_helper('BR2_d', 'd/Config.in', 2) + db.add_symbol_definition('BR2_e', 'e/Config.in', 2) + db.add_symbol_choice('BR2_e', 'e/Config.in', 2) + db.add_symbol_definition('BR2_f', 'f/Config.in', 2) + db.add_symbol_definition('BR2_g', 'g/Config.in', 2) + db.add_symbol_definition('BR2_g', 'g/Config.in', 3) + db.add_symbol_legacy_definition('BR2_h', 'Config.in.legacy', 1) + db.add_symbol_usage('BR2_h', 'file', 2) + db.add_symbol_usage('BR2_h', 'file', 3) + db.add_symbol_legacy_definition('BR2_i', 'Config.in.legacy', 2) + db.add_symbol_usage_in_legacy('BR2_i', 'file', 2) + db.add_symbol_legacy_definition('BR2_j', 'Config.in.legacy', 2) + db.add_symbol_legacy_usage('BR2_j', 'file', 2) + db.add_symbol_legacy_definition('BR2_k', 'Config.in.legacy', 2) + db.add_symbol_usage('BR2_k', 'file', 5) + db.add_symbol_usage_in_legacy('BR2_k', 'file', 6) + db.add_symbol_legacy_usage('BR2_k', 'file', 7) + db.add_symbol_legacy_definition('BR2_l', 'Config.in.legacy', 2) + assert str(db) == str({ + 'BR2_a': {'definition': {'a/Config.in': [1, 2]}, 'normal usage': {'file': [1, 2]}}, + 'BR2_b': {'definition': {'b/Config.in': [2]}, 'usage inside legacy': {'file': [1]}}, + 'BR2_c': {'definition': {'c/Config.in': [2]}, 'legacy usage': {'file': [1]}}, + 'BR2_USE_CCACHE': {'definition': {'file': [1]}}, + 'BR2_PACKAGE_SKELETON': {'definition': {'file': [1]}}, + 'BR2_d': {'definition': {'d/Config.in': [2]}, 'possible config helper': {'d/Config.in': [2]}}, + 'BR2_e': {'definition': {'e/Config.in': [2]}, 'part of a choice': {'e/Config.in': [2]}}, + 'BR2_f': {'definition': {'f/Config.in': [2]}}, + 'BR2_g': {'definition': {'g/Config.in': [2, 3]}}, + 'BR2_h': {'legacy definition': {'Config.in.legacy': [1]}, 'normal usage': {'file': [2, 3]}}, + 'BR2_i': {'legacy definition': {'Config.in.legacy': [2]}, 'usage inside legacy': {'file': [2]}}, + 'BR2_j': {'legacy definition': {'Config.in.legacy': [2]}, 'legacy usage': {'file': [2]}}, + 'BR2_k': { + 'legacy definition': {'Config.in.legacy': [2]}, + 'normal usage': {'file': [5]}, + 'usage inside legacy': {'file': [6]}, + 'legacy usage': {'file': [7]}}, + 'BR2_l': {'legacy definition': {'Config.in.legacy': [2]}}, + }) + warnings = db.get_warnings_for_symbols_without_usage() + assert warnings == [ + ('f/Config.in', 2, 'BR2_f defined but not referenced'), + ('g/Config.in', 2, 'BR2_g defined but not referenced'), + ('g/Config.in', 3, 'BR2_g defined but not referenced'), + ('Config.in.legacy', 2, 'BR2_l defined but not referenced'), + ] + + +def test_get_warnings_for_symbols_with_legacy_note_and_no_comment_on_usage(): + db = m.DB() + db.add_symbol_legacy_note('BR2_foo', 'Config.in.legacy', 1) + db.add_symbol_legacy_usage('BR2_foo', 'package/bar/Config.in', 2) + db.add_symbol_legacy_note('BR2_baz', 'Config.in.legacy', 7001) + db.add_symbol_usage('BR2_baz', 'package/foo/Config.in', 1) + assert str(db) == str({ + 'BR2_foo': {'legacy note': {'Config.in.legacy': [1]}, 'legacy usage': {'package/bar/Config.in': [2]}}, + 'BR2_baz': {'legacy note': {'Config.in.legacy': [7001]}, 'normal usage': {'package/foo/Config.in': [1]}}, + }) + warnings = db.get_warnings_for_symbols_with_legacy_note_and_no_comment_on_usage() + assert warnings == [ + ('package/foo/Config.in', 1, 'BR2_baz missing "# legacy"'), + ] + + +def test_get_warnings_for_symbols_with_legacy_note_and_no_usage(): + db = m.DB() + db.add_symbol_legacy_note('BR2_foo', 'Config.in.legacy', 1) + db.add_symbol_legacy_usage('BR2_foo', 'package/bar/Config.in', 2) + db.add_symbol_legacy_note('BR2_bar', 'Config.in.legacy', 1) + db.add_symbol_usage_in_legacy('BR2_bar', 'Config.in.legacy', 7001) + db.add_symbol_legacy_note('BR2_baz', 'Config.in.legacy', 7001) + db.add_symbol_legacy_note('BR2_no_comment', 'Config.in.legacy', 1) + db.add_symbol_usage('BR2_no_comment', 'package/bar/Config.in', 2) + assert str(db) == str({ + 'BR2_foo': {'legacy note': {'Config.in.legacy': [1]}, 'legacy usage': {'package/bar/Config.in': [2]}}, + 'BR2_bar': {'legacy note': {'Config.in.legacy': [1]}, 'usage inside legacy': {'Config.in.legacy': [7001]}}, + 'BR2_baz': {'legacy note': {'Config.in.legacy': [7001]}}, + 'BR2_no_comment': {'legacy note': {'Config.in.legacy': [1]}, 'normal usage': {'package/bar/Config.in': [2]}}, + }) + warnings = db.get_warnings_for_symbols_with_legacy_note_and_no_usage() + assert warnings == [ + ('Config.in.legacy', 1, 'BR2_bar not referenced but has a comment stating it is'), + ('Config.in.legacy', 7001, 'BR2_baz not referenced but has a comment stating it is'), + ] diff --git a/utils/checksymbolslib/test_file.py b/utils/checksymbolslib/test_file.py new file mode 100644 index 00000000000..3b4ee108d1b --- /dev/null +++ b/utils/checksymbolslib/test_file.py @@ -0,0 +1,152 @@ +import os +import pytest +import tempfile +import checksymbolslib.file as m + + +def test_get_list_of_files_in_the_repo(): + all_files = m.get_list_of_files_in_the_repo() + assert 'Makefile' in all_files + assert 'package/Config.in' in all_files + assert len(all_files) > 1000 + + +get_list_of_files_to_process = [ + ('unknown file type', + ['a/file/Config.in', + 'another/file.mk', + 'unknown/file/type'], + ['a/file/Config.in', + 'another/file.mk']), + ('runtime test infra fixtures', + ['a/file/Config.in', + 'support/testing/a/broken/Config.in', + 'another/file.mk'], + ['a/file/Config.in', + 'another/file.mk']), + ] + + +@pytest.mark.parametrize('testname,all_files,expected', get_list_of_files_to_process) +def test_get_list_of_files_to_process(testname, all_files, expected): + files_to_process = m.get_list_of_files_to_process(all_files) + assert files_to_process == expected + + +get_list_of_filenames_with_pattern = [ + ('ignored directories', + ['a/file/Config.in', + 'support/testing/a/broken/file/Config.in', + 'not/found.mk', + 'another/file.mk'], + ['a/file/Config.in', + 'not/found.mk', + 'another/file.mk'], + 'file', + ['support/testing/a/broken/file/Config.in']), + ('processed files', + ['a/file/Config.in', + 'not/found.mk', + 'another/file.mk'], + [], + 'file', + ['a/file/Config.in', + 'another/file.mk']), + ('case sensitive', + ['a/file/Config.in', + 'not/found.mk', + 'another/file.mk'], + [], + 'FILE', + []), + ('or', + ['a/file/Config.in', + 'not/found.mk', + 'another/file.mk'], + [], + 'file|FILE', + ['a/file/Config.in', + 'another/file.mk']), + ('complex regexp', + ['a/file/Config.in', + 'not/found.mk', + 'another/file.mk'], + [], + '^n[oO]+t.*mk$', + ['not/found.mk']), + ] + + +@pytest.mark.parametrize('testname,all_files,files_to_process,pattern,expected', get_list_of_filenames_with_pattern) +def test_get_list_of_filenames_with_pattern(testname, all_files, files_to_process, pattern, expected): + files_to_process = m.get_list_of_filenames_with_pattern(all_files, files_to_process, pattern) + assert files_to_process == expected + + +read_file = [ + ('indent', + 'file1', + ' content1\n' + '\t# comment1', + [[1, ' content1\n'], + [2, '\t# comment1']]), + ('trailing space', + 'file2', + 'content2 \n' + '# comment2\t\n', + [[1, 'content2 \n'], + [2, '# comment2\t\n']]), + ('empty line', + 'file3', + '\n' + '\n', + [[1, '\n'], + [2, '\n']]), + ('missing newline at EOF', + 'file4', + '\n' + ' text\t', + [[1, '\n'], + [2, ' text\t']]), + ] + + +@pytest.mark.parametrize('testname,filename,content,,expected', read_file) +def test_read_file(testname, filename, content, expected): + with tempfile.TemporaryDirectory(suffix='-checksymbolslib-test-file') as workdir: + full_filename = os.path.join(workdir, filename) + with open(full_filename, 'wb') as f: + f.write(content.encode()) + read_file_content = m.read_file(full_filename) + assert read_file_content == expected + + +cleanup_file_content = [ + ('empty file', + [], + []), + ('empty line', + [[5, '\n']], + [[5, '']]), + ('trailing space', + [[3, ' \n']], + [[3, ' ']]), + ('trailing tab', + [[3, '\t\n']], + [[3, '\t']]), + ('1 continuation', + [[1, 'foo \\\n'], + [2, 'bar\n']], + [[1, 'foo bar']]), + ('2 continuations', + [[1, 'foo \\\n'], + [2, 'bar \\\n'], + [3, 'baz\n']], + [[1, 'foo bar baz']]), + ] + + +@pytest.mark.parametrize('testname,file_content_raw,expected', cleanup_file_content) +def test_cleanup_file_content(testname, file_content_raw, expected): + cleaned_up_content = m.cleanup_file_content(file_content_raw) + assert cleaned_up_content == expected diff --git a/utils/checksymbolslib/test_kconfig.py b/utils/checksymbolslib/test_kconfig.py new file mode 100644 index 00000000000..ab2008df6ca --- /dev/null +++ b/utils/checksymbolslib/test_kconfig.py @@ -0,0 +1,438 @@ +import pytest +from unittest.mock import Mock +from unittest.mock import call +from checksymbolslib.test_util import assert_db_calls +import checksymbolslib.kconfig as m + + +all_symbols_from = [ + ('no prefix', + 'config PACKAGE_FOO', + []), + ('simple', + 'config BR2_PACKAGE_FOO', + ['BR2_PACKAGE_FOO']), + ('ignore comment', + 'config BR2_PACKAGE_FOO # BR2_PACKAGE_BAR', + ['BR2_PACKAGE_FOO']), + ('ignore whitespace', + '\tconfig BR2_PACKAGE_FOO\t # BR2_PACKAGE_BAR', + ['BR2_PACKAGE_FOO']), + ('2 occurrences', + '\tdefault BR2_PACKAGE_FOO_BAR if BR2_PACKAGE_FOO_BAR != ""', + ['BR2_PACKAGE_FOO_BAR', 'BR2_PACKAGE_FOO_BAR']), + ] + + +@pytest.mark.parametrize('testname,line,expected', all_symbols_from) +def test_all_symbols_from(testname, line, expected): + symbols = m.all_symbols_from(line) + assert symbols == expected + + +handle_definition = [ + ('config', + 'package/foo/Config.in', + 5, + 'config BR2_PACKAGE_FOO', + False, + {'add_symbol_definition': [call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5)]}), + ('ignore comment', + 'package/foo/Config.in', + 5, + 'config BR2_PACKAGE_FOO # BR2_PACKAGE_BAR', + False, + {'add_symbol_definition': [call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5)]}), + ('ignore whitespace', + 'package/foo/Config.in', + 5, + '\tconfig BR2_PACKAGE_FOO\t # BR2_PACKAGE_BAR', + False, + {'add_symbol_definition': [call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5)]}), + ('menuconfig', + 'package/gd/Config.in', + 1, + 'menuconfig BR2_PACKAGE_GD', + False, + {'add_symbol_definition': [call('BR2_PACKAGE_GD', 'package/gd/Config.in', 1)]}), + ('menu', + 'package/Config.in', + 100, + 'menu "Database"', + False, + {}), + ('legacy config', + 'Config.in.legacy', + 50, + 'config BR2_PACKAGE_FOO', + True, + {'add_symbol_legacy_definition': [call('BR2_PACKAGE_FOO', 'Config.in.legacy', 50)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_definition) +def test_handle_definition(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_definition(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +handle_usage = [ + ('default with comparison', + 'package/openblas/Config.in', + 60, + '\tdefault y if BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET != ""', + False, + {'add_symbol_usage': [call('BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET', 'package/openblas/Config.in', 60)]}), + ('default with logical operators', + 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', + 47, + '\tdefault y if BR2_i386 && !BR2_x86_i486 && !BR2_x86_i586 && !BR2_x86_x1000 && !BR2_x86_pentium_mmx && !BR2_x86_geode ' + '&& !BR2_x86_c3 && !BR2_x86_winchip_c6 && !BR2_x86_winchip2', + False, + {'add_symbol_usage': [ + call('BR2_i386', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_c3', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_geode', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_i486', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_i586', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_pentium_mmx', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_winchip2', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_winchip_c6', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_x1000', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47)]}), + ('legacy depends on', + 'Config.in.legacy', + 3000, + '\tdepends on BR2_LINUX_KERNEL', + True, + {'add_symbol_usage_in_legacy': [call('BR2_LINUX_KERNEL', 'Config.in.legacy', 3000)]}), + ('legacy if', + 'Config.in.legacy', + 97, + 'if !BR2_SKIP_LEGACY', + True, + {'add_symbol_usage_in_legacy': [call('BR2_SKIP_LEGACY', 'Config.in.legacy', 97)]}), + ('source', + 'system/Config.in', + 152, + 'source "$BR2_BASE_DIR/.br2-external.in.init"', + False, + {'add_symbol_usage': [call('BR2_BASE_DIR', 'system/Config.in', 152)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_usage) +def test_handle_usage(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_usage(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +handle_default = [ + ('default with comparison', + 'package/openblas/Config.in', + 60, + '\tdefault y if BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET != ""', + False, + {'add_symbol_usage': [call('BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET', 'package/openblas/Config.in', 60)]}), + ('default with logical operators', + 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', + 47, + '\tdefault y if BR2_i386 && !BR2_x86_i486 && !BR2_x86_i586 && !BR2_x86_x1000 && !BR2_x86_pentium_mmx && !BR2_x86_geode ' + '&& !BR2_x86_c3 && !BR2_x86_winchip_c6 && !BR2_x86_winchip2', + False, + {'add_symbol_usage': [ + call('BR2_i386', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_c3', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_geode', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_i486', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_i586', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_pentium_mmx', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_winchip2', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_winchip_c6', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47), + call('BR2_x86_x1000', 'toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options', 47)]}), + ('legacy default', + 'Config.in.legacy', + 3000, + 'default y if BR2_PACKAGE_REFPOLICY_POLICY_VERSION != ""', + True, + {'add_symbol_usage_in_legacy': [call('BR2_PACKAGE_REFPOLICY_POLICY_VERSION', 'Config.in.legacy', 3000)]}), + ('legacy handling on package', + 'package/uboot-tools/Config.in.host', + 105, + '\tdefault BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE if BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE != "" # legacy', + False, + {'add_symbol_legacy_usage': [call('BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE', 'package/uboot-tools/Config.in.host', 105)]}), + ('default on package', + 'package/uboot-tools/Config.in.host', + 105, + '\tdefault BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE if BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE != ""', + False, + {'add_symbol_usage': [ + call('BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE', 'package/uboot-tools/Config.in.host', 105), + call('BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE', 'package/uboot-tools/Config.in.host', 105)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_default) +def test_handle_default(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_default(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +handle_select = [ + ('select with comparison', + 'package/bcusdk/Config.in', + 6, + '\tselect BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL', + False, + {'add_symbol_select': [call('BR2_PACKAGE_ARGP_STANDALONE', 'package/bcusdk/Config.in', 6)], + 'add_symbol_usage': [ + call('BR2_PACKAGE_ARGP_STANDALONE', 'package/bcusdk/Config.in', 6), + call('BR2_TOOLCHAIN_USES_UCLIBC', 'package/bcusdk/Config.in', 6), + call('BR2_TOOLCHAIN_USES_MUSL', 'package/bcusdk/Config.in', 6)]}), + ('legacy select', + 'Config.in.legacy', + 100, + '\tselect BR2_PACKAGE_WPA_SUPPLICANT_DBUS if BR2_TOOLCHAIN_HAS_THREADS', + True, + {'add_symbol_select': [call('BR2_PACKAGE_WPA_SUPPLICANT_DBUS', 'Config.in.legacy', 100)], + 'add_symbol_usage_in_legacy': [ + call('BR2_PACKAGE_WPA_SUPPLICANT_DBUS', 'Config.in.legacy', 100), + call('BR2_TOOLCHAIN_HAS_THREADS', 'Config.in.legacy', 100)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_select) +def test_handle_select(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_select(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +handle_line = [ + ('select with comparison', + 'package/bcusdk/Config.in', + 6, + '\tselect BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL', + False, + {'add_symbol_select': [call('BR2_PACKAGE_ARGP_STANDALONE', 'package/bcusdk/Config.in', 6)], + 'add_symbol_usage': [ + call('BR2_PACKAGE_ARGP_STANDALONE', 'package/bcusdk/Config.in', 6), + call('BR2_TOOLCHAIN_USES_UCLIBC', 'package/bcusdk/Config.in', 6), + call('BR2_TOOLCHAIN_USES_MUSL', 'package/bcusdk/Config.in', 6)]}), + ('legacy select', + 'Config.in.legacy', + 100, + '\tselect BR2_PACKAGE_WPA_SUPPLICANT_DBUS if BR2_TOOLCHAIN_HAS_THREADS', + True, + {'add_symbol_select': [call('BR2_PACKAGE_WPA_SUPPLICANT_DBUS', 'Config.in.legacy', 100)], + 'add_symbol_usage_in_legacy': [ + call('BR2_PACKAGE_WPA_SUPPLICANT_DBUS', 'Config.in.legacy', 100), + call('BR2_TOOLCHAIN_HAS_THREADS', 'Config.in.legacy', 100)]}), + ('comment with symbol', + 'Config.in', + 6, + '\tselect # BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_MUSL', + False, + {}), + ('comment', + 'Config.in', + 6, + '# just a comment', + False, + {}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_line) +def test_handle_line(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_line(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +handle_config_helper = [ + ('no select', + 'package/foo/Config.in', + [[5, 'config BR2_PACKAGE_FOO']], + {}), + ('select', + 'package/foo/Config.in', + [[5, 'config BR2_PACKAGE_FOO'], + [6, '\tselect BR2_PACKAGE_BAR']], + {'add_symbol_helper': [call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5)]}), + ('ignore comment', + 'package/foo/Config.in', + [[5, 'config BR2_PACKAGE_FOO # BR2_PACKAGE_BAR'], + [6, '\tselect BR2_PACKAGE_BAR # BR2_PACKAGE_FOO']], + {'add_symbol_helper': [call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5)]}), + ('correct symbol', + 'package/foo/Config.in', + [[5, 'config BR2_PACKAGE_FOO'], + [6, 'config BR2_PACKAGE_BAR'], + [7, '\tselect BR2_PACKAGE_BAZ']], + {'add_symbol_helper': [call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)]}), + ('2 selects', + 'package/foo/Config.in', + [[5, 'config BR2_PACKAGE_FOO'], + [6, '\tselect BR2_PACKAGE_BAR'], + [7, ' select BR2_PACKAGE_BAR']], + {'add_symbol_helper': [call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5)]}), + ] + + +@pytest.mark.parametrize('testname,filename,file_content,expected_calls', handle_config_helper) +def test_handle_config_helper(testname, filename, file_content, expected_calls): + db = Mock() + m.handle_config_helper(db, filename, file_content) + assert_db_calls(db, expected_calls) + + +handle_config_choice = [ + ('no choice', + 'package/foo/Config.in', + [[5, 'config BR2_PACKAGE_FOO']], + {}), + ('after', + 'package/foo/Config.in', + [[3, 'choice'], + [4, '\tprompt "your choice"'], + [5, 'config BR2_PACKAGE_FOO'], + [6, 'config BR2_PACKAGE_BAR'], + [10, 'endchoice'], + [19, 'config BR2_PACKAGE_BAZ']], + {'add_symbol_choice': [ + call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5), + call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)]}), + ('before', + 'package/foo/Config.in', + [[1, 'config BR2_PACKAGE_BAZ'], + [3, 'choice'], + [4, '\tprompt "your choice"'], + [5, 'config BR2_PACKAGE_FOO'], + [6, 'config BR2_PACKAGE_BAR'], + [10, 'endchoice']], + {'add_symbol_choice': [ + call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5), + call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)]}), + ] + + +@pytest.mark.parametrize('testname,filename,file_content,expected_calls', handle_config_choice) +def test_handle_config_choice(testname, filename, file_content, expected_calls): + db = Mock() + m.handle_config_choice(db, filename, file_content) + assert_db_calls(db, expected_calls) + + +handle_note = [ + ('example', + 'Config.in.legacy', + [[51, '# # Note: BR2_FOO_1 is still referenced from package/foo/Config.in']], + {}), + ('ok', + 'Config.in.legacy', + [[112, 'menu "Legacy config options"'], + [2132, '# Note: BR2_PACKAGE_FOO is still referenced from package/foo/Config.in'], + [4958, 'endmenu']], + {'add_symbol_legacy_note': [call('BR2_PACKAGE_FOO', 'Config.in.legacy', 2132)]}), + ('before and after', + 'Config.in.legacy', + [[100, '# Note: BR2_PACKAGE_BAR is still referenced from package/foo/Config.in'], + [112, 'menu "Legacy config options"'], + [2132, '# Note: BR2_PACKAGE_FOO is still referenced from package/foo/Config.in'], + [4958, 'endmenu'], + [5000, '# Note: BR2_PACKAGE_BAR is still referenced from package/foo/Config.in']], + {'add_symbol_legacy_note': [call('BR2_PACKAGE_FOO', 'Config.in.legacy', 2132)]}), + ] + + +@pytest.mark.parametrize('testname,filename,file_content,expected_calls', handle_note) +def test_handle_note(testname, filename, file_content, expected_calls): + db = Mock() + m.handle_note(db, filename, file_content) + assert_db_calls(db, expected_calls) + + +populate_db = [ + ('legacy', + 'Config.in.legacy', + [[112, 'menu "Legacy config options"'], + [2100, 'config BR2_PACKAGE_FOO'], + [2101, '\tselect BR2_PACKAGE_BAR'], + [2132, '# Note: BR2_PACKAGE_FOO is still referenced from package/foo/Config.in'], + [4958, 'endmenu']], + {'add_symbol_legacy_note': [call('BR2_PACKAGE_FOO', 'Config.in.legacy', 2132)], + 'add_symbol_helper': [call('BR2_PACKAGE_FOO', 'Config.in.legacy', 2100)], + 'add_symbol_legacy_definition': [call('BR2_PACKAGE_FOO', 'Config.in.legacy', 2100)], + 'add_symbol_usage_in_legacy': [call('BR2_PACKAGE_BAR', 'Config.in.legacy', 2101)], + 'add_symbol_select': [call('BR2_PACKAGE_BAR', 'Config.in.legacy', 2101)]}), + ('normal', + 'package/foo/Config.in', + [[1, 'config BR2_PACKAGE_BAZ'], + [3, 'choice'], + [4, '\tprompt "your choice"'], + [5, 'config BR2_PACKAGE_FOO'], + [6, 'config BR2_PACKAGE_BAR'], + [7, '\t select BR2_PACKAGE_FOO_BAR'], + [10, 'endchoice']], + {'add_symbol_choice': [ + call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5), + call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)], + 'add_symbol_usage': [ + call('BR2_PACKAGE_FOO_BAR', 'package/foo/Config.in', 7)], + 'add_symbol_select': [ + call('BR2_PACKAGE_FOO_BAR', 'package/foo/Config.in', 7)], + 'add_symbol_definition': [ + call('BR2_PACKAGE_BAZ', 'package/foo/Config.in', 1), + call('BR2_PACKAGE_FOO', 'package/foo/Config.in', 5), + call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)], + 'add_symbol_helper': [ + call('BR2_PACKAGE_BAR', 'package/foo/Config.in', 6)]}), + ] + + +@pytest.mark.parametrize('testname,filename,file_content,expected_calls', populate_db) +def test_populate_db(testname, filename, file_content, expected_calls): + db = Mock() + m.populate_db(db, filename, file_content) + assert_db_calls(db, expected_calls) + + +check_filename = [ + ('Config.in', + 'Config.in', + True), + ('Config.in.legacy', + 'Config.in.legacy', + True), + ('arch/Config.in.microblaze', + 'arch/Config.in.microblaze', + True), + ('package/php/Config.ext', + 'package/php/Config.ext', + True), + ('package/pru-software-support/Config.in.host', + 'package/pru-software-support/Config.in.host', + True), + ('toolchain/toolchain-external/toolchain-external-custom/Config.in.options', + 'toolchain/toolchain-external/toolchain-external-custom/Config.in.options', + True), + ('package/foo/0001-Config.patch', + 'package/foo/0001-Config.patch', + False), + ('package/pkg-generic.mk', + 'package/pkg-generic.mk', + False), + ('Makefile', + 'Makefile', + False), + ] + + +@pytest.mark.parametrize('testname,filename,expected', check_filename) +def test_check_filename(testname, filename, expected): + symbols = m.check_filename(filename) + assert symbols == expected diff --git a/utils/checksymbolslib/test_makefile.py b/utils/checksymbolslib/test_makefile.py new file mode 100644 index 00000000000..1dc6564b2f1 --- /dev/null +++ b/utils/checksymbolslib/test_makefile.py @@ -0,0 +1,301 @@ +import pytest +from unittest.mock import Mock +from unittest.mock import call +from checksymbolslib.test_util import assert_db_calls +import checksymbolslib.makefile as m + + +handle_eval = [ + ('generic', + 'package/foo/foo.mk', + 5, + '$(eval $(generic-package))', + {'add_symbol_usage': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 5)]}), + ('ignore trailing whitespace', + 'package/foo/foo.mk', + 5, + '$(eval $(generic-package)) ', + {'add_symbol_usage': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 5)]}), + ('ignore indent', + 'package/foo/foo.mk', + 5, + '\t$(eval $(generic-package))', + {'add_symbol_usage': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 5)]}), + ('rootfs', + 'fs/foo/foo.mk', + 5, + '$(eval $(rootfs))', + {'add_symbol_usage': [ + call('BR2_TARGET_ROOTFS_FOO', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_BZIP2', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_GZIP', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_LZ4', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_LZMA', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_LZO', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_XZ', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_ZSTD', 'fs/foo/foo.mk', 5)]}), + ('kernel module', + 'package/foo/foo.mk', + 6, + '$(eval $(kernel-module))', + {'add_symbol_usage': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 6)]}), + ('not an eval for package infra', + 'docs/manual/manual.mk', + 10, + '$(eval $(call asciidoc-document))', + {}), + ('linux', + 'linux/linux.mk', + 617, + '$(eval $(kconfig-package))', + {'add_symbol_usage': [call('BR2_LINUX_KERNEL', 'linux/linux.mk', 617)]}), + ('virtual toolchain', + 'toolchain/toolchain-external/toolchain-external.mk', + 18, + '$(eval $(virtual-package))', + {'add_symbol_usage': [ + call('BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL', 'toolchain/toolchain-external/toolchain-external.mk', 18), + call('BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL', 'toolchain/toolchain-external/toolchain-external.mk', 18), + call('BR2_TOOLCHAIN_EXTERNAL', 'toolchain/toolchain-external/toolchain-external.mk', 18)], + 'add_symbol_virtual': [call('BR2_TOOLCHAIN_EXTERNAL', 'toolchain/toolchain-external/toolchain-external.mk', 18)]}), + ('virtual package', + 'package/foo/foo.mk', + 18, + '$(eval $(virtual-package))', + {'add_symbol_usage': [ + call('BR2_PACKAGE_PROVIDES_FOO', 'package/foo/foo.mk', 18), + call('BR2_PACKAGE_HAS_FOO', 'package/foo/foo.mk', 18), + call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 18)], + 'add_symbol_virtual': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 18)]}), + ('host virtual package', + 'package/foo/foo.mk', + 18, + '$(eval $(host-virtual-package))', + {'add_symbol_usage': [ + call('BR2_PACKAGE_PROVIDES_HOST_FOO', 'package/foo/foo.mk', 18), + call('BR2_PACKAGE_HAS_HOST_FOO', 'package/foo/foo.mk', 18), + call('BR2_PACKAGE_HOST_FOO', 'package/foo/foo.mk', 18)]}), + ('host generic package', + 'package/foo/foo.mk', + 18, + '$(eval $(host-package))', + {'add_symbol_usage': [call('BR2_PACKAGE_HOST_FOO', 'package/foo/foo.mk', 18)]}), + ('boot package', + 'boot/foo/foo.mk', + 18, + '$(eval $(generic-package))', + {'add_symbol_usage': [call('BR2_TARGET_FOO', 'boot/foo/foo.mk', 18)]}), + ('toolchain package', + 'toolchain/foo/foo.mk', + 18, + '$(eval $(generic-package))', + {'add_symbol_usage': [call('BR2_FOO', 'toolchain/foo/foo.mk', 18)]}), + ('generic package', + 'package/foo/foo.mk', + 18, + '$(eval $(generic-package))', + {'add_symbol_usage': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 18)]}), + ('cmake package', + 'package/foo/foo.mk', + 18, + '$(eval $(cmake-package))', + {'add_symbol_usage': [call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 18)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,expected_calls', handle_eval) +def test_handle_eval(testname, filename, lineno, line, expected_calls): + db = Mock() + m.handle_eval(db, filename, lineno, line) + assert_db_calls(db, expected_calls) + + +handle_definition = [ + ('legacy attribution', + 'Makefile.legacy', + 9, + 'BR2_LEGACY_FOO := foo', + True, + {'add_symbol_legacy_definition': [call('BR2_LEGACY_FOO', 'Makefile.legacy', 9)]}), + ('attribution 1', + 'Makefile', + 9, + 'BR2_FOO ?= foo', + False, + {'add_symbol_definition': [call('BR2_FOO', 'Makefile', 9)]}), + ('attribution 2', + 'Makefile', + 9, + 'BR2_FOO = $(BR2_BAR)', + False, + {'add_symbol_definition': [call('BR2_FOO', 'Makefile', 9)]}), + ('attribution 3', + 'Makefile', + 9, + 'BR2_FOO := foo', + False, + {'add_symbol_definition': [call('BR2_FOO', 'Makefile', 9)]}), + ('normal export', + 'Makefile', + 90, + 'export BR2_FOO', + False, + {'add_symbol_definition': [call('BR2_FOO', 'Makefile', 90)]}), + ('legacy export', + 'Makefile.legacy', + 90, + 'export BR2_FOO', + True, + {'add_symbol_legacy_definition': [call('BR2_FOO', 'Makefile.legacy', 90)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_definition) +def test_handle_definition(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_definition(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +handle_usage = [ + ('legacy', + 'Makefile.legacy', + 8, + 'ifeq ($(BR2_LEGACY),y)', + True, + {'add_symbol_usage_in_legacy': [call('BR2_LEGACY', 'Makefile.legacy', 8)]}), + ('attribution', + 'Makefile', + 9, + 'BR2_FOO = $(BR2_BAR)', + False, + {'add_symbol_usage': [call('BR2_BAR', 'Makefile', 9)]}), + ('host virtual package', + 'package/foo/foo.mk', + 18, + '$(eval $(host-virtual-package))', + False, + {'add_symbol_usage': [ + call('BR2_PACKAGE_PROVIDES_HOST_FOO', 'package/foo/foo.mk', 18), + call('BR2_PACKAGE_HAS_HOST_FOO', 'package/foo/foo.mk', 18), + call('BR2_PACKAGE_HOST_FOO', 'package/foo/foo.mk', 18)]}), + ] + + +@pytest.mark.parametrize('testname,filename,lineno,line,legacy,expected_calls', handle_usage) +def test_handle_usage(testname, filename, lineno, line, legacy, expected_calls): + db = Mock() + m.handle_usage(db, filename, lineno, line, legacy) + assert_db_calls(db, expected_calls) + + +populate_db = [ + ('legacy', + 'Makefile.legacy', + [[8, 'ifeq ($(BR2_LEGACY),y)'], + [9, 'BR2_LEGACY_FOO := foo'], + [34, 'ifneq ($(BUILDROOT_CONFIG),$(BR2_CONFIG))']], + {'add_symbol_usage_in_legacy': [ + call('BR2_LEGACY', 'Makefile.legacy', 8), + call('BR2_CONFIG', 'Makefile.legacy', 34)], + 'add_symbol_legacy_definition': [call('BR2_LEGACY_FOO', 'Makefile.legacy', 9)]}), + ('attribution', + 'Makefile', + [[9, 'BR2_FOO = $(BR2_BAR)']], + {'add_symbol_definition': [call('BR2_FOO', 'Makefile', 9)], + 'add_symbol_usage': [call('BR2_BAR', 'Makefile', 9)]}), + ('legacy attribution', + 'Makefile.legacy', + [[9, 'BR2_FOO = $(BR2_BAR)']], + {'add_symbol_legacy_definition': [call('BR2_FOO', 'Makefile.legacy', 9)], + 'add_symbol_usage_in_legacy': [call('BR2_BAR', 'Makefile.legacy', 9)]}), + ('generic', + 'package/foo/foo.mk', + [[3, 'ifeq ($(BR2_PACKAGE_FOO_BAR):$(BR2_BAR),y:)'], + [4, 'export BR2_PACKAGE_FOO_BAZ'], + [5, '$(eval $(generic-package))']], + {'add_symbol_usage': [ + call('BR2_PACKAGE_FOO_BAR', 'package/foo/foo.mk', 3), + call('BR2_BAR', 'package/foo/foo.mk', 3), + call('BR2_PACKAGE_FOO', 'package/foo/foo.mk', 5)], + 'add_symbol_definition': [call('BR2_PACKAGE_FOO_BAZ', 'package/foo/foo.mk', 4)]}), + ('rootfs', + 'fs/foo/foo.mk', + [[4, 'ifeq ($(BR2_TARGET_ROOTFS_FOO_LZ4),y)'], + [5, '$(eval $(rootfs))']], + {'add_symbol_usage': [ + call('BR2_TARGET_ROOTFS_FOO', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_BZIP2', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_GZIP', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_LZ4', 'fs/foo/foo.mk', 4), + call('BR2_TARGET_ROOTFS_FOO_LZ4', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_LZMA', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_LZO', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_XZ', 'fs/foo/foo.mk', 5), + call('BR2_TARGET_ROOTFS_FOO_ZSTD', 'fs/foo/foo.mk', 5)]}), + ] + + +@pytest.mark.parametrize('testname,filename,file_content,expected_calls', populate_db) +def test_populate_db(testname, filename, file_content, expected_calls): + db = Mock() + m.populate_db(db, filename, file_content) + assert_db_calls(db, expected_calls) + + +check_filename = [ + ('arch/arch.mk.riscv', + 'arch/arch.mk.riscv', + True), + ('fs/cramfs/cramfs.mk', + 'fs/cramfs/cramfs.mk', + True), + ('linux/linux-ext-fbtft.mk', + 'linux/linux-ext-fbtft.mk', + True), + ('package/ace/ace.mk', + 'package/ace/ace.mk', + True), + ('package/linux-tools/linux-tool-hv.mk.in', + 'package/linux-tools/linux-tool-hv.mk.in', + True), + ('package/pkg-generic.mk', + 'package/pkg-generic.mk', + True), + ('package/x11r7/xlib_libXt/xlib_libXt.mk', + 'package/x11r7/xlib_libXt/xlib_libXt.mk', + True), + ('support/dependencies/check-host-make.mk', + 'support/dependencies/check-host-make.mk', + True), + ('toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk', + 'toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk', + True), + ('Makefile.legacy', + 'Makefile.legacy', + True), + ('boot/common.mk', + 'boot/common.mk', + True), + ('fs/common.mk', + 'fs/common.mk', + True), + ('Makefile', + 'Makefile', + True), + ('package/Makefile.in', + 'package/Makefile.in', + True), + ('Config.in', + 'Config.in', + False), + ('package/foo/0001-Makefile.patch', + 'package/foo/0001-Makefile.patch', + False), + ] + + +@pytest.mark.parametrize('testname,filename,expected', check_filename) +def test_check_filename(testname, filename, expected): + symbols = m.check_filename(filename) + assert symbols == expected diff --git a/utils/checksymbolslib/test_util.py b/utils/checksymbolslib/test_util.py new file mode 100644 index 00000000000..166785ba1d1 --- /dev/null +++ b/utils/checksymbolslib/test_util.py @@ -0,0 +1,15 @@ +def assert_calls(method, expected_calls): + method.assert_has_calls(expected_calls, any_order=True) + assert method.call_count == len(expected_calls) + + +def assert_db_calls(db, expected_calls): + assert_calls(db.add_symbol_legacy_definition, expected_calls.get('add_symbol_legacy_definition', [])) + assert_calls(db.add_symbol_definition, expected_calls.get('add_symbol_definition', [])) + assert_calls(db.add_symbol_usage_in_legacy, expected_calls.get('add_symbol_usage_in_legacy', [])) + assert_calls(db.add_symbol_usage, expected_calls.get('add_symbol_usage', [])) + assert_calls(db.add_symbol_legacy_usage, expected_calls.get('add_symbol_legacy_usage', [])) + assert_calls(db.add_symbol_select, expected_calls.get('add_symbol_select', [])) + assert_calls(db.add_symbol_helper, expected_calls.get('add_symbol_helper', [])) + assert_calls(db.add_symbol_legacy_note, expected_calls.get('add_symbol_legacy_note', [])) + assert_calls(db.add_symbol_virtual, expected_calls.get('add_symbol_virtual', [])) diff --git a/utils/config b/utils/config index c5e2d723ea9..5f5e4362e5b 100755 --- a/utils/config +++ b/utils/config @@ -51,7 +51,7 @@ checkarg() { usage fi if [ "$MUNGE_CASE" = "yes" ] ; then - ARG="`echo $ARG | tr a-z- A-Z_`" + ARG="$(echo "$ARG" | tr a-z- A-Z_)" fi case "$ARG" in ${BR2_PREFIX}*) @@ -64,7 +64,6 @@ txt_append() { local anchor="$1" local insert="$2" local infile="$3" - local tmpfile="$infile.swp" # sed append cmd: 'a\' + newline + text + newline cmd="$(printf "a\\%b$insert" "\n")" @@ -76,7 +75,6 @@ txt_subst() { local before="$1" local after="$2" local infile="$3" - local tmpfile="$infile.swp" sed -i -e "s:$before:$after:" "$infile" } @@ -84,7 +82,6 @@ txt_subst() { txt_delete() { local text="$1" local infile="$2" - local tmpfile="$infile.swp" sed -i -e "/$text/d" "$infile" } @@ -178,15 +175,14 @@ while [ "$1" != "" ] ; do if grep -q "# ${BR2_PREFIX}$ARG is not set" $FN ; then echo n else - V="$(grep "^${BR2_PREFIX}$ARG=" $FN)" - if [ $? != 0 ] ; then - echo undef - else + if V="$(grep "^${BR2_PREFIX}$ARG=" $FN)"; then V="${V/#${BR2_PREFIX}$ARG=/}" V="${V/#\"/}" V="${V/%\"/}" V="${V//\\\"/\"}" echo "${V}" + else + echo undef fi fi ;; diff --git a/utils/docker-run b/utils/docker-run index 56537642545..79694474c14 100755 --- a/utils/docker-run +++ b/utils/docker-run @@ -2,12 +2,86 @@ set -o errexit -o pipefail DIR=$(dirname "${0}") MAIN_DIR=$(readlink -f "${DIR}/..") -# shellcheck disable=SC2016 -IMAGE=$(grep ^image: "${MAIN_DIR}/.gitlab-ci.yml" | \ - sed -e 's,^image: ,,g' | sed -e 's,\$CI_REGISTRY,registry.gitlab.com,g') - -exec docker run -it --rm \ - --user $(id -u):$(id -g) \ - --mount "type=bind,src=${MAIN_DIR},dst=${MAIN_DIR}" \ - --workdir "${MAIN_DIR}" \ - "${IMAGE}" "${@}" +if [ -L "${MAIN_DIR}/.git/config" ]; then + # Support git-new-workdir + GIT_DIR="$(dirname "$(realpath "${MAIN_DIR}/.git/config")")" +else + # Support git-worktree + GIT_DIR="$(cd "${MAIN_DIR}" && git rev-parse --no-flags --git-common-dir)" +fi +if test -z "${IMAGE}" ; then + # shellcheck disable=SC2016 + IMAGE=$(grep ^image: "${MAIN_DIR}/.gitlab-ci.yml" | \ + sed -e 's,^image: ,,g' | sed -e 's,\$CI_REGISTRY,registry.gitlab.com,g') +fi + +declare -a docker_opts=( + -i + --rm + --user "$(id -u):$(id -g)" + --workdir "$(pwd)" + --security-opt label=disable + --network host +) + +declare -a mountpoints=( + "${MAIN_DIR}" + "$(pwd)" +) + +# curl lists (and recognises and uses) other types of *_proxy variables, +# but only those make sense for Buildroot: +for env in all_proxy http_proxy https_proxy ftp_proxy no_proxy; do + if [ "${!env}" ]; then + docker_opts+=( --env "${env}" ) + # The lower-case variant takes precedence on the upper-case one + # (dixit curl) + continue + fi + # http_proxy is only lower-case (dixit curl) + if [ "${env}" = http_proxy ]; then + continue + fi + # All the others also exist in the upper-case variant + env="${env^^}" + if [ "${!env}" ]; then + docker_opts+=( --env "${env}" ) + fi +done + +# Empty GIT_DIR means that we are not in a workdir, *and* git is too old +# to know about worktrees, so we're not in a worktree either. So it means +# we're in the main git working copy, and thus we don't need to mount the +# .git directory. +if [ "${GIT_DIR}" ]; then + # GIT_DIR in the main working copy (when git supports worktrees) will + # be just '.git', but 'docker run' needs an absolute path. If it is + # not absolute, GIT_DIR is relative to MAIN_DIR. If it's an absolute + # path already (in a wordir), then that's a noop. + GIT_DIR="$(cd "${MAIN_DIR}"; readlink -e "${GIT_DIR}")" + mountpoints+=( "${GIT_DIR}" ) + + # 'repo' stores .git/objects separately. + if [ -L "${GIT_DIR}/objects" ]; then + # GITDIR is already an absolute path, but for symetry + # with the above, keep the same cd+readlink construct. + OBJECTS_DIR="$(cd "${MAIN_DIR}"; readlink -e "${GIT_DIR}/objects")" + mountpoints+=( "${OBJECTS_DIR}" ) + fi +fi + +if [ "${BR2_DL_DIR}" ]; then + mountpoints+=( "${BR2_DL_DIR}" ) + docker_opts+=( --env BR2_DL_DIR ) +fi + +# shellcheck disable=SC2013 # can't use while-read because of the assignment +for dir in $(printf '%s\n' "${mountpoints[@]}" |LC_ALL=C sort -u); do + docker_opts+=( --mount "type=bind,src=${dir},dst=${dir}" ) +done + +if tty -s; then + docker_opts+=( -t ) +fi + +exec docker run "${docker_opts[@]}" "${IMAGE}" "${@}" diff --git a/utils/genrandconfig b/utils/genrandconfig index b4ebb9a9bef..f2f1e333611 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -19,24 +19,12 @@ # This script generates a random configuration for testing Buildroot. from binascii import hexlify -import contextlib +import asyncio import csv import os from random import randint -import subprocess import sys import traceback -from distutils.version import StrictVersion -import platform - -if sys.hexversion >= 0x3000000: - import urllib.request as _urllib -else: - import urllib2 as _urllib - - -def urlopen_closing(uri): - return contextlib.closing(_urllib.urlopen(uri)) class SystemInfo: @@ -65,7 +53,7 @@ class SystemInfo: # -- return None - def has(self, prog): + async def has(self, prog): """Checks whether a program is available. Lazily evaluates missing entries. @@ -80,11 +68,13 @@ class SystemInfo: have_it = self.find_prog(prog) # java[c] needs special care if have_it and prog in ('java', 'javac'): - with open(os.devnull, "w") as devnull: - if subprocess.call("%s -version | grep gcj" % prog, - shell=True, - stdout=devnull, stderr=devnull) != 1: - have_it = False + proc = await asyncio.create_subprocess_shell( + "%s -version | grep gcj" % prog, + stdout=asyncio.subprocess.DEVNULL, + stderr=asyncio.subprocess.DEVNULL) + ret = await proc.wait() + if ret != 1: + have_it = False # -- self.progs[prog] = have_it return have_it @@ -161,7 +151,7 @@ def get_toolchain_configs(toolchains_csv, buildrootdir): return configs -def is_toolchain_usable(configfile, config): +async def is_toolchain_usable(configfile, config): """Check if the toolchain is actually usable.""" with open(configfile) as configf: @@ -174,23 +164,10 @@ def is_toolchain_usable(configfile, config): print(" Missing: %s" % toolchainline.strip(), file=sys.stderr) return False - # The latest Linaro toolchains on x86-64 hosts requires glibc - # 2.14+ on the host. - if platform.machine() == 'x86_64': - if 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y\n' in configlines or \ - 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y\n' in configlines or \ - 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y\n' in configlines or \ - 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB=y\n' in configlines: - ldd_version_output = subprocess.check_output(['ldd', '--version']) - glibc_version = ldd_version_output.decode().splitlines()[0].split()[-1] - if StrictVersion('2.14') > StrictVersion(glibc_version): - print("WARN: ignoring the Linaro ARM toolchains because too old host glibc", file=sys.stderr) - return False - return True -def fixup_config(sysinfo, configfile): +async def fixup_config(sysinfo, configfile): """Finalize the configuration and reject any problematic combinations This function returns 'True' when the configuration has been @@ -206,7 +183,7 @@ def fixup_config(sysinfo, configfile): BR2_TOOLCHAIN_EXTERNAL_URL = 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/' - if "BR2_NEEDS_HOST_JAVA=y\n" in configlines and not sysinfo.has("java"): + if "BR2_NEEDS_HOST_JAVA=y\n" in configlines and not await sysinfo.has("java"): return False # The ctng toolchain is affected by PR58854 if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ @@ -310,6 +287,10 @@ def fixup_config(sysinfo, configfile): 'BR2_TOOLCHAIN_BUILDROOT=y' in configlines: return False + if 'BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y\n' in configlines: + configlines.remove('BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH=""\n') + configlines.append('BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"\n') + if 'BR2_PACKAGE_AUFS_UTIL=y\n' in configlines and \ 'BR2_PACKAGE_AUFS_UTIL_VERSION=""\n' in configlines: return False @@ -487,6 +468,10 @@ def fixup_config(sysinfo, configfile): configlines.remove('BR2_TARGET_BAREBOX_USE_DEFCONFIG=y\n') configlines.remove('BR2_TARGET_BAREBOX_BOARD_DEFCONFIG=""\n') + if 'BR2_TARGET_BOOT_WRAPPER_AARCH64=y\n' in configlines and \ + 'BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS=""\n' in configlines: + return False + if 'BR2_TARGET_OPTEE_OS=y\n' in configlines and \ 'BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL=y\n' in configlines and \ 'BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION=""\n' in configlines: @@ -499,6 +484,9 @@ def fixup_config(sysinfo, configfile): configlines.remove('BR2_TARGET_OPTEE_OS=y\n') configlines.remove('BR2_TARGET_OPTEE_OS_PLATFORM=""\n') + if 'BR2_TARGET_ROOTFS_CRAMFS=y\n' in configlines: + configlines.remove('BR2_TARGET_ROOTFS_CRAMFS=y\n') + if 'BR2_TARGET_ROOTFS_EXT2=y\n' in configlines and \ 'BR2_TARGET_ROOTFS_EXT2_SIZE="60M"\n' in configlines: configlines.remove('BR2_TARGET_ROOTFS_EXT2_SIZE="60M"\n') @@ -509,11 +497,27 @@ def fixup_config(sysinfo, configfile): configlines.remove('BR2_TARGET_ROOTFS_F2FS_SIZE="100M"\n') configlines.append('BR2_TARGET_ROOTFS_F2FS_SIZE="%s"\n' % ROOTFS_SIZE) + if 'BR2_TARGET_ROOTFS_UBIFS=y\n' in configlines and \ + 'BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2048\n' in configlines: + configlines.remove('BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2048\n') + configlines.append('BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=41610\n') + + if 'BR2_TARGET_ROOTFS_UBI=y\n' in configlines and \ + 'BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y\n' in configlines and \ + 'BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE=""\n' in configlines: + configlines.remove('BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y\n') + configlines.remove('BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE=""\n') + if 'BR2_TARGET_S500_BOOTLOADER=y\n' in configlines and \ 'BR2_TARGET_S500_BOOTLOADER_BOARD=""\n' in configlines: configlines.remove('BR2_TARGET_S500_BOOTLOADER=y\n') configlines.remove('BR2_TARGET_S500_BOOTLOADER_BOARD=""\n') + if 'BR2_TARGET_TI_K3_R5_LOADER=y\n' in configlines and \ + 'BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG=y\n' in configlines and \ + 'BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG=""\n' in configlines: + return False + if 'BR2_TARGET_UBOOT=y\n' in configlines and \ 'BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y\n' in configlines and \ 'BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y\n' in configlines and \ @@ -649,7 +653,7 @@ def fixup_config(sysinfo, configfile): return True -def gen_config(args): +async def gen_config(args): """Generate a new random configuration This function generates the configuration, by choosing a random @@ -707,7 +711,7 @@ def gen_config(args): # Randomly enable BR2_REPRODUCIBLE 10% of times # also enable tar filesystem images for testing - if sysinfo.has("diffoscope") and randint(0, 10) == 0: + if await sysinfo.has("diffoscope") and randint(0, 10) == 0: configlines.append("BR2_REPRODUCIBLE=y\n") configlines.append("BR2_TARGET_ROOTFS_TAR=y\n") @@ -721,10 +725,13 @@ def gen_config(args): with open(configfile, "w+") as configf: configf.writelines(configlines) - subprocess.check_call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, - "olddefconfig"]) + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "olddefconfig") + ret = await proc.wait() + if ret: + return ret - if not is_toolchain_usable(configfile, toolchainconfig): + if not await is_toolchain_usable(configfile, toolchainconfig): return 2 # Now, generate the random selection of packages, and fixup @@ -738,25 +745,33 @@ def gen_config(args): file=sys.stderr) return 1 bounded_loop -= 1 - make_rand = [ + proc = await asyncio.create_subprocess_exec( "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "KCONFIG_SEED=0x%s" % hexlify(os.urandom(4)).decode("ascii").upper(), "KCONFIG_PROBABILITY=%d" % randint(1, 20), - "randpackageconfig" if args.toolchains_csv else "randconfig" - ] - subprocess.check_call(make_rand) + "randpackageconfig" if args.toolchains_csv else "randconfig") + ret = await proc.wait() + if ret: + return ret - if fixup_config(sysinfo, configfile): + if await fixup_config(sysinfo, configfile): break - subprocess.check_call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, - "olddefconfig"]) + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "olddefconfig") + ret = await proc.wait() + if ret: + return ret - subprocess.check_call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, - "savedefconfig"]) + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "savedefconfig") + ret = await proc.wait() + if ret: + return ret - return subprocess.call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, - "dependencies"]) + proc = await asyncio.create_subprocess_exec( + "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "dependencies") + return await proc.wait() if __name__ == '__main__': @@ -788,7 +803,11 @@ if __name__ == '__main__': args.outputdir = os.path.abspath(args.outputdir) try: - ret = gen_config(args) + if sys.version_info < (3, 7): + loop = asyncio.get_event_loop() + ret = loop.run_until_complete(gen_config(args)) + else: + ret = asyncio.run(gen_config(args)) except Exception: traceback.print_exc() parser.exit(1) diff --git a/utils/getdeveloperlib.py b/utils/getdeveloperlib.py index 2a8d5c213c4..469360b801c 100644 --- a/utils/getdeveloperlib.py +++ b/utils/getdeveloperlib.py @@ -25,7 +25,7 @@ def analyze_patch(patch): m = FIND_INFRA_IN_PATCH.match(line) if m: infras.add(m.group(2)) - if not line.startswith("+++ "): + if not line.startswith("+++ ") and not line.startswith("--- "): continue line.strip() fname = line[line.find("/") + 1:].strip() @@ -236,19 +236,21 @@ def parse_developers(filename=None): files = [] name = None for line in f: + linen += 1 line = line.strip() if line.startswith("#"): continue elif line.startswith("N:"): if name is not None or len(files) != 0: - print("Syntax error in DEVELOPERS file, line %d" % linen, + print("Syntax error in DEVELOPERS file, line %d" % (linen - 1), file=sys.stderr) + return None name = line[2:].strip() elif line.startswith("F:"): fname = line[2:].strip() dev_files = glob.glob(os.path.join(brpath, fname)) if len(dev_files) == 0: - print("WARNING: '%s' doesn't match any file" % fname, + print("WARNING: '%s' doesn't match any file, line %d" % (fname, linen), file=sys.stderr) for f in dev_files: dev_file = os.path.relpath(f, brpath) @@ -266,7 +268,6 @@ def parse_developers(filename=None): print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, line), file=sys.stderr) return None - linen += 1 # handle last developer if name is not None: developers.append(Developer(name, files)) diff --git a/utils/readme.txt b/utils/readme.txt index 3e8833c4ea2..6488d13c758 100644 --- a/utils/readme.txt +++ b/utils/readme.txt @@ -12,8 +12,16 @@ brmake nothing. check-package - a script that checks the coding style of a package's Config.in and - .mk files, and also tests them for various types of typoes. + a script that checks the coding style across the buildroot tree. It + checks package's Config.in and .mk files, runs shellcheck for all shell + scripts, flake8 for python files, checks for typoes, etc. + It checks the .checkpackageignore file if errors should be ignored and + errors if there's a file listed that doesn't produce an error. + +docker-run + a script that runs a command (like make check-package) inside the + buildroot CI docker container; pass no command to get an interactive + shell. genrandconfig a script that generates a random configuration, used by the autobuilders diff --git a/utils/scancpan b/utils/scancpan index 075f1935632..e7739a8ad16 100755 --- a/utils/scancpan +++ b/utils/scancpan @@ -31,7 +31,7 @@ $fatpacked{"MetaCPAN/API/Tiny.pm"} = <<'METACPAN_API_TINY'; if $params{ua_args} && ref($params{ua_args}) ne 'ARRAY'; my $self = +{ - base_url => $params{base_url} || 'http://api.metacpan.org/v0', + base_url => $params{base_url} || 'https://api.metacpan.org/v0', ua => $params{ua} || HTTP::Tiny->new( $params{ua_args} ? @{$params{ua_args}} @@ -488,9 +488,9 @@ use Digest::SHA qw(sha256_hex); use Text::Wrap; $Text::Wrap::columns = 62; -# Below, 5.032 should be aligned with the version of perl actually +# Below, 5.036 should be aligned with the version of perl actually # bundled in Buildroot: -die <<"MSG" if $] < 5.032; +die <<"MSG" if $] < 5.036; This script needs a host perl with the same major version as Buildroot target perl. Your current host perl is: @@ -498,7 +498,7 @@ Your current host perl is: version $] You may install a local one by running: - perlbrew install perl-5.32.0 + perlbrew install perl-5.36.0 MSG my ($help, $man, $quiet, $force, $recommend, $test, $host); @@ -525,8 +525,8 @@ my %deps_build; # name -> list of host dependencies my %deps_runtime; # name -> list of target dependencies my %license_files; # name -> hash of license files my %checksum; # author -> list of checksum -my $mirror = 'http://cpan.metacpan.org'; # a CPAN mirror -my $mcpan = MetaCPAN::API::Tiny->new(base_url => 'http://fastapi.metacpan.org/v1'); +my $mirror = 'https://cpan.metacpan.org'; # a CPAN mirror +my $mcpan = MetaCPAN::API::Tiny->new(base_url => 'https://fastapi.metacpan.org/v1'); my $ua = HTTP::Tiny->new(); my $new_pkgs; @@ -698,7 +698,7 @@ sub brname { return uc $name; } -# Buildroot requires license name as in http://spdx.org/licenses/ +# Buildroot requires license name as in https://spdx.org/licenses/ sub brlicense { my $license = shift; $license =~ s|apache_1_1|Apache-1.1|; @@ -967,7 +967,7 @@ in order to work with the right CoreList data. =head1 LICENSE -Copyright (C) 2013-2020 by Francois Perrad +Copyright (C) 2013-2023 by Francois Perrad This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/utils/scanpypi b/utils/scanpypi index 3c98bb4bcce..5a58550145e 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -43,6 +43,56 @@ except ImportError: liclookup = None +def toml_load(f): + with open(f, 'rb') as fh: + ex = None + + # Try standard library tomllib first + try: + from tomllib import load + return load(fh) + except ImportError: + pass + + # Try regular tomli next + try: + from tomli import load + return load(fh) + except ImportError as e: + ex = e + + # Try pip's vendored tomli + try: + from pip._vendor.tomli import load + try: + return load(fh) + except TypeError: + # Fallback to handle older version + try: + fh.seek(0) + w = io.TextIOWrapper(fh, encoding="utf8", newline="") + return load(w) + finally: + w.detach() + except ImportError: + pass + + # Try regular toml last + try: + from toml import load + fh.seek(0) + w = io.TextIOWrapper(fh, encoding="utf8", newline="") + try: + return load(w) + finally: + w.detach() + except ImportError: + pass + + print('This package needs tomli') + raise ex + + def setup_decorator(func, method): """ Decorator for distutils.core.setup and setuptools.setup. @@ -316,6 +366,35 @@ class BuildrootPackage(): os.chdir(current_dir) sys.path.remove(self.tmp_extract) + def load_pyproject(self): + """ + Loads the corresponding pyproject.toml and store its metadata + """ + current_dir = os.getcwd() + os.chdir(self.tmp_extract) + sys.path.insert(0, self.tmp_extract) + try: + pyproject_data = toml_load('pyproject.toml') + try: + self.setup_metadata = pyproject_data.get('project', {}) + self.metadata_name = self.setup_metadata.get('name', self.real_name) + build_system = pyproject_data.get('build-system', {}) + build_backend = build_system.get('build-backend', None) + if build_backend and build_backend == 'flit_core.buildapi': + self.setup_metadata['method'] = 'flit' + elif build_system.get('backend-path', None): + self.setup_metadata['method'] = 'pep517' + else: + self.setup_metadata['method'] = 'unknown' + except KeyError: + print('ERROR: Could not determine package metadata for {pkg}.\n' + .format(pkg=self.real_name)) + raise + except FileNotFoundError: + raise + os.chdir(current_dir) + sys.path.remove(self.tmp_extract) + def get_requirements(self, pkg_folder): """ Retrieve dependencies from the metadata found in the setup.py script of @@ -332,8 +411,8 @@ class BuildrootPackage(): for req in self.pkg_req] # get rid of commented lines and also strip the package strings - self.pkg_req = [item.strip() for item in self.pkg_req - if len(item) > 0 and item[0] != '#'] + self.pkg_req = {item.strip() for item in self.pkg_req + if len(item) > 0 and item[0] != '#'} req_not_found = self.pkg_req self.pkg_req = list(map(pkg_buildroot_name, self.pkg_req)) @@ -620,8 +699,12 @@ class BuildrootPackage(): if help_lines[-1][-1] != '.': help_lines[-1] += '.' - home_page = md_info.get('home_page', None) or \ - md_info.get('project_urls', {}).get('Homepage', None) # noqa: E127 + home_page = md_info.get('home_page', None) + + if not home_page: + project_urls = md_info.get('project_urls', None) + if project_urls: + home_page = project_urls.get('Homepage', None) if home_page: # \t + two spaces is 3 char long @@ -699,9 +782,12 @@ def main(): except ImportError as err: if 'buildutils' in str(err): print('This package needs buildutils') + continue else: - raise - continue + try: + package.load_pyproject() + except Exception: + raise except (AttributeError, KeyError) as error: print('Error: Could not install package {pkg}: {error}'.format( pkg=package.real_name, error=error)) diff --git a/utils/test-pkg b/utils/test-pkg index 4ebfd9af667..19d8713d6a3 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -5,7 +5,7 @@ TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv' TEMP_CONF="" do_clean() { - if [ ! -z "${TEMP_CONF}" ]; then + if [ -n "${TEMP_CONF}" ]; then rm -f "${TEMP_CONF}" fi } @@ -72,8 +72,8 @@ main() { if [ -z "${cfg}" ]; then pkg_br_name="${pkg//-/_}" pkg_br_name="BR2_PACKAGE_${pkg_br_name^^}" - TEMP_CONF=$(mktemp /tmp/test-${pkg}-config.XXXXXX) - echo "${pkg_br_name}=y" > ${TEMP_CONF} + TEMP_CONF="$(mktemp /tmp/test-"${pkg}"-config.XXXXXX)" + echo "${pkg_br_name}=y" > "${TEMP_CONF}" cfg="${TEMP_CONF}" fi if [ ! -e "${cfg}" ]; then @@ -83,15 +83,15 @@ main() { dir="${HOME}/br-test-pkg" fi - if [ ${random} -gt 0 ]; then + if [ "${random}" -gt 0 ]; then mode=$((mode+1)) fi - if [ ${number} -gt 0 ]; then + if [ "${number}" -gt 0 ]; then mode=$((mode+1)) fi - if [ ${all} -eq 1 ]; then + if [ "${all}" -eq 1 ]; then mode=$((mode+1)) fi @@ -106,19 +106,18 @@ main() { # Extract the URLs of the toolchains; drop internal toolchains # E.g.: http://server/path/to/name.config,arch,libc # --> http://server/path/to/name.config - toolchains=($(sed -r -e 's/,.*//; /internal/d; /^#/d; /^$/d;' "${toolchains_csv}" \ - |if [ ${random} -gt 0 ]; then \ - sort -R |head -n ${random} - elif [ ${number} -gt 0 ]; then \ - head -n ${number} - else - sort - fi - ) - ) + mapfile -t toolchains < <(sed -r -e 's/,.*//; /internal/d; /^#/d; /^$/d;' "${toolchains_csv}" \ + | if [ "${random}" -gt 0 ]; then \ + sort -R | head -n "${random}" + elif [ "${number}" -gt 0 ]; then \ + head -n "${number}" + else + sort + fi + ) nb_tc="${#toolchains[@]}" - if [ ${nb_tc} -eq 0 ]; then + if [ "${nb_tc}" -eq 0 ]; then printf "error: no toolchain found (networking issue?)\n" >&2; exit 1 fi @@ -131,7 +130,7 @@ main() { : $((nb++)) toolchain="$(basename "${toolchainconfig}" .config)" build_dir="${dir}/${toolchain}" - printf "%40s [%*d/%d]: " "${toolchain}" ${#nb_tc} ${nb} ${nb_tc} + printf "%40s [%*d/%d]: " "${toolchain}" ${#nb_tc} "${nb}" "${nb_tc}" build_one "${build_dir}" "${toolchainconfig}" "${cfg}" "${pkg}" "${prepare_only}" && ret=0 || ret=${?} case ${ret} in (0) printf "OK\n";; @@ -143,7 +142,7 @@ main() { done printf "%d builds, %d skipped, %d build failed, %d legal-info failed, %d show-info failed\n" \ - ${nb} ${nb_skip} ${nb_fail} ${nb_legal} ${nb_show} + "${nb}" "${nb_skip}" "${nb_fail}" "${nb_legal}" "${nb_show}" return $((nb_fail + nb_legal)) } @@ -157,7 +156,7 @@ build_one() { mkdir -p "${dir}" - CONFIG_= support/kconfig/merge_config.sh -O "${dir}" \ + CONFIG_="" support/kconfig/merge_config.sh -O "${dir}" \ "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \ >> "${dir}/logfile" 2>&1 # We want all the options from the snippet to be present as-is (set @@ -178,7 +177,7 @@ build_one() { rm -f "${dir}/missing.config" # Defer building the job to the caller (e.g. a gitlab pipeline) - if [ ${prepare_only} -eq 1 ]; then + if [ "${prepare_only}" -eq 1 ]; then return 0 fi @@ -201,7 +200,7 @@ build_one() { # Validate that we generate proper json as show-info { tput smso; printf '>>> Running show-info\n'; tput rmso; } >> "${dir}/logfile" 2> /dev/null; - JQ="$(which jq)" + JQ="$(which jq 2> /dev/null)" if [ -z "${JQ}" ]; then make O="${dir}" host-jq >> "${dir}/logfile" 2>&1 JQ="${dir}/host/bin/jq"